📅  最后修改于: 2020-10-29 03:49:39             🧑  作者: Mango
SDP代表会话描述协议。它用于描述参与者通过网络理解的格式的多媒体会话。取决于此描述,一方可以决定是否加入会议或何时或如何加入会议。
会议的所有者通过发送多播消息在网络上对其进行广告,该消息包含会话的描述,例如,所有者的名称,会话的名称,编码,时间等。根据这些信息,广告的接收者决定参加会议。
SDP通常包含在会话启动协议(通常称为SIP)的主体部分中。
SDP在RFC 2327中定义。SDP消息由一系列称为字段的行组成,其名称由一个小写字母缩写,并且按要求的顺序简化了解析过程。
SDP的目的是在多媒体会话中传达有关媒体流的信息,以帮助参与者加入或收集特定会话的信息。
SDP是简短的结构化文本描述。
它传达了会话的名称和目的,媒体,协议,编解码器格式,时间和传输信息。
临时参与者检查这些信息,并决定是否加入会话以及如果决定加入会话以及如何加入会话。
该格式具有
SDP消息的一般形式是-
x =参数1参数2 …参数N
该行以单个小写字母开头,例如x。字母和=之间永远没有空格,每个参数之间也只有一个空格。每个字段都有定义数量的参数。
会话描述(*表示可选)
v =字段包含SDP版本号。由于SDP的当前版本为0,因此有效的SDP消息将始终以v = 0开头。
o =字段包含有关会话发起者和会话标识符的信息。该字段用于唯一标识会话。
该字段包含-
o = <用户名> <会话ID> <版本> <网络类型> <地址类型>
username参数包含发起者的登录名或主机。
session-id参数是网络时间协议(NTP)时间戳或用于确保唯一性的随机数。
版本是一个数字字段,会话的每次更改都会增加该字段,也建议将其作为NTP时间戳。
对于Internet,网络类型始终为IN。 address-type参数是点分十进制形式或完全限定的主机名的IPv4或IPv6地址的IP4或IP6。
s =字段包含会话的名称。它可以包含任意数量的非零字符。可选的i =字段包含有关会话的信息。它可以包含任意数量的字符。
可选的u =字段包含统一资源指示符(URI),其中包含有关会话的更多信息
可选的e =字段包含会话主机的电子邮件地址。可选的p =字段包含电话号码。
c =字段包含有关媒体连接的信息。
该字段包含-
c = <网络类型> <地址类型> <连接地址>
network-type参数定义为Internet的IN。
地址类型定义为IP4(用于IPv4地址)和IP6(用于IPv6地址)。
连接地址是将要发送媒体数据包的IP地址或主机,可以是多播或单播。
如果是多播,则连接地址字段包含-
连接地址=基本多播地址/ ttl /地址数
其中ttl是生存时间值,地址数指示从基本多播地址开始包含多少个连续多播地址。
可选的b =字段包含有关所需带宽的信息。它的形式为-
b =修饰符:带宽-值
t =字段包含会话的开始时间和结束时间。
t =开始时间停止时间
可选的r =字段包含有关重复时间的信息,这些信息可以以NTP或天( d ),小时( h )或分钟( m )来指定。
可选的z =字段包含有关时区偏移量的信息。如果正在发生的会话跨越了从夏令时到标准时间的变化,反之亦然,则使用此字段。
可选的m =字段包含有关媒体会话类型的信息。该字段包含-
m =媒体端口传输格式列表
媒体参数是音频,视频,文本,应用程序,消息,图像或控件。 port参数包含端口号。
传输参数包含使用的传输协议或RTP配置文件。
格式列表包含有关媒体的更多信息。通常,它包含RTP音频视频配置文件中定义的媒体有效负载类型。
Example:
m = audio 49430 RTP/AVP 0 6 8 99
这三个编解码器之一可用于音频媒体会话。如果打算建立三个音频通道,则将使用三个单独的媒体字段。
可选的a =字段包含先前媒体会话的属性。该字段可用于扩展SDP以提供有关媒体的更多信息。如果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