目录
前言
今天在我们简单说明SDP信息中的一些基础字段的含义之前,首先来了解一下SDP实际意义。当初始化多媒体会议、VoIP电话、视频流或者其他会话的时候、往往需要对参会者提供媒体信息、传输地址以及其他与会话相关的描述性信息,不然就会缺少建立会话的基础。此时,SDP诞生了,它承担了这个任务。SDP为了描述这些信息,因此提供了一个标准的形式,当然这些信息以什么方式传输不会影响会话的建立。SDP只是一个单纯的会话描述的格式,SDP并不包含传输协议。在任何场合下,SDP可以利用不同的传输协议,比如SAP、SIP、RTP、使用MIME扩展的电子邮件和 HTP 等。SDP具备一定的通用性,因此它可以广泛的应用于各种程序和系统。
正文
本文通过SDP的结构组成情况,分别说明每个字段的意义,主要看其中的注释描述。注意:SDP规范一直在发展变化中,本文主要依据 RFC4566 草案展开介绍。
一、Session 相关描述信息
SDP信息交换过程其实就是围绕会话Session进行协商的过程,Session是一个整体,包含了很多内容,比如时间、媒体、位置等。
协议版本号
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=* (zero or more bandwidth information lines)时间信息
One or more time descriptions ("t=" and "r=" lines; see below)时区调整
z=* (time zone adjustments)密钥
k=* (encryption key)会话属性行
a=* (zero or more session attribute lines)媒体描述信息
Zero or more media descriptions
二、Time 相关描述信息
SDP协商过程中也会涉及到很多与时间相关的参数字段,比较常见的如下:
会话活跃时间
t= (time the session is active)重复次数
r=* (zero or more repeat times)时间偏移
z=(时刻信息和偏移量)
三、Media 相关描述信息
媒体描述信息的表示格式如下:
m=<媒体类型> <端口> <协议> <格式类型>