技术开发 频道

WebSphere Application Server对SIP的支持

【IT168技术文档】

    会话初始协议(Session Initiation Protocol, SIP)是一种信令协议,用于建立、修改和关闭多媒体会话。SIP并非新概念,和H.323一样,它是VoIP的主导信令协议,由国际工程任务组IETF开发,被认为是继TCP/IP和HTTP后第三个很重要的协议。 WebSphere Application Server从6.1版本开始提供对SIP的全面支持,以满足电信等行业日益多样化的需求。本文主要介绍了WebSphere Application Server 6.1(简称WAS 6.1)如何提供对SIP的支持。首先,介绍SIP的概念、SIP行业背景;其次,介绍WAS 6.1下的SIP集群应用架构及其核心组件:SIP容器和SIP代理服务器;最后,介绍WAS 6.1中SIP的其他组件及功能,包括:SIP Servlet API、聚合应用、SIP应用开发工具、SIP高可用性和故障恢复及SIP问题诊断等。

    SIP的概念

    在电信网络中,有两种流:

    信令控制流——用于建立、修改以及终止会话
    实际媒体流——用于传输数据

    这两种流是分开、独立的,这样做的好处在于:会话管理更便捷,且更适用于功能变更频繁等需求。

    会话初始协议(Session Initiation Protocol, SIP)是一种信令协议,用于建立、修改和关闭多媒体会话。SIP并非新概念,和H.323一样,它是VoIP(Voice over IP)的主导信令协议,由国际工程任务组(Internet Engineering Task Force, IETF)开发,目前支持RFC 3261标准,被认为是继TCP/IP和HTTP之后第三个很重要的协议,是IP多媒体子系统(IP Mulitmedia Subsystem, IMS)架构不可或缺的重要组成部分。

    SIP支持以下几种会话管理方式:

    User location: 用户能从远程访问电话网络或其他应用。
    User availability: 被呼叫方可以选择是否参与会话。
    User capability: 用户可以选择会话的媒体类型及其相关参数。
    Session setup: 为点对点或多方会话建立会话参数。
    Session management: 进行会话管理,包括:建立会话,修改会话参数,转移会话,触发会话服务,终止会话等功能。

    SIP会话建立后,传输媒体时媒体流走不同线路。从图1可以看出,SIP通常要跟其他协议一起协同工作,才能完成VoIP等点对点功能和服务。会话描述协议(Session Description Protocol, SDP)定义了会话特征和参数,实时传输协议(Real-time Transport Protocol, RTP)定义了在Internet上传输声音和视频的标准数据包格式,实时传输控制协议(Real-time Transport Control Protocol, RTCP) 严密控制实时传输数据流的质量。
图1:SIP通信栈



    HTTP提供了Web页面内容(文本、声音、图像、连接等)的聚合功能,SIP则是将不同的媒体流集成到会话里。SIP借鉴了HTTP的请求/响应模式、HTTP消息头部和响应码格式(比如:404代表“地址不存在!”),但SIP和HTTP有几点关键的区别:

    SIP是点对点协议。使用HTTP时,Web服务器只能响应请求,不能发起请求;但SIP用户代理既可作为客户端发送请求,也可作为服务器端发送响应。
    SIP可以为一个请求产生多个响应。
    HTTP服务通常驻留在Web服务器上,而SIP的代理服务器,重定向服务器和注册服务器提供了灵活的服务路由机制。

    SIP产生的背景及IBM支持SIP的战略

    发展下一代网络的目的是充分利用网络资源,尽可能实现性能价格比的最优化。VoIP目前有ITU-T的H.323和IETF的SIP两套实施标准。

    基于网守(Gatekeeper)的H.323类似于传统的电话协议,它提供了窄带多媒体通信所需要的所有子协议,但它存在以下不足:控制协议非常复杂,不支持多点发送(Multicast)协议,只能采用多点控制单元MCU组成多点会议(因此只能同时支持有限个用户),不支持呼叫转移,建立呼叫的时间比较长。
    SIP则是一个Internet范畴的简单协议,可应用于多媒体会议、远程教学及Internet电话等领域。SIP既支持单点发送,也支持多点发送,会话参与者可以随时加入一个已存在的会议,或为已存在的会议增加支持的媒体种类。SIP可用来呼叫人或机器设备,如呼叫一个媒体存储设备记录一个会议,或呼叫一个电视点播服务器向会议播放视频信号。SIP是一种应用层协议,可用UDP或TCP作为传输协议(参看图1)。与H.323不同的是,SIP是一种基于文本的协议,用SIP URI定位资源,这样易于实现和调试,更重要的是灵活性和扩展性好。由于SIP仅用于初始化呼叫,而不是传输媒体数据,因而造成的附加传输代价也不大。SIP的URI甚至可以嵌入到网页或其它超文本链接中,用户只需用鼠标一点即可发出一个呼叫。与H.323相比,SIP还有建立呼叫快,支持传送电话号码等特点。

    尽管SIP以其简单灵活的特性得到了多方青睐,但目前看来,H.323和SIP均会长时间在下一代网络中占领一席之地并且互联互通。

    随着电信等行业的需求日益多样化,许多支持SIP的应用服务器应运而生,WebSphere Application Server从 6.1版本开始也提供对SIP的全面支持。用户可以开发个性化的SIP应用,将其部署在WAS 6.1上,WAS 6.1提供一系列SIP组件支持其实现相应的处理逻辑。图2展示的是IBM下一代服务解决方案将要重点发展的公共基本设施软件和模块服务enablers。Parlay X是一套标准的Web Services,开发者可以通过它调用某个操作域中的远程通讯功能,包括:短信,多媒体通讯,呼叫控制,终端位置及状态等。 
 图2:IBM下一代服务解决方案将重点发展的公共基本设施软件和模块服务enablers

0
相关文章