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

5.8.3. Semantics Verification (セマンティクスの検証)

5.8.3. Semantics Verification (セマンティクスの検証)

解析が正常に完了したと仮定すると, 解析された記述は, 内部の一貫性および必須機能の適切なサポートを確保するために評価される. 具体的には, 次の検査が行われる.

  • m= セクションについて, セクション 5.1.1 に列挙された各必須使用機能に対して有効な値が存在しなければならない. これらの値はメディアレベルに存在してもよいし, セッションレベルから継承してもよい.

    • ICE ufrag およびパスワード値は, [RFC8839] のセクション 5.4 で指定されたサイズ制限に適合しなければならない.

    • tls-id 値は [RFC8842] のセクション 5 に従って設定されなければならない. これが再オファー (re-offer) であるか再オファーへの応答であり, tls-id 値が現在使用中のものと異なる場合, DTLS 接続は継続されておらず, リモート記述は新しい ufrag およびパスワード値とともに ICE 再起動の一部でなければならない.

    • DTLS setup 値は [RFC5763] のセクション 5 の規則に従って設定され, 存在し継続されている現在の DTLS 接続があれば, 選択された役割と一貫していなければならない.

    • DTLS フィンガープリント値について, 少なくとも 1 つのフィンガープリントが存在しなければならない.

  • a=simulcast 行で参照されるすべての rid-id は, a=rid 行として存在しなければならない.

  • m= セクションについて, 禁止された機能が使用されていないことも確認される.

  • RTP/RTCP マルチプレクシング方針が require の場合, 各 m= セクションには a=rtcp-mux 属性が含まれていなければならない. m= セクションに a=rtcp-mux-only 属性が含まれる場合, そのセクションには a=rtcp-mux 属性も含まれていなければならない.

  • 以前の応答に m= セクションが存在した場合, RTP/RTCP マルチプレクシングの状態は, 以前にネゴシエートされた内容と一致しなければならない.

このセッション記述の型が pranswer または answer の場合, 次の追加検査が適用される.

  • セッション記述は [RFC3264] のセクション 6 で定義された規則に従わなければならない. これには, m= セクションの数が, 関連するオファー内の m= セクションの数と正確に一致することが含まれる.

  • m= セクションについて, メディア型およびプロトコル値は, 関連オファー内の対応する m= セクションのメディア型およびプロトコル値と正確に一致しなければならない.

上記のいずれかの検査に失敗した場合, 処理は停止し, エラーを返さなければならない.