资料
5.SDP Specification
SDP consists of a number of lines
<type>=<value>
- <type>代表有意义的字符
- <value>代表结构化文本,format和type有关
- *= 代表可选
- =两侧不允许有空格
Session description
v=(protocol version)
o= (originator and session identifier)
s=(session name)
i=(session information)
u=(URI of description)
e=(email address)
p=(phone number)
c=(connection information --not required if included in all media)
b=(bandwith information)
z=(time zone adjustments)
k=(encryption key)
a=*(session attribute lines)
Time description
t=(time the session is active)
r=*(repeat times)
Media description,if present
m=(media name and transport address)
i=(media title)
c=(connection information --optional if included at session level)
b=(bandwith information)
k=(encryption key)
a=*(media attribution)
这里面还挺多重名的
An example SDP description 如下
v=0
o=jdoe 2890844526 2890842807 IN IP4 10.47.16.5
s=SDP Seminar
i=A Seminar on the session description protocol
u=http://www.example.com/seminars/sdp.pdf
e=j.doe@example.com (Jane Doe)
c=IN IP4 224.2.17.12/127
t=2873397496 2873404696
a=recvonly
m=audio 49170 RTP/AVP 0
m=video 51372 RTP/AVP 99
a=rtpmap:99 h263-1998/90000
5.1 Protocol Version(“v=”)
v=0
"v="字段表达了 Session Description Protocol 的版本,没有minor version number(子版本号)
5.2 Origin(“o=”)
o=<username><sess-id><sess-version><nettype><addrtype><unicast-address>
- <username>发起者的名字
- <sess-id> 会话ID,建议基于NTP(Network Time Protocol)规范
- <sess-version> 会话本本,建议基于NTP规范
- <nettype> 网络类型,“IN”代表"Internet"
- <addrtype> 地址类型,例如"IP4"和“IP6”
- <unicast-address> 机器地址
5.3 Session Name(“S=”)
s=<session name>
有且仅有一个s=字段,如果没没有意义的会话,可以是空格
5.7 Connection Data(“c=”)
c=<nettype><addrtype><connection-address>
每个SDP必须至少有一个session-level "c="字段,media-level的会覆盖session-level
connection-address:广播或者单播地址
5.13 Attribute(“a=”)
a=<attribute>
a=<attribute>:<value>
目的用于拓展SDP,可能是session-level-attribute 或者是 media-level-attribute
在media-level(“m=”)后可以有任意个"a="
在第一个media field之前,添加的a=是session-level
5.14 Media Descriptions(“m=”)
m=<media><port><proto><fmt>
sdp可能会有多个"m="字段,以m=开始,下一个m=结束
- <media>,目前有"audio",“video”,“text”,“application”,“message”
- <port> 传输媒体流的端口,取决于网络network(“c=”)和传输协议proto
- <proto> UDP,RTP/AVP,RTP/SAVP
- <fmt>format取决于<proto>的类型