要約
- RFC 3388 は SDP の各メディア行に参照可能な
midを与え、同期や送信先選択を伴う関係を表した一方、一行でも識別が欠ければ全グループを実行しないと定めた。 - 基本のメディア記述を残しながら関係だけを失効させることで、もっともらしい部分一致が誤ったメディアを同期・選択・複製することを防いだ。
応答者は三つの候補のうち一つをポートゼロで拒否した。残る二つならグループは成立しそうに見える。しかし拒否した mid を a=group に残したままなら、その関係は受理の記録として不正確である。
RFC 3388 は、応答に残すグループを提示時と同じ集合か、その部分集合に限定した。拒否されたメディアの名前は外さなければならない。実際のセッションが使う関係は、提示者の希望ではなく応答者が返した集合だった。
この規則は、2002 年 12 月に Standards Track で公開された SDP 拡張の一部である。従来の SDP は複数の m= 行を列挙できたが、どの音声と映像を同期するのか、複数の宛先が一つの論理メディアを表すのかを標準的に表現できなかった。
RFC 3388 はメディアレベルの a=mid とセッションレベルの a=group を導入した。mid は一つのセッション記述内で一意の名前、group は名前を登録済みの意味で結ぶ関係である。最初の意味は再生同期の LS とフロー識別の FID だった。
LS は関係を表示するだけではない。受信アプリケーションに対応メディアの再生同期を要求した。RTP なら RTCP の情報で別々のタイムスタンプを共通時計へ対応づけることが多い。非 RTP の場合も何らかの方法で元の時間関係を回復する必要がある。ただしグループ行は、時計精度や利用者が体験した同期を証明しない。
FID は一つのメディア実体を複数の RTP セッションに分けられるようにした。携帯アクセスではコーデックごとに異なる無線ベアラとポートが必要なことがある。音声と DTMF 処理を別ホストへ送る構成もある。現在のコーデックを受け入れるメンバーが複数なら、送信者は複数宛先へコピーを送る。
したがって、名前とメンバーシップは実行命令である。FID の関係を改ざんできる者は、任意の宛先へメディアのコピーを送らせられるとセキュリティ節は警告した。シグナリング完全性がなければ、正しい文法でも送信権限は証明できない。
一般規則も慎重だった。mid は一意でなければならない。存在しない名前を含むグループ行は全体を無視する。さらに一つでも mid のないメディア行があれば、記述中のグループを一切適用しない。無名の行が独立なのか、欠落事故なのかを、受信側の見た目だけで判断できないからである。
SIP の offer/answer では別の整合性が必要だった。RFC 3264 は第一行同士、第二行同士という順序でメディアを対応させる。mid はこの規則を置き換えない。対応位置で名前が変われば、すべての mid と group を無視する。ラベルの方を信じて行を並べ替える修復は認められなかった。
応答者は提示された関係の同じメンバーか部分集合を返せる。しかし応答だけで新しいグループを始めてはならない。二回の SDP 交換では、提示者がその新関係を受け入れたという返答を得られない。必要なら後の re-INVITE などで自ら提示者になる。
この設計では、関係を書く権利は役割の特権ではない。受諾の受領書を得られるメッセージ順序に従う。空の group 行で能力だけを広告する場合も、今回のメディアを実際に結んだこととは区別された。
後方互換性はさらに境界を明らかにする。SIP の Require は追加されなかったため、古い相手は未知属性を無視できる。FID の複数行を別メディアと見なし、混合し、拒否し、または単純な記述での再試行を求めるかもしれない。シグナリング成功はグループ実行の受領書ではない。
RFC 5888 は後に RFC 3388 を置き換え、同じ意味の複数グループに一メディアが入れないという旧制限を緩和した。実装経験で直すべき数量制限と、完全な識別なしに関係を動かさない原則は分けて考える必要がある。
Lu Heng の Running-Code Primacy を適用すれば、共通層は小さく決定的である。全行が一意に名づけられ、offer と answer の対応位置で名前が安定し、応答が部分集合を明示する。確認できない時は、メディアを捨てるのではなく、関係の権限だけを撤回する。
ラベルが一つ欠けると全グループが無効になったのは、厳格さの演出ではない。正しい命令を誤った対象に適用するより、関係を一時停止する方が小さな失敗だったからである。
出典
会員向け解説
プロフィールの詳細
適切な会員レベルでログインすると、解説全文と出典メモをご覧いただけます。
Strategic Circle 限定
Strategic Circle
すべての読者に公開されています。参加してログインすると プロフィール解説 を閲覧できます。
Strategic Circle に参加Leadership Alliance 会員限定
Leadership Alliance
対象となる IP 資産の所有者・管理者向けです。ログインすると Leadership Alliance の解説を閲覧できます。
Leadership Alliance に参加
