摘要:利用IMS和SIP实现即时消息是一种发展方向。目前利用IMS实现即时消息有两种方法,它们各自的特点决定了它们在应用场合上各有倾向性。本文从实现机制入手,对这两种技术进行了分析比较,特别是比较了它们在消息管理、消息分发、消息存储和隐私保护实现方面的差异,从而指出它们在应用上的特点。
1、引言
即时消息是将接收到的发送者发来的信息非存储地转发给接收者的一种服务,与电子邮件的消息的不同在于即时消息是直接在接收端与发送端之间交互的。
SIP(会话启始协议)的机制非常适合实现即时消息。基于SIP的IMS(IP多媒体子系统)架构为即时消息构建了一种很好的实现环境。在IMS环境中,即时消息的实现基本上有两种方法,一种是基于IMS的Message方法,另一种是基于IMS会话机制实现的方法,它们都是在3GPPTS22.228定义的IMS能力架构下实现的。
在IMS的Message方法机制下,接收者可以实时或准实时地接收到消息。而在基于会话的机制下,用户接收到的消息一般是准实时的,接收者和发送者之间首先必须建立会话连接(这种消息会话成为聊天室),然后才可以进行消息的传送。
OMA、3GPP、IETF3大标准组织对移动IMS消息业务都做了定义,但各自涉及的面不同,OMA主要关注于业务需求方面,3GPP/3GPP2主要关注网络架构实现方面,而IETF关注具体实现的协议技术细节。
在2007年3月3GPP标准组提交的标准化文档TS22.340中,对上述两种实现方法对网络的要求进行了明确的规定。
2、IMS实现即时消息的基础——SIP
SIP是由IETF提出的IP信令协议,它的主要目的是为了解决IP网中多媒体会话的信令控制。
SIP用于发起会话,它能控制有多个参与者参加的多媒体会话的建立、修改和终结,并能动态调整和修改会话属性,如会话带宽要求、传输的媒体类型(如语音、视频和数据等)、媒体的编解码格式、对组播和单播的支持等。SIP对会话承载的内容不做限制,而由SDP(会话描述协议)控制。
SIP实现使用两类原语(也称为事务):请求和应答。
请求是指从客户机发到服务器的消息。SIP核心规范定义了7种SIP请求方法:
●Invite——邀请用户加入会话;
●Bye——终止两个用户之间的会话;
●Options——用于请求向服务器查询对方能力;
●Ack——确认客户机已经收到对Invite的最终响应;
●Register——提供地址解析的映射,让服务器知道其他用户的位置;
●Info——用于在信令链路上传送应用层消息;
●Cancel——用于取消客户端发送的前一个请求。
应答是指从服务器发到客户机的应答消息。每个消息都有一个代表事务状态的状态码(100~699的整数)。下面是6类应答状态码:
●1XX:临时响应,表示请求消息正在被处理;
●2XX:成功响应,表示请求已被成功接受,如OK(200);
●3XX:重定向响应,表示需转发请求;
●4XX:客户机错误,表示请求消息中包含语法错误,
服务器无法完成客户机请求;