这使运营商能通过统一的业务平台提供综合业务,实现网络的融合。SIP在灵活、方便地提供业务方面具有多方面优点。
1.协议的可扩展性
SIP协议处于不断丰富的过程之中。SIP的设计者在保持其核心协议简捷的同时,为其建立了强大的扩充机制。协议扩充主要是在消息上做文章,消息的三个基本部分:消息类型、消息头、消息体都可以被不断扩充。SIP基于文本的方式,使各种扩充工作变得十分简便。
消息类型的扩充
SIP工作组在增加新的功能时,更愿意定义新的消息类型,而不是修补原有类型,以保持每种类型目的单纯,语义清晰。定义新的类型的工作很简单,只需定义一个新的字符串即可。
一个被广泛接受的新的类型是INFO消息。INFO消息被用来在会话参加者之间传递各种信息。INFO消息可以用来传送通话中随机产生的各种信号,兀可以被用来在会话双方间传递即时消息。还有新提出的REFER消息被用来实现呼叫转移的功能,以及COMET消息用来检验能够用于会话的资源,使用户代理能够根据资源的可用性情况,决定是否接受一个呼叫。
消息头的扩充
SIP消息包含了一系列消息头,对消息进行必要的描述。现在有35种标准的消息头。用户可以根据需要增加新的消息头以支持新的特性,可以结合新的类型定义新的消息头,可以对原有类型中的内容进行补充。
例如,上述为支持呼叫转移新增的REFFER类型消息,新增两个消息头referred-by用来指示发起转移的一方,reffer-to用来指示会话被转移到的一方。
消息体的扩充
SIP的消息体可以通过MIME定义的代码进行标识,携带各种类型的数据内容。一个例子是:在新一代网络中,会岀现两个PSTN网络通过IP网络互连,IP网络提供一个仿真的中继线,这时在IP网上釆用IP电话信令(如SIP)-对于两侧PSTN交互的传统电话信令(如ISUP),如果要转换成SIP相应的内容,到另一侧再转换回来,则难免会造成信息丢失。针对这一问题,增加了一个用application/isup标识的消息体,将原始ISUP信令内容打包,原封不动地通过SIP消息携带到对端交换机,这样就可以方便而不失真地传递信令内容。
通过采用MIME方式,SIP消息体可以根据需要任意扩展,携带音频、图像乃至Java小程序等各种内容。
可见,强大的扩充机制,使SIP的能力不断增强,与时俱进。同时也应看到,由于SIP修改扩充容易,各厂家在开发设备时难免有自由发挥的地方。如何保证各厂家设备功能兼容、互连互通,将成为SIP取得商业成功道路上面临的最关键的挑战之一。这需要标准组织及各方面协调统一,避免协议无节制地蔓延出各种分支。
2.开放的业务生成环境
传统电话的增值业务是靠智能网来实现的,业务开发复杂、周期长,严重依赖电信设备厂商。面对用户需求日趋多变和个性化,运营商需要能方便地生成各种新的业务,以满足需求、扩大收益。
SIP网络的业务提供主要由ProxyServer完成,生成一个业务就是设计一个业务逻辑从而对一个特定的消息流进行控制,或对消息请求做出相应的响应。这可以通过任何通用的程序语言编程来实现。IETF起草定义了几种业务生成机制,其思路与Web服务器的方法十分接近。
IETF将业务提供者分为可信任和不可信任两类。对于不可信任者,如终端用户,提供了CPL(CallProcessingLanguage)语言,用以处理INVITE消息。通过CPL的程序,可以决定一个请求是否被拒绝、转移或转发。这里的终端用户可以是第三方提供的应用服务器,第三方业务提供者可以通过一个特服号提供一系列增值业务。使用者可以通过图形工具完成CPL程序的设计,由于可能面向缺乏经验的使用者,CPL拥有严格的控制机制从而避免带来安全和性能问题。
IETF还为信任用户(如服务器的管理员)提供了两种业务生成的途径:SIP-CGI和SIPServletoSIP-CGI类似于互联网站普遍使用的HTIP-CGI,它独立于编程语言,为复杂的程序处理提供了一个开放的接口。管理者可以使用任何程序语言实现复杂的处理程序将其运行于服务器,在呼叫过程中SIP-CGI作为程序调用及其信息输入、输出的接口,从而在呼叫过程中插入复杂的控制逻辑,对呼叫流程进行控制。这使提供高度个性化和智能化的业务变得十分方便。SIP Servlet是用Java语言实现的,类似Web服务器常用的JavaServlet,可以在有消息进入的时候被调用,指示SIP服务器如何处理并响应消息。
这些灵活、开放的机制,使业务提供者能使用通用的编程语言方便开发各种智能业务,而不必考虑服务器本身的实现。这与传统电话的智能网系统的私有编程方法和复杂的接口协议形成鲜明对比。业务开发者可以随时根据需要,在任何局部范围内开发、提供新的个性化业务,其好处不言而喻。
基于强大的业务生成手段和灵活的消息格式,SIP既可以提供各种传统电话业务,如呼叫转移、遇忙转移、话务的排队和分发、800号等各种智能业务;又可以提供语音与Internet互连(PINT)的业务,如单击拨号、语音邮件等;还可以提供特色业务,如即时消息、Presence(根据用户所处的地点和状态决定具体通信方式)等各种新兴而实用的业务。
3.对移动性的支持
SIP协议天然具有对移动性的支持。SIP的动态注册机制,使用户端移动变得十分方便。用户端在接入SIP网络时,首先向当地注册服务器发出注册请求,将自己的SIPURL和IP地址告知注册服务器。如果注册服务器不是用户的属主,注册服务器将根据用户注册的URL找到并通知其属主:自己现在为用户服务。此后,对该用户的呼叫先到达用户的原属主服务器,再由其重定向到现在为用户服务的服务器上,从而有效实现对移动用户的支持。如果在会话进行中用户移动到新的位置,则可以通过re-INVITE重新建立新的会话来实现切换。
SIP协议为实现固定和移动业务的无缝融合创造了条件。3GPPR5版本已经选择SIP作为3G移动通信多媒体域的信令协议,来实现基于IP的移动话音和多媒体通信。