一种离线消息发送和接收方法

文档序号:7625674阅读:181来源:国知局
专利名称:一种离线消息发送和接收方法
技术领域
本发明涉及通信领域,尤其涉及会话初始协议SIP/即时消息与存在利用扩展会话初始协议SIMPLE的即时消息系统中的一种离线消息发送和接收方法。
背景技术
现有技术中已在移动通信网络、Internet网络上开展了即时消息(InstantMessaging,IM)业务,移动网络包括现有的2G(2nd Generation,第2代移动网络)、2.5G,未来的3G(3rd Generation,第3代移动网络)、以及多媒体子域(IMS)等。
即时消息业务属于一种基于存在业务(Presence)的个人对个人、个人对群组的消息类的移动数据业务。
开发移动联盟(Open Mobile Alliance,OMA)国际标准组织对于移动即时消息作了标准制定,在当前的标准规范版本中有两类即时消息系统。第一类是基于无线乡村(Wireless Village,WV)协议的即时消息系统,其基于超级文本传送协议/无线访问协议/短消息发送协议(HTTP/WAP/SMS)承载的协议,可以支持2.5G/3G网络;第二类是基于会话初始协议(SIP)/即时消息和存在业务扩展会话初始协议(SIMPLE)的即时消息系统,其基于SIP/SIMPLE承载的协议,支持基于IMS的IP网络。
在基于SIP/SIMPLE的IM系统中存在这样的使用场景需求假设一个SIP/SIMPLE IM用户不在线,并且预先设置了能够接收和保存离线消息;另外一个用户给他发送离线消息,根据条件(消息大小等)判断需要通过建立数据通道将离线消息发送到服务器上存储,那么就需要建立发送离线消息的数据通道以便能够存储到接收方用户的服务器上。同样的,当接收方用户上线后(变为在线),用户可以获取离线消息,根据条件判断需要建立数据通道获取离线消息,那么就需要建立获取离线消息的数据通道以便能够获取存储在服务器上的离线消息。
在现有技术的符合SIP/SIMPLE IM标准的即时消息系统中,还没有对发送离线消息用户客户端和获取离线消息用户客户端如何建立数据传输通道以便发送或获取离线消息提供具体的实现方法。

