Two different types of IMS messaging forms: immdeiate messaging and session-based messaging. Each form of IMS messaging has its own characteristics;so,even though messaging in its simple form can be thought of as a single service-after all, all forms of messaging are really about sending a message from A to B-the fact that these characteristics differ makes them each a service on their own.
通常我们手机上的短信是称为immediate message or page-mode messaging. 它使用 SIP MESSAGE method 在 peer-peer之间互发短信。这也是我们在手机 UE 最常见的短信方式。。另外一种是Session messaging, 有点像聊天室,虽然session messageing在使用上面可能和immediate message 类似,但是参与者双方是在 SIP Session 建立的基础上,通过MSRP 消息(类似SIP Voice call 中 SIP Session 建立之后,通过RTP 流来传送语音) 来互发短信。。。最后通过BYE 消息来结束SIP 的Session。
一 Immediate messageing or page-mode messaging
In immdiate messaging, the User Equipment(UE) simply generates a MESSAGE, fills in the desired content- which typically consists of text,but can also cantain snippets of multimedia such as sounds and images- and populates the request-URI (Uniform Resouce Identifier) with the address of the recipient.
通常见到的 SIP MESSAGE Content 部分都是文本格式。 但是IMS 中的终端类型很多, 有些可以支持原来2G,3G 那中MAP-SMS binary 格式,有些可以支持多媒体格式。那么在IMS 中, Message Content type 和内容部分也就更多样化。后面给出一些例子。
There is no protocol session involved: each immediate message is an independent transaction and is not related to any previous requests
无论SIP MESSAGE Context 部分里面econding是哪一种短信形式, 每次 SIP MESSAGE 都是独立的 transaction,不会与之前或之后的 其他 SIP MESSAGE 在 transaction 部分有任何关联。
Usually, immediate messages are addressed to another peer's public user identity.Howover,the user can also send a single message to a number of recipients using a list server extension in the IMS.Basically, an IMS user can create a list ,using a SIP address in the form of a Public Service Identifier(PSI), and populate this list with a set of SIP URIs of the intended membership.Whenever a MESSAGE method is sent to the PSI corresponding to this list, the request is routed to the list server. The list server, which is an AS itself, will intercept the message and generate a new request for each of the members of the list.
一般来讲,即时消息都是用一个Peer的IMPU 发给另外一个Peer的IMPU。 但是也有一个例外, 用户向之前建立的一个群组Group发送短信。 那这时候SIP Address 就是PSI。例如group1@xxx.net, group1 里面可能有多个用户。。并且这个AS handle the SIP MESSAGE 它有能力根据这个群用户标示 去向XDMS 查询具体每个对端用户的具体信息,并且还需要向XDMS 查询相关的Rule policy( 例如有些群用户禁止接受其他人发过来的短信)。然后AS 再一条条向对端每个用户发送 短信。但是群用户短信有个问题,如何处理message delivery report的问题。。因为AS需要向群里的每个用户发送短信,那么它每收到一条对端短信的响应,它得另外生成一条SIP message 来告知发送方。 之前的200 OK for SIP message from sender 只能是网络侧向发送方在transaction层面上给的response。
If an immediate message is received while the IMS subscriber is offline,or in an unregistered state, the MESSAGE will route to an Application Server (AS). The AS can hold the message in storage, and when the user registers, the AS can then deliver the message to final destionation.
如果IMS 用户 不在线(其实应该算接受方也可以是GSM 用户,或者3G.4G 用户也不在线),那么这条短信也会被路由到AS, 一旦用户上线,AS 可以把stored 的SMS 再发送给目的地。
If an immediate message is targeted to a user who is not an IMS subscriber then it is possible to route the MESSAGE to an Application Server that performs message interworking.This AS could for example convert the MESSAGE to SMS or MMS or even email.
如果用户不在IMS 域内,或者IMS 域内不可达,但是附着在GSM 或者LTE 网络中,那么这条短信还是会被路由到AS 上,由AS 来做SMS interworking, 把 SIP MESSAGE 中所带的消息内容来转成GSM SMS 或者SMTP, SMPP,RP-DATA 来发送给 目的地。
二 . Session-Based Messaging
In this mode of messaging the user takes part in a session in which the main media component often consists of short textual messages. As in any other session a message session has a well-defined lifetime:a message session starts when the participants begin the session and stops when the participants clost the session. As teh session is set up-using SIP and SDP between the participants - media then flows directly from peer to peer.
看这段,真不觉得这个Session Messaging 有啥用。。对于用户体验来讲,和Immediate messaging没啥区别。并且类似iphone 上的短信软件,已经把immediately SMS 做的像是在 聊天室 互相两个特定的Peers 的之前的短信了。 可能通过在用Conference Meeting (群聊的时候时候会更有用),大家得在一个建立好的session上聊天。
Session-Based messaging can be peer to peer, in which case the experience closely mimics that of a normal voice call. An ordinary invitation to a session is received, the only difference being that the main media component is a session of messages. Howerver,this is not an actual limitation to session-based messageing,since it is , of course,possible to combine ohter media sessions with message sessions. In face, many useful and exciting applications are enabled by this funcitionality: for example, video calls with a text side channel might bt a valuable application for hearing-impaired people.
这段给出了除了 Conference 的 Session message 的用途。
Session-Based messaging forms a natural unison with conference as well. Using the conferencing functionality,session-based messaging can turn into a multiparty chat conference.In this model of operation, session-based messageing can enable applications similarr to modern day voice conference. A chat conference can also be comparable with a channel in the IRC. A service provider will typically offer the possiblity for users to have both private chats, where the set of participants is restricted and public chats. some of which are maintained by the service provider.
通过Session-based mesaging, 做到群聊。并且可以和group 的具体某个人进行私聊。这个私聊是建立在 Group meeting 的session 基础上,不是另外建立的Session。
除了Session-based messaging, MRSP 还可以在聊天的同时, 进行文件的发送,取消和重传。那就拓展了聊天的内容。比immdiate messaging来讲,又多了一些应用。