消息传送方法

文档序号:7614384阅读:256来源:国知局
专利名称:消息传送方法
技术领域
本发明涉及消息传送技术领域,更具体的说,本发明涉及一种基于会话发起协议(SIP,Session Initiation Protocol)的网络中的消息传送方法。
背景技术
SIP是由Internet工程任务组(IETF,Internet Engineering Task Force)提出的IP电话信令协议。正如其名字所隐含的,SIP用于发起会话,它能控制一个或者多个参与者参加的多媒体会话的建立和终结,并能动态调整和修改会话属性,如会话带宽要求、传输的媒体类型(语音、视频和文本等)、媒体的编解码格式、对组播和单播的支持等。
在基于SIP协议的网络中,采用SIP协议传送的消息内容通常不太长,但实际使用中,用户也有可能传送长度比较大的消息内容给对方,如果该消息内容长度超过了SIP协议消息能够传送的最大数据传送单位(MTU,MaximumTransmission Unit),网络或者改用其他协议来发送该消息内容,例如采用MSRP协议建立一个SIP会话来传送消息内容,在消息传送完毕之后还要有一个释放会话的过程,这无形中增加了很多信令消息的交互,需要预留网络资源,增加了对空中接口的负荷;或者只传送其支持的MTU长度的数据给对方,超出MTU的部分都将被丢弃,后续也不会再重发,消息部分内容会丢失,不利于消息业务推广。
以SIP协议中定义的即时消息的传送为例进行说明,即时消息指的是用户之间以接近实时的方式传送的消息,对消息的长度没有限制,但是一般都不会很长,通常在会话模式下使用,消息的传送一般要足够快使得参与者能够维持一个交互的会话。目前IETF的RFC 3428 Session Initiation Protocol(SIP)Extension for Instant Messaging建议中增加了一个方法(Method)MESSAGE,对SIP协议进行扩展来支持即时消息的传送。因为MESSAGE方法是对SIP的一个扩展,因此可以继承SIP协议中支持的消息路由方式和安全保证机制,MESSAGE通过使用MIME体的方式来承载内容。MESSAGE消息本身不发起一个SIP对话,通常每条即时消息都是独立的,在经过的SIP节点上不用维持SIP对话,但是MESSAGE消息可以在其他SIP消息建立的对话中传送。即多条MESSAGE消息之间没有什么联系,联系只存在于终端用户的界面上,或者用户自己的认知中。和会话的概念不同,会话中是有明显的开始和结束的,即建立会话(INVITE)和释放会话(BYE),MESSAGE则没有这个。
现有技术中通过MESSAGE方法传送即时消息的例子如图1所示用户1将F1消息转发给用户2所在域的代理服务器(Proxy),代理服务器查找本网的一个数据库找到用户2所在的位置,将该消息转发给用户2;用户2接收到该消息后显示,并产生一个应答返回给代理服务器;代理服务器收到这个应答消息,去掉最上面的Via然后将该应答转发给下一个Via中的地址。
需要说明的是,因为MESSAGE是在现有SIP协议的基础上扩展的一个Method,因此,构造MESSAGE请求消息的时候使用的各个头域的定义和用法都是沿用SIP协议已有的,在此不对这些头域多加解释了。MESSAGE的一个特征就是MESSAGE消息中要携带一个消息体,其中存放待传送的即时消息的消息内容,如上述F1中的“Watson,come here.”在用户2收到用户1发来的消息之后,可以以同样的方式返回自己对这个即时消息的回答,用户2可以发起另外一个MESSAGE请求消息来传送自己的回答,其实现过程和上面用户1的发送过程相同。
通过这样不断的发送和接收MESSAGE消息就可以实现用户1和用户2之间的交互。
除了这种称为寻呼模式(page-mode)的即时消息传送方法之外,还有一种称为会话模式(session-mode)的即时消息传送方法,这种方法的特点在于传送即时消息之前必须先建立一个会话,该会话的建立过程和SIP协议中规定的会话建立过程是一样的,在会话建立之后,使用消息会话转发协议(MSRP,Message Session Relay Protocol)来传送即时消息的消息内容。使用基于会话的消息业务来传送即时消息的好处在于它能够实现一些寻呼模式下无法完成的功能,比如会话模式的消息业务可以事先协商双方支持的媒体格式,可以支持大数据量即时消息的传送等。在即时消息传送完毕之后,会话模式的消息业务还必须使用SIP BYE消息释放该会话。
如前述描述,在SIP MESSAGE的实际使用中,用户也有可能传送长度比较大的消息内容给对方,比如用户1看到一个非常有趣的文章,希望转发给用户2看,而这个文章的长度超过了SIP MESSAGE能够传送的最大数据传送单位(MTU),那么如果还用MESSAGE请求消息来传送的话,由于网络只能传送其支持的最大数据传送单位那么长的数据给对方,则超出MTU的部分都将被丢弃,后续也不会再重发。目前解决这个问题只有两个方法一个是用户在界面上发现这个问题,重新构造一个MESSAGE请求消息,其中携带被丢弃的部分,再次向对方发送,达到让对方收到完整消息内容的目的。由于网络机制不支持,导致用户操作繁琐,容易造成用户对该业务的反感,进而引起用户流失或者满意度下降。还有一个方法就是使用前述的基于会话的消息业务来传送完整的文章,但是这需要双方首先建立会话,然后才能够传送,而且在发送完毕之后还要有一个释放会话的过程,无形中增加了很多信令消息的交互,相对寻呼模式的独立消息而言,需要预留网络资源,增加了对空中接口的负荷。
另外,在目前的GSM/GPRS网络中,各种消息业务,包括短消息业务(SMS)和多媒体消息业务(MMS)被广泛应用,因此在使用SIP等基于IP自的方法实现消息业务的时候,必须考虑和现有GSM/GPRS消息业务的互通。现有的短消息业务中,受MAP信令协议的限制,对每次传送的消息长度是有限制的,为了能够传送较长的消息,可以对这个较长的消息分段传送。但是在GSM/GPRS消息业务和基于IP的消息业务互通的时候,由于基于IP的消息业务中没有类似的功能,因此只能将每个分段消息作为一条独立的消息传送给使用IP接入的终端,而IP接入的终端也没有任何指示得知这个消息是分段的消息,因此也只能作为一条独立消息显示给用户,对用户来说,没有能够得到和现有消息业务相同的服务质量,因此是无法接受的,进而会影响基于IP的消息业务的推广和使用。