发明内容
本发明提供一种离线消息发送和接收方法,用以完善SIP/SIMPLE即时消息系统中对离线消息的处理方法。
本发明提供离线消息发送方法包括离线消息发送客户端通过消息会话中继协议MSRP通道发送所述离线消息到离线消息接收方的离线消息处理服务器;所述离线消息处理服务器存储接收到的所述离线消息。
所述MSRP通道为离线消息发送客户端和所述离线消息处理服务器之间已建立起的MSRP通道或新建MSRP通道。
根据本发明的上述方法,若离线消息接收方为单一用户,需要新建MSRP通道时,包括分别建立起离线消息发送客户端与其归属即时消息IM服务器之间的MSRP通道;发送方归属IM服务器与接收方归属IM服务器之间的MSRP通道;以及接收方归属IM服务器与所述离线消息处理服务器之间的MSRP通道;离线消息发送客户端依次通过上述建立的MSRP通道发送所述离线消息到所述离线消息处理服务器中。
根据本发明的上述方法,所述离线消息处理服务器收到离线消息后,向接收方归属IM服务器返回MSRP响应消息或递送报告;
所述接收方归属IM服务器收到离线消息后,向发送方归属IM服务器返回MSRP响应消息或递送报告;所述发送方归属IM服务器收到离线消息后,向离线消息发送客户端返回MSRP响应消息或递送报告。
所述MSRP通道由离线消息发送客户端发起建立,具体包括A1、离线消息发送客户端向其归属IM服务器发起建立MSRP通道的SIP请求,携带自身的SIP URI信息和会话描述协议SDP信息以及离线消息接收客户端的SIP URI信息;A2、发送方归属IM服务器根据离线消息接收客户端的SIP URI信息,向接收方归属IM服务器发起建立MSRP通道的新的SIP请求,携带自身的SIPURI信息和SDP信息以及离线消息接收客户端的SIP URI信息;A3、接收方归属IM服务器判断离线消息接收客户端离线,向所述离线消息处理服务器发起建立MSRP通道的新的SIP请求,携带自身的SIP URI信息和SDP信息以及离线消息接收客户端的SIP URI信息;A4、离线消息处理服务器向接收方归属IM服务器返回SIP响应消息,携带建立MSRP通道所需的自身的SDP信息;A5、接收方归属IM服务器向发送方归属IM服务器返回SIP响应信息,携带建立MSRP通道所需的自身的SDP信息;A6、发送方归属IM服务器向离线消息发送客户端返回SIP响应消息,携带建立MSRP通道所需的自身的SDP信息;A7、离线消息发送客户端向其归属IM服务器发送确认消息,建立起双方之间的MSRP通道;发送方归属IM服务器向接收方归属IM服务器发送确认消息,建立起双方之间的MSRP通道;接收方归属IM服务器向离线消息处理服务器发送确认消息,建立起双方之间的MSRP通道。
根据本发明的上述方法,若离线消息接收方为单一用户,需要新建MSRP通道时,建立起离线消息发送客户端与所述离线消息服务器之间直通的MSRP通道;离线消息发送客户端通过所述MSRP通道发送离线消息到所述离线消息处理服务器中。
根据本发明的上述方法,所述离线消息处理服务器收到离线消息后,向离线消息发送客户端返回MSRP响应消息或递送报告。
根据本发明的上述方法,所述MSRP通道由离线消息发送客户端发起建立,具体包括B1、离线消息发送客户端发起建立MSRP通道的SIP请求,分别经过发送方归属IM服务器、接收方归属IM服务器转发到所述离线消息处理服务器,在该SIP请求中携带自身的SIP URI信息和SDP信息以及离线消息接收客户端的SIP URI信息;B2、离线消息处理服务器返回SIP响应消息,分别经过接收方归属IM服务器、发送方归属IM服务器转发到离线消息发送客户端,携带建立MSRP通道所需的自身的SDP信息;B3、离线消息发送客户端发送确认消息,分别经过发送方归属IM服务器、接收方归属IM服务器转发到所述离线消息处理服务器,建立起离线消息发送客户端与离线消息处理服务器之间直通的MSRP通道。
若离线消息接收方为群组用户,需要新建MSRP通道时,包括分别建立起离线消息发送客户端与发送方归属IM服务器之间的MSRP通道;发送方归属IM服务器与群组归属IM服务器之间的MSRP通道;群组归属IM服务器与接收方归属IM服务器之间的MSRP通道;以及接收方归属IM服务器与所述离线消息处理服务器之间的MSRP通道;离线消息发送客户端依次通过上述建立的MSRP通道发送离线消息到所述离线消息处理服务器中。
根据本发明的上述方法,所述离线消息处理服务器收到离线消息后,向接收方归属IM服务器返回MSRP响应消息或递送报告;所述接收方归属IM服务器收到离线消息后,向群组归属IM服务器返回MSRP响应消息或递送报告;所述群组归属IM服务器收到离线消息后,向发送方归属IM服务器返回MSRP响应消息或递送报告;所述发送方归属IM服务器收到离线消息后,向离线消息发送客户端返回MSRP响应消息或递送报告。
根据本发明的上述方法,所述MSRP通道由离线消息发送客户端发起建立,具体包括C1、离线消息发送客户端向归属IM服务器发起建立MSRP通道的SIP请求,携带自身的SIP URI信息和SDP信息以及群组的SIP URI信息;C2、发送方归属IM服务器根据群组的SIP URI信息,向群组归属IM服务器发起建立MSRP通道的新的SIP请求,携带自身的SIP URI信息和SDP信息以及群组归属IM服务器和群组的SIP URI信息;C3、群组归属IM服务器解析群组用户,分别向接收方归属IM服务器发起建立MSRP通道的新的SIP请求;C4、接收方归属IM服务器判断接离线消息接收客户端离线,向离线消息处理服务器发起建立MSRP通道的新的SIP请求,携带自身的SIP URI信息和SDP信息以及离线消息接收客户端SIP URI信息;C5、离线消息处理服务器向接收方归属IM服务器返回SIP响应消息,携带建立MSRP通道所需的自身的SDP信息;C6、接收方归属IM服务器向群组归属IM服务器返回SIP响应消息,携带建立MSRP通道所需的自身的SDP信息;C7、群组归属IM服务器向发送方归属IM服务器返回SIP响应信息,携带建立MSRP通道所需的自身的SDP信息;C8、发送方归属IM服务器向离线消息发送客户端返回SIP响应消息,携带建立MSRP通道所需的自身的SDP信息;C9、离线消息发送客户端向其归属IM服务器发送确认消息,建立起双方之间的MSRP通道;发送方归属IM服务器向群组归属IM服务器发送确认消息,建立起双方之间的MSRP通道;群组归属IM服务器向接收方归属IM服务器发送确认消息,建立起双方之间的MSRP通道;接收方归属IM服务器向离线消息处理服务器发送确认消息,建立起双方之间的MSRP通道。
若离线消息接收方为群组用户,需要新建MSRP通道时,包括分别建立起离线消息发送客户端与群组归属IM服务器之间的MSRP通道;群组归属IM服务器与所述离线消息处理服务器之间的MSRP通道;离线消息发送客户端依次通过上述建立的MSRP通道发送离线消息到所述离线消息处理服务器中。
所述离线消息处理服务器收到离线消息后,向所述群组归属IM服务器返回MSRP响应消息或递送报告;所述群组归属IM服务器收到离线消息后,向离线消息发送客户端返回MSRP响应消息或递送报告。
根据本发明的上述方法,所述MSRP通道由离线消息发送客户端发起建立,具体包括D1、离线消息发送客户端发起建立MSRP通道的SIP请求,经其归属IM服务器转发到群组归属IM服务器,携带自身的SIP URI信息和SDP信息以及群组的SIP URI信息;D2、群组归属IM服务器解析群组中的用户,分别向接收方归属IM服务器发起建立MSRP通道的新的SIP请求,携带离线消息发送方和接收方客户端的SIPURI信息和自身的SDP信息;接收方归属IM服务器判断离线消息接收客户端离线,转发该请求到离线消息处理服务器;D3、离线消息处理服务器返回SIP响应消息,经过接收方归属IM服务器转发到群组归属IM服务器,并携带建立MSRP通道所需的自身的SDP信息;D4、群组归属IM服务器返回SIP响应消息,经过发送方归属IM服务器转发到离线消息发送客户端,携带建立MSRP通道所需的自身的SDP信息;D5、离线消息发送客户端发送确认消息,经发送方归属IM服务器转发到群组归属IM服务器,建立起离线消息发送客户端与群组归属IM服务器之间的MSRP通道;群组归属IM服务器发送确认消息到离线消息处理服务器,建立起群组归属IM服务器与离线消息处理服务器之间的MSRP通道。
根据本发明的上述方法,离线消息发送客户端与其归属IM服务器间的交互消息由其归属的SIP/IP核心网转发。
若离线消息发送方归属IM服务器与接收方归属IM服务器不属于同一个SIP/IP核心网,则两者之间的交互消息由各自所属的SIP/IP核心网转发;若离线消息发送方归属IM服务器与接收方归属IM服务器属于同一个SIP/IP核心网,则两者之间的交互消息由同属的SIP/IP核心网转发。
所述离线消息发送完毕后,断开所述MSRP通道。
本发明提供的离线消息接收方法包括通过消息会话中继协议MSRP通道将存储在离线消息处理服务器中的离线消息传送给离线消息接收客户端。
根据本发明的上述方法,由离线消息接收客户端主动发起获取离线消息请求,离线消息处理服务器发送对应的离线消息给离线消息接收客户端;或者当离线消息接收客户端在线后,由其归属IM服务器发起获取离线消息请求,离线消息处理服务器发送对应的离线消息给离线消息接收客户端;或者当离线消息接收客户端在线后,由离线消息处理服务器主动下发对应的离线消息给离线消息接收客户端。
所述MSRP通道为离线消息接收客户端和离线消息处理服务器之间已建立起的MSRP通道或新建MSRP通道。
若需要新建MSRP通道接收离线消息时,包括分别建立离线消息接收客户端与其归属IM服务器之间的MSRP通道;以及接收方归属IM服务器与离线消息处理服务器之间的MSRP通道;通过上述建立的MSRP通道传送所述离线消息。
所述离线消息接收客户端收到离线消息后,向其归属IM服务器返回MSRP响应消息或递送报告;所述接收方归属IM服务器收到离线消息后,向离线消息处理服务器返回MSRP响应消息或递送报告。
根据本发明的上述方法,所述MSRP通道由离线消息接收客户端发起建立或由接收方归属IM服务器发起建立。
所述由离线消息接收客户端发起建立MSRP通道,具体包括E1、离线消息接收客户端向其归属IM服务器发起建立MSRP通道的SIP请求,携带自身的SIP URI地址信息和SDP信息;E2、接收方归属IM服务器向离线消息处理服务器发起建立MSRP通道的新的SIP请求,携带自身的SDP信息以及离线消息接收客户端和离线消息处理服务器的SIP URI地址信息;E3、离线消息处理服务器向接收方归属IM服务器返回SIP响应消息,携带建立MSRP通道所需的自身的SDP信息;E4、接收方归属IM服务器向离线消息接收客户端返回SIP响应消息,携带建立MSRP通道所需的自身的SDP信息;E5、离线消息接收客户端向归属IM服务器发送确认消息,建立起双方之间的MSRP通道;接收方归属IM服务器向离线消息处理服务器发送确认消息,建立起双方之间的MSRP通道。
所述由接收方归属IM服务器发起建立MSRP通道,具体包括F1、接收方归属IM服务器向离线消息接收客户端发送SIP请求消息,携带自身的SIP URI地址信息和SDP信息;F2、离线消息接收客户端向接收方归属IM服务器返回SIP响应消息,携带建立MSRP通道所需的自身的SDP信息;F3、接收方归属IM服务器向离线消息接收客户端发送确认消息,建立起双方之间的MSRP通道;F4、接收方归属IM服务器向离线消息处理服务器发送新的SIP请求消息,携带自身的SIP URI地址信息和SDP信息;F5、离线消息处理服务器向接收方归属IM服务器返回SIP响应消息,携带建立MSRP通道所需的自身的SDP信息F6、接收方归属IM服务器向离线消息处理服务器发送确认消息,建立起双方之间的MSRP通道。
所述由接收方归属IM服务器发起建立MSRP通道,还可以包括G1、接收方归属IM服务器向离线消息处理服务器发送SIP请求消息,携带自身的SIP URI地址信息和SDP信息;G2、离线消息处理服务器向接收方归属IM服务器返回SIP响应消息,携带建立MSRP通道所需的自身的SDP信息;G3、接收方归属IM服务器向离线消息处理服务器发送确认消息,建立起双方之间的MSRP通道;G4、接收方归属IM服务器向离线消息接收客户端发送新的SIP请求消息,携带自身的SIP URI地址信息和SDP信息;G5、离线消息接收客户端向接收方归属IM服务器返回SIP响应消息,携带建立MSRP通道所需的自身的SDP信息;G6、接收方归属IM服务器向离线消息接收客户端发送确认消息,建立起双方之间的MSRP通道。
根据本发明的上述方法,若需要新建MSRP通道接收离线消息时,包括建立起离线消息接收客户端与离线消息处理服务器之间直通的MSRP通道;通过所述MSRP通道传送所述离线消息。
根据本发明的上述方法,所述离线消息接收客户端收到离线消息后,向离线消息处理服务器返回MSRP响应消息或递送报告。
根据本发明的上述方法,所述MSRP通道由离线消息接收客户端发起建立;具体包括H1、离线消息接收客户端向其归属IM服务器发起建立MSRP通道的SIP请求,携带自身的SIP URI地址信息和SDP信息;接收方所属IM服务器转发该SIP请求到离线消息处理服务器;H2、离线消息处理服务器向接收方归属IM服务器返回SIP响应消息,携带建立MSRP通道所需的自身的SDP信息;接收方所属IM服务器转发该SIP响应消息到离线消息接收客户端;H3、离线消息接收客户端向其归属IM服务器发送确认消息;接收方所属IM服务器转发该确认消息到离线消息处理服务器,建立起离线消息接收客户端与离线消息处理服务器之间直通的MSRP通道。
根据本发明的上述方法,离线消息接收客户端与所述IM服务器间的消息交互由其归属的SIP/IP核心网转发。
根据本发明的上述方法,当离线消息接收客户端接收完离线消息后,断开所述MSRP通道。
本发明的技术方案能够支持SIP/SIMPLE IM用户通过建立的MSRP数据通道向离线用户发送离线消息;上线用户可以通过建立的MSRP数据通道获取离线消息,是支持SIP/SIMPLE IM业务系统中离线消息完整解决方案的重要组成部分。


