Session-initiation-protocol-sdp

提供:Dev Guides
移動先:案内検索

SIP-セッション記述プロトコル

SDPはSession Description Protocolの略です。 ネットワークを介して参加者が理解できる形式でマルチメディアセッションを記述するために使用されます。 この説明に応じて、パーティは会議に参加するか、いつ、どのように会議に参加するかを決定します。

  • 会議の所有者は、セッションの説明を含むマルチキャストメッセージを送信することにより、ネットワーク上で会議をアドバタイズします。 所有者の名前、セッションの名前、コーディング、タイミングなど。 これらの情報に応じて、広告の受信者はセッションへの参加について決定を下します。
  • SDPは一般に、一般にSIPと呼ばれるセッション開始プロトコルの本文部分に含まれています。
  • SDPはRFC 2327で定義されています。 SDPメッセージは、フィールドと呼ばれる一連の行で構成されます。フィールドの名前は、単一の小文字で省略され、解析を簡素化するために必要な順序になっています。

SDPの目的

SDPの目的は、マルチメディアセッションでメディアストリームに関する情報を伝達し、参加者が特定のセッションの情報に参加または収集できるようにすることです。

  • SDPは、短い構造化されたテキスト記述です。
  • セッションの名前と目的、メディア、プロトコル、コーデック形式、タイミング、トランスポート情報を伝えます。
  • 仮の参加者はこれらの情報を確認し、セッションに参加するかどうか、および参加する場合はセッションに参加する方法とタイミングを決定します。
  • この形式には、<type> = <value>の形式のエントリがあります。<type>は一意のセッションパラメータを定義し、<value>はそのパラメータの特定の値を提供します。 SDPメッセージの一般的な形式は- + x = parameter1 parameter2 …​ パラメーターN *
  • 行は、xなどの単一の小文字で始まります。 文字と=の間にスペースが存在することはありません。また、各パラメーターの間にスペースが1つだけ存在します。 各フィールドには、定義された数のパラメーターがあります。

セッション記述パラメーター

セッションの説明(*はオプションを示す)

  • v =(プロトコルバージョン)
  • o =(所有者/作成者およびセッション識別子)
  • s =(セッション名) i = (セッション情報) u = (説明のURI) e = (メールアドレス) p = (電話番号) c = (接続情報-すべてのメディアに含まれる場合は不要) b = (帯域幅情報) z = (タイムゾーン調整) k = (暗号化キー) a = (ゼロ以上のセッション属性行)

プロトコルバージョン

v =フィールドには、SDPバージョン番号が含まれています。 SDPの現在のバージョンは0であるため、有効なSDPメッセージは常にv = 0で始まります。

原点

o =フィールドには、セッションの発信者とセッションIDに関する情報が含まれています。 このフィールドは、セッションを一意に識別するために使用されます。

  • フィールドには含まれています- + o = <username> <session-id> <version> <network-type> <address-type>
  • username パラメーターには、発信者のログインまたはホストが含まれます。
  • session-id パラメーターは、一意性を確保するために使用されるNetwork Time Protocol(NTP)タイムスタンプまたは乱数です。
  • version は、セッションへの変更ごとに増加する数値フィールドであり、NTPタイムスタンプにすることも推奨されます。
  • network-type は、インターネットでは常にINです。 address-typeパラメーターは、ドット付き10進形式または完全修飾ホスト名のIPv4またはIPv6アドレスのIP4またはIP6のいずれかです。

セッション名と情報

s =フィールドには、セッションの名前が含まれています。 ゼロ以外の文字を含めることができます。 オプションのi =フィールドには、セッションに関する情報が含まれます。 任意の数の文字を含めることができます。

URI

オプションのu =フィールドには、セッションに関する詳細情報を含むURI(Uniform Resource Indicator)が含まれます

メールアドレスと電話番号

オプションのe =フィールドには、セッションのホストの電子メールアドレスが含まれます。 オプションのp =フィールドには電話番号が含まれます。