发明内容
本发明解决的技术问题是提供一种消息传送方法,以避免超出最大数据传送单位的消息内容在传送时被丢弃,或者减少对网络资源和空中接口资源的额外使用,同时对于从GSM/GPRS网络中收到的分段传送的消息也能够提供相同的分段传送方式传送给基于IP接入的用户,以利于用户的使用习惯,便于基于IP的消息业务进行推广。
为解决上述问题,本发明的消息传送方法,用于基于会话发起协议的网络中传送消息,主要包括如下步骤a、发送端在分段传送消息内容的各个会话发起协议消息(SIP MESSAGE)中携带消息分段指示信息;b、接收端根据所述的消息分段指示信息接收所述的各个会话发起协议消息分段传送的消息内容。
可选的,所述的消息分段指示信息包括分段的会话发起协议消息的分段消息总长度、当前会话发起协议消息在分段消息总长度中的位置;步骤b具体包括b11、接收发送端发来的一个分段的会话发起协议消息;b12、解析获取当前接收的分段的会话发起协议消息中包括分段消息总长度以及当前消息在分段消息总长度中的位置的消息分段指示信息;b13、检查所述接收的当前会话发起协议消息在分段消息总长度中的位置是否已到达分段消息总长度的末端,若是,按照分段消息的总长度和组成分段消息的各个消息的位置顺序组成完整的消息内容,分段消息接收完毕,否则,返回执行步骤b11。
可选的,所述的消息分段指示信息包括分段的会话发起协议消息的分段消息总段数、当前会话发起协议消息的分段号;步骤b具体包括b21、接收发送端发来的一个分段的会话发起协议消息;b22、解析获取当前接收的分段的会话发起协议消息中包括分段消息总段数以及当前消息的分段号的消息分段指示信息;b23、检查所述接收的当前会话发起协议消息的分段号是否已到达分段消息总段数的末段,若是,按照分段消息的总段数和组成分段消息的各个消息的分段号顺序组成完整的消息内容,分段消息接收完毕,否则,返回执行步骤b21。
可选的,所述的消息分段指示信息包括分段的会话发起协议消息的分段消息总长度、当前会话发起协议消息在分段消息总长度中的位置以及当前会话发起协议消息是否是分段消息的最后一段;步骤b具体包括b31、接收发送端发来的一个分段的会话发起协议消息;b32、解析获取当前接收的分段的会话发起协议消息中包括分段消息总长度、当前消息在分段消息总长度中的位置的消息分段指示信息以及当前消息是否是分段消息的最后一段的消息分段指示信息;b33、检测当前消息是否是分段消息的最后一段,若是,按照所述的分段消息总长度和组成分段消息的各个消息的位置组成完整的消息内容,分段消息接收完毕,否则返回执行步骤b31。
可选的,所述的消息分段指示信息包括
分段的会话发起协议消息的分段消息总段数、当前会话发起协议消息的分段号以及当前会话发起协议消息是否是分段消息的最后一段;步骤b具体包括b41、接收发送端发来的一个分段的会话发起协议消息;b42、解析获取当前接收的分段的会话发起协议消息中包括分段消息总段数以及当前消息的分段号的消息分段指示信息;b43、检测当前消息是否是分段消息的最后一段,若是,按照分段消息的总段数和组成分段消息的各个消息的分段号顺序组成完整的消息内容,分段消息接收完毕,否则,返回执行步骤b41。
可选的,所述的消息分段指示信息通过会话发起协议消息的消息头或消息体携带。
其中,步骤a之前还包括发送端检查待传送的会话发起协议消息传送的消息内容是否需要分段;若判断为是,对该消息内容进行分段,由多个会话发起协议消息分段传送,然后执行步骤a;若判断为否,直接以一个会话发起协议消息传送消息内容;步骤b之前还包括接收端检查接收的会话发起协议消息是否携带有消息分段指示信息,若携带有消息分段指示信息,则执行步骤b;若没有携带消息分段指示信息,则直接接收该会话发起协议消息传送的消息内容。
其中,所述的会话发起协议消息为即时消息。
相应地,本发明的另一种消息传送方法,用于采用会话发起协议的消息传送网络向采用移动应用部分信令协议的消息传送网络传送消息,该方法主要包括A1、采用会话发起协议的消息传送网络中发送端判断待发送的会话发起协议消息传送的消息内容是否需要分段,若判断为是,对该消息内容进行分段,由多个会话发起协议消息分段传送,并在分段的各个会话发起协议消息中携带消息分段指示信息,若判断为否,直接以一个会话发起协议消息传送消息内容;B1、消息互通转换时,检查接收的会话发起协议消息是否携带有消息分段指示信息,若携带有消息分段指示信息,则根据所述的消息分段指示信息接收并组合各个会话发起协议消息分段传送的消息内容,若没有携带消息分段指示信息,则直接接收该会话发起协议消息传送的消息内容;C1、判断所述的会话发起协议消息传送的消息内容是否需要在采用移动应用部分信令协议的消息传送网络中分段传送,若需要则将所述的消息内容进行分段,由多个移动应用部分信令协议消息传送,否则直接由一个移动应用部分信令协议消息传送;D1、采用移动应用部分信令协议的消息传送网络中接收端检查接收的移动应用部分信令协议消息是否为分段传送的消息,若判断为是,则按照分段方式接收并组合移动应用部分信令协议消息传送的消息内容,否则,直接接收该移动应用部分信令协议消息传送的消息内容。
相应的,本发明还公开另一种消息传送方法,用于采用移动应用部分信令协议的消息传送网络向采用会话发起协议的消息传送网络传送消息,该方法主要包括A2、采用移动应用部分信令协议的消息传送网络中判断待发送的移动应用部分信令协议消息传送的消息内容是否需要分段,若判断为是,对该消息内容进行分段,由多个移动应用部分信令协议消息传送所述的消息内容,若判断为否,直接由一个移动应用部分信令协议消息传送所述的消息内容;B2、消息互通转换时,检查接收的移动应用部分信令协议消息是否为分段传送的消息,若判断为是,则按照分段方式接收并组合移动应用部分信令协议消息传送的消息内容,否则,直接接收该移动应用部分信令协议消息传送的消息内容;
C2、判断所述的移动应用部分信令协议传送的消息内容是否需要在采用会话发起协议的消息传送网络中分段传送,若需要则将消息内容进行分段,由多个会话发起协议消息传送,所述各个会话发起协议消息中携带消息分段指示信息,否则直接由一个会话发起协议消息传送消息内容;D2、采用会话发起协议的消息传送网络中接收端检查接收的会话发起协议消息是否携带有所述的消息分段指示信息,若判断为是,则根据所述的消息分段指示信息接收并组合所述的各个会话发起协议消息分段传送的消息内容,否则,直接接收该会话发起协议消息传送的消息内容。
与现有技术相比,本发明具有以下有益效果本发明通过对现有的SIP消息的传送方法进行改进,发送端在需分段传送消息内容的会话发起协议消息中携带消息分段指示信息,接收端根据所述的消息分段指示信息接收所述的各个会话发起协议消息分段传送的消息内容。通过消息分段指示信息的指示使得长度超出最大数据传送单位的消息内容能够分段传送而不影响内容的连贯性,而且不增加对网络资源和空中接口资源的额外使用,同时对于从GSM/GPRS网络中收到的有分段指示的消息也能够提供相同的界面按照分段传送方式发送给基于IP接入的用户,符合用户的使用习惯,有利于基于IP的消息业务的推广,具体实现时,本发明消息分段指示信息可通过SIP消息体或消息头的一个域携带,对现有SIP消息的使用没有任何影响,兼容性好。


