SIP被应用到多媒体消息传送业务环境的主要原因有:
●SIP以文本形式表示消息,消息的词法和语法分析比较简单;
●SIP消息的请求过程和媒体协商过程等是一起进行的,媒体连接建立时间短;
●SIP只要对头域进行简单扩展就能很方便地支持各种补充业务或创新业务;
●SIP支持许多种地址描述和寻址,很容易与其他协议适应并协作提供业务;
●SIP含有向注册服务器注册的功能,本身就可以提供众多与消息相关的服务和实现用户定位功能,非常适合即时通信类业务能力的提供,例如XDM、在席、即时消息和PoC(一键通)等;
●SIP的动态注册机制、名字映射和重定向服务很好地支持了用户端的移动性和多方通话,适合FMC业务的提供;
●SIP控制模型为分布式服务模型,具有分布式的组播功能。
3、通过IMS实现即时消息
IMS是基于IP网络,利用SIP实现来开发消息服务能力的。SIP的首要特征是能迅速和高效地建立实时会话,因此可以提供与固网上聊天室和即时消息服务同样的客户体验。这种业务特性体现在消息可以马上发送,而且与用户的位置、在席等呈现信息可以有效地联系起来。
3.1 基于会话的实现技术
会话是有明确的起始点和结束点的。SIP控制和管理会话的原语通常是Invite、Cancel、Bye等,在SIP实现中,即时消息会话是一个由Invite开始,以Bye结束的会话。
基于会话的即时消息的实现流程如图1所示(以点到点消息为例)。
图1 基于会话消息发送流程
从图1可以看出,基于会话的即时消息实现流程首先是Invite会话建立的普通流程(这个流程和通常SIP会话建立的路程是一致的,所以这里省略了,不详细论述),从而建立一个消息会话。Invite消息中带有发送端可接收消息的最大字节数,响应消息(200 OK)将附带接收端可接收消息的最大字节数,在两端的点到点连接建立以后,消息就在会话路径上进行传送。接收端接收消息后,会给发送端发送ACK消息。
会话方式需要在建立了会话的路径上传送消息。由于即时消息携带的媒体数据量是很大的,所以如果传送路径上没有拥塞控制就很容易引起网络拥塞;另外,由于消息在已建立的对话路径中传送,消息端点和信令端点是一样的,大大限制了即时消息的使用范围。
在基于会话的消息实现中,可以方便地实现多方消息共享。这时会话可以比喻为聊天室,由MRFC/MRFP(多媒体资源功能控制器/多媒体资源功能处理器)或AS(应用服务器)控制媒体资源,并承担消息传送中介的身份。聊天室的建立可以由用户或服务提供商发起。参与聊天的人可以进入聊天室,参与讨论或离开聊天室。相对于消息传送,聊天室显得更加“永久”,并不因为某些人的离开而关闭;另外,聊天室可以进一步被划分为私有和公开聊天室。通常,参加聊天室的用户将收到其他参加者传送的所有信息,当然,用户也可以发送私有消息给聊天室里的某些人。在这种实现方式下,群发一条消息可以很方便地实现,发送者不需要一一指定接收者。
目前,对MRFC和MRFP之间的相互操作和业务流程还没有标准化。在由MRFC/MRFP建立连接的场景下,往往需要同时引入IMS AS协同工作,以实现对会话群组的各个客户的有效管理。
在基于会话的消息实现中,由于要先建立会话,消息传送有一定的延时,但由于SIP建立会话的时间很短,还是可以给用户提供良好的准实时体验。如果接收者没有加入到会话群组(聊天室)中,那么它是无法收到消息的。
3.2 基于Message方法的实现技术
IMS的Message方法是SIP针对消息传送的扩展,克服了会话机制中消息端点和信令端点一致带来的带宽不足的问题,该方法采用了一种类似动态路由的方式,突破了基于会话方式的限制,实现起来更为简单有效。
基于Message方法的即时消息实现如图2所示(以点到点消息为例)。
图2 基于Message方法的消息发送流程
从图2可以看出,基于Message方法的即时消息实现流程不需要建立会话的过程,消息直接在Message请求中携带。接收端接收消息后,同样会给发送端发送ACK消息。消息请求会携带消息大小限制和消息有效期限等信息。如果消息大小超过了限制,消息将被拒绝,发送端也会得到通知。
基于Message传送机制的实现不需要用户首先加入到会话中,也不需要其他的准备工作,消息双方随时可以接收和发送消息。一般来说,发送者在发送消息前会设法通过接收者的在席信息了解接收者是否可达,如果接收者并不在线,发送的消息则可能被丢弃或者延时送达。在消息的传送过程中接收端网络将根据设定的消息过滤规则对消息进行过滤,例如,如果接收者设定了不接收来自该发送者的任何消息,则该消息也是无法到达接收者的。
|
| |