メインコンテンツまでスキップ

5.9. Applying a Local Description (ローカル記述の適用)

5.9. Applying a Local Description (ローカル記述の適用)

ローカル記述 (local description) を適用するために, メディアエンジンレベルで以下の手順が実行される. エラーが返された場合, セッションはこれらの手順を実行する前の状態に復元しなければならない (MUST).

まず "m=" セクションが処理される. 各 "m=" セクションについて, 以下の手順を実行しなければならない (MUST). いずれかのパラメータが範囲外であるか適用できない場合, 処理は停止し, エラーを返さなければならない (MUST).

  • この "m=" セクションが新規である場合, [RFC8445] のセクション 5.1.1 に定義されるとおり候補の収集を開始する. ただし, 確実にバンドルされる場合を除く. すなわち (1) これがオファーで当該 "m=" セクションが bundle-only とマークされている, または (2) これがアンサーで当該 "m=" セクションが別の "m=" セクションにバンドルされている.

  • または, ICE の ufrag と password の値が変更された場合, [RFC8445] セクション 9 に記載のとおり ICE エージェントに ICE 再起動を開始させ, 当該 "m=" セクション用に新しい候補の収集を開始する. この記述がアンサーである場合, そのメディアセクションでもチェックを開始する.

  • 当該 "m=" セクションの proto フィールドの値が RTP の使用を示す場合:

    • この "m=" セクションに関連付けられた RtpTransceiver がない場合, 次の手順に従って 1 つ見つけ, この "m=" セクションに関連付ける. この状況はオファーを適用するときにのみ発生する.

      • オファー作成時に確立されたトランシーバと "m=" セクション索引との対応付けを用いて, この "m=" セクションに対応する RtpTransceiver を見つける.

      • この RtpTransceiver の mid プロパティの値を, 当該 "m=" セクションの MID に設定する.

    • RTCP mux が示されている場合, [RFC5761] セクション 5.1.3 に従い, RTP ICE コンポーネントから RTP と RTCP をデマルチプレックスする準備をする.

    • 指定された各 RTP ヘッダ拡張について, [RFC5285] セクション 6 に記載のとおり拡張 ID と URI の対応付けを確立する.

    • MID ヘッダ拡張がサポートされている場合, [RFC8843] セクション 15 に従い, MID ヘッダ拡張に基づいてこの "m=" セクション向けの RTP ストリームをデマルチプレックスする準備をする.

    • 指定された各メディアフォーマットについて, [RFC3264] セクション 6.1 に記載のとおりペイロードタイプと実際のメディアフォーマットの対応付けを確立する. さらに, [RFC8843] セクション 9.2 に従い, この "m=" セクションがサポートするメディアフォーマットに基づいてこの "m=" セクション向けの RTP ストリームをデマルチプレックスする準備をする.

    • 指定された各 "rtx" メディアフォーマットについて, [RFC4588] のセクション 8.6 および 8.7 に記載のとおり RTX ペイロードタイプと関連するプライマリペイロードタイプの対応付けを確立する.

    • direction 属性が "sendrecv" または "recvonly" である場合, メディアの受信とデコードを有効にする.

最後に, この記述のタイプが "pranswer" または "answer" である場合, セクション 5.11 に定義された処理に従う.