图1为本发明客户端A向离线的单一客户端B发送IM消息,通过建立MSRP通道的信令流程图之一;图2为本发明客户端A向离线的单一客户端B发送IM消息,通过建立MSRP通道的信令流程图之二;
图3为客户端A向群组发送IM消息,群组中的客户端B离线,通过建立MSRP通道的信令流程图之一;图4为客户端A向群组发送IM消息,群组中的客户端B离线,通过建立MSRP通道的信令流程图之二;图5为客户端B通过建立MSRP通道获取离线消息的信令流程图之一;图6为客户端B通过建立MSRP通道获取离线消息的信令流程图之二;图7为客户端B通过建立MSRP通道获取离线消息的信令流程图之三。
具体实施例方式
SIP/SIMPLE即时消息系统中,发送离线消息用户的客户端针对该离线消息的接收用户为单一用户或群组用户,可通过客户端所属的IM服务器参与或不参与两种方式,来建立离线消息发送客户端到负责存储离线消息的IM服务器(离线消息处理服务器)之间的消息会话中继协议(Message Session RelayProtocol,MSRP)通道,将离线消息通过MSRP通道存储到离线消息处理服务器上。下面对4种情况分别予以说明。
参见图1,为本发明客户端A向离线的客户端B发送IM消息,客户端所属的IM服务器参与建立MSRP通道的信令流程图,图中各网络实体的含义为客户端A、客户端B分别表示SIP/SIMPLE IM系统的2个用户所在的客户端;SIP/IP核心网A和SIP/IP核心网B分别为客户端A和客户端B归属的核心网,为3GPP和3GPP2定义的多媒体子域的核心网部分或IP网络;IM服务器A表示客户端A所归属的SIP/SIMPLE IM服务器,IM服务器A扮演参与功能(Participating)的角色;IM服务器B表示客户端B所归属的SIP/SIMPLE IM服务器,IM服务器B扮演参与功能(Participating)的角色;IM服务器C表示客户端B所归属的SIP/SIMPLE IM服务器,IM服务器C扮演离线消息处理功能(Deferred Message)的角色。
具体信令流程为1、客户端A希望发送一条消息给用户B,而用户B的客户端B离线,客户端A发现发送的消息信息量较大而决定采用数据通道发送离线消息。客户端A向SIP/IP核心网A发送SIP请求(SIP INVITE)消息,要求与客户端B建立数据发送通道,消息中包括客户端A的SIP统一资源标识(URI)地址、客户端B的SIPURI地址,消息的“Accept-Contact”(接收联系特征码)部分包含SIP/SIMPLE IM业务的特征码(例如“+g.oma.sip-im”)等等,同时SIP INVITE消息在媒体描述协议(SDP)参数中携带客户端A的传输能力和协商参数,例如客户端A的IP地址、端口号、支持的传输媒介类型等等;2、SIP/IP核心网A转发该SIP INVITE消息到IM服务器A;3、IM服务器A读取所收到的SIP INVITE消息中携带的客户端B的SIPURI地址信息,判断是IM服务器B归属,于是决定发起一个新的SIP INVITE消息到IM服务器B,首先发送新的SIP INVITE消息到SIP/IP核心网A。消息中包括IM服务器A的地址、客户端B的SIP URI地址,消息的“Accept-Contact”部分包含SIP/SIMPLE IM业务的特征码(例如“+g.oma.sip-im”)等等,同时SIP INVITE消息在SDP参数中携带IM服务器A的传输能力和协商参数,例如IM服务器A的IP地址、端口号、支持的传输媒介类型等等;4、SIP/IP核心网A转发SIP INVITE消息到SIP/IP核心网B;5、SIP/IP核心网B转发SIP INVITE消息到客户端B归属的IM服务器B;6、IM服务器B判断客户端B离线,于是决定发起一个新的SIP INVITE消息到IM服务器C,首先发送新的SIP INVITE消息到SIP/IP核心网B。消息中包括IM服务器B的地址、客户端B的SIP URI地址等,消息的“Accept-Contact”部分包含SIP/SIMPLE IM业务的特征码(例如“+g.oma.sip-im”)等等,同时SIP INVITE消息在SDP参数中携带IM服务器B的传输能力和协商参数,例如IM服务器B的IP地址、端口号、支持的传输媒介类型等等;7、SIP/IP核心网B转发SIP INVITE消息到IM服务器C;8、IM服务器C对客户端B的存储容量、是否允许存储等进行检查,同意接收离线消息,通过SIP/IP核心网B向IM服务器B回应SIP响应(SIP 200 OK)消息(针对步骤6-7中IM服务器B发送给IM服务器C的SIP INVITE消息),消息中的SDP参数中携带IM服务器C的可被IM服务器B建立MSRP通道所用的传输能力和协商参数,例如IM服务器C的IP地址、端口号、支持的传输媒介类型等等;9、SIP/IP核心网B转发SIP 200 OK响应消息给IM服务器B;10、IM服务器B决定向IM服务器A发送新的SIP 200 OK消息(针对步骤3-5中IM服务器A发送给IM服务器B的SIP INVITE消息),首先发送到SIP/IP核心网B,消息中的SDP参数中携带IM服务器B的可被IM服务器A建立MSRP通道所用的传输能力和协商参数,例如IM服务器B的IP地址、端口号、支持的传输媒介类型等等;11、SIP/IP核心网B转发SIP 200 OK响应消息到SIP/IP核心网A;12、SIP/IP核心网A转发SIP 200 OK响应消息到IM服务器A;13、IM服务器A决定向客户端A发送一个新的SIP 200 OK响应消息(针对步骤6-7中客户端A发送给IM服务器A的SIP INVITE消息),首先发送到SIP/IP核心网A,消息中的SDP参数中携带IM服务器A的可被客户端A建立MSRP通道所用的传输能力和协商参数,例如IM服务器A的IP地址、端口号、支持的传输媒介类型等等;14、SIP/IP核心网A转发SIP 200 OK响应消息给客户端A;15、客户端A发送SIP确认(SIP ACK)消息到SIP/IP核心网A,表示确认收到了IM服务器A向其发送发的SIP 200 OK响应消息(参见步骤13-14);16、SIP/IP核心网A转发SIP ACK确认消息给IM服务器A;17、IM服务器A发送SIP ACK确认消息到SIP/IP核心网A,表示确认收到了IM服务器B发送的SIP 200OK响应消息(参见步骤10-12);18、SIP/IP核心网A转发SIPACK确认消息给SIP/IP核心网B;19、SIP/IP核心网B转发SIP ACK确认消息给IM服务器B;20、IM服务器B发送SIP ACK确认消息到SIP/IP核心网B,表示确认收到了IM服务器C的SIP 200 OK响应消息(参见步骤8-9);21、SIP/IP核心网B转发SIP ACK确认消息给IM服务器C。
这样,通过上述流程中的步骤1-21,客户端A和IM服务器A;IM服务器A和IM服务器B;IM服务器B和IM服务器C之间就按照相互协商的传输能力和参数,例如IP地址、端口号、支持的传输媒介类型等等,建立了3条MSRP通道。
接下来,客户端A可以开始发送消息了,其中有3个步骤首先,客户端A使用MSRP SEND信令通过客户端A与IM服务器A之间的MSRP通道发送消息内容到IM服务器A;然后,IM服务器A使用MSRP SEND信令通过IM服务器A与IM服务器B之间的MSRP通道转发客户端A的消息内容到IM服务器B;最后,IM服务器B使用MSRP SEND信令通过IM服务器B与IM服务器C之间的MSRP通道转发客户端A的消息内容到IM服务器C,IM服务器C就可以将离线消息存储到离线消息存储器上。
同样,客户端A和IM服务器C之间可以通过上述3个MSRP通道回应MSRP 200OK消息和MSRP递送报告等MSRP消息。
上述MSRP通道若已存在,则不必重复建立,可以重用;MSRP通道使用完成后,可以将其断开。
参见图2,为本发明客户端A向离线的客户端B发送IM消息,客户端所属IM服务器不参与功能建立MSRP通道的信令流程图,图中各网络实体的含义与图1中的各网络实体含义相同。
具体信令流程为
1、客户端A希望发送一条消息给用户B,而用户B的客户端B离线,客户端A发现发送的消息信息量较大而决定采用数据通道发送离线消息。客户端A向SIP/IP核心网A发送SIP请求(SIP INVITE)消息,要求与客户端B建立数据发送通道,消息中包括客户端A的SIP URI地址、客户端B的SIP URI地址,消息的“Accept-Contact”部分包含SIP/SIMPLE IM业务的特征码(例如“+g.oma.sip-im”)等等,同时SIP INVITE消息在SDP参数中携带客户端A的传输能力和协商参数,例如客户端A的IP地址、端口号、支持的传输媒介类型等等;2、SIP/IP核心网A转发该SIP INVITE消息到IM服务器A;3、IM服务器A读取所收到的SIP INVITE消息中携带的客户端B的SIPURI地址信息,判断是IM服务器B归属,于是决定转发SIP INVITE消息到IM服务器B,首先转发SIPINVITE消息到SIP/IP核心网A;4、SIP/IP核心网A转发SIP INVITE消息到SIP/IP核心网B;5、SIP/IP核心网B转发SIPINVITE消息到客户端B归属的IM服务器B;6、IM服务器B判断客户端B离线,于是决定转发SIP INVITE消息到IM服务器C,首先转发SIP INVITE消息到SIP/IP核心网B;7、SIP/IP核心网B转发SIP INVITE消息到IM服务器C;8、IM服务器C对客户端B的存储容量、是否允许存储等进行检查,同意接收离线消息,通过SIP/IP核心网B向IM服务器B回应SIP响应(SIP 200 OK)消息,消息中的SDP参数中携带IM服务器C的可被客户端A建立MSRP通道所用的传输能力和协商参数,例如IM服务器C的IP地址、端口号、支持的传输媒介类型等等;9、SIP/IP核心网B转发SIP 200 OK响应消息给IM服务器B;10、IM服务器B向IM服务器A转发SIP 200 OK消息,首先发送到SIP/IP核心网B;11、SIP/IP核心网B转发SIP 200 OK响应消息到SIP/IP核心网A;
12、SIP/IP核心网A转发SIP 200 OK响应消息到IM服务器A;13、IM服务器A转发SIP 200 OK响应消息给客户端A,首先转发SIP 200OK响应消息到SIP/IP核心网A;14、SIP/IP核心网A转发SIP 200OK响应消息给客户端A;15、客户端A发送SIP ACK确认消息到SIP/IP核心网A,表示确认收到了IM服务器C向其发送发的SIP 200OK响应消息(参见步骤8-14);16、SIP/IP核心网A转发SIP ACK确认消息给IM服务器A;17、IM服务器A转发SIP ACK确认消息到IM服务器B,首先转发SIP ACK确认消息到SIP/IP核心网A;18、SIP/IP核心网A转发SIP ACK确认消息给SIP/IP核心网B;19、SIP/IP核心网B转发SIP ACK确认消息给IM服务器B;20、IM服务器B转发SIP ACK确认消息到IM服务器C,首先转发SIP ACK确认消息到SIP/IP核心网B;21、SIP/IP核心网B转发SIP ACK确认消息给IM服务器C;这样,通过上述流程中的步骤1-21,客户端A和IM服务器C之间就按照相互协商的传输能力和参数,例如IP地址、端口号、支持的传输媒介类型等等,建立了1条MSRP通道。
接下来,客户端A可以使用MSRP SEND信令通过客户端A与IM服务器C之间的MSRP通道发送消息内容到IM服务器C,IM服务器C就可以将离线消息存储到离线消息存储器上。
同样,客户端A和IM服务器C之间可以通过上述MSRP通道回应MSRP200OK消息和MSRP递送报告等MSRP消息。
上述MSRP通道若已存在,则不必重复建立,可以重用;MSRP通道使用完成后,可以将其断开。
参见图3,为客户端A向群组发送IM消息,群组中的客户端B离线,客户端所属IM服务器参与建立MSRP通道的信令流程图,图中客户端、IM服务器和核心网的含义与图1中的相同,IM服务器D表示群组所归属的SIP/SIMPLE IM服务器,IM服务器D扮演控制功能(Controlling)的角色。
具体信令流程为1、客户端A希望发送一条IM消息给群组X,而群组中的用户B的客户端B离线,客户端A发现消息信息量较大而决定采用数据通道发送离线消息。客户端A向SIP/IP核心网A发送SIP请求(SIP INVITE)消息,要求与群组X中的用户建立数据发送通道,消息中包括客户端A的SIP URI地址、群组X的SIP URI地址等,消息的“Accept-Contact”部分包含SIP/SIMPLE IM业务的特征码(例如“+g.oma.sip-im”)等等,同时SIP INVITE消息在SDP参数中携带客户端A的传输能力和协商参数,例如客户端A的IP地址、端口号、支持的传输媒介类型等等;2、SIP/IP核心网A转发SIP INVITE消息到IM服务器A;3、IM服务器A读取所收到的SIP INVITE消息中携带的群组X的SIP URI地址信息,判断是IM服务器D控制,于是决定发起一个新的SIP INVITE消息到IM服务器D,首先发送新的SIPINVITE消息到SIP/IP核心网A。消息中包括IM服务器A的地址、IM服务器D的地址、群组X的SIP URI地址等,消息的“Accept-Contact”部分包含SIP/SIMPLE IM业务的特征码(例如“+g.oma.sip-im”)等等,同时SIP INVITE消息在SDP参数中携带IM服务器A的传输能力和协商参数,例如IM服务器A的IP地址、端口号、支持的传输媒介类型等等;4、SIP/IP核心网A转发SIP INVITE消息到群组X归属的IM服务器D;5、IM服务器D解析群组X中的用户,其中包括用户B,于是决定发起一个新的SIP INVITE请求到IM服务器B,首先发送新的SIP INVITE消息到SIP/IP核心网A。消息中包括IM服务器D的地址、用户B的SIP URI地址等,消息的“Accept-Contact”部分包含SIP/SIMPLE IM业务的特征码(例如“+g.oma.sip-im”)等等,同时SIP INVITE消息在SDP参数中携带IM服务器D的传输能力和协商参数,例如IM服务器D的IP地址、端口号、支持的传输媒介类型等等;(步骤5中对群组中的其他用户,采用类似的处理流程,本流程以下只描述用户B的流程)6、SIP/IP核心网A转发SIP INVITE请求到SIP/IP核心网B;7、SIP/IP核心网B转发SIP INVITE请求到IM服务器B;8、IM服务器B判断客户端B离线,于是发起一个新的SIP INVITE请求到IM服务器C,首先发送新的SIP INVITE消息到SIP/IP核心网B。消息中包括IM服务器B的地址、客户端B的SIP URI地址等,消息的“Accept-Contact”部分包含SIP/SIMPLE IM业务的特征码(例如“+g.oma.sip-im”)等等,同时SIP INVITE消息在SDP参数中携带IM服务器B的传输能力和协商参数,例如IM服务器B的IP地址、端口号、支持的传输媒介类型等等;9、SIP/IP核心网B转发SIP INVITE请求到IM服务器C;10、IM服务器C对用户B的存储容量,是否允许存储等进行检查,同意接收离线消息,通过SIP/IP核心网B向IM服务器B回应SIP 200OK响应消息(针对步骤8-9中IM服务器B发送给IM服务器C的SIP INVITE消息),其中的SDP参数中携带IM服务器C的可被IM服务器B建立MSRP所用传输能力和协商参数,例如IM服务器C的IP地址、端口号、支持的传输媒介类型等等;11、SIP/IP核心网B转发SIP 200OK响应消息给IM服务器B;12、IM服务器B决定通过SIP/IP核心网向IM服务器D发送新的SIP 200OK响应消息(针对步骤5-7中IM服务器D发送给IM服务器B的SIP INVITE消息),首先发送到SIP/IP核心网B,其中的SDP参数中携带IM服务器B的可被IM服务器D建立MSRP所用的传输能力和协商参数,例如IM服务器B的IP地址、端口号、支持的传输媒介类型等等;13、SIP/IP核心网B转发SIP 200 OK响应消息到SIP/IP核心网A;
14、SIP/IP核心网A转发SIP 200OK响应消息到IM服务器D;15、IM服务器D决定向IM服务器A发送一个新的SIP 200OK响应消息(针对步骤3-4中IM服务器A发送给IM服务器D的SIP INVITE消息),首先发送SIP 200 OK响应消息给SIP/IP核心网A,其中的SDP参数中携带IM服务器D的可被IM服务器A建立MSRP所用的传输能力和协商参数,例如IM服务器D的IP地址、端口号、支持的传输媒介类型等等;16、SIP/IP核心网A转发SIP 200OK响应消息给IM服务器A;17、IM服务器A决定向客户端A发送一个新的SIP 200OK响应消息(针对步骤1-2中客户端A发送给IM服务器A的SIP INVITE消息),首先发送SIP200OK响应消息给SIP/IP核心网A,其中的SDP参数中携带IM服务器A的可被客户端A建立MSRP所用的传输能力和协商参数例如IP地址、端口号、支持的传输媒介类型等等;18、SIP/IP核心网A转发SIP 200 OK响应消息给客户端A;19、客户端A发送SIP ACK确认消息到SIP/IP核心网A,表示确认收到了IM服务器A的SIP 200 OK响应消息(参见步骤17-18);20、SIP/IP核心网A转发SIP ACK确认消息给IM服务器A;21、IM服务器A发送SIP ACK确认消息到SIP/IP核心网A,表示确认收到了IM服务器D的SIP 200OK响应消息(参见步骤15-16);22、SIP/IP核心网A转发SIPACK确认消息给IM服务器D;23、IM服务器D发送SIP ACK确认消息到SIP/IP核心网A,表示确认收到了IM服务器B的SIP 200OK响应消息(参见步骤12-14);24、SIP/IP核心网A转发SIP ACK确认消息给SIP/IP核心网B;25、SIP/IP核心网B转发SIP ACK确认消息给IM服务器B;26、IM服务器B发送SIP ACK确认消息到SIP/IP核心网B,表示确认收到了IM服务器C的SIP 200 OK响应消息(参见步骤10-11);27、SIP/IP核心网B转发SIP ACK确认消息给IM服务器C。
这样,通过上述流程中的步骤1-27,客户端A和IM服务器A;IM服务器A和IM服务器D;IM服务器D和IM服务器B;IM服务器B和IM服务器C之间就按照相互协商的传输能力和参数,例如IP地址、端口号、支持的传输媒介类型等等,建立了4条MSRP通道。
接下来,客户端A可以开始发送消息了,其中有4个步骤首先,客户端A使用MSRP SEND信令通过客户端A与IM服务器A之间的MSRP通道发送消息内容到IM服务器A;然后,IM服务器A使用MSRP SEND信令通过IM服务器A与IM服务器D之间的MSRP通道转发客户端A的消息内容到IM服务器D;接着,IM服务器D分发消息到群组中的各个接收用户客户端的MSRP通道,其中包括使用MSRP SEND信令通过IM服务器D与IM服务器B之间的MSRP通道转发客户端A的消息内容到IM服务器B;最后,IM服务器B使用MSRP SEND信令通过IM服务器B与IM服务器C之间的MSRP通道转发客户端A的消息内容到IM服务器C,IM服务器C就可以将离线消息存储到离线消息存储器上。
同样,客户端A和IM服务器C之间可以通过上述4个MSRP通道回应MSRP 200OK消息和MSRP递送报告等MSRP消息。
上述MSRP通道若已存在,则不必重复建立,可以重用;MSRP通道使用完成后,可以将其断开。
参加图4,为客户端A向群组发送IM消息,群组中的客户端B离线,客户端归属IM服务器不参与建立MSRP通道的信令流程图,图中各网络实体的含义与图3中的各网络实体含义相同。
具体信令流程为1、客户端A希望发送一条IM消息给群组X,而群组中的用户B的客户端B离线,客户端A发现发送的消息信息量较大而决定采用数据通道发送离线消息。客户端A向SIP/IP核心网A发送SIP请求(SIP INVITE)消息,要求与群组X中的用户建立数据发送通道,消息中包括客户端A的SIP URI地址、群组X的SIP URI地址等,消息的“Accept-Contact”部分包含SIP/SIMPLEIM业务的特征码(例如“+g.oma.sip-im”)等等,同时SIP INVITE消息在SDP参数中携带客户端A的传输能力和协商参数,例如客户端A的IP地址、端口号、支持的传输媒介类型等等;2、SIP/IP核心网A转发SIP INVITE消息到IM服务器A;3、IM服务器A读取所收到的SIP INVITE消息中携带的群组X的SIP URI地址信息,判断是IM服务器D控制,于是决定转发SIP INVITE消息到IM服务器D,首先转发SIP INVITE消息到SIP/IP核心网A;4、SIP/IP核心网A转发SIP INVITE消息到群组X归属的IM服务器D;5、IM服务器D解析群组X中的用户,其中包括用户B,于是决定发起一个新的SIP INVITE请求到IM服务器B,首先发送新的SIP INVITE消息到SIP/IP核心网A。消息中包括用户A的SIP URI地址、用户B的SIP URI地址等,消息的“Accept-Contact”部分包含SIP/SIMPLE IM业务的特征码(例如“+g.oma.sip-im”)等等,同时SIP INVITE消息在SDP参数中携带IM服务器D的传输能力和协商参数,例如IM服务器D的IP地址、端口号、支持的传输媒介类型等等;(步骤5中对群组中的其他用户,采用类似的处理流程,本流程以下只描述用户B的流程)6、SIP/IP核心网A转发SIP INVITE请求到SIP/IP核心网B;7、SIP/IP核心网B转发SIP INVITE请求到IM服务器B;8、IM服务器B判断客户端B离线,于是决定转发SIP INVITE消息到IM服务器C,首先转发SIP INVITE消息到SIP/IP核心网B;9、SIP/IP核心网B转发SIPINVITE请求到IM服务器C;10、IM服务器C对用户B的存储容量,是否允许存储等进行检查,同意接收离线消息,决定向IM服务器D回应SIP 200 OK响应消息(针对步骤5-9中IM服务器D发送给IM服务器C的SIP INVITE消息),首先发送SIP 200OK响应消息到SIP/IP核心网B,其中的SDP参数中携带IM服务器C的可被IM服务器D建立MSRP所用传输能力和协商参数,例如IM服务器C的IP地址、端口号、支持的传输媒介类型等等;11、SIP/IP核心网B转发SIP 200 OK响应消息给IM服务器B;12、IM服务器B决定向IM服务器D转发SIP 200 OK响应消息,首先转发SIP 200 OK响应消息到SIP/IP核心网B;13、SIP/IP核心网B转发SIP 200OK响应消息到SIP/IP核心网A;14、SIP/IP核心网A转发SIP 200OK响应消息到IM服务器D;15、IM服务器D决定向客户端A发送一个新的SIP 200OK响应消息(针对步骤1-4中客户端A发送给IM服务器D的SIP INVITE消息),首先发送SIP200OK响应消息给SIP/IP核心网A,其中的SDP参数中携带IM服务器D的可被客户端A建立MSRP所用的传输能力和协商参数,例如IM服务器D的IP地址、端口号、支持的传输媒介类型等等;16、SIP/IP核心网A转发SIP 200 OK响应消息给IM服务器A;17、IM服务器A转发SIP 200 OK给SIP/IP核心网A;18、SIP/IP核心网A转发SIP 200 OK响应消息给客户端A;19、客户端A发送SIP ACK确认消息到SIP/IP核心网A,表示确认收到了IM服务器D的SIP 200 OK响应消息(参见步骤15-18);20、SIP/IP核心网A转发SIP ACK确认消息给IM服务器A;21、IM服务器A转发SIP ACK确认消息到SIP/IP核心网A;22、SIP/IP核心网A转发SIP ACK确认消息给IM服务器D;23、IM服务器D发送新的SIP ACK确认消息到SIP/IP核心网A,表示确认收到了IM服务器C的SIP 200OK响应消息(参见步骤10-14);24、SIP/IP核心网A转发SIP ACK确认消息给SIP/IP核心网B;25、SIP/IP核心网B转发SIP ACK确认消息给IM服务器B;
26、IM服务器B转发SIP ACK确认消息到SIP/IP核心网B;27、SIP/IP核心网B转发SIPACK确认消息给IM服务器C。
这样,通过上述流程中的步骤1-27,客户端A和IM服务器D;IM服务器D和IM服务器C之间就按照相互协商的传输能力和参数,例如IP地址、端口号、支持的传输媒介类型等等,建立了2条MSRP通道。
接下来,客户端A可以开始发送消息了,其中有2个步骤首先,客户端A使用MSRP SEND信令通过客户端A与IM服务器D之间的MSRP通道发送消息内容到IM服务器D;然后,IM服务器D分发消息到群组中的各个接收用户客户端的MSRP通道,其中包括使用MSRP SEND信令通过IM服务器D与IM服务器C之间的MSRP通道转发客户端A的消息内容到IM服务器C,IM服务器C就可以将离线消息存储到离线消息存储器上。
同样,客户端A和IM服务器C之间可以通过上述2个MSRP通道回应MSRP200OK消息和MSRP递送报告等MSRP消息。
上述MSRP通道若已存在,则不必重复建立,可以重用;MSRP通道使用完成后,可以将其断开。
SIP/SIMPLE即时消息系统中,消息接收方用户上线后,可以通过MSRP通道从系统中的离线消息存储实体中获取离线消息内容。可以通过以下方式建立MSRP通道获取离线消息内容,下面分别予以说明。
参见图5,为客户端获取离线消息时,客户端所属IM服务器参与建立MSRP通道的信令流程图,在该流程图中,由离线消息接收客户端发起建立MSRP通道。图中客户端B、SIP/IP核心网B、IM服务器B和IM服务器C的含义与图1中的相同。
具体信令流程为1、客户端B上线后,知道自己有离线消息,根据消息条数、消息信息量大小等因素,决定通过建立MSRP消息获取离线消息。客户端B向SIP/IP核心网B发送SIP请求(SIP INVITE)消息,要求建立数据获取通道,消息中包括客户端B的SIP URI地址等,消息的“Accept-Contact”部分包含SIP/SIMPLEIM业务的特征码(例如“+g.oma.sip-im”)等等,同时SIP INVITE消息在SDP参数中携带客户端B的传输能力和协商参数,例如IP地址、端口号、支持的传输媒介类型等等;2、SIP/IP核心网B转发SIP INVITE消息到IM服务器B;3、IM服务器B读取所收到的SIP INVITE中携带的信息,判断是为获取离线消息而建立MSRP通道,于是发起一个新的SIP INVITE请求到IM服务器C,首先发送新的SIPINVITE消息到SIP/IP核心网B。消息中包括客户端B的SIP URI地址、IM服务器C的地址等,消息的“Accept-Contact”部分包含SIP/SIMPLE IM业务的特征码(例如“+g.oma.sip-im”)等等,同时SIP INVITE消息在SDP参数中携带IM服务器B的传输能力和协商参数,例如IP地址、端口号、支持的传输媒介类型等等;4、SIP/IP核心网B转发SIP INVITE消息到IM服务器C;5、IM服务器C同意用户B获取离线消息,决定向IM服务器B回应SIP200OK响应消息(针对步骤3-4中IM服务器B发送给IM服务器C的SIPINVITE消息),首先发送SIP200 OK响应消息到SIP/IP核心网B,其中的SDP参数中携带IM服务器C的可被IM服务器B建立MSRP通道所用的传输能力和协商参数,例如IP地址、端口号、支持的传输媒介类型等等;6、SIP/IP核心网B转发SIP 200OK响应消息给IM服务器B;7、IM服务器B通过SIP/IP核心网B向客户端B发送新的SIP 200OK响应消息,其中的SDP参数中携带IM服务器B的可被IM服务器D建立MSRP通道所用的传输能力和协商参数,例如IP地址、端口号、支持的传输媒介类型等等;8、SIP/IP核心网B转发SIP200OK响应消息到客户端B;9、客户端B发送SIP ACK确认消息到SIP/IP核心网B,表示确认收到了IM服务器B的SIP 200OK响应消息(参见步骤7-8);10、SIP/IP核心网B转发SIPACK确认消息给IM服务器B;11、IM服务器B发送SIPACK确认消息到SIP/IP核心网B,表示确认收到了IM服务器C的SIP 200OK响应消息(参见步骤15-16);12、SIP/IP核心网B转发SIP ACK确认消息给IM服务器C。
这样,通过上述流程中的步骤1-12,客户端B与IM服务器B;IM服务器B与IM服务器C之间就按照相互协商的传输能力和参数,例如IP地址、端口号、支持的传输媒介类型等等,建立了2条MSRP通道。
接下来,客户端B可以开始获取离线消息或IM服务器C向客户端B发送离线消息了。以下以IM服务器C发送为例,其中有2个步骤首先,IM服务器C使用MSRP SEND信令通过IM服务器C与IM服务器B之间的MSRP通道,发送离线消息内容和信息(如保持时间,发送者等)到IM服务器B;然后,IM服务器B使用MSRP SEND信令通过IM服务器B与客户端B之间的MSRP通道,转发IM服务器C的消息内容和信息到客户端B,客户端B显示内容和相关信息给用户B。
同样,客户端B和IM服务器C之间可以通过上述2个MSRP通道回应MSRP 200响应消息和MSRP递送报告等MSRP消息。
上述MSRP通道若已存在,则不必重复建立,可以重用;MSRP通道使用完成后,可以将其断开。
上述图5的流程是以客户端发起建立MSRP通道的请求为例,也可以由IM服务器B发起建立MSRP通道的请求,其MSRP通道的建立流程如图6所示,具体信令流程为1、客户端B在线后,其归属IM服务器B发现其有离线消息,根据消息条数、消息大小等需要通过建立MSRP消息获取离线消息。所以归属IM服务器B向SIP/IP核心网B发送SIP INVITE消息,要求建立消息发送数据通道,消息中包括用户B的SIP URI地址等,Accept-Contact包含SIP/SIMPLE IM业务的特征码,例如″+g.oma.sip-im″,等等,同时SIP INVITE请求在SDP参数中携带归属IM服务器B的传输能力和协商参数,例如IP地址、端口号、支持的传输媒介类型等等;2、SIP/IP核心网B转发SIP INVITE请求到客户端B;3、客户端B读取所收到的上述SIP INVITE中携带的信息,判断是发送离线消息而建立MSRP通道,客户端B同意建立,通过SIP/IP核心网B向归属IM服务器B回应SIP 200“OK”,其中的SDP参数中携带客户端B的可被归属IM服务器B建立MSRP所用的传输能力和协商参数,例如IP地址、端口号、支持的传输媒介类型等等;4、SIP/IP核心网B转发SIP 200“OK”响应给归属IM服务器B;5、归属IM服务器B发送一个SIP ACK确认消息到SIP/IP核心网B,表示确认收到了客户端B的SIP 200“OK”;6、SIP/IP核心网B转发SIP ACK给客户端B;步骤1-6就建立了归属IM服务器B和离线消息接收客户端B之间的MSRP通道;7、归属IM服务器B发起一个新的SIP INVITE请求,通过SIP/IP核心网B到执行离线消息处理功能的IM服务器C;消息中包括归属IM服务器B的SIP URI地址、IM服务器C的地址等,Accept-Contact包含SIP/SIMPLE IM业务的特征码,例如″+g.oma.sip-im″,等等,同时SIP INVITE请求在SDP参数中携带归属IM服务器B的传输能力和协商参数例如IP地址、端口号、支持的传输媒介类型等等;8、SIP/IP核心网B转发SIP INVITE请求到IM服务器C;9、IM服务器C同意用户B获取离线消息,通过SIP/IP核心网B向服务器B回应SIP 200“OK”,其中的SDP参数中携带IM服务器C的可被服务器B建立MSRP所用的传输能力和协商参数例如IP地址、端口号、支持的传输媒介类型等等;10、SIP/IP核心网B转发SIP 200“OK”响应给归属IM服务器B;11、归属IM服务器B发送一个SIP ACK确认消息到SIP/IP核心网B,表示确认收到了IM服务器C的SIP 200“OK”;12、SIP/IP核心网B转发SIP ACK给IM服务器C;步骤7-12就建立了归属IM服务器B和IM服务器C之间的MSRP通道。
这样,通过步骤1-12的流程,离线消息接收客户端B和归属IM服务器B,归属IM服务器B和执行离线消息处理功能的IM服务器C之间就按照相互协商的传输能力和参数,例如IP地址、端口号、支持的传输媒介类型等等,建立了2条MSRP通道。
接下来,客户端B可以开始获取离线消息或由IM服务器C向客户端B发送离线消息,以Server C发送为例,有如下步骤IM服务器C使用MSRP SEND信令发送离线消息内容和信息(如保持时间,发送者等)到归属IM服务器B;归属IM服务器B使用MSRP SEND信令转发IM服务器C的消息内容和信息到客户端B,客户端B显示内容和相关信息给用户B。
同样,客户端B和IM服务器C之间可以回应MSRP 200 OK和MSRP递送报告等MSRP消息。
参见图7,为客户端B获取离线消息时,客户端归属IM服务器不参与建立MSRP通道的信令流程图,图中各网络实体的含义与图5中网络实体的含义相同。
具体信令流程为1、客户端B上线后,知道自己有离线消息,根据消息条数、消息信息量大小等因素,决定通过建立MSRP消息获取离线消息。客户端B向SIP/IP核心网B发送SIP请求(SIP INVITE)消息,要求建立数据获取通道,消息中包括客户端B的SIP URI地址等,消息的“Accept-Contact”部分包含SIP/SIMPLEIM业务的特征码(例如“+g.oma.sip-im”)等等,同时SIP INVITE消息在SDP参数中携带客户端B的传输能力和协商参数,例如IP地址、端口号、支持的传输媒介类型等等;2、SIP/IP核心网B转发SIP INVITE消息到IM服务器B;3、IM服务器B读取所收到的SIP INVITE中携带的信息,判断是为获取离线消息而建立MSRP通道,于是决定转发SIP INVITE消息到IM服务器C,首先转发SIP INVITE消息到SIP/IP核心网B;4、SIP/IP核心网B转发SIP INVITE消息到IM服务器C;5、IM服务器C同意用户B获取离线消息,决定向客户端B回应SIP 200OK响应消息(针对步骤1-4中客户端B发送给IM服务器C的SIP INVITE消息),首先发送SIP 200OK响应消息到SIP/IP核心网B,其中的SDP参数中携带IM服务器C的可被客户端B建立MSRP通道所用的传输能力和协商参数,例如IP地址、端口号、支持的传输媒介类型等等;6、SIP/IP核心网B转发SIP 200 OK响应消息给IM服务器B;7、IM服务器B通过SIP/IP核心网B向客户端B转发SIP 200OK响应消息;8、SIP/IP核心网B转发SIP 200OK响应消息到客户端B;9、客户端B发送SIPACK确认消息到SIP/IP核心网B,表示确认收到了IM服务器C的SIP 200OK响应消息(参见步骤5-8);10、SIP/IP核心网B转发SIP ACK确认消息给IM服务器B;11、IM服务器B转发SIP ACK确认消息到SIP/IP核心网B;12、SIP/IP核心网B转发SIP ACK确认消息给IM服务器C。
这样,通过上述流程中的步骤1-12,客户端B和IM服务器C之间就按照相互协商的传输能力和参数,例如IP地址、端口号、支持的传输媒介类型等等,建立了2条MSRP通道。
接下来,客户端B可以开始获取离线消息或IM服务器C向客户端B发送离线消息了。以下以IM服务器C发送为例IM服务器C使用MSRP SEND信令通过IM服务器C与客户端B之间的MSRP通道,发送离线消息内容和信息(如保持时间,发送者等)到客户端B;客户端B显示内容和相关信息给用户B。
同样,客户端B和IM服务器C之间可以通过上述MSRP通道回应MSRP200响应消息和MSRP递送报告等MSRP消息。
上述MSRP通道若已存在,则不必重复建立,可以重用;MSRP通道使用完成后,可以将其断开。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
权利要求
1.一种离线消息发送方法,应用于采用会话初始协议SIP/即时消息与存在利用扩展会话初始协议SIMPLE的即时消息系统,其特征在于,离线消息发送客户端通过消息会话中继协议MSRP通道发送所述离线消息到离线消息接收方的离线消息处理服务器;所述离线消息处理服务器存储接收到的所述离线消息。
2.如权利要求1所述的方法,其特征在于,所述MSRP通道为离线消息发送客户端和所述离线消息处理服务器之间已建立起的MSRP通道或新建MSRP通道。
3.如权利要求2所述的方法,其特征在于,若离线消息接收方为单一用户,需要新建MSRP通道时,包括分别建立起离线消息发送客户端与其归属即时消息IM服务器之间的MSRP通道;发送方归属IM服务器与接收方归属IM服务器之间的MSRP通道;以及接收方归属IM服务器与所述离线消息处理服务器之间的MSRP通道;离线消息发送客户端依次通过上述建立的MSRP通道发送所述离线消息到所述离线消息处理服务器中。
4.如权利要求3所述的方法,其特征在于,所述离线消息处理服务器收到离线消息后,向接收方归属IM服务器返回MSRP响应消息或递送报告;所述接收方归属IM服务器收到离线消息后,向发送方归属IM服务器返回MSRP响应消息或递送报告;所述发送方归属IM服务器收到离线消息后,向离线消息发送客户端返回MSRP响应消息或递送报告。
5.如权利要求3所述的方法,其特征在于,所述MSRP通道由离线消息发送客户端发起建立,具体包括A1、离线消息发送客户端向其归属IM服务器发起建立MSRP通道的SIP请求,携带自身的SIP URI信息和会话描述协议SDP信息以及离线消息接收客户端的SIP URI信息;A2、发送方归属IM服务器根据离线消息接收客户端的SIP URI信息,向接收方归属IM服务器发起建立MSRP通道的新的SIP请求,携带自身的SIPURI信息和SDP信息以及离线消息接收客户端的SIP URI信息;A3、接收方归属IM服务器判断离线消息接收客户端离线,向所述离线消息处理服务器发起建立MSRP通道的新的SIP请求,携带自身的SIP URI信息和SDP信息以及离线消息接收客户端的SIP URI信息;A4、离线消息处理服务器向接收方归属IM服务器返回SIP响应消息,携带建立MSRP通道所需的自身的SDP信息;A5、接收方归属IM服务器向发送方归属IM服务器返回SIP响应信息,携带建立MSRP通道所需的自身的SDP信息;A6、发送方归属IM服务器向离线消息发送客户端返回SIP响应消息,携带建立MSRP通道所需的自身的SDP信息;A7、离线消息发送客户端向其归属IM服务器发送确认消息,建立起双方之间的MSRP通道;发送方归属IM服务器向接收方归属IM服务器发送确认消息,建立起双方之间的MSRP通道;接收方归属IM服务器向离线消息处理服务器发送确认消息,建立起双方之间的MSRP通道。
6.如权利要求2所述的方法,其特征在于,若离线消息接收方为单一用户,需要新建MSRP通道时,建立起离线消息发送客户端与所述离线消息服务器之间直通的MSRP通道;离线消息发送客户端通过所述MSRP通道发送离线消息到所述离线消息处理服务器中。
7.如权利要求6所述的方法,其特征在于,所述离线消息处理服务器收到离线消息后,向离线消息发送客户端返回MSRP响应消息或递送报告。
8.如权利要求6所述的方法,其特征在于,所述MSRP通道由离线消息发送客户端发起建立,具体包括B1、离线消息发送客户端发起建立MSRP通道的SIP请求,分别经过发送方归属IM服务器、接收方归属IM服务器转发到所述离线消息处理服务器,在该SIP请求中携带自身的SIP URI信息和SDP信息以及离线消息接收客户端的SIP URI信息;B2、离线消息处理服务器返回SIP响应消息,分别经过接收方归属IM服务器、发送方归属IM服务器转发到离线消息发送客户端,携带建立MSRP通道所需的自身的SDP信息;B3、离线消息发送客户端发送确认消息,分别经过发送方归属IM服务器、接收方归属IM服务器转发到所述离线消息处理服务器,建立起离线消息发送客户端与离线消息处理服务器之间直通的MSRP通道。
9.如权利要求2所述的方法,其特征在于,若离线消息接收方为群组用户,需要新建MSRP通道时,包括分别建立起离线消息发送客户端与发送方归属IM服务器之间的MSRP通道;发送方归属IM服务器与群组归属IM服务器之间的MSRP通道;群组归属IM服务器与接收方归属IM服务器之间的MSRP通道;以及接收方归属IM服务器与所述离线消息处理服务器之间的MSRP通道;离线消息发送客户端依次通过上述建立的MSRP通道发送离线消息到所述离线消息处理服务器中。
10.如权利要求9所述的方法,其特征在于,所述离线消息处理服务器收到离线消息后,向接收方归属IM服务器返回MSRP响应消息或递送报告;所述接收方归属IM服务器收到离线消息后,向群组归属IM服务器返回MSRP响应消息或递送报告;所述群组归属IM服务器收到离线消息后,向发送方归属IM服务器返回MSRP响应消息或递送报告;所述发送方归属IM服务器收到离线消息后,向离线消息发送客户端返回MSRP响应消息或递送报告。
11.如权利要求9所述的方法,其特征在于,所述MSRP通道由离线消息发送客户端发起建立,具体包括C1、离线消息发送客户端向归属IM服务器发起建立MSRP通道的SIP请求,携带自身的SIP URI信息和SDP信息以及群组的SIP URI信息;C2、发送方归属IM服务器根据群组的SIP URI信息,向群组归属IM服务器发起建立MSRP通道的新的SIP请求,携带自身的SIP URI信息和SDP信息以及群组归属IM服务器和群组的SIP URI信息;C3、群组归属IM服务器解析群组用户,分别向接收方归属IM服务器发起建立MSRP通道的新的SIP请求;C4、接收方归属IM服务器判断接离线消息接收客户端离线,向离线消息处理服务器发起建立MSRP通道的新的SIP请求,携带自身的SIP URI信息和SDP信息以及离线消息接收客户端SIP URI信息;C5、离线消息处理服务器向接收方归属IM服务器返回SIP响应消息,携带建立MSRP通道所需的自身的SDP信息;C6、接收方归属IM服务器向群组归属IM服务器返回SIP响应消息,携带建立MSRP通道所需的自身的SDP信息;C7、群组归属IM服务器向发送方归属IM服务器返回SIP响应信息,携带建立MSRP通道所需的自身的SDP信息;C8、发送方归属IM服务器向离线消息发送客户端返回SIP响应消息,携带建立MSRP通道所需的自身的SDP信息;C9、离线消息发送客户端向其归属IM服务器发送确认消息,建立起双方之间的MSRP通道;发送方归属IM服务器向群组归属IM服务器发送确认消息,建立起双方之间的MSRP通道;群组归属IM服务器向接收方归属IM服务器发送确认消息,建立起双方之间的MSRP通道;接收方归属IM服务器向离线消息处理服务器发送确认消息,建立起双方之间的MSRP通道。
12.如权利要求2所述的方法,其特征在于,若离线消息接收方为群组用户,需要新建MSRP通道时,包括分别建立起离线消息发送客户端与群组归属IM服务器之间的MSRP通道;群组归属IM服务器与所述离线消息处理服务器之间的MSRP通道;离线消息发送客户端依次通过上述建立的MSRP通道发送离线消息到所述离线消息处理服务器中。
13.如权利要求12所述的方法,其特征在于,所述离线消息处理服务器收到离线消息后,向所述群组归属IM服务器返回MSRP响应消息或递送报告;所述群组归属IM服务器收到离线消息后,向离线消息发送客户端返回MSRP响应消息或递送报告。
14.如权利要求12所述的方法,其特征在于,所述MSRP通道由离线消息发送客户端发起建立,具体包括D1、离线消息发送客户端发起建立MSRP通道的SIP请求,经其归属IM服务器转发到群组归属IM服务器,携带自身的SIP URI信息和SDP信息以及群组的SIP URI信息;D2、群组归属IM服务器解析群组中的用户,分别向接收方归属IM服务器发起建立MSRP通道的新的SIP请求,携带离线消息发送方和接收方客户端的SIP URI信息和自身的SDP信息;接收方归属IM服务器判断离线消息接收客户端离线,转发该请求到离线消息处理服务器;D3、离线消息处理服务器返回SIP响应消息,经过接收方归属IM服务器转发到群组归属IM服务器,并携带建立MSRP通道所需的自身的SDP信息;D4、群组归属IM服务器返回SIP响应消息,经过发送方归属IM服务器转发到离线消息发送客户端,携带建立MSRP通道所需的自身的SDP信息;D5、离线消息发送客户端发送确认消息,经发送方归属IM服务器转发到群组归属IM服务器,建立起离线消息发送客户端与群组归属IM服务器之间的MSRP通道;群组归属IM服务器发送确认消息到离线消息处理服务器,建立起群组归属IM服务器与离线消息处理服务器之间的MSRP通道。
15.如权利要求1至14所述的方法,其特征在于,离线消息发送客户端与其归属IM服务器间的交互消息由其归属的SIP/IP核心网转发。
16.如权利要求1至14所述的方法,其特征在于,若离线消息发送方归属IM服务器与接收方归属IM服务器不属于同一个SIP/IP核心网,则两者之间的交互消息由各自所属的SIP/IP核心网转发;若离线消息发送方归属IM服务器与接收方归属IM服务器属于同一个SIP/IP核心网,则两者之间的交互消息由同属的SIP/IP核心网转发。
17.如权利要求1至14所述的方法,其特征在于,所述离线消息发送完毕后,断开所述MSRP通道。
18.一种离线消息接收方法,应用于采用会话初始协议SIP/即时消息与存在利用扩展会话初始协议SIMPLE的即时消息系统,其特征在于,通过消息会话中继协议MSRP通道将存储在离线消息处理服务器中的离线消息传送给离线消息接收客户端。
19.如权利要求18所述的方法,其特征在于,由离线消息接收客户端主动发起获取离线消息请求,离线消息处理服务器发送对应的离线消息给离线消息接收客户端;或者当离线消息接收客户端在线后,由其归属IM服务器发起获取离线消息请求,离线消息处理服务器发送对应的离线消息给离线消息接收客户端;或者当离线消息接收客户端在线后,由离线消息处理服务器主动下发对应的离线消息给离线消息接收客户端。
20.如权利要求18所述的方法,其特征在于,所述MSRP通道为离线消息接收客户端和离线消息处理服务器之间已建立起的MSRP通道或新建MSRP通道。
21.如权利要求20所述的方法,其特征在于,若需要新建MSRP通道接收离线消息时,包括分别建立离线消息接收客户端与其归属IM服务器之间的MSRP通道;以及接收方归属IM服务器与离线消息处理服务器之间的MSRP通道;通过上述建立的MSRP通道传送所述离线消息。
22.如权利要求21所述的方法,其特征在于,所述离线消息接收客户端收到离线消息后,向其归属IM服务器返回MSRP响应消息或递送报告;所述接收方归属IM服务器收到离线消息后,向离线消息处理服务器返回MSRP响应消息或递送报告。
23.如权利要求21所述的方法,其特征在于,所述MSRP通道由离线消息接收客户端发起建立或由接收方归属IM服务器发起建立。
24.如权利要求23所述的方法,其特征在于,所述由离线消息接收客户端发起建立MSRP通道,具体包括E1、离线消息接收客户端向其归属IM服务器发起建立MSRP通道的SIP请求,携带自身的SIP URI地址信息和SDP信息;E2、接收方归属IM服务器向离线消息处理服务器发起建立MSRP通道的新的SIP请求,携带自身的SDP信息以及离线消息接收客户端和离线消息处理服务器的SIP URI地址信息;E3、离线消息处理服务器向接收方归属IM服务器返回SIP响应消息,携带建立MSRP通道所需的自身的SDP信息;E4、接收方归属IM服务器向离线消息接收客户端返回SIP响应消息,携带建立MSRP通道所需的自身的SDP信息;E5、离线消息接收客户端向归属IM服务器发送确认消息,建立起双方之间的MSRP通道;接收方归属IM服务器向离线消息处理服务器发送确认消息,建立起双方之间的MSRP通道。
25.如权利要求23所述的方法,其特征在于,所述由接收方归属IM服务器发起建立MSRP通道,具体包括F1、接收方归属IM服务器向离线消息接收客户端发送SIP请求消息,携带自身的SIP URI地址信息和SDP信息;F2、离线消息接收客户端向接收方归属IM服务器返回SIP响应消息,携带建立MSRP通道所需的自身的SDP信息;F3、接收方归属IM服务器向离线消息接收客户端发送确认消息,建立起双方之间的MSRP通道;F4、接收方归属IM服务器向离线消息处理服务器发送新的SIP请求消息,携带自身的SIP URI地址信息和SDP信息;F5、离线消息处理服务器向接收方归属IM服务器返回SIP响应消息,携带建立MSRP通道所需的自身的SDP信息F6、接收方归属IM服务器向离线消息处理服务器发送确认消息,建立起双方之间的MSRP通道。
26.如权利要求23所述的方法,其特征在于,所述由接收方归属IM服务器发起建立MSRP通道,具体包括G1、接收方归属IM服务器向离线消息处理服务器发送SIP请求消息,携带自身的SIP URI地址信息和SDP信息;G2、离线消息处理服务器向接收方归属IM服务器返回SIP响应消息,携带建立MSRP通道所需的自身的SDP信息;G3、接收方归属IM服务器向离线消息处理服务器发送确认消息,建立起双方之间的MSRP通道;G4、接收方归属IM服务器向离线消息接收客户端发送新的SIP请求消息,携带自身的SIP URI地址信息和SDP信息;G5、离线消息接收客户端向接收方归属IM服务器返回SIP响应消息,携带建立MSRP通道所需的自身的SDP信息;G6、接收方归属IM服务器向离线消息接收客户端发送确认消息,建立起双方之间的MSRP通道。
27.如权利要求20所述的方法,其特征在于,若需要新建MSRP通道接收离线消息时,包括建立起离线消息接收客户端与离线消息处理服务器之间直通的MSRP通道;通过所述MSRP通道传送所述离线消息。
28.如权利要求27所述的方法,其特征在于,所述离线消息接收客户端收到离线消息后,向离线消息处理服务器返回MSRP响应消息或递送报告。
29.如权利要求27所述的方法,其特征在于,所述MSRP通道由离线消息接收客户端发起建立;具体包括H1、离线消息接收客户端向其归属IM服务器发起建立MSRP通道的SIP请求,携带自身的SIP URI地址信息和SDP信息;接收方所属IM服务器转发该SIP请求到离线消息处理服务器;H2、离线消息处理服务器向接收方归属IM服务器返回SIP响应消息,携带建立MSRP通道所需的自身的SDP信息;接收方所属IM服务器转发该SIP响应消息到离线消息接收客户端;H3、离线消息接收客户端向其归属IM服务器发送确认消息;接收方所属IM服务器转发该确认消息到离线消息处理服务器,建立起离线消息接收客户端与离线消息处理服务器之间直通的MSRP通道。
30.如权利要求18至29所述的方法,其特征在于,离线消息接收客户端与所述IM服务器间的消息交互由其归属的SIP/IP核心网转发。
31.如权利要求18至29所述的方法,其特征在于,当离线消息接收客户端接收完离线消息后,断开所述MSRP通道。
全文摘要
本发明公开了一种离线消息发送和获取接收方法。包括离线消息发送客户端通过消息会话中继协议MSRP通道发送所述离线消息到离线消息接收方的离线消息处理服务器;所述离线消息处理服务器存储接收到的所述离线消息。离线消息接收客户端通过消息会话中继协议MSRP通道获取存储在离线消息处理服务器中的离线消息。在建立MSRP通道过程中,分为客户端所属即时消息服务器是否参与建立MSRP通道两种情形。本发明为SIP/SIMPLE即时消息业务系统中的离线消息提供了完整的解决方案。
文档编号H04L12/58GK1801814SQ20051011256
公开日2006年7月12日 申请日期2005年10月11日 优先权日2005年10月11日
发明者牟伦建 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1