码迷,mamicode.com
首页 > 其他好文 > 详细

SDP协议简述

时间:2015-06-13 11:22:36      阅读:221      评论:0      收藏:0      [点我收藏+]

标签:作者qq 鸣人370905569   sdp   

SDP协议也是文本协议,只需要按照协议本身的格式填充。SDP协议格式即详细信息如下:

会话描述  

格式及举例

v=(protocol version)

v=0

o=(owner/creator and session identifier)

o=用户名 会话id版本网络类型地址类型地址

o=hua 253183  51827  IN  IP4 192.168.2.2

s=(session name)

会话名

i=*(session information)

会话信息

e=*(email address)

e=zte@isi.edu(generaltexte=Mr.Wang

p=*(phone number)

p=+86-0755-26773000-7110(wang)

orp=+16172536011

c=*(connection information-如已经包含在所有媒体中则该行不需要)

c=网络类型地址信息多点会议包括TTL连接地址
c=IN IP4 192.168.2.2

c=IN IP4 192.168.2.23

b=*(bandwidthinformation)

b=修改量(CTConferenceTotal

IASApplication-specificMax):带宽值(kb/s

b=CT:120

一个或更多时间描述

z=*(time zone adjustments)

时区调整

k=*(encryption key)

k=方法:密钥或k=方法

时间描述

t=(timethesessionisactive)

开始时间结束时间,单位秒,十进制NTP

t=2873397468   2873404969

r=*(zero or more repeat times)

重复时间活动持续时间以开始时刻为参考的偏移列表单位秒

媒体描述

m=(media name and transportaddress)

m=媒体端口、传送格式列表

m=audio 49170 RTP/AVP 0 3

协议为RTP

i=*(mediatitle)

媒体称呼

c=*(connectioninformation)

如已经包含在会话级描述则为可选

b=*(bandwidthinformation

c

k=*(encryptionkey)

会话级为摸认值,同c

a=*(zero or more session attributelines)

a=属性或a=属性:

a=sendrecv

a=ptime:20

a=rtpmap:0 PCMU/8000

 

说明:
1 vostm为必须的,其他项为可选;
2
 如果SDP语法分析器不能识别某一类型(Type),则整个描述丢失;
3
 如果“a=”的某属性值不理解,则予以丢失;
4
 整个协议区分大小写;
5
 “=”两侧不允许有空格;
6
 会话级的描述就是媒体级描述的缺省值;
7
 所有格式均为=

SDPtype的详细解释:

会话描述: 

1 协议版本:v=SDP版本 目前为0,没有子版本。

2 会话源:  

       <用户名>     用户在发起主机上登录名,如果主机不支持用户标识的概念,则为”-”

       <会话id>      一般为数字串,其分配由创建工具决定,建议用网络时间协议(NTP)时戳,以确保唯一性。

       <版本>         该会话公告的版本,供公告代理服务器检测同一会话的若干个公告哪个是最新公告.基本要求是会话数据修改后该版本值递增,建议用NTP时戳

       <网络类型>  为文本串”IN”
       <
地址类型> “IP4”(可为域名或点分十进制)/”IP6”(域名或压缩文本地址形式)

       <地址>          按照上述的IP4或者IP6格式写出

3 会话: s=CounterPath eyeBeam 1.5字符表示的会话名

4 Email地址:e=给出会议负责人的联系信息。他不一定是创建会议公告的人。电话号码p=给出会议负责人的信息,他不一定是创建会议公告的人

6 连接数据:c=媒体连接数据,会话级为媒体级的默认值

7 带宽:b=给出会话或媒体所用带宽,单位为kbit/s.修饰语:CT(会议总带宽,表示所有地点所有媒体的总带宽)AS(应用特定最大带宽,表示一个地点单一媒体带宽)时间描     述: 

8 加密密钥:k=已定义的方法有k=clear:<加密密钥>密钥没有变换 k=base64:<编码密钥>已编码,因为它含有SDP禁用, k=uri:<获得密钥的URI>k=promptSDP没有提供密   钥但该会话或媒体流是要求加密的。

9.属性:a=一个m=行可有多个a=行,SDP建议扩展如下:

     会话级:

            a=cat:<类别>//给出点分层次式会话分类号,供接收方筛选会话

            a=keywds:<关键词>//供接收方筛选会话

            a=tool:<工具名和版本号>//创建会话描述的工具名和版本号

            a=type:<会议类型>//:广播,聚会,主席主持,测试,H.323

            a=charset:<字符集>//显示会话名和信息数据的字符集

            a=sdplang:<语言标记>//描述所有语言

            a=lang:<语言标记>//会话描述的缺省语言或媒体描述的语言

            a=framerate:<帧速率>//单位:/

            a=quality:<质量>//视频的建议质量(10/5/0)

            a=fmtp:<格式><格式特定参数>//定义指定格式的附加参数

   媒体级:
          a=ptime:<
分组时间>//媒体分组的时长(单位:)
          a=recvonly/sendrecv/sendonly//
收发模式
          a=orient:<
白板方向>//指明白板在屏莫上的方向
          a=sdplang:<
语言标记>//描述所有语言
          a=lang:<
语言标记>//会话描述的缺省语言或媒体描述的语言

10  m = <
媒体>5种类型:音频/视频/应用(如白板信息)/数据(不向用户显示的)/控制
              <
端口>媒体流发往传输层的端口。取决于c=行规定的网络类型和接下来的
              <
传送层协议>UDP1024-65535;对分层编码应用c = 行没有多播地址,要给    出多播端口数,如:m=video 49170/2 RTP/AVP31(表示:端口4917049171为   第一对RTP/RTCP端口,4917249173为第二对的端口)。

              <传送层协议>c=行的地址类型有关。对大多的媒体在RTP/UDP上传送,定义2种:RTP/AVPIETFRTP协议,音/视频应用文档。在UDP上传送。UdpUDP协议。

               <格式列表>:对音/视频,就是音/视频应用文档中规定媒体净荷类型。列表中都有可能用,但第一个为缺省值,分为静态绑定和动态绑定:静态绑定即使媒体编码方式有 净荷类型号完全确定,动态绑定则媒体编码方式(如时钟频率,音频信道数等)没有完全确定,需要进一步的属性说明。分别举例如下:G711APCM编码单信道Audio,其净荷类型号为8,把它发往UDP端口49232m=audio 49232 RTP/AVP816bit线性编码,单声道声,采样率速率8kHz,其动态净荷类型号98m=audio 49232 RTP/AVP 98a=rtpmap:98 L16/16000/2

说明:
1
 a=rtpmap:<净荷类型号><编码名>/<时钟速率>[/<编码参数>]对音频,编码参数为音频信道数;对视频没有定义
2
 SDP允许rtpmap规定实验性编码格式,但编码名必须以X-起,表示此格式还没正式登记。

SDP用于构建INVITE200OK响应消息的消息体,供主\被叫用户交换媒体信息。

SDP协议简述

标签:作者qq 鸣人370905569   sdp   

原文地址:http://blog.csdn.net/wh8_2011/article/details/46481055

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!