2.4 SIP协议框架

由IETF于1999年3月发布了第一个SIP规范,即RFC 2543。2002年6月发布了SIP新规范RFC 3261,标志着SIP的基础已经确立。随后发布了几个RFC增补版本,充实了安全性和身份验证等领域的内容。例如,RFC 3262对临时响应的可靠性做出规定。RFC 3263确立了SIP代理服务器的定位规则。RFC 3264提供了提议/应答模型,RFC 3265确定了具体的事件通知。

SIP是一个基于IP、纯文本的应用层信令控制规范,用于创建、修改和释放一个或多个参与者的会话。而所谓的会话,就是指终端设备之间任何类型的通信。在基于SIP协议的应用中,每一个会话可以支持不同类型的数据,如普通的文本数据、经过数字化处理的音视与视频数据、游戏数据等应用数据,具有很强的灵活性。

早在2001年,供应商就已开始推出基于SIP的服务。近年来,人们热衷研究该协议,并开发基于SIP体系框架的通用应用程序接口,SIP正在成为自HTTP和SMTP以来最为重要的应用协议之一。

由于计算机网络的飞速发展,在最近的两年时间内,SIP已经开始被ITU-T SG16、ETSITIPON(欧洲标准化组织)等各种标准化组织所接受,并在这些组织中成立了与SIP相关的工作组。特别是作为ITU-T SG16主要成员,在多年发展H.323应用的基础上,针对SIP应用在视频领域的特点,提出了SIP的应用指导,并推出了相应的SIP协议,实现了H.323与SIP两种协议之间的互通性。

近年来,在网络建设过程中发生了一个很明显的变化,很多设备厂商都开始将网络的协议标准向SIP方向倾斜。SIP成为追逐的标准,最大的优势就是开发简单,同时SIP具有继承性,对于拥有传统网络的运维者来说,选择SIP无疑是一个承上启下最好的切入点。

在3GPP中使用SIP标准来支持语音和数据是SIP协议得以发展的一个重要原因,SIP可以对语音进行很好的优化,并且由于它的可编程性,使移动业务面临灵活性和多样性的变化时,有了很好的保证。SIP协议为实现固定和移动业务的无缝融合创造了条件。3GPP R5版本已经选择SIP作为3G移动通信多媒体域的信令协议,来实现基于IP的移动语音和多媒体通信。

另外,基于SIP的终端类型很多,有利于使最终用户方便地接入网络。SIP能够对手机、PDA等移动设备提供良好的支持,能够实现在线即时交流、语音和视频数据传输等多媒体应用。

2.4.1 协议组成

SIP是在IP网络中实现实时通信的一个应用层信令控制协议,用于创建、更改和终止会话,协商一次“呼叫”。这里的协商包括介质(文本、语音等)、传输(通常是RTP)和编码。一旦协商成功,用户就会使用选中的方法相互通信——此时与SIP无关。“呼叫”完成之后,SIP用于指示断开连接。SIP既不是会话描述协议,也不提供会议控制功能。与H.323标准相比,SIP定义的不是一个完整的通信系统,它需要借助IETF定义的相关协议建立完整的多媒体架构。

SIP系统需要使用SDP(Session Discription Protocol,会话描述协议,RFC 2327)协议描述多媒体会话特性、消息内容的负载情况和特点;通过RTSP协议用于多媒体数据流的发送控制;使用RTP协议完成实时数据传输;通过HTTP、MIME协议完成协议的安全传输;SIP自身不提供服务质量(QoS),它与负责语音质量的资源保留设置协议(RSVP)实现互操作;它与负责定位的轻型目录访问协议(LDAP)、负责身份验证的远程身份验证拨入用户服务(RADIUS)等多个协议进行协作,实现相应功能。SIP协议栈如图2-7所示。

图2-7 SIP协议栈

SIP具有以下优点:

(1)稳定性。该协议已经使用了多年,现在十分稳定。

(2)效率高。基于UDP的小型协议效率特别高。

