IP电话信令协议——SIP
1SIP概述
SIP(Session Initiation Protocol,会话发起协议)是由IETF(Interne工程任务组)
提
出的IP电话信令协议。正如其名字所隐含的,SIP用于发起会话,它能控制多个参与者参加的多
媒体会话的建立和终结,并能动态调整和修改会话属性,如会话带宽要求、传输的媒体类型(语
音、视频和数据等)、媒体的编解码格式、对组播和单播的支持等。
SIP在设计上充分考虑了对其他协议的扩展适应性。它支持许多种地址描述和寻址,包括:
用户名@主机地址、被叫号码@PSTN网关地址和如Tel:010-62281234这样普通电话号码的描述
等。这样,SIP主叫按照被叫地址,就可以识别出被叫是否在传统电话网上,然后通过一个与传
统电话网相连的网关向被叫发起并建立呼叫。SIP的最强大之处就是用户定位功能。SIP本身含有
向注册服务器注册的功能,也可以利用其他定位服务器如DNS、LDAP等提供的定位服务器来增强
其定位功能。
SIP中有客户机和服务器之分。客户机是指为了向服务器发送请求而与服务器建立连接的应
用程序。用户代理(User Agent)和代理(Proxy)中含有客户机。服务器是用于向客户机发来
的请求提供服务并回送应答的应用程序。共有4类基本服务器:
*用户代理服务器:当接到SIP请求时联系用户,并代表用户返回响应。
*代理服务器:代表其他客户机发起请求,既充当服务器又充当客户机的媒介程序。它在
转发请求之前可能改写原请求消息中的内容。
*重走向服务器:接收SIP请求,把请求中的原地址映射成零个或多个新地址,返回给客户
机。
*注册服务器:接收客户机的注册请求,完成用户地址的注册。
用户终端程序往往需要包括用户代理客户机和用户代理服务器。代理服务器、重定向服务器
和注册服务器可以看作是公众性的网络服务器。在SIP中还经常提到“定位服务器”的概念,但
是定位服务器不属于SIP服务器。SIP服务器请求定位服务的方式也不在SIP的讨论范围之内。
SIP独立于低层协议,一般使用UDP等无连接的协议,而采用自己的应用层可靠性机制来保证
消息的可靠传输。
2 SIP的优越性
H.323和SIP设计之初都是作为多媒体通信的应用层控制(信令)协议,目前一般用于IP电
话。
它们能实现的信令功能基本相同,也都利用RTP作为媒体传输的协议。但两者的设计风格截然不
同,这是由于其推出的两大阵营(电信领域与Internet领域)都想沿袭自己的传统。H.323是由
国际电联提出来的,它企图把IP电话当作是众所周知的传统电话,只是传输方式由电路交换变成
了分组交换,就如同模拟传输变成数字传输、同轴电缆传输变成了光纤传输。而SIP侧重于将IP
电话作为Internet上的一个应用,较其他应用(如FTP,E-mail等)增加了信令和QoS的要求。
H.323推出较早,协议发展得比较成熟;由于其采用的是传统的实现电话信令的模式,便于与现
有的电话网互通,但相对复杂得多。SIP借鉴了其他Internet标准和协议的设计思想,有其突出
的优点。
首先,它是基于文本的协议,而H.323采用基于ASN.1和压缩编码规则的二进制方法表示其消
息,因此,SIP对以文本形式表示的消息的词法和语法分析就比较简单。其次,SIP会话请求过程
和媒体协商过程等是一起进行的,因此呼叫建立时间短,而在H.323中呼叫建立过程和进行媒体
参数等协商的信令控制过程是分开进行的。再次,H.323为实现补充业务定义了专门的协议,如
H.450.1、H.450.2和H.450.3等,而SIP只要充分利用已定义的头域,必要时对头域进行简单扩展
就能很方便地支持补充业务或智能业务。最后,H.323进行集中、层次式控制。尽管集中控制便
于管理(如便于计费和带宽管理等),但是当用于控制大型会议电话时,H.323中执行会议控制
功能的多点控制单元很可能成为瓶颈。而SIP类似于其他的Internet协议,设计上就为分布式的
呼叫模型服务的,具有分布式的组播功能。
在我国的IP电话领域,采用H.323协议已是定论。但我们也应看到SIP简单灵活、分布式控制
等优点。我们在开发H.323产品的同时,要关注SIP的发展,借鉴其有用之处。
|