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

8. Modifying the Session (セッションの変更)

8. Modifying the Session (セッションの変更)

セッション中のいつでも, いずれの参加者も新しい Offer を発行してセッションの特性を変更してもよい。既存セッションのパラメータを変更する際にも, 上で定義した offer/answer 手続きとまったく同じ手続きを用いることは, offer/answer モデルの動作において根本的である。

Offer は, 相手に最後に提供した SDP (Offer または Answer のいずれかで提供された可能性がある) と同一でもよく, 異なってもよい。最後に提供された SDP を "previous SDP (前回の SDP)" と呼ぶ。Offer が同じである場合, Answer はアンサラ側の前回の SDP と同じでもよく, 異なってもよい。提供される SDP が前回の SDP と異なる場合, その構成には下で述べる制約が課される。

セッションのほぼすべての側面を変更できる。新しいストリームを追加でき, 既存のストリームを削除でき, 既存ストリームのパラメータも変更できる。セッションを変更する Offer を発行するとき, 新しい SDP の o= 行は前回の SDP のそれと同一でなければならないが, origin (発信) フィールドの version (バージョン) は前回の SDP から 1 増加しなければならない。origin 行のバージョンが増加しない場合, その SDP はそのバージョン番号を持つ SDP と同一でなければならない。アンサラは, バージョンが変わっていない SDP を含む Offer を受信することに備えなければならない, これは実質的に no-op (何もしない操作) である。ただし, アンサラは第 6 節で定義された手続きに従い, 有効な Answer (アンサラ側の前回の SDP と同じでも, 異なってもよい) を生成しなければならない。

提供される SDP が前回の SDP と異なる場合, 新しい SDP は前回の SDP の各メディアストリームに対応するメディアストリームを持たなければならない。言い換えれば, 前回の SDP に N 本の m= 行があったなら, 新しい SDP には少なくとも N 本の m= 行がなければならない。上から数えて, 前回の SDP の i 番目のメディアストリームは, 新しい SDP の上から数えて i 番目のメディアストリームに対応する。この対応により, アンサラは新しい SDP のどのストリームが前回の SDP のどのストリームに対応するかを判断できる。これらの要件のため, m= 行の数は減少せず, 同じか増加するだけである。前回の SDP から削除されたメディアストリームを新しい SDP から取り除いてはならない, ただし, これらのストリームの属性は省略してよい。