一种即时消息系统中发送即时消息报告的系统的制作方法

文档序号:7886760阅读:257来源:国知局
专利名称:一种即时消息系统中发送即时消息报告的系统的制作方法
技术领域
本发明涉及即时消息技术,特别涉及一种即时消息系统中发送即时消息报告的方法。
背景技术
即时消息(Instant Messaging, IM)业务属于一种基于呈现(Presence)的个人对个人、或者个人对群组的消息类的移动数据业务。开放移动联盟(Open Mobile Alliance, 0MA)国际标准组织对于移动即时消息作了标准制定,在当前的标准规范版本中有两类即时消息系统第一类是基于无线乡村 (Wireless Village, WV)协议的即时消息系统,该系统基于超级文本传送协议/无线访问协议 / 短消息服务(Hyper Text Transport Protocol/Wireless Access Protocol/Short Messaging Service,HTTP/WAP/SMS)承载的协议,可以支持2. 5G/3G网络;第二类是基于初始会话协议/初始会话协议即时消息和现场支持扩展(Session Initiated Protocol/SIP Instant Message and Presence Leveraging Extensions, SIP/SIMPLE)协议的即时消息系统,该系统基于SIP/SMPLE承载的协议,支持基于互联网协议(Internet Protocol, IP) 多媒体子系统(IP Multimedia Subsystem, IMS)的 IP 网络。在现有SIP/SMPLE系统中,接收端用户在线时,发送端用户通过頂系统可以发送即时消息,并请求接收端发送即时消息报告,接收端用户能及时获取和阅读该即时消息,从而能够回复即时消息报告。发送端通过回复的即时消息报告得知发送的即时消息是否成功递送到接收端,或者是否被接收端的用户阅读。然而,现有技术中,SIP/SMPLE系统的接收端在有些情况下,无法向发送即时消息的用户发送成功递送报告、失败递送报告和阅读报告等即时消息报告,例如发送端用户发送即时消息时,接收端用户处于离线状态,接收端用户上线后获取离线消息;接收端用户在消息会话中继协议(Message Session Relay Protocol,MSRP)数据通道断开后阅读即时消息;頂服务器删除超时存储的离线消息;接收端用户不获取即时消息,而是直接从IM服务器删除即时消息。可见,现有技术不能在用户接收离线消息、用户在MSRP数据通道断开后阅读消息、IM服务器删除离线消息以及用户删除离线消息等情况下,实现SIP/SIMPLE系统中的接收端向发送端发送即时消息报告,从而使得发送端用户获取即时消息报告的需求不能得到满足,进而造成了 SIP/SIMPLE系统的可服务性不高。

发明内容
有鉴于此,本发明的主要目的在于提供一种即时消息系统中发送即时消息报告的方法,能够在各种情况下,实现接收端向发送端发送即时消息报告。根据上述发明目的,本发明提供了一种即时消息系统中发送即时消息报告的方法,适用于SIP/SIMPLE系统,该方法包括接收端侧在判断出接收到的即时消息中包含发送即时消息报告的请求后,将即时消息报告发送给发送端侧的客户端。所述接收端侧将即时消息报告发送给发送端侧的客户端为接收端侧将即时消息报告经由接收端和发送端所属的即时消息服务器,发送给发送端侧的客户端。所述接收端和发送端所属的即时消息服务器为两个不同的即时消息服务器。所述经由接收端和发送端所属的即时消息服务器,将即时消息报告发送给发送端侧的客户端的方法包括Al、接收端向所述接收端所属的即时消息服务器发送即时消息报告;A2、接收端所属的即时消息服务器向发送端所属的即时消息服务器发送即时消息 艮告;A3、发送端所属的即时消息服务器向发送端发送即时消息报告。所述即时消息报告为成功递送报告;在接收端侧进行判断之前进一步包括发送端在接收端侧的客户端离线时,向接收端侧的客户端发送包括即时消息报告请求的即时消息,所述接收端所属的即时消息服务器存储所述即时消息;接收端侧的客户端上线后,从所述接收端所属的即时消息服务器中获取发送端发送的即时消息。如果接收端所属的即时消息服务器与发送端没有消息会话中继协议数据通道连接,所述步骤Al与Α2之间进一步包括接收端所属的即时消息服务器发起建立与发送端之间的所有消息会话中继协议数据通道;所述发送成功递送报告的方法为通过消息会话中继协议数据通道发送成功递送 艮告。所述即时消息服务器存储所述即时消息为即时消息服务器将即时消息存储在自身的离线消息存储单元内。所述即时消息报告为阅读报告;在接收端侧进行判断之前进一步包括接收端建立与接收端所属即时服务器之间的消息会话中继协议数据通道,通过消息会话中继协议数据通道获取发送端发送的包括即时消息报告请求的即时消息,并在消息会话中继协议数据通道断开后阅读所述即时消息。如果接收端所属的即时消息服务器与发送端之间没有消息会话中继协议数据通道连接,所述步骤Al之前进一步包括接收端发起建立与发送端之间的所有消息会话中继协议数据通道;所述发送阅读报告的方法为通过消息会话中继协议数据通道发送阅读报告。所述步骤Al为接收端将即时消息报告经由所述接收端所属的SIP/IP核心网,发送给所述接收端所属的即时消息服务器;所述步骤Α2为接收端所属的即时消息服务器将即时消息报告经由接收端所属的SIP/IP核心网和发送端所属的SIP/IP核心网,发送给发送端所属的即时消息服务器;所述步骤A3为发送端所属的即时消息服务器将即时消息报告经由发送端所属的SIP/IP核心网,发送给所述发送端。所述经由接收端和发送端所属的即时消息服务器,将即时消息报告发送给发送端侧的客户端的方法包括
BI、接收端所属的即时消息服务器向发送端所属的即时消息服务器发送即时消息 艮告;Β2、发送端所属的即时消息服务器向发送端发送即时消息报告。所述即时消息报告为失败递送报告;在接收端侧进行判断之前进一步包括接收端所属的即时消息服务器或者所述接收端,删除所述即时消息服务器中存储的包括即时消息报告请求的即时消息。如果接收端所属的即时消息服务器与发送端没有通过消息会话中继协议数据通道连接,所述步骤BI之前进一步包括接收端所属的即时消息服务器发起建立与发送端之间的所有消息会话中继协议数据通道;所述发送失败递送报告的方法为通过消息会话中继协议数据通道发送失败递送 艮告。所述步骤BI为接收端所属的即时消息服务器将即时消息报告经由接收端所属的SIP/IP核心网和发送端所属的SIP/IP核心网,发送给发送端所属的即时消息服务器;所述步骤Β2为发送端所属的服务器将即时消息报告经由发送端所属的SIP/IP 核心网,发送给所述发送端。所述接收端和发送端所属的即时消息服务器为同一个即时消息服务器。所述接收端侧将即时消息报告发送给发送端侧的客户端包括接收端建立与所述接收端所属即时消息服务器之间的消息会话中继协议数据通道,并通过消息会话中继协议数据通道向所述接收端所属的即时消息服务器发送即时消息 艮告;接收端所属的即时消息服务器建立与发送端之间的消息会话中继协议数据通道, 并通过消息会话中继协议数据通道向发送端发送即时消息报告。所述接收端侧将即时消息报告发送给发送端侧的客户端为接收端建立与发送端之间的消息会话中继协议数据通道,并通过消息会话中继协议数据通道向所述发送端发送即时消息报告。由上述技术方案可见,本发明的技术方案通过接收端侧在判断出接收到的即时消息中包含发送报告的请求后,将即时消息报告发送给发送端侧的客户端,从而在用户接收离线消息、用户在MSRP数据通道断开后阅读消息、頂服务器删除离线消息以及用户删除离线消息的情况下,实现了 SIP/SIMPLE系统中的接收端侧向发送端用户发送即时消息报告, 满足了发送端用户获取即时消息报告的需求,进而提高了 SIP/SIMPLE系统的可服务性。


