6.1 Unicast Streams (ユニキャストストリーム)
6.1 Unicast Streams (ユニキャストストリーム)
ストリームがユニキャストアドレスで提供されている場合, そのストリームのアンサーにはユニキャストアドレスを含めなければならない (MUST). アンサー内のストリームのメディアタイプはオファーと一致しなければならない (MUST).
ストリームが sendonly で提供されている場合, 対応するストリームはアンサーで recvonly または inactive とマークされなければならない (MUST). メディアストリームがオファーで recvonly の場合, アンサーは sendonly または inactive でなければならない. 提供ストリームが sendrecv (またはメディアまたはセッションレベルに方向属性がないデフォルトの sendrecv) の場合, アンサー内の対応ストリームは sendonly, recvonly, sendrecv, inactive のいずれでもよい (MAY). 提供ストリームが inactive の場合, アンサーでも inactive でなければならない (MUST).
アンサーで recvonly とマークされたストリームでは, m= 行にオファーに列挙されたもののうちアンサー側が受信を望むメディア形式が少なくとも 1 つ含まれなければならない (MUST). ストリームは, オファーの対応ストリームに列挙されていないがアンサー側が受信を望む追加形式を示してもよい (MAY). sendonly とマークされたストリームでは, m= 行にオファーに列挙されたもののうちアンサー側が送信を望む形式が少なくとも 1 つ含まれなければならない. sendrecv とマークされたストリームでは, オファーに列挙されたもののうち送受信の両方を望むコーデックが少なくとも 1 つ含まれなければならない. ストリームは, オファーに列挙されていないが送受信を望む追加形式を示してもよい (オファーにないため現時点では送れないが). inactive とマークされたストリームでは, メディア形式リストはオファーに基づいて構成する. オファーが sendonly なら, アンサーが recvonly であるかのようにリストを構成する. 同様にオファーが recvonly なら sendonly として, sendrecv なら sendrecv として構成する. オファーが inactive なら, オファーが実際には sendrecv でアンサーも sendrecv であるかのように構成する.
アンサー内の接続アドレスとポートは, アンサー側がメディアを受信したいアドレスを示す (RTP の場合, 明示がない限り RTCP は 1 つ大きいポートで受信される). このアドレスとポートは sendonly ストリームでも存在しなければならない (MUST); RTP の場合, RTCP 受信にはやはり 1 つ大きいポートを用いる.
RTP の場合, オファーで特定のペイロードタイプ番号でコーデックが参照されていれば, アンサーでもそのコーデックに同じペイロードタイプ番号を使うべきである (SHOULD). 同じ番号を使う場合でも, アンサーは動的ペイロードタイプのマッピングを定義する rtpmap 属性を含めなければならず (MUST), 静的タイプのマッピングも含めるべきである (SHOULD). m= 行のメディア形式は優先度順に列挙され, 最初が最優先である. ここでの優先とは, オファー側がアンサーからの優先度が最も高い形式を使うべきである (SHOULD) ことを意味する.
アンサー側は望む優先順で形式を列挙してもよいが (MAY), 特別な理由がない限り, オファーにあった相対順序と同じに列挙することが推奨される (RECOMMENDED). すなわちオファーのストリームが音声コーデック 8, 22, 48 の順で列挙され, アンサー側が 8 と 48 のみサポートする場合, 理由がなければアンサーでの順序は 48, 8 ではなく 8, 48 とすべきである. これにより両方向で同じコーデックが使われやすくなる.
オファー内 fmtp パラメータの解釈はパラメータに依存する. 多くの場合, それらはメディア形式の具体的構成を記述するため, メディア形式の値そのものと同様に処理すべきである. つまり, 記述対象のメディア形式がアンサーに存在する場合, 同じ値を持つ同じ fmtp パラメータがアンサーに存在しなければならない (MUST). 他の fmtp パラメータはよりパラメータらしく, 各エージェントが異なる値を使っても差し支えない. その場合アンサーに fmtp を含めてもよく, オファーと同じ値でも異なってもよい. 新しいパラメータを定義する SDP 拡張は, オファー/アンサーでの適切な解釈を規定すべきである (SHOULD).
アンサー側は任意のメディアストリームに非ゼロの ptime 属性を含めてもよい; アンサー側が受信したいパケット化間隔を示す. 特定ストリームの各方向でパケット化間隔が同じである必要はない.
アンサー側は任意のメディアストリームに帯域属性を含めてもよい; オファー側がメディア送信に使うべき帯域を示す. ゼロは許され, 第 5 節で説明されるとおりに解釈される.
特定の提供ストリームについて共通のメディア形式が 1 つもない場合, アンサー側はポートをゼロに設定してそのメディアストリームを拒否しなければならない (MUST).
すべてのストリームで共通形式がなければ, 提供されたセッション全体が拒否される.
アンサー側がアンサーを送った後, そのアンサーで記述された recvonly ストリームについてメディアを受信する準備をしなければならない (MUST). アンサー内の sendrecv ストリームについて送受信の準備をし, すぐにメディアを送ってもよい (MAY). アンサー側は, アンサーでそれらのストリームに列挙された形式のいずれかで recvonly または sendrecv ストリームを受信する準備をしなければならず, すぐに送ってもよい. メディアを送る際, オファーに ptime があればその値に等しいパケット化間隔を使うべきである (SHOULD). オファーに帯域属性があれば, それを超えない帯域で送るべきである (SHOULD). アンサー側は, オファーにありアンサーにも列挙されているメディア形式で送らなければならず (MUST), オファーとアンサーの両方に列挙された最も優先される形式で送るべきである (SHOULD). RTP の場合, アンサーの値が異なっていても, オファーのペイロードタイプ番号を使わなければならない (MUST).