SDP【Session Description Protocol】
SDPとは?

IP電話(VoIP)やビデオ会議などのシステムでは、SIP(Session Initiation Protocol)と組み合わせて使われることが多い。利用者間でセッションを確立する際、そのセッションに参加するために必要な制御情報を記述し、相手側に伝送する役目を果たすのがSDPである。SDP自体はデータを届ける伝送機能を持たず、記述された情報をSIPなどのメッセージに格納して運ぶ。
記述される内容は、セッションの名称や説明、所有者や問い合わせ先、開始・終了時刻、接続先のIPアドレスやポート番号、利用可能な帯域、メディアに関する情報などである。メディア情報には、音声のみかビデオと音声を含むかといった種類、音声や映像の圧縮符号化形式(コーデック)、伝送に使うプロトコルなどが含まれる。これにより通信相手は、再生や受信に必要な条件を事前に把握できる。
SDPの記述形式は、1行に1つの設定項目を「識別子=設定値」という構文で並べていくテキスト形式である。識別子はアルファベット小文字1文字で表され、「v」がプロトコルバージョン、「o」がセッション発信者の情報、「s」がセッション名、「e」が電子メールアドレス、「c」が接続情報、「t」が有効時間、「m」がメディア定義を示す。これらの行は決まった順序に従って記述される場合が多く、実際には「v=0」や「c=」から始まる行などが並ぶ構成となる。
SIPによるセッション確立の手順では、INVITEメッセージにSDPを付加して送信し、通信条件の提示と応答を繰り返すことで、双方が対応できるメディア形式やコーデックの合意を行う。このオファー(offer)とアンサー(answer)のやり取りを通じて、通話やビデオ会議の開始前に互換性を確認できる。WebRTCのようなWebブラウザを使ったリアルタイム通信の基盤技術でも同様の手順が用いられる。