(3)灵活性。SIP基于文本的协议十分容易扩展。

(4)安全性。SIP提供如加密(SSL、S/MIME)和身份验证等功能,对SIP的扩展还提供其他安全性功能。

(5)标准化。随着整个通信行业都在支持SIP,SIP已经迅速成为一种标准。虽然其他技术可能具有SIP所没有的优势,但是没有得到全球范围内的采用。

2.4.2 信令协议

SIP协议栈中,信令协议主要包括SIP、SDP、SAP、RTSP等协议。

1.SIP

SIP即会话发起协议,完成会话建立或取消。而所谓的会话,就是指用户之间的数据交换。每个会话中的数据可以是普通的文本数据,也可以是经过数字化处理的音频、视频数据,还可以是诸如游戏等各种不同类型的应用数据。利用SAP、SDP共同完成所需会话的建立、取消。

2.SDP

SDP协助SIP协议完成多媒体会话建立所需描述。SDP描述了多媒体会话的特性、会话终端设备的特点,为会话通知、会话邀请和其他形式的多媒体会话初始化等目的提供了多媒体会话描述。SDP通过会话目录实现多媒体会议的通告,为会话参与者传送会话名称和意图、会话持续时间、构成会话的媒体、有关接收媒体的信息(地址)等相关信息。

SDP完全是一种会话描述格式,它不属于传输协议,而是通过会话通知协议(SAP)、会话发起协议(SIP)、实时流传输协议(RTSP)、MIME扩展协议的电子邮件及超文本传输协议(HTTP)实现协议传输,但SDP不支持会话内容或媒体编码的协商。

3.SAP

SAP协助SIP协议完成会话通知。SAP是指会话发起者周期性地通过发送组播会话的通知,向组播组内与会者发送建立、取消、修改会话必要信息,与会者收到该通知后启动相应软件进程,配置相应参数,完成该会话操作。SAP协议本身并不用于会话建立或取消,会话建立或取消由SIP协议实现,会话通知的必要信息描述由SDP协议实现。

4.RTSP

RTSP是TCP/IP协议体系中的一个应用层协议,该协议定义了点对多点应用程序如何有效地通过IP网络传送多媒体数据。RTSP在体系结构上位于RTP和RTCP之上,它使用TCP或RTP完成数据传输。RTSP是应用级协议,用于控制实时数据的发送。RTSP提供了一个可扩展框架,使音频与视频实时数据的受控点播成为可能(数据源包括现场数据与存储在剪辑中的数据)。该协议的目的在于控制多个数据发送连接,为选择发送通道提供途径,并为选择基于RTP上的发送机制提供方法。

RTSP是用来控制声音或影像的多媒体流协议,并支持组播功能,不关心传输时所用的网络通信协议,服务器端可以自行选择使用TCP或UDP来传送流内容。它的语法和运作与HTTP类似,但并不特别强调时间同步,所以比较能容忍网络延迟。HTTP与RTSP相比,HTTP传送HTML,而RTSP传送多媒体数据,HTTP请求由客户机发出,服务器做出响应;使用RTSP时,客户机和服务器都可以发出请求,即RTSP可以是双向的。

2.4.3 媒体协议

SIP协议栈中,兼容主流媒体协议主要包括视频H.261、H.263、H.264编解码标准,音频G.711、G.722、G.728、G.723.1、G.729编解码标准,以及确保媒体实时、可靠传输的RTP/RTCP协议。

2.4.4 SIP地址

SIP地址格式由SIP URL(SIP统一资源定位器)定义,SIP URL类似于E-mail或Telnet URL。SIP在设计上充分考虑对其他协议的扩展适应性,支持许多种地址描述和寻址,包括:用户名@主机地址和被叫号码@PSTN网关地址等。SIP地址由用户部分和主机部分组成,如“suxun@beg.com”和“suxun@192.168.1.1”,可以用来表示一个人、一个组或一个组中第一个可以访问的人。