图I为本发明中发送即时消息报告的示例性方法流程图;图2为SIP/SMPLE系统的结构图;图3为本发明实施例一中发送即时消息报告的方法流程图;图4为本发明实施例二中发送即时消息报告的方法流程图;图5为本发明实施例三中发送即时消息报告的方法流程图;图6为本发明实施例四中发送即时消息报告的方法流程图;图7为本发明实施例五中发送即时消息报告的方法流程图8为本发明实施例六中发送即时消息报告的方法流程图;图9为本发明实施例七中发送即时消息报告的方法流程图;图10为本发明实施例八中发送即时消息报告的方法流程图;图11为本发明实施例九中发送即时消息报告的方法流程图。
具体实施例方式为使本发明的目的、技术方案及优点更加清楚明白,以下参照附图并举实施例,对本发明进一步详细说明。本发明的基本思想为接收端侧在判断出接收到的即时消息中包含即时消息报告请求后,将即时消息报告发送给发送端侧的客户端。图I为本发明中发送即时消息报告的示例性方法流程图。如图I所示,本发明发送即时消息报告的方法包括以下步骤步骤101,接收端侧判断接收到的即时消息中是否包含即时消息报告请求,如果是,则执行步骤102 ;步骤102,接收端侧判断出接收到的即时消息中包含即时消息报告请求后,将即时消息报告发送给发送端侧的客户端。图2为SIP/SMPLE系统的结构图。如图2所示,以A和B两个网络为例,现有技术中实现頂业务的SIP/SMPLE系统包括属于网络A的頂服务器A 201、SIP/IP核心网 A 202和η个客户端A 203,属于网络B的頂服务器B 204、SIP/IP核心网B 205和η个客户端B 206。頂服务器A 201能够分别与客户端A 203和SIP/IP核心网A 202进行信息交互, 在客户端A离线后存储其它客户端发送给客户端A的即时消息,并在存储该即时消息超时后删除该消息;頂服务器B 204能够分别与客户端B 206和SIP/IP核心网B 205进行信息交互,在客户端B 206离线后存储其它客户端发送给客户端B 206的即时消息,并在存储该即时消息超时后删除该消息。两个网络中的頂服务器A 201和IM服务器B 204能够进行信息交互,并均能够对多个接收用户或者预先定义的组群,实现即时消息的群发;SIP/IP 核心网A 202与SIP/IP核心网B 205能够进行信息交互,SIP/IP核心网A 202与SIP/IP 核心网B 205还能够分别与客户端A 203和頂服务器A 201、客户端B 206和頂服务器B 204进行信息交互。下面,通过几个具体实施例,分别说明本发明通过MSRP数据通道和SIP/IP核心网发送即时消息报告的方法。实施例一图3为本发明实施例一中发送即时消息报告的方法流程图。本实施例中,发送端和接收端所属的服务器分别为IM服务器A和IM服务器B ;接收端的客户端B处于离线状态,但在上线之后能够接收离线消息;即时消息报告是通过MSRP数据通道发送的。如图3 所示,本实施例中发送即时消息报告的方法包括以下步骤步骤301,用户A请求向用户B发送即时消息,客户端A根据用户A的请求,向頂服务器A发送基于初始会话协议的邀请(SIP INVITE)消息,建立与頂服务器A之间的MSRP 数据通道,同样地,IM服务器A再和頂服务器B之间建立MSRP数据通道。
步骤302 步骤303,客户端A通过頂服务器A,将基于消息会话中继协议的发送 (MSRP SEND)消息发送到IM服务器B。由于此时客户端B离线,因此頂服务器A发送的MSRP SEND消息属于离线消息。其中,MSRP SEND消息包括消息的身份码(Message-ID),需要回复成功递送报告 (Success-Report yes);需要回复失败递送报告(Failure-Report yes)等消息头和发送的消息等。步骤304 步骤305,頂服务器B存储离线消息,并向頂服务器A回复MSRP 200“0K”消息,表示頂服务器B已收到了离线消息,頂服务器A将接收到的MSRP 200“0Κ” 消息转发到客户端A。其中,MSRP 200 “0K”消息仅表示收到了离线消息,不表示离线消息已成功发送到作为目的客户端的客户端B。IM服务器B包括在线消息存储单元和离线消息存储单元,本实施例中的离线消息是存储在离线消息存储单元中的。在线消息存储单元和离线消息存储单元可以构成一个IM 服务器,也可以分别为两个服务器。步骤306,客户端A通过向頂服务器A发送基于初始会话协议的再见(SIP BYE) 消息,断开MSRP数据通道。客户端A断开MSRP数据通道的原因可以是在等待一定时间没有收到即时消息报告,为了节省网络资源而断开MSRP数据通道。步骤307,用户B通过客户端B上线后,请求通过推(PUSH)方式从頂服务器B获取离线消息。用户B也可以请求以拉(PULL)方式获取离线消息。步骤308,客户端B通过向頂服务器B发送SIP INVITE消息,与頂服务器B建立 MSRP数据通道。步骤309 步骤310,頂服务器B向客户端B发送包括给用户B的离线消息的MSRP SEND消息,客户端B收到离线消息后,向頂服务器B发送MSRP 200 “0K”回复消息,表示离线消息已成功发送到目的客户端。步骤311 步骤312,客户端B根据MSRP SEND消息的消息头中的成功递送报告请求,判断出接收到的离线消息需要向作为发送端的客户端A发送成功递送报告,因而通过没有断开的MSRP数据通道,将包括成功递送报告的基于消息会话中继协议的报告(MSRP REPORT)消息发送到頂服务器B,IM服务器B在接收到MSRP REPORT消息之后,向客户端B 回应MSRP 200 “0K”,表示收到MSRP REPORT消息。MSRP REPORT消息中还包括离线消息中的Message-ID和概要描述等信息。步骤313,客户端B通过向頂服务器B发送SIP BYE消息来断开頂服务器B和客户端B的MSRP数据通道。步骤314,頂服务器B发现MSRP数据通道已经断开后,通过向頂服务器A发送 SIP INVITE消息,建立与頂服务器A之间的MSRP数据通道,同样地,頂服务器A和客户端 A之间也建立MSRP数据通道。步骤315 步骤316,頂服务器B通过頂服务器A,向客户端A发送包括成功递送报告的MSRP REPORT消息。
步骤317 步骤318,客户端A在接收到MSRP REPORT消息中的成功递送报告后, 通过頂服务器A向IM服务器B发送MSRP 200 “0K”消息,表示成功收到MSRP REPORT消
肩、O步骤319,断开发送消息递送报告的MSRP数据通道。本实施例中,步骤311和步骤315 步骤316中发送的成功递送报告,也可以通过MSRP SEND消息来发送。此时,就需要用即时消息通用格式消息类型(MESSAGE/CPM) 内容类型(Content-type)来封装成功递送报告的内容类型即时消息递送报告扩展标识语言(extensible Markup Language, XML)消息类型(message/imdn+xml);内容部属 (Content-Disposition):通告(notification),并用XML的内容表示成功递送报告的相关信息,如收到消息的Message-ID,报告内容,时间,收到消息的概要描述等信息。本实施例中,如果客户端准备发送成功递送报告时,頂服务器B在发送完离线消息后就断开了 MSRP数据通道,客户端B也可以通过基于初始会话协议的消息(SIP MESSAGE)发送递送成功报告,用MESSAGE/CPM内容类型来封装递送报告的内容类型 message/imdn+xml ; Content-Dispos it ion !notification,并用 XML 的内容表不成功递送报告的相关信息,如收到消息的Message-ID,报告内容,时间,收到消息的概要描述等信息。 此时,将步骤311改为客户端B和客户端A及頂服务器B、頂服务器A之间建立MSRP数据通道,以便发送成功递送报告;将步骤312改为客户端B通过IM服务器B,向IM服务器 A发送包括成功递送报告的MSRP SEND消息。本实施例通过SIP INVITE消息建立MSRP数据通道,也可以通过其他消息建立 MSRP通道;本实施例通过SIP BYE消息断开MSRP数据通道,也可以通过其他消息断开MSRP 通道。本实施例也可以不通过頂服务器A来发送成功递送报告,可以直接建立頂服务器B与客户端A之间的MSRP数据通道,由IM服务器B将成功递送报告发送给客户端A,也可以建立客户端B与客户端A之间的MSRP数据通道,由客户端B直接将成功递送报告发送给客户端A。本实施例实现了成功递送报告的发送,也适用于其它类型的递送报告和阅读报告的发送。实施例二实施例一中的成功递送报告是通过建立MSRP通道,并由MSRPREP0RT消息来发送的;实际应用中,也可以不建立MSRP通道,并通过SIP MESSAGE消息发送,这就构成了本发明的实施例二。图4为本发明实施例二中发送即时消息报告的方法流程图。本实施例中,发送端和接收端所属的服务器分别为IM服务器A和IM服务器B,接收端的客户端B处于离线状态,但在上线之后能够接收离线消息,且通过SIP/IP核心网发送成功递送报告。如图4所示,本实施例中发送即时消息报告的方法包括以下步骤步骤401 步骤413的操作过程与实施例一的步骤301 步骤313的操作过程相同。步骤414 步骤416,IM服务器B发现MSRP数据通道已经断开后,依次通过SIP/ IP核心网B和SIP/IP核心网A,向頂服务器A发送包括成功递送报告的SIP MESSAGE消
其中,递送报告的内容类型是通过MESSAGE/CP頂内容类型来进行封装的 message/imdn+xml ; Content-Dispos it ion notification 和 XML 的内容表不成功递送报告的相关信息,如收到消息的Message-ID,报告内容,时间,收到消息的概要描述等信息。步骤417 步骤418,頂服务器A收到消息,通过消息头中的信息识别出SIP MESSAGE消息是发送给客户端A的,将SIP MESSAGE通过SIP/IP核心网A转发给客户端A。步骤419 步骤420,客户端A收到SIP MESSAGE消息中的递送成功报告后,通过 SIP/IP核心网A向頂服务器A回复SIP 200 “0K”消息,表示收到SIP MESSAGE消息。步骤421 步骤423,IM服务器A将SIP 200 “0K”消息依次通过SIP/IP核心网 A和SIP/IP核心网B发送给頂服务器B。在步骤415 步骤423中,每次转发消息时,都可以先根据SIP MESSAGE消息或者 SIP 200“0K”消息的消息头中的消息目的地信息,改变消息头中的路由相关信息,然后再进行转发。本实施例通过SIP INVITE消息建立MSRP数据通道,也可以通过其他消息建立 MSRP通道;本实施例通过SIP BYE消息断开MSRP数据通道,也可以通过其他消息断开MSRP 通道。本实施例实现了成功递送报告的发送,也适用于其它类型的递送报告和阅读报告的发送。实施例三实施例一的方法同样适用于客户端B发送阅读报告,但当客户端B在接收到即时消息后没有立即阅读,而是在MSRP数据通道断开后才阅读,此时发送阅读报告的方法就构成了本发明的实施例三。图5为本发明实施例三中发送即时消息报告的方法流程图。本实施例中,发送端和接收端所属的服务器分别为IM服务器A和IM服务器B,接收端的客户端B在MSRP数据通道断开之后阅读了客户端A发送的消息,通过MSRP数据通道来发送阅读报告。如图5所示,本实施例中发送即时消息报告的方法包括以下步骤步骤501,用户A希望向用户B发送即时消息,由于消息超过SIP消息或客户端的限制,所以需要通过MSRP数据通道来发送,客户端A发送SIPINVITE消息与頂服务器A建立MSRP数据通道,同样地,IM服务器A和頂服务器B,IM服务器B和客户端B之间建立 MSRP数据通道。本步骤中的SIP消息的限制为頂服务器不能发送大于IK字节的SIP消息,客户端的限制为客户端B不能接收大于IK字节的SIP消息。步骤502 步骤504,客户端A依次通过頂服务器A和頂服务器B, 向客户端B发送MSRP SEND消息,包含Message-ID,部署报告类型为阅读报告 (Disposition-Notification read)等消息头和发送的消息等。此时,由于作为接收端的客户端B在线,因此客户端A发送的MSRPSEND消息为在线消息。步骤505 步骤507,客户端B依次通过頂服务器B和頂服务器A,向客户端A 回应MSRP 200 “0K”消息,表示收到了消息,但不表示成功发送到目的端。
步骤508,客户端B根据MSRP SEND消息的消息头中的信息,判断出接收到的消息需要向作为发送端的客户端A发送阅读报告,客户端B通过MSRP数据通道向客户端A报告成功收到消息,并通过项頂服务器B发送SIP BYE消息断开MSRP数据通道。其中,断开MSRP的原因可以为客户端B等候一段时间没有消息发送,或者等待一定时间没有消息发送请求,为了节省网络资源而断开MSRP数据通道。步骤509,用户B通过客户端B阅读收到的即时消息时,客户端B通过消息头中的信息判断出该消息中包括阅读报告请求。步骤510,客户端B和客户端A及頂服务器B、頂服务器A之间建立MSRP数据通道,以便发送阅读报告。步骤511 步骤513,客户端B依次通过頂服务器B和頂服务器A,向客户端A 发送包括阅读报告的MSRP SEND消息。其中,递送报告的内容类型是通过MESSAGE/CP頂内容类型来进行封装的 message/imdn+xml ; Content-Dispos it ion notification,并用 XML 的内容表不成功递送报告的相关信息,如收到消息的Message-ID,报告内容,时间,收到消息的概要描述等信息。本步骤也可以通过MSRP REPORT消息来发送阅读报告。步骤514 步骤516,客户端A依次通过頂服务器A和頂服务器B,向客户端B 回复MSRP 200 “0K”消息,表示收到了 MSRP SEND消息。步骤517,客户端A在一段时间没有消息发送,通过向頂服务器A发送SIP BYE消息,断开客户端A和客户端B之间的所有MSRP数据通道。本实施例中所有消息都是通过客户端A、IM服务器A、IM服务器B以及客户端B之间的MSRP数据通道来发送和转发的。本实施例通过SIP INVITE消息建立MSRP数据通道,也可以通过其他消息建立 MSRP通道;本实施例通过SIP BYE消息断开MSRP数据通道,也可以通过其他消息断开MSRP 通道。本实施例中的方法适用于阅读在线消息后的阅读报告,也适用于阅读离线消息后的阅读报告。当本实施例的方法用与发送阅读离线消息后的阅读报告时,可以将步骤 504 步骤507的操作过程替换为实施例一中步骤304 步骤310的操作过程,即用户获取离线消息的流程。本实施例也可以不通过頂服务器A和頂服务器B来发送阅读报告,可以建立頂服务器B与客户端A之间的MSRP数据通道,由IM服务器B将阅读报告发送给客户端A,也可以建立客户端B与客户端A之间的MSRP数据通道,由客户端B直接将阅读报告发送给客户端A。实施例四实施例三中的阅读报告是通过MSRP REPORT消息来发送的,也可以通过SIP MESSAGE消息发送,这就构成了本发明的实施例四。图6为本发明实施例四中发送即时消息报告的方法流程图。本实施例中,发送端和接收端所属的服务器分别为IM服务器A和IM服务器B,接收端的客户端B在MSRP数据通道断开之后阅读了客户端A发送的消息,通过SIP/IP核心网来发送阅读报告。如图6所示,本实施例中发送即时消息报告的方法包括以下步骤
步骤601 步骤609的操作过程与实施例三中步骤501 步骤509的操作过程相同。步骤610,客户端B发现MSRP数据通道已经断开,通过SIP/IP核心网B向頂服务器B发送包括阅读报告的SIP MESSAGE消息。其中,阅读报告的内容类型是通过MESSAGE/CP頂内容类型来进行封装的 message/imdn+xml ; Content-Dispos it ion notification,并用 XML 的内容表不阅读报告的相关信息,如收到消息的Message-ID,报告内容,时间,收到消息的概要描述等信息。步骤611,SIP/IP核心网B根据SIP MESSAGE消息的消息头中的消息目的地信息, 改变消息头中的路由相关信息后,再将SIP MESSAGE消息转发给IM服务器B。步骤612 步骤614,IM服务器B依次通过SIP/IP核心网B和SIP/IP核心网A, 将SIP MESSAGE消息转发给頂服务器A。步骤615 步骤616,頂服务器A收到消息,通过消息头识别出包括阅读报告的 SIP MESSAGE消息是发送给客户端A的,将SIP MESSAGE通过SIP/IP核心网A转发给客户端A0步骤617 步骤618,客户端A收到阅读报告,通过SIP/IP核心网A向頂服务器 A 回复 SIP 200 “0K”,表示收至Ij SIP MESSAGE 消息。步骤619 步骤621,頂服务器A依次通过SIP/IP核心网A、SIP/IP核心网B,将 SIP 200 “0K”消息转发给頂服务器B。步骤622 步骤623,IM服务器B收到消息,通过消息头识别出SIP 200 “0K”消息是发送给客户端B的,将SIP 200 “0K”通过SIP/IP核心网B转发给客户端B。在步骤611 步骤623中,每次转发时,都可以先根据SIP MESSAGE消息或者SIP 200 “0K”消息的消息头中的消息目的地信息,改变消息头中的路由相关信息,然后再进行转发。本实施例通过SIP INVITE消息建立MSRP数据通道,也可以通过其他消息建立 MSRP通道;本实施例通过SIP BYE消息断开MSRP数据通道,也可以通过其他消息断开MSRP 通道。本实施例中的方法适用于阅读在线消息后的阅读报告,也适用于阅读离线消息后的阅读报告。当本实施例的方法用与发送阅读离线消息后的阅读报告时,可以将步骤 604 步骤607的操作过程替换为实施例一中步骤304 步骤310的操作过程,即用户获取离线消息的流程。实施例五客户端B在很长时间内没有获取存储在IM服务器B的离线消息后,此时IM服务器B会删除超时的离线消息,并通过MSRP通道发送失败递送报告的方法就构成了本发明的实施例五。图7为本发明实施例五中发送即时消息报告的方法流程图。本实施例中,发送端和接收端所属的服务器分别为IM服务器A和IM服务器B,客户端B处于离线状态,IM服务器B在存储离线消息超时后,通过MSRP数据通道来发送失败递送报告。如图7所示,本实施例中发送即时消息报告的方法包括以下步骤步骤701,IM服务器B保存用户B的离线消息超时,删除该离线消息,并根据消息的消息头中的信息发现该消息中包括失败递送报告请求。步骤702,頂服务器B发现MSRP数据通道已经断开,向頂服务器A发送SIP INVITE消息,建立与頂服务器A之间的MSRP数据通道,同样地,IM服务器A建立客户端A 与其之间的MSRP数据通道。步骤703 步骤704,IM服务器B通过頂服务器A发送包括失败递送报告的MSRP REPORT消息到客户端A。其中,递送报告的内容类型是通过MESSAGE/CP頂内容类型来进行封装的 message/imdn+xml ; Content-Dispos it ion notification,并用 XML 的内容表不成功递送报告的相关信息,如收到消息的Message-ID,报告内容,时间,收到消息的概要描述等信息。本步骤也可以通过MSRP REPORT消息来发送阅读报告。步骤705 步骤706,客户端A通过頂服务器A向頂服务器B回复MSRP 200“0K”, 表示成功收到MSRP REPORT消息。步骤707,IM服务器A断开MSRP数据通道。本实施例中所有消息都是通过客户端A、IM服务器A以及頂服务器B之间的MSRP 数据通道来发送和转发的。本实施例通过SIP INVITE消息建立MSRP数据通道,也可以通过其他消息建立 MSRP通道;本实施例通过SIP BYE消息断开MSRP数据通道,也可以通过其他消息断开MSRP 通道。本实施例也可以不通过頂服务器A来发送失败递送报告,可以直接建立頂服务器B与客户端A之间的MSRP数据通道,由IM服务器B将失败递送报告发送给客户端A,也可以建立客户端B与客户端A之间的MSRP数据通道,由客户端B直接将失败递送报告发送给客户端A。本实施例发送失败递送报告的方法适用于IM服务器B删除了超时的离线信息,也适用于用户B通过客户端B不获取离线信息而是直接在頂服务器B删除离线信息的情况。实施例六客户端B在很长时间内没有获取存储在IM服务器B的离线消息后,此时IM服务器B会删除超时的离线消息,不建立MSRP数据通道,并发送失败递送报告的方法就构成了本发明的实施例六。图8为本发明实施例六中发送即时消息报告的方法流程图。本实施例中,发送端和接收端所属的服务器分别为IM服务器A和IM服务器B,客户端B处于离线状态,IM服务器B在存储离线消息超时后,通过SIP/IP核心网来发送失败递送报告。如图8所示,本实施例中发送即时消息报告的方法包括以下步骤步骤801,IM服务器B保存用户B的离线消息超时,删除该离线消息,并根据消息的消息头中的信息发现该消息中包括失败递送报告请求。步骤802 步骤804,IM服务器B发现MSRP数据通道已经断开,依次通过SIP/IP 核心网B、SIP/IP核心网A向頂服务器A发送包括失败递送报告的SIP MESSAGE消息。其中,递送报告的内容类型是通过MESSAGE/CP頂内容类型来进行封装的 message/imdn+xml ; Content-Dispos it ion notification,并用 XML 的内容表不成功递送报告的相关信息,如收到消息的Message-ID,报告内容,时间,收到消息的概要描述等信息。
13
步骤805 步骤806,頂服务器A收到消息,通过消息头中的信息发现包括失败递送报告的SIP MESSAGE消息是发送给客户端A的,将SIPMESSAGE通过SIP/IP核心网A转发给客户端A。步骤807 步骤808,客户端A收到递送报告,并通过SIP/IP核心网A向頂服务器A回复SIP 200 “0K”消息,表示收到SIP MESSAGE消息。步骤809 步骤811,IM服务器A将SIP 200 “0K”消息依次通过SIP/IP核心网 A和SIP/IP核心网B发送给頂服务器B。在步骤803 步骤811中,每次转发时,都可以先根据SIP MESSAGE消息或者SIP 200 “0K”消息的消息头中的消息目的地信息,改变消息头中的路由相关信息,然后再进行转发。本实施例发送失败递送报告的方法适用于IM服务器B删除了超时的离线信息,也适用于用户B通过客户端B不获取离线信息而是直接删除离线信息的情况。上述实施例一至实施例六中,发送端和接收端所属的頂服务器均为不同的服务器,下面以发送端和接收端所属的頂服务器为同一个服务器为例,对本发明的技术方案进行详细说明。实施例七实施例一中的即时消息和成功递送报告在属于一个相同IM服务器的客户端之间发送时,就构成了本发明的实施例七。图9为本发明实施例七中发送即时消息报告的方法流程图。本实施例中,发送端和接收端所属的服务器均为IM服务器,接收端的客户端B处于离线状态,但在上线之后能够接收离线消息,并通过MSRP数据通道来发送成功递送报告。如图9所示,本实施例中发送即时消息报告的方法包括以下步骤步骤901,客户端A根据用户A的请求,发送SIP INVITE消息建立与頂服务器之间的MSRP数据通道。步骤902,客户端A通过MSRP通道向頂服务器发送MSRP SEND消息。由于此时客户端B离线,因此客户端A发送的MSRP SEND消息属于离线消息。其中,MSRPSEND 消息包括:Message_ID, Success-Report yes ;FaiIure-Report yes等消息头和发送的消息等。步骤903,IM服务器存储离线消息,并向客户端A回复MSRP 200 “0K”消息,表示 IM服务器已收到了离线消息。其中,MSRP 200 “0K”消息仅表示收到了离线消息,不表示离线消息已成功发送到作为目的客户端的客户端B。IM服务器包括在线消息存储单元和离线消息存储单元,本实施例中的离线消息是存储在离线消息存储单元中的。在线消息存储单元和离线消息存储单元可以构成一个IM 服务器,也可以分别为两个服务器。步骤904 步骤911的操作过程与实施例一中步骤306 步骤313的操作过程相同,将实施例一中步骤306 步骤313中的頂服务器B替换为頂服务器。步骤912,IM服务器发现MSRP数据通道已经断开后,通过向客户端A发送SIP INVITE消息,建立頂服务器和客户端A之间的MSRP数据通道。
步骤913,IM服务器通过MSRP数据通道,向客户端A发送包括成功递送报告的 MSRP REPORT 消息。步骤914,客户端A向頂服务器发送MSRP 200 “0K”消息,表示成功收到MSRP REPORT 消息。步骤915,断开发送消息递送报告的MSRP数据通道。本实施例中,步骤909和步骤913中发送的成功递送报告,也可以通过MSRP SEND 消息来发送。此时,就需要用MESSAGE/CP頂内容类型(content-type)来封装成功递送报告的内容类型message/imdn+xml ; Content-Dispos it ion notification,并用 XML 的内容表不成功递送报告的相关信息,如收到消息的Message-ID,报告内容,时间,收到消息的概要描述等信息。本实施例中,如果客户端准备发送成功递送报告时,頂服务器B在发送完离线消息后就断开了 MSRP数据通道,客户端B也可以选择通过用SIPMESSAGE发送递送成功报告,用MESSAGE/CPIM内容类型来封装递送报告的内容类型message/imdn+xml ; Content-Disposition notification,并用XML的内容表示成功递送报告的相关信息,如收到消息的Message-ID,报告内容,时间,收到消息的概要描述等信息。此时,将步骤909改为客户端B和客户端A及頂服务器之间通过互发SIP INVITE消息来建立MSRP数据通道,以便发送成功递送报告。本实施例通过SIP INVITE消息建立MSRP数据通道,也可以通过其他消息建立 MSRP通道;本实施例通过SIP BYE消息断开MSRP数据通道,也可以通过其他消息断开MSRP 通道。 本实施例中,成功递送报告可以通过頂服务器发送给客户端A,也可以建立客户端B与客户端A之间的MSRP数据通道,由客户端B直接将成功递送报告发送给客户端A。本实施例实现了成功递送报告的发送,也适用于其它类型的递送报告和阅读报告的发送。实施例八实施例四中的即时消息和阅读报告在属于一个相同IM服务器的客户端之间发送时,就构成了本发明的实施例八。图10为本发明实施例八中发送即时消息报告的方法流程图。本实施例中,发送端和接收端所属的服务器均为頂服务器,接收端的客户端B在MSRP数据通道断开之后阅读了客户端A发送的消息,通过SIP/IP核心网来发送阅读报告。如图10所示,本实施例中发送即时消息报告的方法包括以下步骤步骤1001,用户A希望向用户B发送即时消息,由于消息超过SIP消息或客户端的限制,所以需要通过MSRP数据通道来发送,客户端A发送SIP INVITE消息与頂服务器建立MSRP数据通道,同样地,IM服务器和客户端B之间建立MSRP数据通道。本步骤中的SIP消息的限制为IM服务器不能发送大于IK字节的SIP消息,客户端的限制为客户端B不能接收大于2K字节的SIP消息。步骤1002 步骤1003,客户端A通过頂服务器向客户端B发送MSRPSEND消息, 包含 Message-ID, Disposition-Notification read 等消息头和发送的消息等。步骤1004 步骤1005,客户端B通过頂服务器向客户端A回应MSRP200 “0K”消息,表示收到了消息,但不表示成功发送到目的端。步骤1006,客户端B根据消息头中的阅读报告请求,判断出接收到的消息需要向作为发送端的客户端A发送阅读报告,客户端B通过MSRP数据通道向客户端A报告成功收到消息,并通过项頂服务器B发送SIP BYE消息断开MSRP数据通道。其中,断开MSRP的原因可以为客户端B等候一段时间没有消息发送,或者等待一定时间没有消息发送请求,为了节省网络资源而断开MSRP数据通道。步骤1007,用户B通过客户端B阅读收到的即时消息时,客户端B通过消息头中的信息判断出该消息有阅读报告请求。步骤1008 步骤1009,客户端B发现MSRP数据通道已经断开,所以客户端B通过 SIP/IP核心网向頂服务器发送包括阅读报告的SIP MESSAGE消息。其中,阅读报告的内容类型是通过MESSAGE/CP頂内容类型来进行封装的 message/imdn+xml ; Content-Dispos it ion notification,并用 XML 的内容表不阅读报告的相关信息,如收到消息的Message-ID,报告内容,时间,收到消息的概要描述等信息。步骤1010 步骤1011,頂服务器收到消息,通过消息头识别出包括阅读报告的 SIP MESSAGE消息是发送给客户端A的,将SIP MESSAGE通过SIP/IP核心网转发给客户端 A0步骤1012 步骤1013,客户端A收到阅读报告,通过SIP/IP核心网向頂服务器回复SIP 200 “0K”消息,表示收到SIP MESSAGE消息。步骤1014 步骤1015,IM服务器收到消息,通过消息头识别出SIP 200 “0K”消息是发送给客户端B的,将SIP 200 “0K”通过SIP/IP核心网转发给客户端B。在步骤1008 步骤1015中,每次转发消息时,都可以先根据SIPMESSAGE消息或者SIP 200 “0K”消息的消息头中的消息目的地信息,改变消息头中的路由相关信息,然后再进行转发。本实施例通过SIP INVITE消息建立MSRP数据通道,也可以通过其他消息建立 MSRP通道;本实施例通过SIP BYE消息断开MSRP数据通道,也可以通过其他消息断开MSRP 通道。本实施例也可以通过MSRP数据通道来发送阅读报告。此时,发送阅读报告可以通过頂服务器,也可以建立客户端B与客户端A之间的MSRP数据通道,由客户端B直接将阅读报告发送给客户端A。本实施例中的方法适用于阅读在线消息后的阅读报告,也适用于阅读离线消息后的阅读报告。当本实施例的方法用与发送阅读离线消息后的阅读报告时,可以将步骤 1002 步骤1004的操作过程替换为实施例七中步骤904 步骤910的操作过程,即用户获取离线消息的流程。实施例九实施例五中的即时消息和失败递送报告在属于一个相同IM服务器的客户端之间发送时,就构成了本发明的实施例九。图11为本发明实施例九中发送即时消息报告的方法流程图。本实施例中,发送端和接收端所属的服务器均为頂服务器,客户端B处于离线状态,IM服务器在存储离线消息超时后,通过MSRP数据通道来发送失败递送报告。如图11所示,本实施例中发送即时消息报告的方法包括以下步骤步骤1101,IM服务器保存用户B的离线消息超时,删除该离线消息,并根据消息中的消息头中的信息发现该消息中包括失败递送报告请求。步骤1102,頂服务器发现MSRP数据通道已经断开,所以頂服务器向客户端A发送SIP INVITE消息,建立与客户端A之间的MSRP数据通道。步骤1103,IM服务器发送包括失败递送报告的MSRP REPORT消息到客户端A。其中,递送报告的内容类型是通过MESSAGE/CP頂内容类型来进行封装的 message/imdn+xml ; Content-Dispos it ion notification,并用 XML 的内容表不成功递送报告的相关信息,如收到消息的Message-ID,报告内容,时间,收到消息的概要描述等信息。本步骤也可以通过MSRP REPORT消息来发送阅读报告。步骤1104,客户端A向頂服务器回复MSRP 200 “0K”消息,表示成功收到MSRP REPORT 消息。步骤1105,頂服务器断开发送消息递送报告的MSRP数据通道。本实施例通过SIP INVITE消息建立MSRP数据通道,也可以通过其他消息建立 MSRP通道;本实施例通过SIP BYE消息断开MSRP数据通道,也可以通过其他消息断开MSRP 通道。本实施例中,失败递送报告可以通过頂服务器发送给客户端A,也可以建立客户端B与客户端A之间的MSRP数据通道,由客户端B直接将失败递送报告发送给客户端A。本实施例发送失败递送报告的方法适用于IM服务器删除了超时的离线信息,也适用于用户B通过客户端B不获取离线信息而是直接在頂服务器删除离线信息的情况。本发明的实施例二、实施例四和实施例八中,MSRP数据通道可以在客户端B接收离线消息或者阅读离线消息之前断开,也可以在客户端B接收离线消息或者阅读离线消息之后断开,MSRP数据通道断开之后,发送即时消息报告的步骤可以改为通过SIP/IP核心网发送。以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换以及改进等,均应包含在本发明的保护范围之内。
权利要求
1.一种即时消息系统中发送即时消息报告的系统,适用于SIP/SIMPLE系统,包括接收端侧的用于在判断出接收到的即时消息中包含即时消息报告请求后,向所述接收端所属的即时消息服务器发送即时消息报告的模块;所述接收端所属的即时消息服务器,包括用于向发送端所属的即时消息服务器发送所述即时消息报告的模块;所述发送端所属的即时消息服务器,包括用于向发送端发送所述即时消息报告的模块;其特征在于,所述即时消息报告为成功递送报告;所述系统进一步包括发送端的装置,包括用于在接收端侧进行判断之前,在接收端侧的客户端离线时,向接收端侧的客户端发送包括即时消息报告请求的即时消息的模块;所述接收端所属的即时消息服务器,进一步包括用于存储所述即时消息的模块;所述接收端侧的客户端,包括用于在所述接收端侧的客户端上线后,从所述接收端所属的即时消息服务器中获取发送端发送的即时消息的模块。
2.如权利要求I所述的系统,其特征在于,所述接收端所属的即时消息服务器进一步包括用于发起建立与发送端之间的所有消息会话中继协议数据通道的模块;所述消息会话中继协议数据通道用于发送所述成功递送报告。
3.如权利要求I所述的系统,其特征在于,所述接收端所属的即时消息服务器进一步包括用于将即时消息存储在自身的离线消息存储单元内的模块。
4.一种即时消息系统中发送即时消息报告的系统,适用于SIP/SIMPLE系统,包括接收端侧的用于在判断出接收到的即时消息中包含即时消息报告请求后,向所述接收端所属的即时消息服务器发送即时消息报告的模块;所述接收端所属的即时消息服务器,包括用于向发送端所属的即时消息服务器发送所述即时消息报告的模块;所述发送端所属的即时消息服务器,包括用于向发送端发送所述即时消息报告的模块;其特征在于,所述即时消息报告为阅读报告;所述系统进一步包括接收端的用于在接收端侧进行所述判断之前建立与所述接收端所属即时服务器之间的消息会话中继协议数据通道,通过消息会话中继协议数据通道获取发送端发送的包括即时消息报告请求的即时消息,并在消息会话中继协议数据通道断开后阅读所述即时消息的模块。
5.如权利要求4所述的系统,其特征在于,所述系统中的接收端进一步包括,用于如果接收端所属的即时消息服务器与发送端之间没有消息会话中继协议数据通道连接,发起建立与发送端之间的所有消息会话中继协议数据通道的模块;所述消息会话中继协议数据通道用于发送所述阅读报告。
6.如权利要求I或4所述的系统,其特征在于,接收端进一步包括用于将即时消息报告经由所述接收端所属的SIP/IP核心网,发送给所述接收端所属的即时消息服务器的模块;所述接收端所属的即时消息服务器,进一步包括用于将即时消息报告经由接收端所属的SIP/IP核心网和发送端所属的SIP/IP核心网,发送给发送端所属的即时消息服务器的模块;所述发送端所属的即时消息服务器,进一步包括将即时消息报告经由发送端所属的 SIP/IP核心网,发送给所述发送端的模块。
7.一种即时消息系统中发送即时消息报告的系统,适用于SIP/SIMPLE系统,包括接收端所属的即时消息服务器,包括用于在判断出接收到的即时消息中包含即时消息报告请求后,向发送端所属的即时消息服务器发送即时消息报告的模块;所述发送端所属的即时消息服务器,包括用于向发送端发送即时消息报告的模块,其特征在于,所述即时消息报告为失败递送报告;所述系统进一步包括所述接收端所属的即时消息服务器或者所述接收端,包括用于在接收端侧进行所述判断之前,删除所述接收端所属的即时消息服务器中存储的包括即时消息报告请求的即时消息的模块。
8.如权利要求7所述的系统,其特征在于,接收端所属的即时消息服务器进一步包括用于如果接收端所属的即时消息服务器与发送端没有通过消息会话中继协议数据通道连接,则发起建立与发送端之间的所有消息会话中继协议数据通道的模块;所述消息会话中继协议数据通道用于发送所述失败递送报告。
9.如权利要求7所述的系统,其特征在于,接收端所属的即时消息服务器进一步包括用于将即时消息报告经由接收端所属的SIP/IP核心网和发送端所属的SIP/IP核心网,发送给发送端所属的即时消息服务器的模块;所述发送端所属的服务器进一步包括用于将即时消息报告经由发送端所属的SIP/IP 核心网,发送给所述发送端的模块。
10.一种即时消息系统中发送即时消息报告的系统,适用于SIP/SIMPLE系统,其特征在于,该系统包括接收端侧的装置,包括用于在判断出接收到的即时消息中包含即时消息报告请求后,建立与所述接收端所属即时消息服务器之间的消息会话中继协议数据通道, 并通过消息会话中继协议数据通道向所述接收端所属的即时消息服务器发送即时消息报告的模块;接收端所属的即时消息服务器,包括用于建立与发送端之间的消息会话中继协议数据通道,并通过消息会话中继协议数据通道向发送端发送即时消息报告的模块。
全文摘要
本发明公开了一种即时消息系统中发送即时消息报告的系统,适用于SIP/SIMPLE系统,该系统包括接收端侧在判断出接收到的即时消息中包含即时消息报告请求后,将即时消息报告发送给发送端侧的客户端。本发明的技术方案在用户接收离线消息、用户在MSRP数据通道断开后阅读消息、IM服务器删除离线消息以及用户删除离线消息的情况下,实现了接收端侧向发送端发送即时消息报告,满足了发送端用户的需求,进而提高了SIP/SIMPLE系统的可服务性。
文档编号H04L12/58GK102611639SQ201210004378
公开日2012年7月25日 申请日期2006年7月21日 优先权日2006年7月21日
发明者牟伦建 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1