一种基于会话初始化协议的数据传输方法和相应装置的制作方法

文档序号:7871107阅读:266来源:国知局
专利名称:一种基于会话初始化协议的数据传输方法和相应装置的制作方法
技术领域
本发明涉及通信技术领域,具体涉及一种基于会话初始化协议的数据传输方法和
相应装置。
背景技术
消息业务属于目前移动通信中的数字业务,随着通信技术的发展,尤其是互联网协议多媒体子系统(IMS, IP Multimedia Subsystem)域的出现。消息业务所提供的服务内容也日益丰富。其中,消息的种类可以包括但不限于:文字消息,图片消息,和文件。在基于IMS网络的富媒体通信组件(RCS,Rich Communication Suite)业务中,消息业务中的文件传输是以会话初始化协议(SIP Session Initiation Protocol)结合消息会话传输协议(MSRP, Message Session Rely Protocol)的方式实现的。其中,主叫、被叫以及即时通讯服务器(IM, Instant Messenger, Sever)中的应用服务器(AS, ApplicationServer),通过SIP中的邀请消息(INVITE)进行信令会话的创建,同时,通过SIP消息中携带的会话描述协议(SDP, Session Description Protocol)信息进行媒体层会话协商并最终建立MSRP通道用于文件传输。在RCS规范中,对于文件传输(File Transfer)的处理流程主要包括:主叫用户针对整个文件发起文件传输请求(如发送INVITE消息),通过IMS网络传输到被叫用户,被叫用户回复确认消息(如2000K消息)经由MS网络发送给主叫用户;主叫用户通过MS网络与被叫用户建立基于TCP的MSRP传输通道,在该MSRP传输通道上传输文件;当主叫用户的文件传输完成后,主叫用户发送结束消息(如BYE消息)通过MS网络传输到被叫用户,完成文件传输。现有技术中,主叫用户和被叫用户通过MS网络传输文件时,如果文件较大,文件传输时间较长,被叫用户接收文件需要等待的时间较长;尤其是网络状况不佳时,长时间传输很容易导致传输失败。

发明内容
本发明实施例提供了一种基于会话初始化协议的数据传输方法和相应装置,可以加快文件传输速度并充分利用网络带宽,克服现有技术中文件传输效率低的问题。本发明实施例提供了一种基于会话初始化协议的数据传输方法,包括:根据主叫设备发起的会话初始化协议会话,即时消息服务器分别与主叫设备和被叫设备建立会话初始化协议会话,且分别为主叫设备和被叫设备分配并发送建立多于一个消息会话传输协议通道的信息;其中,主叫设备发起的会话初始化协议会话中还包括有数据包的数量和当前数据包的序号;根据所述消息会话传输协议通道的信息,所述即时消息服务器分别与主叫设备和被叫设备都建立多于一个消息会话传输协议通道;在所述多于一个消息会话传输协议通道中转发主叫设备发送给被叫设备的数据包。本发明实施例还提供了一种基于会话初始化协议的数据传输方法,包括:将需要传输给被叫设备的文件封装成多于一个的数据包;通过互联网协议多媒体子系统网络,主叫设备与即时消息服务器建立会话初始化协议会话,触发所述即时消息服务器与所述被叫设备也建立会话初始化协议会话;根据建立的会话初始化协议会话,所述即时消息服务器分别与主叫设备和被叫设备进行媒体层会话协商;其中,在进行媒体层会话协商中,即时消息服务器为主叫设备和所述被叫设备分别分配并发送建立多于一个消息会话传输协议通道的信息;其中,主叫设备发起的会话初始化协议会话中还包括有数据包的数量和当前数据包的序号;根据所述消息会话传输协议通道的信息,所述主叫设备与即时消息服务器建立多于一个的消息会话传输协议通道,且触发所述即时消息服务器与被叫设备建立多于一个的消息会话传输协议通道;将所述数据包通过所述主叫设备与即时消息服务器建立多于一个的消息会话传输协议通道,以及所述即时消息服务器与被叫设备建立多于一个的消息会话传输协议通道,传输给被叫设备。本发明实施例还提供了 一种服务器,所述服务器包括:分配信息单元,建立通道单元,和转发单元,所述分配信息单元,用于根据主叫设备发起的会话初始化协议会话,分别与主叫设备和被叫设备建立会话初始化协议会话,且分别为主叫设备和被叫设备分配并发送建立多于一个消息会话传输协议通道的信息;其中,主叫设备发起的会话初始化协议会话中还包括有数据包的数量和当前数据包的序号;所述建立通道单元,用于根据所述消息会话传输协议通道的信息,分别与主叫设备和被叫设备都建立了多于一个消息会话传输协议通道;所述转发单元,用于在所述多于一个消息会话传输协议通道中转发主叫设备发送给被叫设备的数据包。本发明实施例还提供了一种终端,所述终端包括:封装单元,建立会话单元,第一建立单元,和传输单元,所述封装单元,用于将需要传输给被叫设备的文件封装成多于一个的数据包;所述建立会话单元,通过互联网协议多媒体子系统网络,主叫设备与即时消息服务器建立会话初始化协议会话,触发所述即时消息服务器与所述被叫设备也建立会话初始化协议会话;根据建立的会话初始化协议会话,所述即时消息服务器分别与主叫设备和被叫设备进行媒体层会话协商;其中,在进行媒体层会话协商中,即时消息服务器为主叫设备和所述被叫设备分别分配并发送建立多于一个消息会话传输协议通道的信息;其中,主叫设备发起的会话初始化协议会话中还包括有数据包的数量和当前数据包的序号;所述第一建立单元,用于与即时消息服务器建立多于一个的消息会话传输协议通道,且触发所述即时消息服务器与被叫设备建立多于一个的消息会话传输协议通道;所述传输单元,用于将所述数据包通过所述与即时消息服务器建立多于一个的消息会话传输协议通道,以及所述即时消息服务器与被叫设备建立多于一个的消息会话传输协议通道,传输给被叫设备。
从以上技术方案可以看出,本发明实施例主叫设备将需要传输给被叫设备的文件封装成为多个数据包,并且发起SIP会话,使得IM Sever根据SIP会话中的信息,为主叫设备和被叫设备分配建立多于一个MSRP通道的信息,在主叫设备与被叫设备建立多于一个的MSRP通道后,将多个数据包通过不同的MSRP通道传输给被叫设备,与现有技术相比,大大提高了文件传输的效率,同时,避免因为在单一的MSRP通道上传输较大文件导致文件传输失败,为用户提供了更好的体验。