图1是现有技术SIP协议中MESSAGE方法传送即时消息的过程示意图;图2是本发明消息传送方法的流程图。
具体实施例方式
现有的SIP协议消息的使用,对于仅仅是由于要发送的消息内容长度较长,超过了一个SIP协议消息所能够传输的最大数据传送单位的情况,很多时候不需要为此就建立一个会话来使用MSRP协议来传送这个较大的消息内容,完全可以将其分段来传送,这样可以实现相同的目的,但是使用的网络资源比使用会话方式来传送要少得多,在网络看来还是一般SIP消息的发送。具体实现时,本发明中SIP网络中的消息发送端在发送消息内容之前通过分析消息内容判断是否需要对发送的消息内容进行分段传送。现有技术中如果长度超出MTU就采用MSRP协议来传送了,但在消息传送中,在某些情况下,比如消息内容是文本格式的等等,采用MSRP要增加建立维护和删除会话的操作,对空口资源和网络资源是一种浪费,因此可以采用增加消息分段指示信息的方法通过分段成多条消息来传送。
参考图2,本发明通过下述步骤实现步骤1,发送端在分段传送消息内容的会话发起协议消息SIP MESSAGE中携带消息分段指示信息,对所述的消息分段指示信息可以通过网络从发送消息的一方和分段的消息内容一起发送给接收消息的一方;步骤2,接收端在解析出所述的消息分段指示信息后即可根据所述的消息分段指示信息接收所述的各个会话发起协议消息SIP MESSAGE分段传送的消息内容,即终端根据这个消息分段指示信息按照顺序重组消息内容之后显示给用户或者就是直接按顺序依次将消息内容显示给用户。
通常,SIP协议消息由以下三部分组成(1)起始行(Start Line)每个SIP消息由起始行开始。起始行传达消息类型(在请求中是方法类型,在响应中是响应代码)与协议版本。起始行可以是一请求行(请求)或状态行(响应)。
(2)SIP消息头用来传递消息属性和修改消息意义。它们在语法和语义上与超文本传输协议(HTTP,Hyper Text Transfer Protocol)头域相同(实际上有些头就是借自HTTP),并且总是保持格式<名字><值>。
(3)消息体用于描述被初始的会话(例如,在多媒体会话中包括音频和视频编码类型,采样率等)。消息体能够显示在请求与响应中。SIP清晰区别了在SIP起始行和头中传递的信令信息与在SIP范围之外的会话描述信息。可能的体类型就包括本文将要描述的SDP会话描述协议。
为便于与现有SIP协议的兼容,本发明中对于消息分段指示信息可通过上述的SIP消息体或消息头中相应域携带,所述消息头或消息体中对应域可以是现有SIP/SDP协议中已有的域,也可以是扩展现有的SIP/SDP协议增加的域,发送时将所述的消息分段指示信息封装到SIP消息头或消息体中相应的域,接收时解析获取所述域中的消息分段指示信息,进而可根据所述的消息分段指示信息分段进行接收,下面以具体的例子进行说明。
本发明中消息分段指示信息可以采用多种形式,在本发明的一个具体实施例中,所述的消息分段指示信息可包括分段的会话发起协议消息的分段消息总长度、当前会话发起协议消息在分段消息总长度中的位置;具体实现时,本发明中所述的长度可以字节为单位,也可采用其他的数据单位,这里不再详细赘述。
根据上述的消息分段指示信息,接收端接收所述的分段传送的会话发起协议消息时,主要包括以下步骤在步骤s11,接收发送端发来的一个分段的会话发起协议消息;在步骤s12,解析获取当前接收的分段的会话发起协议消息中包括分段消息总长度以及当前消息在分段消息总长度中的位置的消息分段指示信息;在步骤s13,检查所述接收的当前会话发起协议消息在分段消息总长度中的位置是否已到达分段消息总长度的末端,若是,执行步骤s14,按照分段消息的总长度和组成分段消息的各个消息的位置顺序组成完整的消息内容,分段消息接收完毕,否则,返回执行步骤s11。
在本发明的另一个具体实施例中,所述的消息分段指示信息也可为分段的会话发起协议消息的分段消息总段数、当前会话发起协议消息的分段号;根据上述的消息分段指示信息,接收端接收所述的分段传送的会话发起协议消息时,主要包括以下步骤在步骤s21,接收发送端发来的一个分段的会话发起协议消息;在步骤s22,解析获取当前接收的分段的会话发起协议消息中包括分段消息总段数以及当前消息的分段号的消息分段指示信息;在步骤s23,检查所述接收的当前会话发起协议消息的分段号是否已到达分段消息总段数的末段,若是,执行步骤s24,按照分段消息的总段数和组成分段消息的各个消息的分段号顺序组成完整的消息内容,分段消息接收完毕,否则,返回执行步骤s21。
进一步为便于准确的接收消息,防止传送的SIP消息丢失,可增加信息指示,表示当前信息是否是分段消息的最后一段的指示,在本发明所述的消息分段指示信息可包括分段的会话发起协议消息的分段消息总长度、当前会话发起协议消息在分段消息总长度中的位置以及当前会话发起协议消息是否是分段消息的最后一段;根据上述的消息分段指示信息,接收端接收所述的分段传送的会话发起协议消息时,主要包括以下步骤在步骤s31,接收发送端发来的一个分段的会话发起协议消息;在步骤s32,解析获取当前接收的分段的会话发起协议消息中包括分段消息总长度、当前消息在分段消息总长度中的位置的消息分段指示信息以及当前消息是否是分段消息的最后一段的消息分段指示信息;在步骤s33,检测当前消息是否是分段消息的最后一段,若是,执行步骤s34,按照所述的分段消息总长度和组成分段消息的各个消息的位置组成完整的消息内容,分段消息接收完毕,否则返回执行步骤s31。
与上述同样的原理,本发明中所述的消息分段指示信息可包括
分段的会话发起协议消息的分段消息总段数、当前会话发起协议消息的分段号以及当前会话发起协议消息是否是分段消息的最后一段;根据上述的消息分段指示信息,接收端接收所述的分段传送的会话发起协议消息时,主要包括以下步骤在步骤s41,接收发送端发来的一个分段的会话发起协议消息;在步骤s42,解析获取当前接收的分段的会话发起协议消息中包括分段消息总段数以及当前消息的分段号的消息分段指示信息;在步骤s43,检测当前消息是否是分段消息的最后一段,若是,执行步骤s44,按照分段消息的总段数和组成分段消息的各个消息的分段号顺序组成完整的消息内容,分段消息接收完毕,否则,返回执行步骤s41。
具体应用到现有的网络中,由于网络中会发送需要分段传送的会话发起协议消息传送的消息内容,也会发送不需分段传送的会话发起协议消息传送的消息内容,因此,本发明中发送端需先检查待传送的会话发起协议消息传送的消息内容是否需要分段,例如当一个用户决定发送较长的一个消息内容给对方的时候,该用户的终端设备在构造SIP MESSAGE消息的时候就会发现消息内容无法用一条MESSAGE消息发送,即该消息内容需要分段传送,这时候该用户设备将这个消息内容放入一个缓存中,先计算位于缓存中的全部消息内容的总长度,然后根据MESSAGE消息支持的MTU对该消息内容进行分段,从头开始依次构造符合MTU要求的MESSAGE消息,该MESSAGE消息中携带分段传送的消息内容的总长度和当前传送的消息长度或者消息分段的总段数以及当前传送的消息的分段号,可能还会携带标识当前消息是否是最后一段的指示信息,以便接收端进行分段消息的完整接收。当使用消息内容的总长度和当前传送的消息长度的时候,虽然没有携带标识当前消息是否是最后一段的指示信息,但是接收端可以通过得到的分段消息的总长度和当前消息的长度的比较和换算确定当前收到的分段是否是最后一段,举例说,传送一个1500字节的消息,而一条SIP MESSAGE只能传送1300字节的消息,因此需要分段传送,第一段可以指示为0~1299/1500,表示总长度是1500字节,当前长度是从第一个字节到第1300个字节,第二段可以指示为1300~1499/1500,标识总长度是1500字节,当前长度是从1301字节到1500字节,接收该分段消息的终端可以通过(1499+1)除以1500得到1来判断当前分段是最后一段。在具体实现时,在某些情况下,消息的总长度和当前长度可能无法做到百分百的精确,只要做到在一定范围内符合就可以了。发送端将这些MESSAGE消息按照现有规范的规定发送。而对于不需分段传送的SIP协议消息,则直接发送该SIP协议消息。
网络中的代理服务器对收到的MESSAGE一般不做处理,只是根据路由信息进行路由,本发明中接收端检查接收的会话发起协议消息是否携带有消息分段指示信息,对于分段传送消息内容的SIP协议消息,当接收该消息的用户设备收到SIP协议消息的时候,解析到该消息消息头或消息体中相应域携带的消息分段指示信息,就知道当前的消息是一个完整消息的一部分。根据实现上的不同考虑,用户设备可以将收到的SIP消息携带的消息内容放进一个缓存中,检查该消息是否可以组成一个完整的消息内容,直到收到全部分段消息,就组合成一个完整的消息内容显示给用户看;用户设备也可以根据该域中携带信息的指示,按照顺序,收到被分段的第一条SIP消息,就将其中携带的消息内容取出并显示给用户,后续收到第二条再显示第二条,直到全部显示完,这个过程中,如果有后面的分段消息先到达的时候,需要被缓存,等待被顺序显示。
本发明中采用SIP协议传送消息的消息传送方法可应用在与其他消息传送网络的消息互通网络中,如与采用移动应用部分信令协议(MAP,MobileApplication Part)的消息传送网络互通消息,下面以具体的例子进行详细说明,本实施例中采用SIP协议的消息传送网络中基于IP协议传送消息,所述的采用MAP信令协议的消息传送网络中基于GSM/GPRS传送消息,以下简称采用SIP协议的基于IP协议的消息传送网络为基于IP协议的消息传送网络,采用MAP信令协议的基于GSM/GPRS的消息传送网络为基于GSM/GPRS的消息传送网络,首先说明基于IP协议的消息传送网络向基于GSM/GPRS的消息传送网络传送消息的流程,在所述的消息互通网络中进行消息传送主要包括以下步骤在步骤s111,基于IP协议的消息传送网络中发送端判断待发送的会话发起协议消息传送的消息内容是否需要分段,若判断为是,执行步骤s112,对该消息内容进行分段,由多个SIP消息分段传送,并在分段的各个SIP消息中携带消息分段指示信息,若判断为否,执行步骤s113,直接以一个SIP消息传送消息内容;在步骤s114,消息互通转换时,检查接收的SIP消息是否携带有消息分段指示信息,若携带有消息分段指示信息,则执行步骤s115,根据所述的消息分段指示信息接收并组合各个SIP消息分段传送的消息内容,若没有携带消息分段指示信息,则执行步骤s116,直接接收该SIP消息传送的消息内容;在步骤s117,判断所述的SIP消息传送的消息内容是否需要在基于GSM/GPRS的消息传送网络中分段传送,若需要则执行步骤s118,将所述的消息内容进行分段,由多个基于GSM/GPRS的消息传送网络中的MAP信令协议消息传送,否则执行步骤s119,直接由一个基于GSM/GPRS的消息传送网络中的MAP信令协议消息传送;在步骤s120,基于GSM/GPRS的消息传送网络中接收端检查接收的MAP信令协议消息是否为分段传送的消息,若判断为是,则执行步骤s121,按照分段方式接收并组合MAP信令协议消息传送的消息内容,否则,执行步骤s122,直接接收该MAP信令协议消息传送的消息内容。
上述在采用SIP协议的消息传送网络中传送分段的消息可参考前述说明,这里不再赘述。
同样的,对于基于GSM/GPRS的消息传送网络向基于IP协议的消息传送网络传送消息,本发明也可实现,具体包括如下流程在步骤s211,基于GSM/GPRS的消息传送网络中判断待发送的MAP信令协议消息传送的消息内容是否需要分段,若判断为是,执行步骤s212,对该消息内容进行分段,由多个MAP协议消息传送所述的消息内容,若判断为否,执行步骤s213,直接由一个MAP信令协议消息传送所述的消息内容;在步骤s214,消息互通转换时,检查接收的MAP信令协议消息是否为分段传送的消息,若判断为是,执行步骤s215,则按照分段方式接收并组合MAP信令协议消息传送的消息内容,否则,执行步骤s216,直接接收该MAP信令协议消息传送的消息内容;在步骤s217,判断所述的MAP信令协议传送的消息内容是否需要在基于IP协议的消息传送网络中分段传送,若需要则执行步骤s218,将消息内容进行分段,由多个SIP消息传送,所述各个SIP消息中携带消息分段指示信息,否则,执行步骤s219,直接由一个SIP消息传送消息内容;在步骤s220,基于IP协议的消息传送网络中接收端检查接收的SIP消息是否携带有所述的消息分段指示信息,若判断为是,则执行步骤s221,根据所述的消息分段指示信息接收并组合所述的各个SIP消息分段传送的消息内容,否则,执行步骤s222,直接接收该SIP消息传送的消息内容。
上述在采用SIP协议的消息传送网络中传送分段的消息可参考前述说明,这里也不再赘述。
下面以具体应用的例子进行说明。
当基于IP的消息业务和基于GSM/GPRS中的消息业务进行互通的时候,一个实现如下所述终端UEo使用传统消息业务发起消息的传送,终端UEt使用基于IP的消息业务接收,网络中负责GSM/GPRS消息业务和基于IP的消息业务的协议互通的消息转换实体在收到来自GSM/GPRS网络的MAP信令传送的消息之后,提取消息内容的同时,要检查这条消息是否是一条完整的消息,这个信息可以从MAP消息中得到。
如果是一条完整的消息,则按照现有技术,网络中负责GSM/GPRS消息业务和基于IP的消息业务的协议互通的实体使用基于IP的消息传输协议将消息内容发送给UEt;这里就是使用SIP MESSAGE消息。
如果不是一条完整的消息内容,而是一个较长的消息内容被分段之后其中的一段内容,则网络中负责GSM/GPRS消息业务和基于IP的消息业务的协议互通的实体在构造对应的SIP MESSAGE消息的时候,根据MAP信令消息中的分段指示,在SIP MESSAGE消息中也可加入分段指示,这样当接收方的用户设备收到SIP MESSAGE消息后,根据实现上的不同考虑,用户设备可以将收到的MESSAGE消息携带的消息内容放进一个缓存中,检查该消息是否可以组成一个完整的消息内容,直到收到全部分段消息内容,就组合成一个完整的消息内容显示给用户看;用户设备也可以根据该域中携带信息的指示,按照顺序,收到被分段的第一条MESSAGE,就将其中携带的消息内容取出并显示给用户,后续收到第二条再显示第二条,直到全部显示完,这个过程中,如果有后面的分段消息先到达的时候,需要被缓存,等待被顺序显示。
需要说明的是,以上应用不论是使用长度的方法指示还是使用段数的消息分段信息的指示,处理都是一样的,因此这里不再赘述。
综上,以上对SIP MESSAGE消息的改进可以很容易的和现有的MESSAGE消息的使用兼容,网络中的代理服务器一般不对内容进行检查和修改,因此这个域的加入对网络中的功能实体没有任何影响,对于收发双方,如果发送方支持这个用于携带消息分段指示信息的域,而接收方不支持,则接收的用户设备会当作不认识这个域,因此还是按照现有MESSAGE消息的使用方式来实施,不会影响现有MESSAGE消息的使用。如果发送方不支持这个用于携带消息分段指示信息的域,而接收方支持,则接收方的用户设备在收到的SIP MESSAGE中看不到这个域,因此还是按照现有MESSAGE消息的使用方法实施。因此该域的加入具有兼容性和互通性好的优势。
以上所述仅为本发明的优选实施方式,并不构成对本发明保护范围的限定。任何在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的权利要求保护范围之内。
权利要求
1.一种消息传送方法,用于基于会话发起协议的网络中传送消息,其特征在于,包括a、发送端在分段传送消息内容的各个会话发起协议消息中携带消息分段指示信息;b、接收端根据所述的消息分段指示信息接收所述的各个会话发起协议消息分段传送的消息内容。
2.根据权利要求1所述的消息传送方法,其特征在于,所述的消息分段指示信息包括分段的会话发起协议消息的分段消息总长度、当前会话发起协议消息在分段消息总长度中的位置;步骤b具体包括b11、接收发送端发来的一个分段的会话发起协议消息;b12、解析获取当前接收的分段的会话发起协议消息中包括分段消息总长度以及当前消息在分段消息总长度中的位置的消息分段指示信息;b13、检查所述接收的当前会话发起协议消息在分段消息总长度中的位置是否已到达分段消息总长度的末端,若是,按照分段消息的总长度和组成分段消息的各个消息的位置顺序组成完整的消息内容,分段消息接收完毕,否则,返回执行步骤b11。
3.根据权利要求1所述的消息传送方法,其特征在于,所述的消息分段指示信息包括分段的会话发起协议消息的分段消息总段数、当前会话发起协议消息的分段号;步骤b具体包括b21、接收发送端发来的一个分段的会话发起协议消息;b22、解析获取当前接收的分段的会话发起协议消息中包括分段消息总段数以及当前消息的分段号的消息分段指示信息;b23、检查所述接收的当前会话发起协议消息的分段号是否已到达分段消息总段数的末段,若是,按照分段消息的总段数和组成分段消息的各个消息的分段号顺序组成完整的消息内容,分段消息接收完毕,否则,返回执行步骤b21。
4.根据权利要求1所述的消息传送方法,其特征在于,所述的消息分段指示信息包括分段的会话发起协议消息的分段消息总长度、当前会话发起协议消息在分段消息总长度中的位置以及当前会话发起协议消息是否是分段消息的最后一段;步骤b具体包括b31、接收发送端发来的一个分段的会话发起协议消息;b32、解析获取当前接收的分段的会话发起协议消息中包括分段消息总长度、当前消息在分段消息总长度中的位置的消息分段指示信息以及当前消息是否是分段消息的最后一段的消息分段指示信息;b33、检测当前消息是否是分段消息的最后一段,若是,按照所述的分段消息总长度和组成分段消息的各个消息的位置组成完整的消息内容,分段消息接收完毕,否则返回执行步骤b31。
5.根据权利要求1所述的消息传送方法,其特征在于,所述的消息分段指示信息包括分段的会话发起协议消息的分段消息总段数、当前会话发起协议消息的分段号以及当前会话发起协议消息是否是分段消息的最后一段;步骤b具体包括b41、接收发送端发来的一个分段的会话发起协议消息;b42、解析获取当前接收的分段的会话发起协议消息中包括分段消息总段数以及当前消息的分段号的消息分段指示信息;b43、检测当前消息是否是分段消息的最后一段,若是,按照分段消息的总段数和组成分段消息的各个消息的分段号顺序组成完整的消息内容,分段消息接收完毕,否则,返回执行步骤b41。
6.根据权利要求1-5任一项所述的消息传送方法,其特征在于,所述的消息分段指示信息通过会话发起协议消息的消息头或消息体携带。
7.根据权利要求6所述的消息传送方法,其特征在于,步骤a之前还包括发送端检查待传送的会话发起协议消息传送的消息内容是否需要分段;若判断为是,对该消息内容进行分段,由多个会话发起协议消息分段传送,然后执行步骤a;若判断为否,直接以一个会话发起协议消息传送消息内容;步骤b之前还包括接收端检查接收的会话发起协议消息是否携带有消息分段指示信息,若携带有消息分段指示信息,则执行步骤b;若没有携带消息分段指示信息,则直接接收该会话发起协议消息传送的消息内容。
8.根据权利要求7所述的消息传送方法,其特征在于,所述的会话发起协议消息为即时消息。
9.一种消息传送方法,用于采用会话发起协议的消息传送网络向采用移动应用部分信令协议的消息传送网络传送消息,其特征在于,包括A1、采用会话发起协议的消息传送网络中发送端判断待发送的会话发起协议消息传送的消息内容是否需要分段,若判断为是,对该消息内容进行分段,由多个会话发起协议消息分段传送,并在分段的各个会话发起协议消息中携带消息分段指示信息,若判断为否,直接以一个会话发起协议消息传送消息内容;B1、消息互通转换时,检查接收的会话发起协议消息是否携带有消息分段指示信息,若携带有消息分段指示信息,则根据所述的消息分段指示信息接收并组合各个会话发起协议消息分段传送的消息内容,若没有携带消息分段指示信息,则直接接收该会话发起协议消息传送的消息内容;C1、判断所述的会话发起协议消息传送的消息内容是否需要在采用移动应用部分信令协议的消息传送网络中分段传送,若需要则将所述的消息内容进行分段,由多个移动应用部分信令协议消息传送,否则直接由一个移动应用部分信令协议消息传送;D1、采用移动应用部分信令协议的消息传送网络中接收端检查接收的移动应用部分信令协议消息是否为分段传送的消息,若判断为是,则按照分段方式接收并组合移动应用部分信令协议消息传送的消息内容,否则,直接接收该移动应用部分信令协议消息传送的消息内容。
10.一种消息传送方法,用于采用移动应用部分信令协议的消息传送网络向采用会话发起协议的消息传送网络传送消息,其特征在于,包括A2、采用移动应用部分信令协议的消息传送网络中判断待发送的移动应用部分信令协议消息传送的消息内容是否需要分段,若判断为是,对该消息内容进行分段,由多个移动应用部分信令协议消息传送所述的消息内容,若判断为否,直接由一个移动应用部分信令协议消息传送所述的消息内容;B2、消息互通转换时,检查接收的移动应用部分信令协议消息是否为分段传送的消息,若判断为是,则按照分段方式接收并组合移动应用部分信令协议消息传送的消息内容,否则,直接接收该移动应用部分信令协议消息传送的消息内容;C2、判断所述的移动应用部分信令协议传送的消息内容是否需要在采用会话发起协议的消息传送网络中分段传送,若需要则将消息内容进行分段,由多个会话发起协议消息传送,所述各个会话发起协议消息中携带消息分段指示信息,否则直接由一个会话发起协议消息传送消息内容;D2、采用会话发起协议的消息传送网络中接收端检查接收的会话发起协议消息是否携带有所述的消息分段指示信息,若判断为是,则根据所述的消息分段指示信息接收并组合所述的各个会话发起协议消息分段传送的消息内容,否则,直接接收该会话发起协议消息传送的消息内容。
全文摘要
本发明公开一种消息传送方法,用于基于会话发起协议的网络中传送消息,该方法主要包括a.发送端在分段传送消息内容的会话发起协议消息SIPMESSAGE中携带消息分段指示信息;b.接收端根据所述的消息分段指示信息接收所述的各个会话发起协议消息分段传送的消息内容。本发明还公开了应用的另外两种消息传送方法。本发明通过消息分段指示信息的使用,使得长度超出最大数据传送单位的消息内容能够分段传送而不影响内容的连贯性,而且不增加对网络资源和空中接口资源的额外使用,有利于基于IP的消息业务的推广。
文档编号H04L12/58GK1870622SQ200510034738
公开日2006年11月29日 申请日期2005年5月24日 优先权日2005年5月24日
发明者武亚娟 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1