消息(Messeging)业务对用户来讲已经非常的熟悉,而且为运营商带来了良好的收益。IMS的消息类业务将带给用户更多的选择,用户在使用消息类业务的同时,还可以随心所欲地使用其他媒体,比如视频和声音等,同时可以灵活地选用实时模式或非实时模式来沟通信息。
一、3GPPIMS消息分类
3GPP存TSZZ.340规范中将IMS消息分为立即消息基于会话的消息、延迟传送的消息。
• 立即消息(ImmediateMessage)属于实时消息,一般与呈现(Presence)业务相结
合,发送方知道接收方的状态。若接收方不可达,消息将被丢弃或延迟;
• 基于会话的消息为近实时传送,通过建立SIP会话可进行多条消息传送,相应机制在IETF有定义;
• 延迟传送的消息属于存储转发型消息,即MMS。
IMS消息支持点到点点到多点的消息发送和接收。IMS消息能够交换任何类型的多媒体内容,比如图片、视频片断、音频片断等。当然它们的编码格式应符合IMS规范的定义。
消息业务是IMS网络本身所能提供的业务能力之一。基本的消息业务能力可以通过IMS终端直接实现。在传递即时消息,或者建立消息会话时,直接在IMS终端之间进行,实现端到端地发送,SIP消息流经的常规IMS节点(P-CSCF、S-CSCF,可能还有AS等)提供中继功能。
二、 立即消息
IMS框架中的立即消息与Internet中广为人知的即时消息类似。它采用SIP扩展协议中的MESSAGE方法进行实时的转发。当终端或AS要发立即消息时,只需生成MESSAGE请求,按照MIME(MultipurposeInternetMailExtensionprotocol,多用途网际邮件扩充协议)格式编写消息内容(典型的内容是文字,也可以包含多媒体片断,如声音和图片),并将Request-URI填写为接收者的地址,便可以使用与INVITE类似的方式在IMS中转发,直到这个立即消息请求到达接收方的UE。
当然,接收方很可能会存在一个对该消息的应答。实际上,完整的立即消息对话在两个用户间的”来”和“回”是彼此类似的。但是,与基于会话的消息不同,立即消息的会话上下文仅存在于双方用户终端上。这种通信过程中不包含任何协议方式的会话,每条立即消息都是一个独立的事务,与前面的任何请求都没有关系。
IMS立即消息的流程很简单。这里仍以本书第11章描述的例子为基础,假设用户A要给用户B发送立即消息,图13.16描述了该立即消息的实现流程。
1-2用户ACUE#1)发送MESSAGE请求到与其连接的拜访网络的P-CSCF#1,在消息体内包含了希望发送的多媒体内容。
3P-CSCF#1沿着UE#l最近一次注册流程所决定的路径将MESSAGE请求发
送到用户A归属网络的S-CSCF#1。
4-5S--CSCF#1将MESSAGE请求发送到用户B归属网络的I-CSCFCI-CSCF#2)。基于运营商的策略,S-CSCF#1也可能拒绝该MESSAGE请求,例如当MESSAGE的内容长度或者内容类型不能被接受时。S-CSCF#1也可能触发适合该MESSAGE请求的业务控制逻辑,将MESSAGE请求路由到一个应用服务器,由后者进一步处理该请求。
6-7I-CSCF#2执行到HSS的定位请求过程,获取为用户B服务的S-CSCF地址(S-CSCF#2),并将该MESSAGE请求发送到S-CSCF#2。
8-9S-CSCF#2沿着用户B(UE#2)最近一次注册流程所决定的路径将MESSAGE请求发送到与其连接的拜访网络P-CSCF#2。同样,基于运营商的策略,S--CSCF#2可能拒绝MESSAGE请求,例如当MESSAGE的内容长度或者内容类型不能被接受。sCSCF#2也可能调用适合该MESSAGE请求的业务控制逻辑,例如当UE#2可能订购了一个黑名单业务,用以屏蔽符合用户预设条件的立即消息,AS将使用一个错误响应来回应该MESSAGE消息。
10P-CSCF#2前传MESSGE请求到UE#2。在收到MESSAGE后,UE#2将多媒体内容显示给用户。
11-16UE#2响应该MESSAGE消息,指示目标实体已经收到MESSAGE请求。该响应沿着发送路径反向传递到UE#l。
三、 基于会话的消息
基于会话的消息与其他类型的会话一样,一个消息会话也具有一个定义完好的生命周期:当参与者启动一个会话时这个消息会话就开始了,当他们关闭这个会话时,消息会话就终止了。消息会话在参与者之间建立起来后,媒体流就在他们之间对等地传送,而用户参与这种会话时就是以消息的形式作为其主要的媒体成分。
基于会话的消息与IMS会话的传送机制不同,IMS会话的媒体流是通过RTPC实时传送协议)传送的,而基于会话的消息是采用MSRP(MessageSessionRealyProtocol,消息会话中继协议)传送的。MSRP可在TCP、SCTP或TLSoverTCP上运行,但不能在UDP之上运行。MSRP定义了3个标题头:
1SEND,发送任意长度的点到点消息;
2VISIT,连接两个端点,建立直接的消息发送通道;
3REPORT,端点或转发点提供的消息发送情况通告。
基于会话的消息可以是对等的,这种情况下用户的体验非常类似于一个正常的语音呼叫,用户会接收到一个常规的会话邀请,唯一的不同在于主要的媒体流是消息。仍以用户A和用户B为例,他们之间要发起一个基于会话的消息业务,图13.17显示了该消息会话的完整流程。
1-9与基本IMS会话建立过程一样,用户ACUE#1)首先发出建立会话连接的请求,经过网络转发,到达用户B(UE#2)。对于基于会话的消息,该INVITE消息包含的SOP可能指出了UE#l能够接收的最大消息长度。
10-11UE#1与UE#2建立一个用于交换消息媒体的可靠的端到端连接。
12-28与基本IMS会话流程一样,UE#2向用户B提示有消息会话建立请求,并在用户B接受消息会话请求时,向UE#l返回应答响应,UE#l则回送ACK响应予以确认。
29-32UE#1与UE#2产生消息内容,并使用建立的消息连接向对方发送消息。被交换消息的长度应在双方分别指定的大小限制范围内。
33-43基于会话的消息释放过程与基本IMS会话释放过程一致,UE#l发送BYE请求到UE#2,指示其希望终止消息会话,然后停止发送消息并在传输层面拆除消息连接。UE#2回送200OK响应,同意终止会话并在传输层面拆除消息连接。
四、 延迟传送的消息
基于会话的消息流程延迟传送的消息实际上就是众所周知的3G多媒体消息服务CMMS,MultimediaMessageService)。3GPP对IMS消息阶段1(Stage1)的要求保持与MMS的相一致。R6将MMS和IMS更紧密地整合在一起,特别是在寻址以及使用SIP协议作为一种通知UE接收MMS的方式方面。