为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。图1是本发明实施例一提供的一种基于会话初始化协议的数据传输方法流程示意简图;图2所示为MS网络示意简图;图3所示为MS网络示意简图;图4是本发明实施例二提供的一种基于会话初始化协议的数据传输方法流程示意简图;图5是本发明实施例三提供的一种基于会话初始化协议的数据传输方法流程示意简图;图6是本发明实施例四提供的一种基于会话初始化协议的数据传输方法流程示意简图;图7是本发明实施例提供一种服务器示意简图;图8是本发明实施例提供一种终端示意简图。
具体实施例方式本发明实施例提供的一种基于会话初始化协议的数据传输方法和相应装置,针对现有技术中的缺点,即主叫用户和被叫用户通过頂S网络传输文件时,在建立的一个MSRP通道中传输数据量大的文件时,文件传输时间长,文被叫用户接收文件需要等待的时间较长;尤其是网络状况不佳时,长时间传输很容易导致传输失败。本发明提供的技术方案采用建立多个MSRP传输通道的文件传输机制,可以尽可能的利用手机带宽,加速文件的传输效率,防止文件传输时间过长导致传输失败,给用户提供更好的用户体验。实施例一本发明实施例提供了一种基于会话初始化协议的数据传输方法,如图1所示,该方法包括:步骤S100,将需要传输给被叫设备的文件封装成多于一个的数据包;主叫设备(假设为UEA,具体可以是手机,电脑等终端设备)在发送文件之前,可以将文件拆分为多个小的数据包,通过頂S网络,以数据包为单位,将数据量大的文件分为数据量相对小的数据包发送给被叫设备(假设为UEB),在此过程中,本发明实施实施例通过建立多个数据通道将多个数据量相对较小的数据包发送给被叫设备。步骤S102,通过MS网络,主叫设备与頂Sever建立SIP会话,触发MSever与所述被叫设备也建立SIP会话;根据建立的SIP会话,IM Sever分别与主叫设备和被叫设备进行媒体层会话协商;其中,在进行媒体层会话协商中,頂Server为主叫设备和所述被叫设备分别分配并发送建立多于一个MSRP通道的信息;其中,主叫设备发起的SIP会话中还包括有数据包的数量和当前数据包的序号;为了便于理解,如图2和图3所示为MS网络示意简图,MS网络主要包括:頂Sever和MS核心网(MS Core),其中,MS核心网通常又可以包括:代理呼叫会话控制功能(P_CSCF, Proxy-Call Session Control Function),问询呼叫会话控制功能(I_CSCF,Interrogation-Call Session Control Function),服务呼叫会话控制功能(S_CSCF,Serving-Call Session Control Function),和归属用户服务器(HSS, Home SubscriberServer).其中MS网络中各实体的具体功能与现有技术相同,此处不详述。还需要说明的是,如图2和图3所示为一种简单的MS网络,但不限于当前举例的MS网络,基于该简单IMS网络的变形都应该理解为受本发明实施例的限制。主叫设备在有文件传输给被叫设备时,可以主动的发起SIP会话,与现有技术相类似的在主叫设备与被叫设备建立的SIP会话中,以及在SIP会话中进行媒体层会话协商时,在MS网络中的頂Sever不仅参与SIP会话中的转发功能,还为后续主叫设备与頂Sever建立多于一个MSRP通道,以及MSever与被叫设备建立多于一个MSRP通道,分配并发送MSRP通道的信息,并最终建立多个主叫设备与被叫设备之间的MSRP通道。还需要理解的是,主叫设备发起的SIP会话中包括有数据包的数量和当前数据包的序号,用途可以使得被叫设备在SIP会话中获知文件大小的信息,能够准确的将主叫设备发送的数据包的数量,将文件还原。其中,数据包的数量和当前数据包的序号具体可以使在主叫设备发起的邀请消息的会话描述协议(SDP, Session Description Protocol)中携带的。步骤S104,根据所述MSRP通道的信息,与即时消息服务器建立多于一个的MSRP通道,且触发所述即时消息服务器与被叫设备建立多于一个的MSRP通道;其中,在主叫设备发起建立的SIP会话中,頂Sever为主叫设备分配MSRP信息,与主叫设备建立多于一个的MSRP通道,在该SIP会话中,頂Sever也为被叫设备分配MSRP信息,与被叫设备也建立多于一个的MSRP通道。其中,頂Sever与主叫设备建立的MSRP通道的数量,与頂Sever与被叫设备建立的MSRP通道的数量相同。步骤S106,将所述数据包通过所述与即时消息服务器建立多于一个的MSRP通道,以及所述即时消息服务器与被叫设备建立多于一个的MSRP通道,传输给被叫设备。主叫设备将数据包通过建立多于一个MSRP通道发送给被叫设备。本发明实施例提供的一种基于会话初始化协议的数据传输方法,主叫设备将需要传输给被叫设备的文件封装成为多个数据包,并且发起SIP会话,使得IM Sever根据SIP会话中的信息,为主叫设备和被叫设备分配建立多于一个MSRP通道的信息,在主叫设备与被叫设备建立多于一个的MSRP通道后,将多个数据包通过不同的MSRP通道传输给被叫设备,与现有技术相比,大大提高了文件传输的效率,同时,避免因为在单一的MSRP通道上传输较大文件导致文件传输失败发生概率,为用户提供了更好的体验。
实施例二本发明实施例提供了一种基于会话初始化协议的数据传输方法,该方法与实施例提供的方法是基于一个相同的设计构思,其中,实施例一是以主叫设备为执行主体执行的操作,而该实施例是以頂S网络中的IM Sever为执行主体,具体说明的一种技术方案。 如图4所示,该方法包括:步骤S200,根据主叫设备发起的SIP会话,分别与主叫设备和被叫设备建立SIP会话,且分别为主叫设备和被叫设备分配并发送建立多于一个MSRP通道的信息;其中,主叫设备发起的SIP会话中还包括有数据包的数量和当前数据包的序号;所述数据包是指主叫设备传输给被叫设备的文件封装成多于一个的数据包;其中,頂Sever为主叫设备和被叫设备分配并发送建立多于一个MSRP通道的信息,具体可以是在接收到主叫设备发送的邀请消息(INVITE)中,增加为被叫设备分配的MSRP消息,使得被叫设备获取到该MSRP消息后可以与頂Sever建立MSRP通道;在被叫设备接收到邀请信息后,将与主叫设备协商的信息通过响应消息(例如:200ok)发送给主叫设备,在发送的过程中,IM Sever接收到响应消息后,在响应消息中可以增加为主叫设备分配的MSRP消息,使得主叫设备获取到该MSRP消息后可以与頂Sever建立MSRP通道。需要理解的是,頂Sever可以识别出SIP会话中的请求建立MSRP通道的数量,例如:如果UEA是针对每个数据包发起一个SIP会话的,那么頂Sever可以理解为为每个数据包建立一个MSRP通道传输该数据包;获知UEA是针对一个文件发起一个SIP会话,IMSever在转发SIP会话相关消息中可以识别出UEA需要建立的MSRP通道数量,因此,在SIP会话中为主被叫设备分别分配的建有多个MSRP通道的对应MSRP消息。步骤S202,根据所述MSRP通道的信息,分别与主叫设备和被叫设备都建立了多于一个MSRP通道;其中,根据所述MSRP通道的信息,为主叫设备与被叫设备建立了多于一个MSRP通道,具体可以包括:根据所述MSRP通道的信息,与主叫设备建立多于一个MSRP通道;根据所述MSRP通道的信息,与被叫设备建立多于一个MSRP通道。步骤S204,在所述多于一个MSRP通道中转发主叫设备发送给被叫设备的数据包。本发明实施例提供的一种基于会话初始化协议的数据传输方法,主叫设备将需要传输给被叫设备的文件封装成为多个数据包,并且发起SIP会话,使得IM Sever根据SIP会话中的信息,为主叫设备和被叫设备分配建立多于一个MSRP通道的信息,在主叫设备与被叫设备建立多于一个的MSRP通道后,将多个数据包通过不同的MSRP通道传输给被叫设备,与现有技术相比,大大提高了文件传输的效率,同时,避免因为在单一的MSRP通道上传输较大文件导致文件传输失败发生概率,为用户提供了更好的体验。实施例三本发明实施例提供的一种基于会话初始化协议的数据传输方法,该实施例与实施例一、二相似,是一种更优化方法,主要是针对当主叫设备(以UEA为例)将文件拆分为多个数据包时,UEA对每个数据包都发起SIP会话,且为每个数据包都建立了一个MSRP通道。如图5所示,该方法包括:步骤SI,UEA判断需要传输给被叫设备的文件大小是否超过预置值,如果是,需要传输给被叫设备的文件封装成多于一个的数据包;步骤S2至S3,UEA针对每个数据包向頂Sever发起INVITE请求建议SIP会话,并在SDP中携带数据包的数量和当前数据包序号;在此过程中,INVITE经过了 MS网络中的MS核心网的转发,发送至頂Sever ;后续步骤中,頂Sever中发送给被叫设备(UEB)的INVITE也经过MS网络中的MS核心网,被叫侧和主叫侧使用的MS核心网可以相同的MS核心网,也可以是不相同的。UEA发送给頂Sever的INVITE的具体描述也可以如下所示,该INVITE仅是为了便于理解的举例,并非对本发明实施例的限制,且,该INVITE中省略了非关键头域,包括:INVITE sip:+393488592599ihuawe1.com SIP/2.0From:〈sip:+393459772895@huawe1.com〉;tag=5188To:〈sip:+393488592599@huawe1.com〉Contact:〈sip: 198.199.201.208:13234; transport=udp>; +g.0ma.sip-1mUser-Agent:1M-client/OMAl.0Accept-Contact: ; +g.0ma.sip-1mContent-Type: application/sdpv=0o=-28908445262890842807IN IP4198.199.201.208s=-c=IN IP4198.199.201.208t=00m=messagel4546TCP/MSRP*a=sendonly a=accept-types: message/cpima=accept-wrapped-types:氺a=path:msrp://198.199.201.208:14546/967517881;tcpa=fiIe-selector:name:〃flower3.jpg〃type:application/Octet-Streamsize:49818a=file-transfer-1d:D6dl6dl860EAG8E8xGXL7gTrd9Gmu93Xa=fiIe-disposition: rendera=fiIe-date: creation:"Fri,03Sep201010:58:01GMT〃a=file-split-1nfo:currentpkg:ltotalpkg:8其中,该消息的内容是一个SDP的请求消息(即Content-Type: appl ication/sdp),该INVITE消息中增加了数据包的数量和当前数据包的序号(即a=file-split-1nfo:currentpkg:ltotalpkg:8)。步骤S4至S5,IM Sever收到UEA发送的INVITE消息后,向UEB转发该INVITE消息,发送给UEB的INVITE消息中包括有数据包的数量和当前数据包的序号(即a=file-split-1nfo: currentpkg: ltotalpkg:8);同时,IM Sever 发送给 UEB 的 INVITE 消息中可以包括有:IM Sever 与 UEB 建立 MSRP 通道的信息(即 a=path: msrp://198.199.201.208:14546/967517881; tcp)。即 IM Server 为了和 UEB 建立 MSRP 通道,在 IMServer 侧分配一个 IP 地址和端口用于建立UEB与頂Server的连接,此处的内容就是IMServer分配的IP地址和端口信息。步骤S6 至 S7,UEB 收到 INVITE 消息后,响应 IM Sever2000K。步骤S8至S9,IM Sever根据UEB发送的2000K,向UEA发送2000K,在该2000K中,携带頂Sever与UEA建立MSRP通道的信息,如下所示为省略了部分头域信息的2000K的消息,仅为便于理解的举例,并非对本发明实施例的限制,包括:SIP/2.02000KFrom:〈sip:+393459772895@huawe1.com〉;tag=7685To:〈sip:+393488592599@huawe1.com〉;tag=396ecfecServer:Msg-serv/3GPPContact:〈sip: 198.199.201.223:5060; Ir〉P-Access-Network-1nfo:1EEE-802.11;"location_info=198.199.201.208"MessageID:1681541
Content-Length: 486Content-Type: application/sdpv=0o=-28908445262890842807IN IP4198.199.201.223s=-c=IN IP4198.199.201.223t=00m=message7654TCP/MSRP*a=accept-types: message/CPIMa=accept-wrapped-types:氺a=fiIe-date: creation:"Fri,03Sep201010:02:48GMT"a=fiIe-disposition: rendera=f iIe-selector: name:^butterfly.jpg〃type:application/Octet-Strearnsize:38020a=file-transfer-1d:00d45240tI5d8060qQh0o67C59b7d8E2a=path:msrp://198.199.201.223:7654/hwncdtUbnW9xPm;tcpa=receiveonlya=sendonlya=setup: passive其中,该2000K中携带IM Sever与UEA建立MSRP通道的信息,即a=path:msrp://198.199.201.223:7654/hwncdtUbnW9xPm;tcp。经过上述步骤S2至S9,IM Sever分别与UEA和UEB都建立了 SIP会话,基于已经建立的SIP会话,UEA与IM Sever建立MSRP通道,且IM Sever与UEB之间也建立MSRP通道。即步骤S10,UEA 与 IM Sever 建立 MSRP 通道;步骤S11,頂Sever与UEB建立MSRP,UEA将序号为第一的数据包通过步骤SlO和Sll分别建立的MSRP通道发送给UEB。步骤S12,当UEA发送了第一数据包后,向頂Sever发送结束SIP会话消息(BYE),UEA发送BYE用于通知UEA该第一数据包传输完毕,且断开主叫设备与頂Sever之间为第一数据包建立的MSRP通道。頂Sever在将第一数据包通过MSRP通道传输给UEB后,也发生BYE给UEB,断开頂Sever与被叫设备之间的第一数据包建立的MSRP通道。同理,UEA中的每一个数据包都发起SIP会话,建立MSRP通道传输,如上步骤S2至Sll说明了传输第一数据包的具体操作过程,其他每个数据包都与与第一个数据包相同传输过程,即为每个数据包都建立MSRP通道,详细过程可以根据第一数据包的传输过程容易得知。步骤S13,UEB接收到数据包后,根据数据包中的数据包数量和序号,可以判断出数据包是否已经传输完成,如果判断数据包已经传输完成,将数据包合并为完整的文件显示给用户。本发明实施例中建立的主叫设备与頂Sever的MSRP通道的数量,以及被叫设备与頂Sever的通道的数据,分别都与所述数据包的数量相同;每个数据包触发主叫设备与所述頂Sever分别建立SIP会话,且触发頂Sever与所述被叫设备也建立与数据包数量相同的SIP会话;根据建立的每个SIP会话,頂Sever分别与主叫设备和被叫设备进行媒体层会话协商,在进行媒体层会话协商中,IM Server在每个SIP会话中为主叫设备和所述被叫设备分别分配并发送建立一个MSRP通道的信息,其中,每个数据包中至少包括:所述数据包的数量和当前数据包的序号;本实施例中主叫设备根据所述MSRP通道的信息,使得主叫设备与即时消息服务器建立与所述数据包的数量相同的MSRP数据通道,且触发所述即时消息服务器与被叫设备建立所述数据包的数量相同的MSRP数据通道;使得每个数据包占用一个主叫设备与即时消息服务器建立的MSRP数据通道,和占用一个所述即时消息服务器与被叫设备建立的MSRP数据通道,将所述数据包传输给被叫设备。本发明实施例提供的一种基于会话初始化协议的数据传输方法,主叫设备将需要传输给被叫设备的文件封装成为多个数据包,并且发起SIP会话,使得IM Sever根据SIP会话中的信息,为主叫设备和被叫设备分配建立多于一个MSRP通道的信息,在主叫设备与被叫设备建立多于一个的MSRP通道后,将多个数据包通过不同的MSRP通道传输给被叫设备,与现有技术相比,大大提高了文件传输的效率,同时,避免因为在单一的MSRP通道上传输较大文件导致文件传输失败发生概率,为用户提供了更好的体验。实施例四本发明实施例提供的一种基于会话初始化协议的数据传输方法,该方法与实施例三都是基于相同的发明构思,不同在于,本实施例不再针对每一个数据包发起一个SIP会话,并建立一个MSRP通道,而是基于一个SIP会话,UEA与頂Sever之间,頂Sever与UEB之间都建立多个MSRP通道。该方案相比于实施例三,由于减少了 UEA与UEB建立多个SIP会话,仅建立一个SIP会话,大大减少了消耗的时间和流量。如图6所示,该方法包括:步骤Al,UEA判断需要传输给被叫设备的文件大小是否超过预置值,如果是,需要传输给被叫设备的文件封装成多于一个的数据包;
步骤A2至A3,UEA针对向頂Sever发起INVITE请求建议SIP会话,并在SDP中携带数据包的数量和当前数据包序号;在此过程中,INVITE经过了 MS网络中的MS核心网的转发,发送至頂Sever ;后续步骤中,頂Sever中发送给被叫设备(UEB)的INVITE也经过MS网络中的MS核心网,被叫侧和主叫侧使用的MS核心网可以相同的MS核心网,也可以是不相同的。UEA发送给頂Sever的INVITE的具体描述也可以如下所示,该INVITE仅是为了便于理解的举例,并非对本发明实施例的限制,且,该INVITE中省略了非关键头域,包括:INVITE sip:+393488592599ihuawe1.com SIP/2.0From:<sip:+393459772895ihuawe1.com〉;tag=5188To:〈sip:+393488592599ihuawe1.com〉Contact:〈sip:198.199.201.208:13234;transport=udp>;+g.0ma.sip-1mUser-Agent:1M-client/OMAl.0Accept-Contact: ; +g.0ma.sip-1mContent-Type: application/sdpv=0o=-28908445262890842807IN IP4198.199.201.208s=-c=IN IP4198.199.201.208t=00m=messagel4546TCP/MSRP*a=sendonlya=accept-types: message/cpima=accept_wrapped_types:氺a=path:msrp://198.199.201.208:14546/967517881,msrp://198.199.201.208:14547/967517881;tcpa=fiI e-selector:name:"flower3.jpg〃type:application/Octet-Strearnsize:49818a=file-transfer-1d:D6dl6dl860EAG8E8xGXL7gTrd9Gmu93Xa=fiIe-disposition: rendera=file-date:creation:"Fri, 03Sep201010:58:01GMT"a = file-split-1nfo:currentpkg:ltotalpkg:8其中,该消息的内容是一个SDP的请求消息(即Content-Type: appl ication/sdp),该INVITE消息中增加了数据包的数量和当前数据包的序号(即a=file-split-1nfo:currentpkg: ltotalpkg:8)。该消息中还携带UEA与IM Sever用于建立MSRP通道的信息,即:a=path:msrp://198.199.201.208:14546/967517881,msrp://198.199.201.208:14547/967517881;tcp。步骤A4至A5,IM Sever收到UEA发送的INVITE消息后,向UEB转发该INVITE消息,发送给UEB的INVITE消息中包括有数据包的数量和当前数据包的序号(即a=file-split_info:currentpkg: ltotalpkg:8);同时,IM Sever 发送给 UEB 的 INVITE 消息中可以包括有:IM Sever 与 UEB 建立多个 MSRP 通道的信息(即 a=path: msrp://198.199.201.208:14546/967517881,msrp://198.199.201.208:14547/967517881;tcp)。即 IM Server 和 UEB建立MSRP通道时,IM Server侧分配多个IP地址和端口用于建立连接。步骤 S6 至 S7,UEB 收到 INVITE 消息后,响应 IM Sever2000K。 步骤A8至A9,IM Sever根据UEB发送的2000K,向UEA发送2000K,在该2000K中,携带頂Sever与UEA建立多个MSRP通道的信息,如下所示为省略了部分头域信息的2000K的消息,仅为便于理解的举例,并非对本发明实施例的限制,包括:SIP/2.02000KFrom:〈sip:+393459772895@huawe1.com〉;tag=7685To:〈sip:+393488592599@huawe1.com〉;tag=396ecfecServer: Msg-serv/3GPPContact:〈sip: 198.199.201.223:5060; Ir〉P-Access-Network-1nfo:1EEE-802.11;"location_info=198.199.201.208"MessageID: 1 681541Content-Length: 486Content-Type: application/sdpv=0o=-28908445262890842807IN IP4198.199.201.223s=-c=IN IP4198.199.201.223t=00m=message7654TCP/MSRP*a=accept-types: message/CPIMa=accept-wrapped-types:氺a=file-date:creation:"Fri,03Sep201010:02:48GM T〃a=file-disposition: rendera=f iIe-selector: name:^butterfly.jpg〃type:application/Octet-Streamsize:38020a=file-transfer-1d:00d45240tI5d8060qQh0o67C59b7d8E2a=path: msrp: //198.199.201.223:7654/hwncdtUbnW9xPm,msrp://198.199.201.223:7655/hwncdtUbnW9xPm; tcpa=receiveonlya=sendonlya=setup: passive其中,该2000K中携带頂Sever与UEA建立MSRP通道的信息,即a=path:msrp://198.199.201.223:7654/hwncdtUbnW9xPm, msrp://198.199.201.223:7655/hwncdtUbnW9xPm;tcp。经过上述步骤A2至A9,頂Sever分别与UEA和UEB都建立了 SIP会话,基于已经建立的SIP会话,UEA与IM Sever建立多个MSRP通道,且MSever与UEB之间也建立多个MSRP通道,在本实施例中以2个MSRP通道为例进行说明。即步骤A10,UEA与頂Sever建立2个MSRP通道,頂Sever与UEB建立2个MSRP,使得UEA将数据包通过UEA与頂Sever建立的MSRPl、MSRP3通道,以及頂Sever与UEB建立的MSRP2、MSRP4通道(即UEA与頂Sever, IM Sever与UEB分别建立的2个MSRP通道)传输到UEB。步骤All,当UEA发送完成所有数据包后,向頂Sever发送结束SIP会话消息(BYE), UEA发送BYE用于通知頂Sever所有数据包传输完毕,且断开与頂Sever的所有MSRP通道。頂Sever在将所有数据传输给UEB后,也发送BYE给UEB,断开頂Sever与被叫设备之间所有MSRP通道。步骤A12,UEB接收到数据包后,根据数据包中的数据包数量和序号,可以判断出数据包是否已经传输完成,如果判断数据包已经传输完成,将数据包合并为完整的文件显示给用户。本发明实施例说明的方案中建立的MSRP通道的数量小于所述数据包的数量;因此,主叫设备根据所述MSRP通道的信息,主叫设备与即时消息服务器建立多于一个的MSRP通道,且所述MSRP数据通道小于所述数据包的数量;且触发所述即时消息服务器与被叫设备建立多于一个的MSRP通道,且所述MSRP数据通道小于所述数据包的数量;使得主叫设备将所述数据包通过所述主叫设备与即时消息服务器建立多于一个的MSRP通道,以及所述即时消息服务器与被叫设备建立多于一个的MSRP通道,传输给被叫设备,其中,至少有一个MSRP数据通道上传输多于一个数据包。本发明实施例提供的一种基于会话初始化协议的数据传输方法,主叫设备将需要传输给被叫设备的文件封装成为多个数据包,并且发起SIP会话,使得IM Sever根据SIP会话中的信息,为主叫设备和被叫设备分配建立多于一个MSRP通道的信息,在主叫设备与被叫设备建立多于一个的MSRP通道后,将多个数据包通过不同的MSRP通道传输给被叫设备,与现有技术相比,大大提高了文件传输的效率,同时,避免因为在单一的MSRP通道上传输较大文件导致文件传输失败发生概率,为用户提供了更好的体验。实施例五本发明实施例提供一种服务器,如图7所示,该服务器包括:分配信息单元701,建立通道单元702,和转发单元703 ;所述分配信息单元701,用于根据主叫设备发起并建立的与被叫设备之间的SIP会话,为主叫设备和被叫设备分配并发送建立多于一个MSRP通道的信息;其中,主叫设备发起的SIP会话中还包括有数据包的数量和当前数据包的序号;所述数据包是指主叫设备传输给被叫设备的文件封装成多于一个的数据包;所述建立通道单元702,用于根据所述MSRP通道的信息,分别与主叫设备和被叫设备都建立了多于一个MSRP通道;所述转发单元703,用于在所述多于一个MSRP通道中转发主叫设备发送给被叫设备发送的数据包。优选的,所述建立通道单元702包括:第一建立通道单元7021,和第二建立通道单元 7022,所述第一建立通道单元7021,用于根据所述MSRP通道的信息,与主叫设备建立多于一个MSRP通道;所述第二建立通道单元7022,用于根据所述MSRP通道的信息,与被叫设备建立多于一个MSRP通道。本发明实施例提供的一种服务器,主叫设备将需要传输给被叫设备的文件封装成为多个数据包,并且发起SIP会话,使得该服务器根据SIP会话中的信息,为主叫设备和被叫设备分配建立多于一个MSRP通道的信息,在主叫设备与被叫设备建立多于一个的MSRP通道后,将多个数据包通过不同的MSRP通道传输给被叫设备,与现有技术相比,大大提高了文件传输的效率,同时,避免因为在单一的MSRP通道上传输较大文件导致文件传输失败发生概率,为用户提供了更好的体验。实施例六本发明实施例还提供一种终端,如图8所示,所述终端包括:封装单元801,建立会话单元802,第一建立单元803,和传输单元804,所述封装单元801,用于将需要传输给被叫设备的文件封装成多于一个的数据包;所述建立会话单元802,用于通过MS网络,主叫设备与頂Sever建立SIP会话,触发頂Sever与所述被叫设备也建立SIP会话;根据建立的SIP会话,IM Sever分别与主叫设备和被叫设备进行媒体层会话协商;其中,在进行媒体层会话协商中,頂Server为主叫设备和所述被叫设备分别分配并发送建立多于一个MSRP通道的信息;其中,主叫设备发起的SIP会话中还包括有数据包的数量和当前数据包的序号;所述第一建立单元803,用于与即时消息服务器建立多于一个的MSRP通道,且触发所述即时消息服务器与被叫设备建立多于一个的MSRP通道;所述传输单元804,用于将所述数据包通过所述与即时消息服务器建立多于一个的MSRP通道,以及所述即时消息服务器与被叫设备建立多于一个的MSRP通道,传输给被叫设备。优选的,所述MSRP通道的数量与所述数据包的数量相同;所述建立会话单元,具体用于每个数据包触发主叫设备与所述頂Sever分别建立SIP会话,且触发頂Sever与所述被叫设备也建立与数据包数量相同的SIP会话;根据建立的每个SIP会话,IM Sever分别与主叫设备和被叫设备进行媒体层会话协商,在进行媒体层会话协商中,IM Server在每个SIP会话中为主叫设备和所述被叫设备分别分配并发送建立一个MSRP通道的信息,其中,每个数据包中至少包括:所述数据包的数量和当前数据包的序号;所述第一建立单元,具体用于根据所述MSRP通道的信息,主叫设备与即时消息服务器建立与所述数据包的数量相同的MSRP数据通道,且触发所述即时消息服务器与被叫设备建立所述数据包的数量相同的MSRP数据通道;所述传输单元,具体用于:每个数据包占用一个主叫设备与即时消息服务器建立的MSRP数据通道,和占用一个所述即时消息服务器与被叫设备建立的MSRP数据通道,传输多于一个数据包。优选的,所述MSRP通道的数量小于所述数据包的数量;所述第一建立单元,具体用于:根据所述MSRP通道的信息,主叫设备与即时消息服务器建立多于一个的MSRP通道,且所述MSRP数据通道小于所述数据包的数量;且触发所述即时消息服务器与被叫设备建立多于一个的MSRP通道,且所述MSRP数据通道小于所述数据包的数量;所述传输单元,具体用于:将所述数据包通过所述主叫设备与即时消息服务器建立多于一个的MSRP通道,以及所述即时消息服务器与被叫设备建立多于一个的MSRP通道,传输给被叫设备,其中,至少有一个MSRP数据通道上传输多于一个数据包。优选的,所述终端还包括:判断单元,用于判断将需要传输给被叫设备的文件大小是否大于预置值,如果是,通知所述封装单元将需要传输给被叫设备的文件封装成多于一个的数据包。本发明实施例提供的一种终端,该终端将需要传输给被叫设备的文件封装成为多个数据包,并且发起SIP会话,使得IM Sever根据SIP会话中的信息,为主叫设备和被叫设备分配建立多于一个MSRP通道的信息,在主叫设备与被叫设备建立多于一个的MSRP通道后,将多个数据包通过不同的MSRP通道传输给被叫设备,与现有技术相比,大大提高了文件传输的效率,同时,避免因为在单一的MSRP通道上传输较大文件导致文件传输失败发生概率,为用户提供了更好的体验。本领域普通技术人员可以理解实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。以上对本发明所提供的一种基于会话初始化协议的数据传输方法和相应装置进行了详细介绍,对于本领域的一般技术人员,依据本发明实施例的思想,在具体实施方式
及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
权利要求
1.一种基于会话初始化协议的数据传输方法,其特征在于,包括: 根据主叫设备发起的会话初始化协议会话,即时消息服务器分别与主叫设备和被叫设备建立会话初始化协议会话,且分别为主叫设备和被叫设备分配并发送建立多于一个消息会话传输协议通道的信息;其中,主叫设备发起的会话初始化协议会话中还包括有数据包的数量和当前数据包的序号; 根据所述消息会话传输协议通道的信息,所述即时消息服务器分别与主叫设备和被叫设备都建立多于一个消息会话传输协议通道; 在所述多于一个消息会话传输协议通道中转发主叫设备发送给被叫设备的数据包。
2.根据权利要求1所述的方法,其特征在于,所述根据消息会话传输协议通道的信息,所述即时消息服务器分别与主叫设备和被叫设备都建立了多于一个消息会话传输协议通道,具体包括: 根据所述消息会话传输协议通道的信息,所述即时消息服务器与主叫设备建立多于一个消息会话传输协议通道; 根据所述消息会话传输协议通道的信息,所述即时消息服务器与被叫设备建立多于一个消息会话传输协议通道。
3.一种基于会话初始化协议的数据传输方法,其特征在于,包括: 将需要传输给被叫设备的文件封装成多于一个的数据包; 通过互联网协议多媒体子系统网络,主叫设备与即时消息服务器建立会话初始化协议会话,触发所述即时消息服务器与所述被叫设备也建立会话初始化协议会话;根据建立的会话初始化协议会话,所述即时消息服务器分别与主叫设备和被叫设备进行媒体层会话协商;其中,在进行媒体层会 话协商中,即时消息服务器为主叫设备和所述被叫设备分别分配并发送建立多于一个消息会话传输协议通道的信息;其中,主叫设备发起的会话初始化协议会话中还包括有数据包的数量和当前数据包的序号; 根据所述消息会话传输协议通道的信息,所述主叫设备与即时消息服务器建立多于一个的消息会话传输协议通道,且触发所述即时消息服务器与被叫设备建立多于一个的消息会话传输协议通道; 将所述数据包通过所述主叫设备与即时消息服务器建立多于一个的消息会话传输协议通道,以及所述即时消息服务器与被叫设备建立多于一个的消息会话传输协议通道,传输给被叫设备。
4.根据权利要求3所述的方法,其特征在于,所述消息会话传输协议通道的数量与所述数据包的数量相同; 所述通过互联网协议多媒体子系统网络,主叫设备与即时消息服务器建立会话初始化协议会话,触发所述即时消息服务器与所述被叫设备也建立会话初始化协议会话;根据建立的会话初始化协议会话,所述即时消息服务器分别与主叫设备和被叫设备进行媒体层会话协商;其中,在进行媒体层会话协商中,即时消息服务器为主叫设备和所述被叫设备分别分配并发送建立多于一个消息会话传输协议通道的信息;其中,主叫设备发起的会话初始化协议会话中还包括有数据包的数量和当前数据包的序号;具体包括: 每个数据包触发主叫设备与所述即时消息服务器分别建立会话初始化协议会话,且触发即时消息服务器与所述被叫设备也建立与数据包数量相同的会话初始化协议会话;根据建立的每个会话初始化协议会话,即时消息服务器分别与主叫设备和被叫设备进行媒体层会话协商,在进行媒体层会话协商中,即时消息服务器在每个会话初始化协议会话中为主叫设备和所述被叫设备分别分配并发送建立一个消息会话传输协议通道的信息,其中,每个数据包中至少包括:所述数据包的数量和当前数据包的序号; 所述根据所述消息会话传输协议通道的信息,主叫设备与即时消息服务器建立多于一个的消息会话传输协议通道,且触发所述即时消息服务器与被叫设备建立多于一个的消息会话传输协议通道;具体包括: 根据所述消息会话传输协议通道的信息,主叫设备与即时消息服务器建立与所述数据包的数量相同的消息会话传输协议数据通道,且触发所述即时消息服务器与被叫设备建立所述数据包的数量相同的消息会话传输协议数据通道; 所述将所述数据包通过所述主叫设备与即时消息服务器建立多于一个的消息会话传输协议通道,以及所述即时消息服务器与被叫设备建立多于一个的消息会话传输协议通道,传输给被叫设备,具体包括: 将每个数据包占用一个主叫设备与即时消息服务器建立的消息会话传输协议数据通道,和占用一个所述即时消息服务器与被叫设备建立的消息会话传输协议数据通道,将所述数据包传输给被叫设备。
5.根据权利要求3所述的方法,其特征在于,所述消息会话传输协议通道的数量小于所述数据包的数量; 所述根据所述消息会话传输协议通道的信息,主叫设备与即时消息服务器建立多于一个的消息会话传输协议通道,且触发所述即时消息服务器与被叫设备建立多于一个的消息会话传输协议通道;具体包括: 根据所述消息会话传输协议通道的信息,主叫设备与即时消息服务器建立多于一个的消息会话传输协议通道,且所述消息会话传输协议数据通道小于所述数据包的数量;且触发所述即时消息服务器与被叫设备建立多于一个的消息会话传输协议通道,且所述消息会话传输协议数据通道小于所述数据包的数量; 所述将所述数据包通过所述主叫设备与即时消息服务器建立多于一个的消息会话传输协议通道,以及所述即时消息服务器与被叫设备建立多于一个的消息会话传输协议通道,传输给被叫设备,具体包括: 将所述数据包通过所述主叫设备与即时消息服务器建立多于一个的消息会话传输协议通道,以及所述即时消息服务器与被叫设备建立多于一个的消息会话传输协议通道,传输给被叫设备,其中,至少有一个消息会话传输协议数据通道上传输多于一个数据包。
6.根据权利要求3所述的方 法,其特征在于,所述将需要传输给被叫设备的文件封装成多于一个的数据包之前,所述方法还包括: 判断将需要传输给被叫设备的文件大小是否大于预置值,如果是,执行所述将需要传输给被叫设备的文件封装成多于一个的数据包。
7.一种服务器,其特征在于,所述服务器包括:分配信息单元,建立通道单元,和转发单元, 所述分配信息单元,用于根据主叫设备发起的会话初始化协议会话,分别与主叫设备和被叫设备建立会话初始化协议会话,且分别为主叫设备和被叫设备分配并发送建立多于一个消息会话传输协议通道的信息;其中,主叫设备发起的会话初始化协议会话中还包括有数据包的数量和当前数据包的序号; 所述建立通道单元,用于根据所述消息会话传输协议通道的信息,分别与主叫设备和被叫设备都建立了多于一个消息会话传输协议通道; 所述转发单元,用于在所述多于一个消息会话传输协议通道中转发主叫设备发送给被叫设备的数据包。
8.根据权利要求7所述的服务器,其特征在于,所述建立通道单元包括:第一建立通道单元,和第二建立通道单元, 所述第一建立通道单元,用于根据所述消息会话传输协议通道的信息,与主叫设备建立多于一个消息会话传输协议通道; 所述第二建立通道单元,用于根据所述消息会话传输协议通道的信息,与被叫设备建立多于一个消息会话传输协议通道。
9.一种终端,其特征在于,所述终端包括:封装单元,建立会话单元,第一建立单元,和传输单兀, 所述封装单元,用于将需要传输给被叫设备的文件封装成多于一个的数据包; 所述建立会话单元,通过互联网协议多媒体子系统网络,主叫设备与即时消息服务器建立会话初始化协议会话,触发所述即时消息服务器与所述被叫设备也建立会话初始化协议会话;根据建立的会话初始化协议会话,所述即时消息服务器分别与主叫设备和被叫设备进行媒体层会话协商;其中,在进行媒体层会话协商中,即时消息服务器为主叫设备和所述被叫设备分别分配并发送建立多于一个消息会话传输协议通道的信息;其中,主叫设备发起的会话初始化协议会话中还包括有数据包的数量和当前数据包的序号; 所述第一建立单元,用于与即时消息服务器建立多于一个的消息会话传输协议通道,且触发所述即时消息服务器与被叫设备建立多于一个的消息会话传输协议通道; 所述传输单元,用于将所述数据包通过所述与即时消息服务器建立多于一个的消息会话传输协议通道,以及所述即时消息服务器与被叫设备建立多于一个的消息会话传输协议通道,传输给被叫设备。
10.根据权利要求9所述终端,其特征在于,所述消息会话传输协议通道的数量与所述数据包的数量相同; 所述建立会话单元,具体用于每个数据包触发主叫设备与所述即时消息服务器分别建立会话初始化协议会话,且触发即时消息服务器与所述被叫设备也建立与数据包数量相同的会话初始化协议会话;根据建立的每个会话初始化协议会话,即时消息服务器分别与主叫设备和被叫设备进行媒体层会话协商,在进行媒体层会话协商中,即时消息服务器在每个会话初始化协议会话中为主叫设备和所述被叫设备分别分配并发送建立一个消息会话传输协议通道的信息,其中,每个数据包中至少包括:所述数据包的数量和当前数据包的序号; 所述第一建立单元,具体用于:根据所述消息会话传输协议通道的信息,主叫设备与即时消息服务器建立与所述数据包的数量相同的消息会话传输协议数据通道,且触发所述即时消息服务器与被叫设备建立所述数据包的数量相同的消息会话传输协议数据通道;所述传输单元,具体用于:将每个数据包占用一个主叫设备与即时消息服务器建立的消息会话传输协议数据通道,和占用一个所述即时消息服务器与被叫设备建立的消息会话传输协议数据通道,传输给被叫设备。
11.根据权利要求9所述终端,其特征在于,所述消息会话传输协议通道的数量小于所述数据包的数量; 所述第一建立单元,具体用于根据所述消息会话传输协议通道的信息,主叫设备与即时消息服务器建立多于一个的消息会话传输协议通道,且所述消息会话传输协议数据通道小于所述数据包的数量;且触发所述即时消息服务器与被叫设备建立多于一个的消息会话传输协议通道,且所述消息会话传输协议数据通道小于所述数据包的数量; 所述传输单元,具体用于:将所述数据包通过所述主叫设备与即时消息服务器建立多于一个的消息会话传输协议通道,以及所述即时消息服务器与被叫设备建立多于一个的消息会话传输协议通道,传输给被叫设备,其中,至少有一个消息会话传输协议数据通道上传输多于一个数据包。
12.根据权利要求9所述终端,其特征在于,所述终端还包括:判断单元,用于判断将需要传输给被叫设备的文件大 小是否大于预置值,如果是,通知所述封装单元将需要传输给被叫设备的文件封装成多于一个的数据包。
全文摘要
本发明实施例公开了一种基于会话初始化协议的数据传输方法和相应装置,其中,所述方法包括根据主叫设备发起的SIP会话,即时消息服务器分别与主叫设备和被叫设备建立SIP会话,且分别为主叫设备和被叫设备分配并发送建立多于一个MSRP通道的信息;其中,主叫设备发起的SIP会话中还包括有数据包的数量和当前数据包的序号;根据所述MSRP通道的信息,所述即时消息服务器分别与主叫设备和被叫设备都建立了多于一个MSRP通道;在所述多于一个MSRP通道中转发主叫设备发送给被叫设备发送的数据包。与现有技术相比,大大提高了文件传输的效率。
文档编号H04L29/06GK103078853SQ201210589508
公开日2013年5月1日 申请日期2012年12月31日 优先权日2012年12月31日
发明者董宇靖, 史磊, 曾文科 申请人:华为软件技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1