NAT ホール パンチング、ICE、SIP VOIP 通話の詳細の多くを理解しています。これらのトピックに関するSOに関するかなりの数の質問に答えました。質問があります。
コールがすでに確立された後、SIP+ICE について文書化されている RE-INVITE メッセージの必要性を理解しようとしています。
メディア接続を確立するために、SIP を介して信号を送信し、ICE (STUN/TURN を使用) を使用する VOIP デバイスのトポロジを想定します。ICE 接続チェックが実行されると、両方のエンドポイントが最適なアドレス候補の組み合わせ (IP、ポート) を確認し、双方向でメディアをストリーミングする準備が整うはずです。
しかし、SIP での私の経験と多くの文書によると、呼び出し先が 200 OK メッセージを送信して応答状態であることを示した後、呼び出し元は、接続チェックによって選択された特定のアドレス候補を含む SDP を含む RE-INVITE を送信することが期待されます。 .
ICE を使用した RE-INVITE について説明しているリンクは、こことここにあります(ステップ 8)。Rosenberg のチュートリアル(30 ページ) では、RE-INVITE は「ミドルボックスが正しいメディア アドレスを持つことを保証する」と説明しています。なぜそれが重要なのかわかりません。
RE-INVITE を受信すると、受信者は受信した新しい SDP に基づいてソケットまたはアドレスを切り替えるために ICE スタックを再構成する必要がありますか? それとも、RE-INVITE は、呼が確立されたことを正式に確認するための単なるプロトコル形式ですか? RE-INVITE ステップがスキップされ、双方がメディアのストリーミングを開始した場合、何が問題になる可能性がありますか?
私が質問する理由は、SIP ではないシグナリング サービスで ICE を使用することを検討しているためです。RE-INVITE をエミュレートする必要があるかどうかを把握しようとしています。