9. Indicating Capabilities (能力の提示)
9. Indicating Capabilities (能力の提示)
エージェントが Offer を送る前に, その Offer 内のメディア形式がアンサラに受け入れ可能かを知っておくと有用である。SIP (Session Initiation Protocol, セッション開始プロトコル) など一部のプロトコルは, そのような能力を問い合わせる手段を提供する。そのような問い合わせへの応答で SDP を用いて能力を示すことができる。本節ではそのような SDP メッセージをどのように整形するかを述べる。SDP にはメッセージが能力提示用であることを示す方法がないため, これは上位プロトコルの文脈から決まる。ベースライン SDP の能力提示能力は非常に限られており, 許容されるパラメータ範囲や値を表現できず, offer/answer 自体と並行して行うこともできない。将来の拡張がそのような制限に対処するかもしれない。
メディア能力を示すために構成される SDP は次のとおり構造化される。有効な SDP でなければならないが, e= および p= 行の両方を省略してもよい。t= 行は 0 0 でなければならない。エージェントがサポートする各メディアタイプについて, そのタイプに対応するメディア記述がなければならない。origin フィールドの session ID (セッション ID) は, メディア能力を示すために構成される各 SDP ごとに一意でなければならない。ポートはゼロに設定しなければならないが, 接続アドレスは任意である。ポートゼロの使用により, 能力用に整形された SDP が Offer または Answer と解釈されてもメディアストリームが確立されないことが保証される。
m= 行の transport (トランスポート) 成分は, そのメディアタイプのトランスポートを示す。そのタイプについてエージェントがサポートする各メディア形式について, m= 行に形式を列挙すべきである。RTP の場合, 動的ペイロードタイプを用いるなら, タイプを特定形式に束縛する rtpmap 属性が存在しなければならない。特定コーデックで同時に何本のストリームをサポートできるかなどの制約を示す方法はない。
v=0
o=carol 28908764872 28908764872 IN IP4 100.3.6.6
s=-
t=0 0
c=IN IP4 192.0.2.4
m=audio 0 RTP/AVP 0 1 3
a=rtpmap:0 PCMU/8000
a=rtpmap:1 1016/8000
a=rtpmap:3 GSM/8000
m=video 0 RTP/AVP 31 34
a=rtpmap:31 H261/90000
a=rtpmap:34 H263/90000
図 1: 能力を示す SDP
図 1 の SDP は, エージェントが 3 つの音声コーデック (PCMU, 1016, GSM) と 2 つの映像コーデック (H.261, H.263) をサポートできることを示す。