CN105591879B - 数据传输方法及装置 - Google Patents
数据传输方法及装置 Download PDFInfo
- Publication number
- CN105591879B CN105591879B CN201410623919.6A CN201410623919A CN105591879B CN 105591879 B CN105591879 B CN 105591879B CN 201410623919 A CN201410623919 A CN 201410623919A CN 105591879 B CN105591879 B CN 105591879B
- Authority
- CN
- China
- Prior art keywords
- data packet
- protocol data
- protocol
- instant communication
- packet
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Landscapes
- Telephonic Communication Services (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种数据传输方法及装置,属于互联网通信领域。所述方法包括:代理服务器接收即时通信服务器发送的第一协议数据包,第一协议数据包是采用即时通信协议封装的数据包;代理服务器将第一协议数据包转换为第二协议数据包,第二协议数据包是采用实时传输协议RTP封装的数据包;代理服务器将第二协议数据包发送给SIP网关;SIP网关用于将第二协议数据包转换为模拟音视频信号后发送至电话终端。本发明达到了当对端即时通信客户端不在线时,也能与对端即时通信客户端所绑定的电话终端进行音视频通话,扩大音视频通话适用场景的效果。
Description
技术领域
本发明涉及互联网通信领域,特别涉及一种数据传输方法及装置。
背景技术
随着互联网通信技术的发展,人们可以通过即时通信客户端进行语音或视频通话。
用户在使用即时通信客户端进行语音或视频通话时,即时通信客户端A将携带有即时通信客户端B的标识信息的数据包发送至即时通信服务器,即时通信服务器根据该标识信息将数据包转发给即时通信客户端B,即时通信客户端B 将接收到的数据包进行处理并播放,从而实现即时通信客户端之间的语音或视频通话。
在实现本发明的过程中,发明人发现现有技术至少存在以下问题:当即时通信客户端B不在线时,将不能接收到即时通信客户端B发送的数据包,导致用户之间不能进行音视频通话。
发明内容
为了解决现有技术的问题,本发明实施例提供了一种数据传输方法及装置。所述技术方案如下:
根据本发明实施例的第一方面,提供一种数据传输方法,所述方法包括:
接收即时通信服务器发送的第一协议数据包,所述第一协议数据包是采用即时通信协议封装的数据包,所述第一协议数据包由即时通信客户端发送至所述即时通信服务器;
将所述第一协议数据包转换为第二协议数据包,所述第二协议数据包是采用RTP(Real-time Transport Protocol,实时传输协议)封装的数据包;
将所述第二协议数据包发送给SIP(Session Initiation Protocol,会话初始化协议)网关;所述SIP网关用于将所述第二协议数据包转换为模拟音视频信号后发送至电话终端,所述电话终端用于根据所述模拟音视频信号与所述即时通信客户端进行音视频通话。
根据本发明实施例的第二方面,提供一种数据传输方法,所述方法包括:
接收SIP网关发送的第二协议数据包,所述第二协议数据包是所述SIP网关将电话终端发送的模拟音视频信号转换为采用RTP封装的数据包后得到的;
将所述第二协议数据包转换为第一协议数据包,所述第一协议数据包是采用即时通信协议封装的数据包;
通过即时通信服务器将所述第一协议数据包发送至即时通信客户端,所述即时通信客户端用于根据所述第一协议数据包与所述电话终端进行音视频通话。
根据本发明实施例的第三方面,提供一种数据传输装置,所述装置包括:
第一数据包接收模块,用于接收即时通信服务器发送的第一协议数据包,所述第一协议数据包是采用即时通信协议封装的数据包,所述第一协议数据包由即时通信客户端发送至所述即时通信服务器;
第一数据包转换模块,用于将所述第一协议数据包转换为第二协议数据包,所述第二协议数据包是采用RTP封装的数据包;
第一数据包发送模块,用于将所述第二协议数据包发送给SIP网关;所述 SIP网关用于将所述第二协议数据包转换为模拟音视频信号后发送至电话终端,所述电话终端用于根据所述模拟音视频信号与所述即时通信客户端进行音视频通话。
根据本发明实施例的第四方面,提供一种数据传输装置,所述装置包括:
第二数据包接收模块,用于接收SIP网关发送的第二协议数据包,所述第二协议数据包是所述SIP网关将电话终端发送的模拟音视频信号转换为采用 RTP封装的数据包后得到的;
第二数据包转换模块,用于将所述第二协议数据包转换为第一协议数据包,所述第一协议数据包是采用即时通信协议封装的数据包;
第二数据包发送模块,用于通过即时通信服务器将所述第一协议数据包发送至即时通信客户端,所述即时通信客户端用于根据所述第一协议数据包与所述电话终端进行音视频通话。
本发明实施例提供的技术方案带来的有益效果是:
通过代理服务器接收即时通信服务器发送的第一协议数据包,该第一协议数据包由即时通信客户端发送至即时通信服务器;代理服务器将第一协议数据包转换为第二协议数据包,该第二协议数据包是采用RTP封装的数据包;代理服务器将第二协议数据包发送给SIP网关;该SIP网关用于将第二协议数据包转换为模拟音视频信号后发送至电话终端;解决了当对端即时通信客户端不在线时,将不能与对端即时通信客户端进行音视频通话的问题;达到了当对端即时通信客户端不在线时,也能与对端即时通信客户端绑定的电话终端进行音视频通话,扩大音视频通话适用场景的效果。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明各个实施例提供的数据传输方法所涉及的一种实施环境的环境示意图;
图2是本发明一个实施例提供的数据传输方法的方法流程图;
图3是本发明另一实施例提供的数据传输方法的方法流程图;
图4是本发明再一实施例提供的数据传输方法的方法流程图;
图5是本发明又一实施例提供的数据传输方法的方法流程图;
图6是本发明一个实施例提供的数据传输装置的结构方框图;
图7是本发明另一实施例提供的数据传输装置的结构方框图;
图8是本发明再一实施例提供的数据传输装置的结构方框图;
图9是本发明又一实施例提供的数据传输装置的结构方框图;
图10是本发明一个实施例提供的代理服务器的结构方框图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
请参考图1,其示出了本发明各个实施例提供的数据传输方法所涉及的一种实施环境的环境示意图。该实施环境包括:即时通信客户端110、即时通信服务器120、网关设备130、代理服务器140、SIP网关150和电话终端160。
即时通信客户端110是指安装有即时通信程序的电子设备,该电子设备可以是智能手机、平板电脑、膝上型便携计算机和台式计算机等等。
即时通信客户端110与即时通信服务器120通过无线网络相连。
即时通信服务器120是用于将即时通信客户端110发送的数据包封装成符合即时通信协议的数据包,并为每一次会话分配会话号以及代理服务器的IP地址及端口。即时通信服务器120可以是一台服务器,或者由若干台服务器组成的服务器集群,或者是一个云计算服务中心。
网关设备130是用于将SIP信令转换为即时通信协议请求或将即时通信协议请求转换为SIP信令的设备。
代理服务器140是用于对数据包进行协议转换的服务器,代理服务器140 可以是一台服务器,或者由若干台服务器组成的服务器集群,或者是一个云计算服务中心。
SIP网关150用于负责对即时通信客户端110和电话终端之间的数据包进行传输,该SIP网关可以是通信运营商或者虚拟运营商的服务器等等。
电话终端160用于对SIP网关发送的模拟音视频信号进行处理并播放。电话终端160是具有音视频通话功能的电子设备,该电子设备可以是智能手机和可视电话等等。
请参考图2,其示出了本发明一个实施例提供的数据传输方法的方法流程图。本实施例以数据传输方法应用于图1所示的代理服务器140中来举例说明。该方法包括:
步骤202,接收即时通信服务器发送的第一协议数据包,该第一协议数据包是采用即时通信协议封装的数据包,该第一协议数据包由即时通信客户端发送至即时通信服务器;
步骤204,将第一协议数据包转换为第二协议数据包,该第二协议数据包是采用实时传输协议RTP封装的数据包;
步骤206,将第二协议数据包发送给SIP网关;该SIP网关用于将第二协议数据包转换为模拟音视频信号后发送至电话终端,该电话终端用于根据模拟音视频信号与即时通信客户端进行音视频通话。
综上所述,本实施例提供的数据传输方法通过代理服务器接收即时通信服务器发送的第一协议数据包,该第一协议数据包由即时通信客户端发送至即时通信服务器;代理服务器将第一协议数据包转换为第二协议数据包,该第二协议数据包是采用RTP封装的数据包;代理服务器将第二协议数据包发送给SIP 网关;该SIP网关用于将第二协议数据包转换为模拟音视频信号后发送至电话终端;解决了当对端即时通信客户端不在线时,将不能与对端即时通信客户端进行音视频通话的问题;达到了当对端即时通信客户端不在线时,也能与对端即时通信客户端绑定的电话终端进行音视频通话,扩大音视频通话适用场景的效果。
请参考图3,其示出了本发明另一实施例提供的数据传输方法的方法流程图。本实施例以数据传输方法应用于图1所示的代理服务器140中来举例说明。该方法包括:
步骤302,接收会话初始化协议SIP网关发送的第二协议数据包,该第二协议数据包是SIP网关将电话终端发送的模拟音视频信号转换为采用实时传输协议RTP封装的数据包后得到的;
步骤304,将第二协议数据包转换为第一协议数据包,该第一协议数据包是采用即时通信协议封装的数据包;
步骤306,通过即时通信服务器将第一协议数据包发送至即时通信客户端,该即时通信客户端用于根据第一协议数据包与电话终端进行音视频通话。
综上所述,本实施例提供的数据传输方法,通过代理服务器接收SIP网关发送的第二协议数据包,该第二协议数据包是SIP网关将电话终端发送的模拟音视频信号转换为采用RTP封装的数据包后得到的;代理服务器将第二协议数据包转换为第一协议数据包,该第一协议数据包是采用即时通信协议封装的数据包;代理服务器通过即时通信服务器将第一协议数据包发送至即时通信客户端,即时通信客户端用于根据第一协议数据包与电话终端进行音视频通话;解决了当对端即时通信客户端不在线时,将不能与对端即时通信客户端进行音视频通话的问题;达到了当对端即时通信客户端不在线时,也能与对端即时通信客户端绑定的电话终端进行音视频通话,扩大音视频通话适用场景的效果。
请参考图4,其示出了本发明再一实施例提供的数据传输方法的方法流程图。本实施例以数据传输方法应用于图1所示的实施环境中来举例说明。该方法包括:
步骤401,即时通信服务器接收源即时通信客户端发送的音视频通话请求,该音视频通话请求携带源即时通信客户端的标识和目的即时通信客户端的标识。
当用户在即时通信程序中的好友列表中选中想要进行音视频通话的好友时,即时通信客户端将会向即时通信服务器发送音视频通话请求,该音视频通话请求中携带有发起音视频通话的即时通信客户端的标识,即源即时通信客户端的标识,以及被呼叫的即时通信客户端的标识,即目的即时通信客户端的标识,该标识可以是即时通信客户端的账号。
步骤402,即时通信服务器在检测到目的即时通信客户端不在线时,根据目的即时通信客户端的标识查找绑定的电话终端的标识。
即时通信服务器在接收到源即时通信客户端发送的音视频通话请求后,提取该音视频通话请求中携带的目的即时通信客户端的标识,根据该标识检测目的即时通信客户端是否在线,当检测到该目的即时通信客户端不在线时,查询该目的即时通信客户端绑定的电话终端的标识,该电话终端的标识可以是电话终端的电话号码等等。
本实施例以该标识为该电话终端的号码进行说明,并不对本发明构成限定。
步骤403,即时通信服务器根据源即时通信客户端的标识和目的电话终端的标识生成即时通信会话请求。
即时通信服务器根据源即时通信客户端的标识和目的电话终端的标识生成即时通信会话请求,该即时通信会话请求符合即时通信协议。
步骤404,即时通信服务器向网关设备发送即时通信会话请求。
步骤405,网关设备接收即时通信服务器发送的即时通信会话请求。
对应的,网关设备接收即时通信服务器发送的即时通信会话请求,该即时通信请求中携带有源即时通信客户端的标识和目的电话终端的标识。
步骤406,网关设备将即时通信会话请求转换为SIP请求信令。
由于网关设备发往SIP网关的请求需要符合SIP协议,所以网关设备在接收到即时通信会话请求后,需要将该即时通信会话请求转换为符合SIP协议的SIP 请求信令。
步骤406可以包括如下子步骤:
一、网关设备获取即时通信会话请求携带的源即时通信客户端的标识和目的电话终端的标识;
网关设备在获取到即时通信会话请求后,提取该即时通信会话请求中携带的源即时通信客户端的标识和目的电话终端的标识。
二、网关设备根据源即时通信客户端的标识和目的电话终端的标识,按照 SIP协议标准生成SIP请求信令。
网关设备根据提取到的源即时通信客户端的标识和目的电话终端的标识,按照SIP协议对该即时通信会话请求进行封装,生成符合SIP协议的SIP请求信令,该SIP请求信令中携带源即时通信客户端的标识和目的电话终端的标识。
步骤407,网关设备将SIP请求信令发送至SIP网关,该SIP网关用于将SIP 请求信令发送至目的电话终端。
网关设备将该SIP请求信令发送至SIP网关,SIP网关根据该SIP请求信令中携带的目的电话终端的标识,向对应的目的电话终端发送该SIP请求信令。
需要说明的是,目的电话终端在接收到该SIP请求信令后,将会通过SIP 网关向网关设备发送尝试连接的反馈信息和/或振铃信息,网关设备在接收到尝试连接的反馈信息和/或振铃信息后,即知悉等待目的电话终端同意建立会话。
当目的电话终端同意建立会话时,即接受SIP请求信令时,将会向SIP网关发送SIP接受信令。
步骤408,SIP网关向网关设备发送SIP接受信令,该SIP接受信令是SIP 网关在目的电话终端接收SIP请求信令时反馈的。
SIP网关接收到目的电话终端发送的SIP接受信令后,将在该SIP请求信令中添加SIP网关的IP地址及端口信息,该SIP网关用于通过该IP地址及端口作为目的电话终端的代理向代理服务器发送数据包。
步骤409,网关设备接收SIP网关发送的SIP接受信令。
对应的,网关设备接收SIP网关发送的SIP接受信令。
步骤410,网关设备将SIP接受信令转换为即时通信接受信息,将即时通信接受信息发送给即时通信服务器。
由于网关设备向即时通信服务器发送的即时通信接受信息需要符合即时通信协议,所以网关设备在接收到SIP接受信令后,将该SIP接受信令转换为符合即时通信协议的即时通信接受信息,并将该即时通信接受信息发送至即时通信服务器。
步骤410可以包括如下子步骤:
一、网关设备提取SIP接受信令中携带的SIP网关的IP地址及端口;
网关设备提取获取的SIP接受信令中携带的SIP网关的IP地址及端口,该 IP地址及端口用于SIP网关作为目的电话终端的代理向代理服务器发送数据包。
二、网关设备根据SIP网关的IP地址及端口,按照即时通信协议标准生成即时通信接受信息。
网关设备根据提取到的SIP网关的IP地址及端口,按照即时通信协议对该 SIP接受信令进行封装,生成符合即时通信协议的即时通信接受信息,该即时通信接受信息中携带SIP网关的IP地址及端口。
步骤411,即时通信服务器接收网关设备发送的即时通信接受信息。
步骤412,即时通信服务器为即时通信会话请求分配会话号和代理服务器的 IP地址及端口,会话号用于区别不同的会话;代理服务器用于通过IP地址及端口作为源即时通信客户端的代理向SIP网关发送数据包。
即时通信服务器在接收到网关设备发送的即时通信会话请求后,即知悉目的电话终端同意进行音视频通话。
然后,即时通信服务器为本次音视频通话分配会话号,该会话号用于区别不同的会话,该会话号可以由即时通信服务器根据预先设置的生成规则生成,且同一时刻不存在相同的会话号。
并且即时通信服务器还为本次音视频通话分配代理服务器的IP地址及端口,代理服务器用于通过该IP地址及端口作为源即时通信客户端的代理向SIP 网关发送数据包。
步骤413,即时通信服务器获取即时通信接受信息中携带的SIP网关的IP 地址及端口。
即时通信客户端提取即时通信接受信息中携带的SIP网关的IP地址及端口,该SIP网关用于通过IP地址及端口作为目的电话终端的代理向代理服务器发送数据包。
步骤414,即时通信服务器向代理服务器发送会话号、代理服务器的IP地址及端口和SIP网关的IP地址及端口,该代理服务器用于建立会话号与代理服务器的IP地址及端口和SIP网关的IP地址及端口之间的对应关系。
即时通信服务器将分配的会话号和代理服务器的IP地址及端口,以及提取到的SIP网关的IP地址及端口,发送给代理服务器,该代理服务器在接收到即时通信服务器发送的会话号、代理服务器的IP地址及端口和SIP网关的IP地址及端口后,将进行存储,并建立会话号与代理服务器的IP地址及端口和SIP网关的IP地址及端口之间的对应关系,生成表结构如表一所示的会话号关系表:
表一
需要说明的是,即时通信服务器在向代理服务器发送会话号、代理服务器的IP地址及端口和SIP网关的IP地址及端口后,将向源即时通信客户端发送即时通信接受请求,用于向源即时通信客户端告知目的电话终端已经接受音视频通话请求,可以向目的电话终端发送数据包。
根据上述步骤401至步骤414,源即时通信客户端与目的电话终端即建立了会话,源时通信客户端可以通过下述步骤415至步骤421与目的电话终端进行相关音视频数据包的传输。
步骤415,即时通信服务器向代理服务器发送第一协议数据包。
源即时通信客户端与目的电话终端建立会话后,即时通信服务器接收即时通信客户端发送的第一协议数据包,该第一协议数据包符合即时通信传输协议。
步骤416,代理服务器接收即时通信服务器发送的第一协议数据包。
步骤417,即时通信服务器向代理服务器发送冗余纠错数据包。
由于数据包在传输的过程中可能会发生丢失,影响音视频通话的质量,所以即时通信服务器根据连续的n个第一协议数据包,生成对应的冗余纠错数据包,并将该冗余纠错数据包发送至代理服务器。该冗余纠错数据包可以是n个连续的第一协议数据包进行异或生成的。
步骤418,代理服务器接收即时通信服务器发送的冗余纠错数据包。
对应的,代理服务器在接收到即时通信服务器发送的n个第一协议数据包后,还将接收对应的冗余纠错数据包。
步骤419,代理服务器根据冗余纠错数据包对n个连续的第一协议数据包进行纠错。
代理服务器接收到冗余纠错数据包后,根据该冗余纠错数据包对n个连续的第一协议数据包进行纠错,步骤419可以包括如下子步骤:
一、代理服务器根据接收到的第一协议数据包的序列号检测在传输过程中是否发生数据包丢失;
代理服务器分别获取第一协议数据包包头信息中的序列号,检测该序列号是否连续,当检测到该序列号不连续时,即知悉发生了数据包丢失。
二、若在传输过程中发生了数据包丢失,代理服务器则根据接收到的第一协议数据包和冗余纠错数据包恢复丢失的第一协议数据包。
当检测到发生了数据包丢失时,代理服务器可以将接收到的第一协议数据包和该冗余纠错数据包进行异或运算,恢复丢失的第一协议数据包。
比如,代理服务器接收到序列号分别为1、2、4和5的第一协议数据包,检测后发现丢失了序列号为3的第一协议数据包,序列号为6的冗余纠错数据是根据序列号分别为1、2、3、4和5的第一协议数据包生成的,代理服务器将该冗余纠错数据包与第一协议数据包做异或运算,恢复序列号为3的第一协议数据包。
步骤420,代理服务器将第一协议数据包转换为第二协议数据包,该第二协议数据包是采用RTP封装的数据包。
由于代理服务器向SIP网关发送的数据包需要符合RTP协议,所以代理服务器需要将第一协议数据包转换为符合RTP协议的第二协议数据包,本步骤可以包括如下子步骤:
一、代理服务器获取第一协议数据包的包头信息,包头信息包括第一协议数据包的序列号;
需要说明的是,该包头信息中还可能携带有第一协议数据包的优先级、负载类型、数据包长度和时间戳等信息。
二、代理服务器根据第一协议数据包的序列号计算第二协议数据包的序列号;
由于代理服务器接收到第一协议数据包和根据n个连续第一协议数据包生成的冗余纠错数据包,且该冗余纠错数据包的序列号与第一协议数据包的序列号连续,所以代理服务器根据第一协议数据包的序列号计算第二协议数据包的序列号。
比如,代理服务器接收到的一组5个连续的第一协议数据包的序列号分别为1、2、3、4和5,且接收到根据5个连续的第一协议数据包生成的冗余纠错数据包,该冗余纠错数据包的序号为6,代理服务器计算得到对应的第二协议数据包的序列号分别为1、2、3、4和5;当代理服务器接收到另一组5个连续的第一协议数据包的序列号分别为7、8、9、10和11,代理服务器计算得到对应的第二协议数据包的序列号分别为6、7、8、9和10。
三、代理服务器根据第一协议数据包携带的即时通信客户端的标识生成第二协议数据包的同步源标识;
代理服务器根据第一协议数据包携带的源即时通信客户端的标识生成第二协议数据包的同步源标识,该同步源标识用于指示该第二协议数据包的来源。
四、代理服务器根据预设值生成第二协议数据包的贡献源标识;
代理服务器将第二协议数据包的贡献源标识设为预设值,该预设值可以为 0。
五、代理服务器根据第二协议数据包的序列号、同步源标识和贡献源标识生成第二协议数据包的包头信息。
需要说明的是,生成的第二协议数据包的包头信息还可以包括版本、填充、扩展、同步源数量、标志、时间戳和负载类型等字段,代理服务器可以将版本设置为2,将填充设置为0,将扩展设置为0,将同步源数量设置为0,将标志设置为0,将第一协议数据包的时间戳作为第二协议数据包的时间戳,将第一协议数据包的负载类型作为第二协议数据包的负载类型。
代理服务器根据上述信息生成第二协议数据包的包头信息,生成符合RTP 协议的第二协议数据包。
步骤421,代理服务器将第二协议数据包发送给SIP网关。
代理服务器将转换得到的第二协议数据包发送至SIP网关,本步骤可以包括如下子步骤:
一、代理服务器根据第一协议数据包的会话号在预存的会话号关系表中查找对应的SIP网关的IP地址及端口和代理服务器的IP地址及端口,会话号关系表包括会话号和SIP网关的IP地址及端口和代理服务器的IP地址及端口的对应关系;
在步骤414中,代理服务器已经根据即时通信服务器发送的会话号、代理服务器的IP地址及端口和SIP网关的IP地址及端口生成了会话号关系表,代理服务器根据第一协议的数据包包头信息中的会话号,在会话号关系表中查找对应的SIP网关的IP地址及端口和代理服务器的IP地址及端口。
二、代理服务器根据SIP网关的IP地址及端口向SIP网关发送第二协议数据包。
代理服务器根据查找到的SIP网关的IP地址及端口和代理服务器的IP地址及端口,通过代理服务器的该端口,向对应的SIP网关的端口发送第二协议数据包。
比如,代理服务器根据会话号“A0000001”查找到代理服务器的IP地址及端口分别为IP地址A1和端口001,SIP网关的IP地址及端口分别为IP地址B和端口001,代理服务器将通过端口001向IP地址为IP地址B,端口号为001的 SIP网关发送第二协议数据包。
SIP网关将接收到的第二协议数据包发送至目的电话终端,从而实现目的电话终端与源即时通信客户端之间的音视频通话。
需要说明的是,电话终端向即时通信客户端发送数据包的过程可以参考图5 中的步骤513至步骤518。
综上所述,本实施例提供的数据传输方法通过代理服务器接收即时通信服务器发送的第一协议数据包,该第一协议数据包由即时通信客户端发送至即时通信服务器;代理服务器将第一协议数据包转换为第二协议数据包,该第二协议数据包是采用RTP封装的数据包;代理服务器将第二协议数据包发送给SIP 网关;该SIP网关用于将第二协议数据包转换为模拟音视频信号后发送至电话终端;解决了当对端即时通信客户端不在线时,将不能与对端即时通信客户端进行音视频通话的问题;达到了当对端即时通信客户端不在线时,也能与对端即时通信客户端绑定的电话终端进行音视频通话,扩大音视频通话适用场景的效果。
本实施例还通过代理服务器根据即时通信服务器发送的第一协议数据包和冗余纠错数据包进行第一协议数据包纠错,达到了提高数据传输和音视频通话质量的效果。
本实施例中,步骤416、步骤418、步骤419、步骤420和步骤421可单独实现成为代理服务器一侧的数据传输方法。
在具体的实施过程中,也可以由电话终端主动向即时通信客户端发送音视频通话请求,从而在电话终端和即时通信客户端之间建立会话,并进行数据包的传输,下面将采用一个实施例进行说明。
请参考图5,其示出了本发明又一实施例提供的数据传输方法的方法流程图。本实施例以数据传输方法应用于图1所示的实施环境中来举例说明。该方法包括:
步骤501,SIP网关向网关设备发送SIP请求信令。
SIP网关在接收到源电话终端发送的SIP请求信令后,向网关设备发送SIP 请求信令,该SIP请求信令符合SIP协议,该SIP请求信令携带有SIP网关的IP 地址及端口、源电话终端的标识和目的电话终端的标识。SIP网关用于通过该IP 地址及端口作为源电话终端的代理向代理服务器发送数据包。
步骤502,网关设备接收SIP网关发送的SIP请求信令,该SIP请求信令是源电话终端发起的。
步骤503,网关设备将SIP请求信令转换为即时通信会话请求。
由于网关设备向即时通信服务器发送的请求需要符合即时通信协议,所以网关设备需要将SIP请求信令转换为符合即时通信协议的即时通信协议。本步骤可以包括如下子步骤:
一、网关设备提取SIP请求信令中携带的SIP网关的IP地址及端口、源电话终端的标识和目的电话终端的标识;
网关设备提取SIP请求信令中携带的SIP网关的IP地址及端口、源电话终端的标识和目的电话终端的标识,该IP地址及端口用于SIP网关作为源电话终端的代理向代理服务器发送数据包。
二、网关设备根据SIP网关的IP地址及端口、源电话终端的标识和目的电话终端的标识,按照即时通信协议标准生成即时通信会话请求。
网关设备根据提取到的SIP网关的IP地址及端口、源电话终端的标识和目的电话终端的标识,按照即时通信协议对该SIP请求信令进行封装,生成符合即时通信协议的即时通信会话请求,该即时通信会话请求中携带SIP网关的IP 地址及端口、源电话终端的标识和目的电话终端的标识。
步骤504,网关设备将即时通信会话请求发送至即时通信服务器,即时通信服务器用于根据即时通信会话请求向目的即时通信客户端发送音视频通话请求。
步骤505,即时通信服务器接收网关设备发送的即时通信会话请求。
步骤506,即时通信服务器根据目的电话终端的标识查找绑定的目的即时通信客户端的标识。
即时通信服务器根据该目的电话终端的标识,查找与该标识绑定的目的即时通信客户端的标识。该即时通信客户端的标识可以为即时通信客户端的账号。
步骤507,即时通信服务器根据源电话终端的标识和目的即时通信客户端的标识生成音视频通话请求。
即时通信服务器根据网关设备发送的即时通信会话请求生成音视频通话请求,该音视频通话请求中携带有源电话终端的标识、目的即时通信客户端的标识和SIP网关的IP地址及端口。
即时通信服务器生成音视频通话请求后,向目的即时通信客户端发送该音视频通话请求。
步骤508,即时通信服务器接收目的即时通信客户端反馈的即时通信接受信息。
即时通信客户端在接受该音视频通话请求后,向即时通信服务器发送即时通信接受信息,用于告知该即时通信服务器同意进行音视频通话。
步骤509,即时通信服务器获取即时通信会话请求中携带的SIP网关的IP 地址及端口。
即时通信服务器还将获取即时通信会话请求中携带的SIP网关的IP地址及端口,该IP地址及端口用于向代理服务器发送数据包。
步骤510,即时通信服务器为即时通信会话请求分配会话号和代理服务器的 IP地址及端口,会话号用于区别不同的会话;代理服务器用于通过IP地址及端口作为目的即时通信客户端的代理向SIP网关发送数据包。
即时通信服务器接收到即时通信客户端发送即时通信接受信息后,将为此次即时通信会话分配会话号,该会话号用于区别不同的会话;还将分配代理服务器的IP地址及端口,代理服务器通过该IP地址及端口作为目的即时通信客户端的代理向SIP网关发送数据包。
步骤511,即时通信服务器向代理服务器发送会话号、代理服务器的IP地址及端口和SIP网关的IP地址及端口,代理服务器用于建立会话号与代理服务器的IP地址及端口和SIP网关的IP地址及端口之间的对应关系。
即时通信服务器将分配的会话号和代理服务器的IP地址及端口,以及提取到的SIP网关的IP地址及端口,发送给代理服务器,该代理服务器在接收到即时通信服务器发送的会话号、代理服务器的IP地址及端口和SIP网关的IP地址及端口后,进行存储,并建立会话号与代理服务器的IP地址及端口和SIP网关的IP地址及端口之间的对应关系,生成表结构如表一所示的会话号关系表。
步骤512,即时通信服务器向网关设备发送即时通信接受信息,即时通信接受信息携带有代理服务器的IP地址及端口,网关设备用于将即时通信接受信息转换为SIP接受信令后,发送给SIP网关。
即时通信服务器还将向网关设备发送即时通信接受信息,用于告知源电话终端会话已经建立,可以进行数据包的传输。
网关设备在接收到该即时通信接受信息后,将该即时通信接受信息转换为符合SIP协议的SIP接受信令,该SIP接收信令中携带有代理服务器的IP地址及端口,SIP网关根据该IP地址和端口即可对数据包进行发送。
根据上述步骤501至步骤512,目的即时通信客户端与源电话终端即建立了会话,源电话终端可以通过下述步513至步骤518与目的即时通信在客户端进行数据包的传输。
步骤513,SIP网关向代理服务器发送第二协议数据包。
源电话终端发送模拟音视频信号至SIP网关,SIP网关将该模拟音视频信号封装成符合RTP协议的第二协议数据包,并将该第二协议数据包发送至代理服务器,该第二协议数据包携带有SIP网关的IP地址及端口和代理服务器的IP地址及端口。
步骤514,代理服务器接收SIP网关发送的第二协议数据包,该第二协议数据包是SIP网关将电话终端发送的模拟音视频信号转换为采用RTP封装的数据包后得到的。
步骤515,代理服务器将第二协议数据包转换为第一协议数据包,第一协议数据包是采用即时通信协议封装的数据包。
由于代理服务器向即时通信服务器发送的数据包需要符合即时通信传输协议,所以代理服务器需要将第二协议数据包转换为符合即时通信传输协议的第一协议数据包。本步骤可以包括如下子步骤:
一、代理服务器获取第二协议数据包的包头信息,包头信息包括第二协议数据包的序列号;
需要说明的是,该包头信息中还可能携带有第二协议数据包的负载类型和时间戳等信息。
二、代理服务器根据第二协议数据包的序列号计算第一协议数据包的序列号;
由于代理服务器需要根据n个连续第二协议数据包生成的冗余纠错数据包,且该冗余纠错数据包的序列号与第二协议数据包的序列号连续,所以代理服务器根据第二协议数据包的序列号计算第一协议数据包的序列号。
比如,服务器接收到的一组5个连续的第二协议数据包的序列号分别为1、 2、3、4和5,根据5个连续的第二协议数据包生成的冗余纠错数据包的序号为 6,服务器计算得到对应的第一协议数据包的序列号分别为1、2、3、4和5;当服务器接收到另一组5个连续的第二协议数据包的序列号分别为6、7、8、9和 10,由于之前生成的冗余纠错数据包的序列号为6,所以服务器计算得到对应的第一协议数据包的序列号分别为7、8、9、10和11,根据5个连续的第二协议数据包生成的冗余纠错数据包的序号为12。
三、代理服务器根据第二协议数据包携带的SIP网关的IP地址及端口和代理服务器的IP地址及端口在预存的会话号关系表中查找对应的会话号,会话号关系表包括会话号和IP网关的IP地址及端口和代理服务器的IP地址及端口的对应关系;
在步骤511中,代理服务器已经根据即时通信服务器发送的会话号、代理服务器的IP地址及端口和SIP网关的IP地址及端口生成了会话号关系表,代理服务器根据第二协议数据包携带的SIP网关的IP地址及端口和代理服务器的IP 地址及端口在会话号关系表中查找对应的会话号。
四、代理服务器根据第一协议数据包的序列号和会话号生成第一协议数据包的包头信息。
需要说明的是,生成的第一协议数据包的包头信息还可以包括时间戳和负载类型等,代理服务器可以将第二协议数据包的时间戳作为第一协议数据包的时间戳,将第二协议数据包的负载类型作为第一协议数据包的负载类型。
代理服务器根据上述信息生成第一协议数据包的包头信息,生成符合即时通信协议协议的第一协议数据包。
步骤516,代理服务器通过即时通信服务器将第一协议数据包发送至即时通信客户端,即时通信客户端用于根据第一协议数据包与电话终端进行音视频通话。
代理服务器通过第一协议数据包包头信息中的会话号,通过即时通信服务器将第一协议数据包发送至即时通信客户端。
步骤517,代理服务器根据n个连续的第一协议数据包生成冗余纠错数据包, n≥1。
代理服务器可以将生成的n个连续的第一协议数据包进行异或运算,生成冗余纠错数据包,并将该冗余纠错数据包发送至即时通信服务器,该即时通信服务器根据该冗余纠错数据包检测是否在传输过程中发生了数据包的丢失,并根据该冗余纠错数据包恢复丢失的数据包。
步骤518,代理服务器向即时通信服务器发送冗余纠错数据包。
对应的,即时通信服务器接收代理服务器发送的冗余纠错数据包。
即时通信服务器根据接收到的第一协议数据包和冗余纠错数据包检测传输过程中是否丢失数据包,若丢失了数据包,则使用接收到的第一协议数据包和冗余纠错数据包对恢复丢失的数据包。在纠错完毕后,即时通信服务器将纠错后的第一协议数据包发送至目的即时通信客户端,从而实现源电话终端和目的即时通信客户端的音视频通话。
需要说明的是,即时通信客户端向电话终端发送数据包的过程可以参考图4 中的步骤415至步骤421。
综上所述,本实施例提供的数据传输方法通过代理服务器接收SIP网关发送的第二协议数据包,该第二协议数据包是SIP网关将电话终端发送的模拟音视频信号转换为采用RTP封装的数据包后得到的;代理服务器将第二协议数据包转换为第一协议数据包,该第一协议数据包是采用即时通信协议封装的数据包;代理服务器通过即时通信服务器将第一协议数据包发送至即时通信客户端,即时通信客户端用于根据第一协议数据包与电话终端进行音视频通话;解决了当对端即时通信客户端不在线时,将不能与对端即时通信客户端进行音视频通话的问题;达到了当对端即时通信客户端不在线时,也能与对端即时通信客户端绑定的电话终端进行音视频通话,扩大音视频通话适用场景的效果。
本实施例还通过代理服务器根据第一协议数据包生成冗余纠错数据包并将冗余纠错数据包发送至即时通信服务器,由即时通信服务器对接收到的第一协议数据包进行冗余纠错,达到了提高数据传输质量和音视频通话质量的效果。
本实施例中,步骤514、步骤515、步骤516、步骤517和步骤518可单独实现成为代理服务器一侧的数据传输方法。
请参考图6,其示出了本发明一个实施例提供的数据传输装置的结构方框图。该数据传输装置可以通过软件、硬件或者两者的结合实现成为代理服务器的全部或者一部分。该数据传输装置,包括:
第一数据包接收模块602,用于接收即时通信服务器发送的第一协议数据包,所述第一协议数据包是采用即时通信协议封装的数据包,所述第一协议数据包由即时通信客户端发送至所述即时通信服务器;
第一数据包转换模块604,用于将所述第一协议数据包转换为第二协议数据包,所述第二协议数据包是采用RTP封装的数据包;
第一数据包发送模块606,用于将所述第二协议数据包发送给SIP网关;所述SIP网关用于将所述第二协议数据包转换为模拟音视频信号后发送至电话终端,所述电话终端用于根据所述模拟音视频信号与所述即时通信客户端进行音视频通话。
综上所述,本实施例提供的数据传输装置通过代理服务器接收即时通信服务器发送的第一协议数据包,该第一协议数据包由即时通信客户端发送至即时通信服务器;代理服务器将第一协议数据包转换为第二协议数据包,该第二协议数据包是采用RTP封装的数据包;代理服务器将第二协议数据包发送给SIP 网关;该SIP网关用于将第二协议数据包转换为模拟音视频信号后发送至电话终端;解决了当对端即时通信客户端不在线时,将不能与对端即时通信客户端进行音视频通话的问题;达到了当对端即时通信客户端不在线时,也能与对端即时通信客户端绑定的电话终端进行音视频通话,扩大音视频通话适用场景的效果。
请参考图7,其示出了本发明另一实施例提供的数据传输装置的结构方框图。该数据传输装置可以通过软件、硬件或者两者的结合实现成为代理服务器的全部或者一部分。该数据传输装置,包括:
第一数据包接收模块702,用于接收即时通信服务器发送的第一协议数据包,所述第一协议数据包是采用即时通信协议封装的数据包,所述第一协议数据包由即时通信客户端发送至所述即时通信服务器;
第一数据包转换模块704,用于将所述第一协议数据包转换为第二协议数据包,所述第二协议数据包是采用RTP封装的数据包;
第一数据包发送模块706,用于将所述第二协议数据包发送给SIP网关;所述SIP网关用于将所述第二协议数据包转换为模拟音视频信号后发送至电话终端,所述电话终端用于根据所述模拟音视频信号与所述即时通信客户端进行音视频通话。
可选地,第一数据包转换模块704,包括:
第一包头信息获取单元704A,用于获取所述第一协议数据包的包头信息,所述包头信息包括所述第一协议数据包的序列号;
第一序列号计算单元704B,用于根据所述第一协议数据包的序列号计算所述第二协议数据包的序列号;
同步源标识生成单元704C,用于根据所述第一协议数据包携带的所述即时通信客户端的标识生成所述第二协议数据包的同步源标识;
贡献源标识生成单元704D,用于根据预设值生成所述第二协议数据包的贡献源标识;
第一包头信息生成单元704E,用于根据所述第二协议数据包的序列号、同步源标识和贡献源标识生成所述第二协议数据包的包头信息。
可选地,所述第一数据包发送模块706,包括:
第一查找单元706A,用于根据所述第一协议数据包的会话号在预存的会话号关系表中查找对应的SIP网关的IP地址及端口和代理服务器的IP地址及端口,所述会话号关系表包括所述会话号和所述SIP网关的IP地址及端口和所述代理服务器的IP地址及端口的对应关系;
第一数据包发送单元706B,用于根据所述SIP网关的IP地址及端口向所述 SIP网关发送所述第二协议数据包。
可选地,所述装置,还包括:
冗余接收模块707,用于接收所述即时通信服务器发送的冗余纠错数据包,所述冗余纠错数据包根据n个连续的所述第一协议数据包生成,n≥1;
冗余纠错模块708,用于根据所述冗余纠错数据包对所述n个连续的第一协议数据包进行纠错。
可选地,所述冗余纠错模块708,包括:
数据包检测单元708A,用于根据接收到的所述第一协议数据包的序列号检测在传输过程中是否发生数据包丢失;
数据包恢复单元708B,用于若在传输过程中发生了数据包丢失,则根据接收到的所述第一协议数据包和所述冗余纠错数据包恢复丢失的所述第一协议数据包。
综上所述,本实施例提供的数据传输装置通过代理服务器接收即时通信服务器发送的第一协议数据包,该第一协议数据包由即时通信客户端发送至即时通信服务器;代理服务器将第一协议数据包转换为第二协议数据包,该第二协议数据包是采用RTP封装的数据包;代理服务器将第二协议数据包发送给SIP 网关;该SIP网关用于将第二协议数据包转换为模拟音视频信号后发送至电话终端;解决了当对端即时通信客户端不在线时,将不能与对端即时通信客户端进行音视频通话的问题;达到了当对端即时通信客户端不在线时,也能与对端即时通信客户端绑定的电话终端进行音视频通话,扩大音视频通话适用场景的效果。
本实施例还通过代理服务器根据即时通信服务器发送的第一协议数据包和冗余纠错数据包进行第一协议数据包纠错,达到了提高数据传输和音视频通话质量的效果。
请参考图8,其示出了本发明再一实施例提供的数据传输装置的结构方框图。该数据传输装置可以通过软件、硬件或者两者的结合实现成为代理服务器的全部或者一部分。该数据传输装置,包括:
第二数据包接收模块802,用于接收会话初始化协议SIP网关发送的第二协议数据包,所述第二协议数据包是所述SIP网关将电话终端发送的模拟音视频信号转换为采用实时传输协议RTP封装的数据包后得到的;
第二数据包转换模块804,用于将所述第二协议数据包转换为第一协议数据包,所述第一协议数据包是采用即时通信协议封装的数据包;
第二数据包发送模块806,用于通过即时通信服务器将所述第一协议数据包发送至即时通信客户端,所述即时通信客户端用于根据所述第一协议数据包与所述电话终端进行音视频通话。
综上所述,本实施例提供的数据传输装置通过代理服务器接收SIP网关发送的第二协议数据包,该第二协议数据包是SIP网关将电话终端发送的模拟音视频信号转换为采用RTP封装的数据包后得到的;代理服务器将第二协议数据包转换为第一协议数据包,该第一协议数据包是采用即时通信协议封装的数据包;代理服务器通过即时通信服务器将第一协议数据包发送至即时通信客户端,即时通信客户端用于根据第一协议数据包与电话终端进行音视频通话;解决了当即时通信客户端不在线时,将不能接收到其它即时通信客户端发送的数据包,导致用户之间不能进行音视频通话的问题;达到了当即时通信客户端不在线时,也能与其他即时通信客户端进行音视频通话,扩大音视频通话适用场景的效果。
请参考图9,其示出了本发明又一实施例提供的数据传输装置的结构方框图。该数据传输装置可以通过软件、硬件或者两者的结合实现成为代理服务器的全部或者一部分。该数据传输装置,包括:
第二数据包接收模块902,用于接收会话初始化协议SIP网关发送的第二协议数据包,所述第二协议数据包是所述SIP网关将电话终端发送的模拟音视频信号转换为采用实时传输协议RTP封装的数据包后得到的;
第二数据包转换模块904,用于将所述第二协议数据包转换为第一协议数据包,所述第一协议数据包是采用即时通信协议封装的数据包;
第二数据包发送模块906,用于通过即时通信服务器将所述第一协议数据包发送至即时通信客户端,所述即时通信客户端用于根据所述第一协议数据包与所述电话终端进行音视频通话。
可选地,所述第二数据包转换模块904,包括:
第二包头信息获取单元904A,用于获取所述第二协议数据包的包头信息,所述包头信息包括所述第二协议数据包的序列号;
第二序列号计算单元904B,用于根据所述第二协议数据包的序列号计算所述第一协议数据包的序列号;
会话号查找单元904C,用于根据所述第二协议数据包携带的SIP网关的IP 地址及端口和代理服务器的IP地址及端口在预存的会话号关系表中查找对应的会话号,所述会话号关系表包括所述会话号和所述SIP网关的IP地址及端口和所述代理服务器的IP地址及端口的对应关系;
第二包头信息生成单元904D,用于根据所述第一协议数据包的序列号和会话号生成所述第一协议数据包的包头信息。
可选地,所述装置,还包括:
冗余生成模块907,用于根据所述n个连续的所述第一协议数据包生成冗余纠错数据包,n≥1;
冗余发送模块908,用于向所述即时通信服务器发送所述冗余纠错数据包,所述即时通信服务器用于根据所述冗余纠错数据包对所述n个连续的第一协议数据包进行纠错。
综上所述,本实施例提供的数据传输装置通过代理服务器接收SIP网关发送的第二协议数据包,该第二协议数据包是SIP网关将电话终端发送的模拟音视频信号转换为采用RTP封装的数据包后得到的;代理服务器将第二协议数据包转换为第一协议数据包,该第一协议数据包是采用即时通信协议封装的数据包;代理服务器通过即时通信服务器将第一协议数据包发送至即时通信客户端,即时通信客户端用于根据第一协议数据包与电话终端进行音视频通话;解决了当对端即时通信客户端不在线时,将不能与对端即时通信客户端进行音视频通话的问题;达到了当对端即时通信客户端不在线时,也能与对端即时通信客户端绑定的电话终端进行音视频通话,扩大音视频通话适用场景的效果。
本实施例还通过代理服务器根据第一协议数据包生成冗余纠错数据包并将冗余纠错数据包发送至即时通信服务器,由即时通信服务器对接收到的第一协议数据包进行冗余纠错,达到了提高数据传输质量和音视频通话质量的效果。
需要说明的是,上述实施例提供的数据传输装置在进行数据传输时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将服务器的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的数据传输方法与数据传输装置实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
请参考图10,其示出了本发明一个实施例提供的代理服务器的结构方框图。所述代理服务器1000包括中央处理单元(CPU)1001、包括随机存取存储器 (RAM)1002和只读存储器(ROM)1003的系统存储器1004,以及连接系统存储器904和中央处理单元1001的系统总线1005。所述服务器或终端1000还包括帮助计算机内的各个器件之间传输信息的基本输入/输出系统(I/O系统) 1006,和用于存储操作系统1013、应用程序1014和其他程序模块1015的大容量存储设备1007。
所述基本输入/输出系统1006包括有用于显示信息的显示器1008和用于用户输入信息的诸如鼠标、键盘之类的输入设备1009。其中所述显示器1008和输入设备1009都通过连接到系统总线1005的输入输出控制器1010连接到中央处理单元1001。所述基本输入/输出系统1006还可以包括输入输出控制器1010以用于接收和处理来自键盘、鼠标、或电子触控笔等多个其他设备的输入。类似地,输入输出控制器1010还提供输出到显示屏、打印机或其他类型的输出设备。
所述大容量存储设备1007通过连接到系统总线1005的大容量存储控制器 (未示出)连接到中央处理单元1001。所述大容量存储设备1007及其相关联的计算机可读介质为服务器1000提供非易失性存储。也就是说,所述大容量存储设备1007可以包括诸如硬盘或者CD-ROM驱动器之类的计算机可读介质(未示出)。
不失一般性,所述计算机可读介质可以包括计算机存储介质和通信介质。计算机存储介质包括以用于存储诸如计算机可读指令、数据结构、程序模块或其他数据等信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质。计算机存储介质包括RAM、ROM、EPROM、EEPROM、闪存或其他固态存储其技术,CD-ROM、DVD或其他光学存储、磁带盒、磁带、磁盘存储或其他磁性存储设备。当然,本领域技术人员可知所述计算机存储介质不局限于上述几种。上述的系统存储器1004和大容量存储设备1007可以统称为存储器。
根据本发明的各种实施例,所述服务器1000还可以通过诸如因特网等网络连接到网络上的远程计算机运行。也即服务器1000可以通过连接在所述系统总线905上的网络接口单元1011连接到网络1012,或者说,也可以使用网络接口单元1011来连接到其他类型的网络或远程计算机系统(未示出)。
所述存储器还包括一个或者一个以上的程序,所述一个或者一个以上程序存储于存储器中,所述一个或者一个以上程序包含用于进行本发明实施例提供的代理服务器侧数据传输方法的指令。
应当理解的是,在本文中使用的,除非上下文清楚地支持例外情况,单数形式“一个”(“a”、“an”、“the”)旨在也包括复数形式。还应当理解的是,在本文中使用的“和/或”是指包括一个或者一个以上相关联地列出的项目的任意和所有可能组合。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (12)
1.一种数据传输方法,其特征在于,用于代理服务器,所述方法包括:
接收即时通信服务器发送的第一协议数据包,所述第一协议数据包是采用即时通信协议封装的数据包,所述第一协议数据包由即时通信客户端发送至所述即时通信服务器;
将所述第一协议数据包转换为第二协议数据包,所述第二协议数据包是采用实时传输协议RTP封装的数据包;
将所述第二协议数据包发送给会话初始化协议SIP网关;所述SIP网关用于将所述第二协议数据包转换为模拟音视频信号后发送至电话终端,所述电话终端用于根据所述模拟音视频信号与所述即时通信客户端进行音视频通话;
其中,所述将所述第一协议数据包转换为第二协议数据包,包括:
获取所述第一协议数据包的包头信息,所述包头信息包括所述第一协议数据包的序列号;
根据所述第一协议数据包的序列号计算所述第二协议数据包的序列号;
根据所述第一协议数据包携带的所述即时通信客户端的标识生成所述第二协议数据包的同步源标识;
根据预设值生成所述第二协议数据包的贡献源标识;
根据所述第二协议数据包的序列号、同步源标识和贡献源标识生成所述第二协议数据包的包头信息。
2.根据权利要求1所述的方法,其特征在于,所述将所述第二协议数据包发送给会话初始化协议SIP网关,包括:
根据所述第一协议数据包的会话号在预存的会话号关系表中查找对应的SIP网关的IP地址及端口和代理服务器的IP地址及端口,所述会话号关系表包括所述会话号和所述SIP网关的IP地址及端口和所述代理服务器的IP地址及端口的对应关系;
根据所述SIP网关的IP地址及端口向所述SIP网关发送所述第二协议数据包。
3.根据权利要求1所述的方法,其特征在于,所述将所述第一协议数据包转换为第二协议数据包之前,还包括:
接收所述即时通信服务器发送的冗余纠错数据包,所述冗余纠错数据包根据n个连续的所述第一协议数据包生成,n≥1;
根据所述冗余纠错数据包对所述n个连续的第一协议数据包进行纠错。
4.根据权利要求3所述的方法,其特征在于,所述根据所述冗余纠错数据包对所述n个连续的第一协议数据包进行纠错,包括:
根据接收到的所述第一协议数据包的序列号检测在传输过程中是否发生数据包丢失;
若在传输过程中发生了数据包丢失,则根据接收到的所述第一协议数据包和所述冗余纠错数据包恢复丢失的所述第一协议数据包。
5.一种数据传输方法,其特征在于,所述方法包括:
接收会话初始化协议SIP网关发送的第二协议数据包,所述第二协议数据包是所述SIP网关将电话终端发送的模拟音视频信号转换为采用实时传输协议RTP封装的数据包后得到的;
将所述第二协议数据包转换为第一协议数据包,所述第一协议数据包是采用即时通信协议封装的数据包;
通过即时通信服务器将所述第一协议数据包发送至即时通信客户端,所述即时通信客户端用于根据所述第一协议数据包与所述电话终端进行音视频通话;
其中,所述将所述第二协议数据包转换为第一协议数据包,包括:
获取所述第二协议数据包的包头信息,所述包头信息包括所述第二协议数据包的序列号;
根据所述第二协议数据包的序列号计算所述第一协议数据包的序列号;
根据所述第二协议数据包携带的SIP网关的IP地址及端口和代理服务器的IP地址及端口在预存的会话号关系表中查找对应的会话号,所述会话号关系表包括所述会话号和所述SIP网关的IP地址及端口和所述代理服务器的IP地址及端口的对应关系;
根据所述第一协议数据包的序列号和会话号生成所述第一协议数据包的包头信息。
6.根据权利要求5所述的方法,其特征在于,所述通过即时通信服务器将所述第一协议数据包发送至即时通信客户端之后,还包括:
根据n个连续的所述第一协议数据包生成冗余纠错数据包,n≥1;
向所述即时通信服务器发送所述冗余纠错数据包,所述即时通信服务器用于根据所述冗余纠错数据包对所述n个连续的第一协议数据包进行纠错。
7.一种数据传输装置,其特征在于,用于代理服务器,所述装置包括:
第一数据包接收模块,用于接收即时通信服务器发送的第一协议数据包,所述第一协议数据包是采用即时通信协议封装的数据包,所述第一协议数据包由即时通信客户端发送至所述即时通信服务器;
第一数据包转换模块,用于将所述第一协议数据包转换为第二协议数据包,所述第二协议数据包是采用实时传输协议RTP封装的数据包;
第一数据包发送模块,用于将所述第二协议数据包发送给会话初始化协议SIP网关;所述SIP网关用于将所述第二协议数据包转换为模拟音视频信号后发送至电话终端,所述电话终端用于根据所述模拟音视频信号与所述即时通信客户端进行音视频通话;
其中,所述第一数据包转换模块,包括:
第一包头信息获取单元,用于获取所述第一协议数据包的包头信息,所述包头信息包括所述第一协议数据包的序列号;
第一序列号计算单元,用于根据所述第一协议数据包的序列号计算所述第二协议数据包的序列号;
同步源标识生成单元,用于根据所述第一协议数据包携带的所述即时通信客户端的标识生成所述第二协议数据包的同步源标识;
贡献源标识生成单元,用于根据预设值生成所述第二协议数据包的贡献源标识;
第一包头信息生成单元,用于根据所述第二协议数据包的序列号、同步源标识和贡献源标识生成所述第二协议数据包的包头信息。
8.根据权利要求7所述的装置,其特征在于,所述第一数据包发送模块,包括:
第一查找单元,用于根据所述第一协议数据包的会话号在预存的会话号关系表中查找对应的SIP网关的IP地址及端口和代理服务器的IP地址及端口,所述会话号关系表包括所述会话号和所述SIP网关的IP地址及端口和所述代理服务器的IP地址及端口的对应关系;
第一数据包发送单元,用于根据所述SIP网关的IP地址及端口向所述SIP网关发送所述第二协议数据包。
9.根据权利要求8所述的装置,其特征在于,所述装置,还包括:
冗余接收模块,用于接收所述即时通信服务器发送的冗余纠错数据包,所述冗余纠错数据包根据n个连续的所述第一协议数据包生成,n≥1;
冗余纠错模块,用于根据所述冗余纠错数据包对所述n个连续的第一协议数据包进行纠错。
10.根据权利要求9所述的装置,其特征在于,所述冗余纠错模块,包括:
数据包检测单元,用于根据接收到的所述第一协议数据包的序列号检测在传输过程中是否发生数据包丢失;
数据包恢复单元,用于若在传输过程中发生了数据包丢失,则根据接收到的所述第一协议数据包和所述冗余纠错数据包恢复丢失的所述第一协议数据包。
11.一种数据传输装置,其特征在于,所述装置包括:
第二数据包接收模块,用于接收会话初始化协议SIP网关发送的第二协议数据包,所述第二协议数据包是所述SIP网关将电话终端发送的模拟音视频信号转换为采用实时传输协议RTP封装的数据包后得到的;
第二数据包转换模块,用于将所述第二协议数据包转换为第一协议数据包,所述第一协议数据包是采用即时通信协议封装的数据包;
第二数据包发送模块,用于通过即时通信服务器将所述第一协议数据包发送至即时通信客户端,所述即时通信客户端用于根据所述第一协议数据包与所述电话终端进行音视频通话;
其中,所述第二数据包转换模块,包括:
第二包头信息获取单元,用于获取所述第二协议数据包的包头信息,所述包头信息包括所述第二协议数据包的序列号;
第二序列号计算单元,用于根据所述第二协议数据包的序列号计算所述第一协议数据包的序列号;
会话号查找单元,用于根据所述第二协议数据包携带的SIP网关的IP地址及端口和代理服务器的IP地址及端口在预存的会话号关系表中查找对应的会话号,所述会话号关系表包括所述会话号和所述SIP网关的IP地址及端口和所述代理服务器的IP地址及端口的对应关系;
第二包头信息生成单元,用于根据所述第一协议数据包的序列号和会话号生成所述第一协议数据包的包头信息。
12.根据权利要求11所述的装置,其特征在于,所述装置,还包括:
冗余生成模块,用于根据n个连续的所述第一协议数据包生成冗余纠错数据包,n≥1;
冗余发送模块,用于向所述即时通信服务器发送所述冗余纠错数据包,所述即时通信服务器用于根据所述冗余纠错数据包对所述n个连续的第一协议数据包进行纠错。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410623919.6A CN105591879B (zh) | 2014-11-07 | 2014-11-07 | 数据传输方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410623919.6A CN105591879B (zh) | 2014-11-07 | 2014-11-07 | 数据传输方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105591879A CN105591879A (zh) | 2016-05-18 |
CN105591879B true CN105591879B (zh) | 2019-09-06 |
Family
ID=55931126
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410623919.6A Active CN105591879B (zh) | 2014-11-07 | 2014-11-07 | 数据传输方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105591879B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108156150A (zh) * | 2017-12-21 | 2018-06-12 | 北京明朝万达科技股份有限公司 | 一种数据传输方法及装置 |
CN107864161A (zh) * | 2017-12-21 | 2018-03-30 | 北京明朝万达科技股份有限公司 | 一种数据传输方法和装置 |
CN113938469A (zh) * | 2021-08-27 | 2022-01-14 | 上海云翌通信科技有限公司 | 非sip协议终端和sip协议终端通话方法,网关及sip服务器 |
CN114189385A (zh) * | 2021-12-14 | 2022-03-15 | 杭州安恒信息技术股份有限公司 | 一种流量分发方法、装置、设备和计算机可读存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102347947A (zh) * | 2011-09-21 | 2012-02-08 | 杭州海康威视软件有限公司 | 一种流媒体适配器、流媒体网络交互的系统及方法 |
CN102790710A (zh) * | 2011-05-16 | 2012-11-21 | 北京新媒传信科技有限公司 | Pc终端和手机的音视频通信方法及装置 |
CN103297445A (zh) * | 2012-02-22 | 2013-09-11 | 中国移动通信集团公司 | 一种基于IP多媒体网络的Web终端通信方法和系统 |
-
2014
- 2014-11-07 CN CN201410623919.6A patent/CN105591879B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102790710A (zh) * | 2011-05-16 | 2012-11-21 | 北京新媒传信科技有限公司 | Pc终端和手机的音视频通信方法及装置 |
CN102347947A (zh) * | 2011-09-21 | 2012-02-08 | 杭州海康威视软件有限公司 | 一种流媒体适配器、流媒体网络交互的系统及方法 |
CN103297445A (zh) * | 2012-02-22 | 2013-09-11 | 中国移动通信集团公司 | 一种基于IP多媒体网络的Web终端通信方法和系统 |
Also Published As
Publication number | Publication date |
---|---|
CN105591879A (zh) | 2016-05-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107743698B (zh) | 用于多路径媒体传递的方法和装置 | |
US8385233B2 (en) | Active speaker identification | |
WO2017088384A1 (zh) | 一种直播视频的上传方法、装置及系统 | |
CN112738140B (zh) | 一种基于WebRTC的视频流传输方法、装置、存储介质和设备 | |
CN105591879B (zh) | 数据传输方法及装置 | |
CN104243281B (zh) | 基于移动互联网的语音通信方法 | |
CN104363407B (zh) | 一种视频会议系统通讯方法及相应装置 | |
US10601880B2 (en) | Conference reconstruction in SIP networks | |
KR101705440B1 (ko) | 미디어 통신용 하이브리드 클라우드 미디어 아키텍쳐 | |
CN104753980A (zh) | 数据传输方法及相关装置和通信系统 | |
US20210273981A1 (en) | Method for establishing a communication connection which is suitable for transmitting media streams between a first rtc client and a second rtc client | |
CN102420868B (zh) | 服务的提供方法、装置及系统 | |
CN105706425A (zh) | 用于分发组播源的标识符的方法 | |
US20140282788A1 (en) | System for controlling video distribution in response to a request on reduced video data traffic and a method therefor | |
WO2022100199A1 (zh) | 数据传输方法、装置、介质、电子设备及网络接入设备 | |
CN105634911B (zh) | 会话建立方法及装置 | |
CN104994067B (zh) | Sip网络访问rtsp监控网络的系统及方法 | |
US11457094B2 (en) | Network system and conversion apparatus crossing different transmission protocols | |
US20240022619A1 (en) | Augmented reality communication method, apparatus, and system | |
CN110719228B (zh) | 基于实时数据分发服务的大数据包传输方法及装置 | |
CN105656994B (zh) | 一种业务加速方法和装置 | |
CN102238152B (zh) | 控制内容报告行为的方法、装置和系统 | |
CN116233481A (zh) | 一种媒体流传输方法、媒体服务器以及通信系统 | |
JP2011515980A (ja) | 通信システムにおけるピアツーピアマルチメディア接続の状態を問い合わせるシステムおよび方法 | |
CN109995838A (zh) | 虚拟内容调度方法、装置、设备及计算机可读存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |