このプロジェクトについて
jiofiber-bridgeは、JioFiber(Jio Fiber Voice / JioCall over broadband)の固定電話回線を、通常のSIPソフトフォンからどこでも発着信できるようにするためのテンプレートプロジェクトです。Jioは、通常ISPルーターまたはJioCallアプリでのみ動作する独自クライアントJUICEを介して、IMSコアを通じて音声を配信します。このプロジェクトは、ルーターと同じLAN上で小型のヘッドレスブリッジを実行し、正規のJioCallデバイスと同じ方法でIMSコアに登録し、回線を通常のSIPトランクとして再提示します。そのトランクをAsteriskに接続すれば、Zoiper、Groundwire、Linphoneなどのソフトフォンが、どのネットワークからでも固定電話で発着信できます。
アーキテクチャ:ブリッジはB2BUAであり、IMSコアがルーターとのみ通信し、RTPがLANインターフェースから発信される必要があるため、ホームLAN上に配置する必要があります。一方のレッグはルーターとJUICE/IMS(TLSシグナリング、AMR/AMR-WBオーディオ)で通信し、もう一方は通常のSIP/PCMUトランクで、pjprojectのカンファレンスブリッジを介してAMRからPCMUへのトランスコーディングを行います。Asteriskは、電話機が登録する小さな公開VPS上で実行され、ダイヤル番号を正規化し、着信時に電話機を鳴らし、発信者IDを伝送します。ブリッジとAsteriskはプライベートオーバーレイネットワーク(TailscaleまたはWireGuard)を介して接続されるため、自宅からSIPポートが公開されることはなく、VPSは電話機向けレジストラのみを公開します。
READMEは3つの難しい問題を強調しています。第一に、アイデンティティ:JUICE登録はRFC 5626アウトバウンドと特定の形式(大文字、urn:uuid:プレフィックスなし)の+sip.instanceを使用し、さらに回転するデバイスごとのパスワードとOTPフローを介してホワイトリストに登録されたデバイスを使用します。標準のpjsuaはインスタンスを異なる形式でフォーマットし、コアはREGISTERを静かにドロップします。第二に、メディア:コアはモードセット付きのAMR/AMR-WBを提供し、SDPでエコーされることを期待します。そうしないと、通話は約1〜2分後に切断されます。第三に、着信フォーク:コアは、登録が完全なRCS/MMTELフィーチャータグセットとJioCallのようなUser-Agentをアドバタイズした連絡先のみを鳴らします。mmtelのみで登録すると発信は機能しますが、着信は鳴りません。
要件には、ホームLAN上の常時稼働Linuxマシン(root権限)、Asterisk 18+用の小さな公開VPS、オーバーレイネットワーク、ビルドツールとAMRコーデック開発ヘッダー、IMSアカウント詳細(公開ID、認証ユーザー名、レルム、レジストラ/ルーターアドレス)、およびプロバイダーのデバイス追加OTPをトリガーする機能が含まれます。リポジトリには、B2BUAソースファイル、3つのpjprojectパッチ(AMRモードセット、+sip.instance形式、contact_params蓄積ガード)、ビルド設定、bridge.env.example、登録およびヘルスチェックスクリプト、静的アップストリームIMSダイジェストパスワード用の資格情報回復ヘルパー、Asterisk pjsip/extensions/rtp設定、ブリッジ用systemdユニットと2分間のヘルスタイマーが含まれています。
セットアップ手順では、パッチ適用済みpjprojectのビルド、bridge.envの設定、デバイスのプロビジョニング(ホワイトリスト登録と各起動時の回転パスワード取得)、ブリッジのサービスとしての実行、Asteriskエンドポイントとトランクの設定、ソフトフォンの登録、ブリッジを再起動しntfyアラートを投稿できるヘルスチェックによる監視について説明しています。READMEには、番号正規化(オフネット携帯にはSTD 0プレフィックスが必要。そうしないとコアが484 Address Incompleteを返す)、RFC 4733 DTMFリレー、X-Jio-CallerおよびP-Asserted-Identity/Remote-Party-IDヘッダーによる着信発信者ID、WAV形式と絶対パスに関する注意事項を含むオプションの着信IVR、Grandstream UCMやFreePBXなどの他のPBX向けガイダンス(IVRは早期メディアを再生するのではなく応答する必要がある)、およびEARLY_ANSWERエスケープハッチも文書化されています。既知の問題セクションでは、症状を原因にマッピングしています。静かなREGISTERドロップ、1〜2分での通話切断、長時間稼働後のPJ_ETOOSMALL、マルチホームRTPによる一方向オーディオ、フィーチャータグ欠落による着信なしなどです。すべてはテンプレートであり、実際の番号、IP、パスワード、プロバイダーホスト名は含まれていません。プロジェクトはMITライセンスで、免責事項が含まれています。
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.