接続データ

c =フィールドには、メディア接続に関する情報が含まれています。

  • フィールドには含まれています- + c = <ネットワークタイプ> <アドレスタイプ> <接続アドレス>
  • network-type パラメーターは、インターネットではINとして定義されています。
  • address-type は、IPv4アドレスの場合はIP4、IPv6アドレスの場合はIP6として定義されます。
  • connection-address は、メディアパケットを送信するIPアドレスまたはホストであり、マルチキャストまたはユニキャストのいずれかです。
  • マルチキャストの場合、接続アドレスフィールドには以下が含まれます- + connection-address = base-multicast-address/ttl/number-of-addresses

帯域幅

オプションのb =フィールドには、必要な帯域幅に関する情報が含まれています。 それは形式です-

b = modifier:bandwidth −値

時間、繰り返し時間、タイムゾーン

t =フィールドには、セッションの開始時間と終了時間が含まれています。

t =開始時間停止時間

オプションのr =フィールドには、NTPまたは日([.small]#d#)、時間([.small]#h#)、または分([.small]#)で指定できる繰り返し時間に関する情報が含まれます。 m#)。

オプションの[.small] z =フィールドには、タイムゾーンオフセットに関する情報が含まれます。 このフィールドは、発生しているセッションが夏時間から標準時間への変更、またはその逆の場合に使用されます。

メディア発表

オプションの[.small] m =フィールドには、メディアセッションのタイプに関する情報が含まれます。 フィールドには含まれています-

m =メディアポートトランスポートフォーマットリスト

  • メディアパラメータは、オーディオ、ビデオ、テキスト、アプリケーション、メッセージ、画像、またはコントロールのいずれかです。 portパラメーターにはポート番号が含まれています。
  • トランスポートパラメータには、使用されるトランスポートプロトコルまたはRTPプロファイルが含まれます。
  • format-listには、メディアに関する詳細情報が含まれています。 通常、RTPオーディオビデオプロファイルで定義されたメディアペイロードタイプが含まれます。
Example:
m = audio 49430 RTP/AVP 0 6 8 99

これら3つのコーデックのいずれかをオーディオメディアセッションに使用できます。 3つのオーディオチャネルを確立することが目的の場合、3つの別個のメディアフィールドが使用されます。

属性

オプションのa =フィールドには、先行するメディアセッションの属性が含まれます。 このフィールドを使用して* SDPを拡張し、メディアに関する詳細情報を提供できます*。 SDPユーザーが完全に理解していない場合、属性フィールドは無視できます。 メディアフィールドにリストされているメディアペイロードタイプごとに、1つ以上の属性フィールドがあります。

SDPの属性は次のいずれかです。

  • セッションレベル、または
  • メディアレベル。

セッションレベルとは、SDPの最初のメディア行の前に属性がリストされることを意味します。 この場合、属性はその下のすべてのメディア行に適用されます。

メディアレベルとは、メディア行の後にリストされることを意味します。 この場合、属性はこの特定のメディアストリームにのみ適用されます。

SDPには、セッションレベルとメディアレベルの両方の属性を含めることができます。 同じ属性が両方として表示される場合、メディアレベル属性は、その特定のメディアストリームのセッションレベル属性をオーバーライドします。 接続データフィールドは、セッションレベルまたはメディアレベルのいずれかになります。

SDPの例

以下に、RFC 2327から取られたセッションの説明の例を示します-

v = 0
o = mhandley2890844526 2890842807 IN IP4 126.16.64.4
s = SDP Seminar
i = A Seminar on the session description protocol
u = http://www.cs.ucl.ac.uk/staff/M.Handley/sdp.03.ps
e = mjh@isi.edu(Mark Handley)
c = IN IP4 224.2.17.12/127
t = 2873397496 2873404696
a = recvonly
m = audio 49170 RTP/AVP 0
m = video 51372 RTP/AVP 31
m = application 32416udp wb
a = orient:portrait