Compare Plans

会话描述协议

更新时间:2021-12-16

会话描述协议(SDP)是一个用来描述多媒体会话的应用层协议,它是一个基于文本的协议。当描述会话时,主叫方和被叫方表示它们各自的“接收”能力、媒体格式和接收地址/端口。

能力交换可在会话建立或会话期间(会话进行过程中)进行。

就在本书成稿期间,一个新的SDP规范已接近尾声,其当前的版本是[Draf-ief-mmusic-sdp-new〕,之前的版本在[RFC2327]中定义。

13.1 SDP消息内容

SDP消息包含三级信息:

• 会话级描述——包括会话标识和其他会话级参数,如IP地址、主题、会话和/或创建人的联系信息等。

• 定时描述——开始和停止时间、重复次数以及一个或多个媒体级描述。

• 媒体类型和格式——传输协议和端口号,其他媒体级参数。注意,媒体地址可能与信令地址不同。

这三级信息必须以上述顺序出现。SDP消息是SDP行的集合。

13.1.1会话描述

表13-1列出了所有会话级描述行,并表明了它们是可选的(o)还是必选的(m)以及行名所用的字母。

表13-1会话级描述SDP行

会话描述协议(图1)

①不要求在每个媒体行里都出现。


13.1.2时间描述

表13-2列出了所有时间描述行,并指明它们是可选的(o)还是必选的(m)以及行名所用的字母。

表13-2时间级描述SDP行

会话描述协议(图2)

13.1.3媒体描述

表13-3列出了所有的媒体级描述行,并表明了它们是可选的(o)还是必选的(m)以及行名所用的字母。

表13-3媒体级描述SDP行

会话描述协议(图3)

.①如果在会话级已出现,则不要求。

13.2 SDP消息格式

SDP语法非常严格,所有行都遵循相同的格式。每条SDP行的格式均为:

<character>=<value>

在等号“=”两边都不允许有空格。行的<value>部分包含一个或多个参数,且每个参数之间只能恰好有一个空格。

value=parameterl parameter2...parameterN

每个SDP行以一个回车换行符(CRLF)结束,每行的参数个数都是已定义好的。

13.3一些SDP行介绍

13.3.1 协议版本行

SDP协议版本为0,因此,SDP消息中的v行必须总是设为0。

v=0

13.3.2连接信息行

c行必须在会话级或媒体级出现。如果它没有在会话级出现,则必须在媒体级出现。如果在两级都出现了.,则媒体级信息覆盖会话级信息。

c=<networktype><addresstype><networkaddress>

c行有三个参数:

• 网络类型——目前仅定义了Internet网络类型。该值以“IN"出现。

• 地址类型——有两类地址类型,即IPv4或IPv6。

• 网络地址——该参数标识所收到的媒体的IP地址或域名。

13.3.3  媒体行

m行携带媒体的信息,包括传输信息。其语法如下:

m=<media><port><transport><fbnnat-list>

m行有四个参数:

• 媒体——媒体的类型(如音频、视频、游戏)。

• 端口——接收媒体的端口号。

• 传输一一所用的传输协议,可以为用户数据报协议(UDP)或实时传输协议音频视频配置(RTP/AVP)(RTP在第15章解释)。

• 格式列表——括更多有关媒体的信息,通常在RTP/AVPs中定义净荷的类型(详见15.3节)。

如果传输协议是RTP/AVP,则RTP控制协议(RTCP)的端口号=RTP端口号+1。假定只要RTP携带媒体时,就要发送RTCP;RTP端口号必须为偶数,因此,RTCP端口号为奇数。

a行定义了媒体的属性,它用来扩展SDP,事实上,这是扩展SDP的惟一方法。属性可以是会话级属性、媒体级属性或二者都有,对属性的解释取决于所使用的媒体工具。其语法如下所示:

a=<attribute field>[":"<attribute ualue>]

属性字段(attribute field)包含属性的名称。属性值(attribute value)部分是旦如果出现,则用一冒号与属性字段分隔开来。

表13-4给出了[Drafit-ietFmmusic-sdp-new]中定义的最常用的属性列表。该列荒整,因为在另外的因特网工程任务组(IETF)文件中还定义了扩展部13.6节的前提),作为SDP如何进行扩展的例子。

表13-4最常用SDP属性行

会话描述协议(图4)

13.3.5  rtpmap属性

对于用RTP传送的媒体,SDP可用于将媒体编码方案与媒体的RTP净荷类型绑定起来。这是用净荷类型编号来实现的。

对于静态净荷类型(关于静态和动态净荷类型的定义见15.4.1节),有了净荷类型编号就足以进行绑定了;但对于动态净荷类型,单有净荷类型编号还不够,需要额外的编码信息,这是通过使用rtpmap属性来实现的。净荷类型编号携带在媒体行的格式列表参数中。rtpmap属性的语法如下:

a=rtpmap:<payloadtype><encodingname>/<clockrate>[/<encodingparameters>]

rtpmap属性由四个参数组成:

• 净荷类型——携带净荷类型编号,如m行中所示。

• 编码名称编码方案的名称。

• 时钟速率——bit/so

• 编码参数——与特定媒体有关的参数,包括信道的数量,但不是与特定编码方案有关的参数。

下一篇

会话描述协议的提供/应答模型

通信知识

会话描述协议的提供/应答模型

会话描述协议(SDP)的提供/应答模型被两个实体用来对会话描述达成协议,例如会话中包含哪些媒体流、编码方案等。提供者在提供中表明所希望的会话描述,应答者则在应答中从应答者的观点来指明所希望的会话描述。提供/应答模型可用来创建会话或修改已有的会话。然而,在提供和应答中可以出现什么内容是有限制的。以下章节描述提供和应答是如何被创建的。提供/应答模型在[RFC3264]中进行更详细的描述。14.1提供当 ...

相关内容

联网报警平台哪家强?签订协议要避开哪些坑?

联网报警平台哪家强?签订协议要避开哪些坑?

一、联网报警平台比较1、市场主要品牌在当今快速发展的安防行业中,联网报警平台作为......

通信知识

2025-03-28

报警对讲系统需要维保?服务协议怎样签合适?

报警对讲系统需要维保?服务协议怎样签合适?

一、系统概述1、功能构成报警对讲系统作为现代安防领域的重要组成部分,具备丰富多样......

通信知识

2025-03-25

如何集成音视频通话接口?(步骤详解与常见协议解析)

如何集成音视频通话接口?(步骤详解与常见协议解析)

一、什么是音视频通话接口音视频通话接口是指用于建立、管理和维护实时音视频通信的一......

通信知识

2025-02-18