CN1946055A - 即时通讯中媒体数据传输通道切换的方法 - Google Patents
即时通讯中媒体数据传输通道切换的方法 Download PDFInfo
- Publication number
- CN1946055A CN1946055A CNA2006100632990A CN200610063299A CN1946055A CN 1946055 A CN1946055 A CN 1946055A CN A2006100632990 A CNA2006100632990 A CN A2006100632990A CN 200610063299 A CN200610063299 A CN 200610063299A CN 1946055 A CN1946055 A CN 1946055A
- Authority
- CN
- China
- Prior art keywords
- pass
- callee
- media
- transfer
- calling party
- 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.)
- Pending
Links
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明涉及一种即时通讯中媒体数据传输通道切换的方法,包括以下步骤:a.主被叫双方通过中转的媒体服务器建立通讯后,使用所述中转的媒体服务器通道传输媒体数据,并在通讯的同时进行NAT穿越尝试;b.如果穿越成功,则将所述主被叫双方直接通讯的新媒体通道替换原来中转的媒体通道;否则执行步骤c;c.继续使用原来中转的媒体通道进行通讯。实施本发明的即时通讯中媒体数据传输通道切换的方法,在保证呼叫接通时间较短的前提下减轻了媒体服务器的处理能力,提高媒体数据传输的实时性和减少了穿越服务器和STUN服务器这两个设备,降低了投资成本。
Description
技术领域
本发明涉及即时通讯中的媒体数据传输,更具体地说,涉及一种即时通讯中媒体数据传输通道切换的方法。
背景技术
随着Internet网络普及和广泛应用,很多即时通讯终端(包括硬终端和软终端),给用户进行实时交流带来了很大的方便。
实时传送协议(Real-time Transport Protocol,简称RTP):数据提供了具有实时特征的端对端传送服务,如在组播或单播网络服务下的交互式视频音频或模拟数据。应用程序通常在用户数据报协议(User Datagram Protocol,简称UDP)上运行RTP以便使用其多路结点和校验服务;这两种协议都提供了传输层协议的功能。但是RTP可以与其它适合的底层网络或传输协议一起使用。如果底层网络提供组播方式,那么RTP可以使用该组播表传输数据到多个目的地。
网络地址转换(简称为NAT)穿越技术:这种技术实现方法对于一个私网中的所有设备,共用一个或多个合法的IP地址作为出口地址,只有在设备请求连接外部网络时,才为这个请求分配一个合法IP地址和一个端口号,来进行外部连接;当这个请求结束时,端口号和IP地址也就随即被收回。NAT与端口地址转换(简称为PAT)经常被同时使用,称为网络地址端口转换(简称为NAPT)。NAPT的运用,为IP网络带来了很多好处,缓解了IPv4构架下Internet网络的IP地址紧张问题,提高了私有网络内部的安全性和管理性。
现有的即时通讯在进行点对点通讯时,一般采取以下两种方法进行媒体数据传输:
一种方法就是节点之间通过媒体服务器来中转媒体数据。这种方法的优点在于通讯节点之间接通时间较短;缺点在于媒体数据都需要经过媒体服务器进行中转,增加实时媒体数据的传输时延和媒体服务器的处理能力。
另一种方法就是先进行点对点穿越处理,在穿越成功后再使用直接连接的点对点媒体通道。但是,如果点对点穿越失败,则需要通过媒体服务器来中转媒体数据,同时还需要有一个专门的穿越服务器来负责节点间穿越信息传输的处理。
这种方法的优点在于如果穿越成功,那么两个即时通讯终端能够直接通讯,不用通过媒体服务器中转媒体数据,在一定程度上减轻了媒体服务器的压力,而且也减少了实时媒体数据的传输时延;缺点在于增加节点之间呼叫建立的时间,因为判断两个节点之间是否可以直接通讯需要5-30s的时间,同时还需要增加一个穿越服务器和UDP包简单穿越网络地址转换(Simple Traversalof UDP over NAT,简称STUN)服务器,增加了投资成本。
发明内容
本发明要解决的技术问题在于,针对现有技术的上述两种方法的缺陷,提供一种即时通讯中媒体数据传输通道切换的方法,在保证呼叫接通时间较短的前提下减轻了媒体服务器的处理能力,提高媒体数据传输的实时性和减少了穿越服务器和STUN服务器这两个设备,降低了投资成本。
本发明解决其技术问题所采用的技术方案是:构造一种即时通讯中媒体数据传输通道切换的方法,包括以下步骤:
a.主被叫双方通过中转的媒体服务器建立通讯后,使用所述中转的媒体服务器通道传输媒体数据,并在通讯的同时进行NAT穿越尝试;
b.如果穿越成功,则将所述主被叫双方直接通讯的新媒体通道替换原来中转的媒体通道;否则执行步骤c;
c.继续使用原来中转的媒体通道进行通讯。
在本发明所述的方法中,所述步骤a具体包括:
a1.主叫方通过所述媒体服务器获取即时通讯终端经过NAT设备映射后的穿越地址和中转端口地址的信息,并通过SIP代理服务器将所述获取到的信息发送给被叫方;
a2.所述被叫方通过所述SIP代理服务器接收到所述主叫方的邀请后,向所述媒体服务器获取自身的穿越地址和中转端口地址的信息,并同样通过所述SIP代理服务器将所述获取到的信息发送给所述主叫方。
在本发明所述的方法中,所述步骤a中,所述主被叫穿越协商过程具体包括以下步骤:
a3.所述主叫方向所述被叫方发送命令请求穿越;
a4.如果所述主叫方在预设时间内收到所述被叫方返回的响应消息后,继续向所述被叫方发送命令通知对方本节点穿越成功;否则在预设时间内,继续向所述被叫方发送命令请求穿越;
a5.如果所述被叫方在预设时间内收到所述被叫方返回的响应消息后,在预设时间内上报穿越结果;否则,继续向所述被叫方发送命令通知对方本节点穿越成功。
在本发明所述的方法中,当穿越结果已成功地通知对方节点并且收到了对方的穿越结果时,穿越协商过程才成功完成。
在本发明所述的方法中,在执行所述步骤b之前,还包括:判断所述NAT穿越尝试的时间值是否超过预设时间值。
在本发明所述的方法中,若在所述NAT穿越尝试的时间值超过所述预设时间值,则执行所述步骤c;否则执行所述步骤b。
实施本发明的即时通讯中媒体数据传输通道切换的方法,在保证呼叫接通时间较短的前提下减轻了媒体服务器的处理能力,提高媒体数据传输的实时性和减少了穿越服务器和STUN服务器这两个设备,降低了投资成本。
附图说明
下面将结合附图及实施例对本发明作进一步说明,附图中:
图1是本发明所述即时通讯中媒体数据传输通道切换的流程图;
图2是本发明所述即时通讯中媒体数据传输中穿越协商的流程图;
图3是图2的穿越协商命令交互过程示意图;
图4是本发明所述即时通讯中媒体数据传输通道切换完成的示意图。
具体实施方式
本发明主要是在呼叫双方建立起来后先通过中转的媒体通道传输媒体数据,同时在两个节点之间进行穿越尝试,如果穿越成功则切换新的媒体通道,使用节点之间直接通讯的媒体通道,否则不作任何处理,即依旧使用原来中转的媒体通道传输媒体数据。以下参照图1、图2,将作详细说明。
如图1所示,步骤1:主叫方UA1向媒体服务器发CRCX(CRCX:建立连接,从呼叫代理到网关,呼叫代理用该命令将某端点与指定的IP地址和UDP端口关联,另外还向远端端点发送创建连接命令,建立两个端点间的连接。)命令请求即时通讯终端经过网络地址转换(称为NAT)设备映射后的穿越地址和中转端口。
现有的“NAT穿越”技术允许网络应用程序检测是否存在本地NAT设备。检测到后,应用程序随即对NAT进行配置,定义相应的映射来解决兼容性问题。
步骤2:媒体服务器接收到主叫方UA1的请求后,向主叫方UA1发送CRCX-ACK(CRCX-ACK:通讯建立连接确认,在数据通讯传输中,接收站发给发送站的一种传输控制字符。它表示确认发来的数据已经接受无误)响应信息。该响应信息中包含中转端口地址、主叫方UA1的穿越IP地址、Port地址和媒体服务器的标识地址。
步骤3:主叫方UA1接收到媒体服务器返回的响应消息后,向SIP(SessionInitiation Protocol,简称SIP,是一种“应用层”的通讯协议)代理服务器发送呼叫请求。该呼叫请求的信息包含了通过扩展SIP协议中的Invite消息头携带了上述步骤2中媒体服务器响应给主叫方UA1的所有信息。
步骤4:SIP代理服务器接收到主叫方UA1的呼叫请求后,对主叫方UA1的呼叫请求进行响应,并向主叫方UA1返回应答。
步骤5:SIP代理服务器根据上述接收到的呼叫请求的信息,同样以扩展SIP协议中的Invite消息头携带的方式将上述呼叫请求的信息发送给被叫方UA2。
步骤6:被叫方UA2接收到SIP代理服务器的请求后,对SIP代理服务器的呼叫请求进行响应,并向SIP代理服务器返回应答。这时,被叫方UA2就可以获知中转端口地址、UA1的IP地址、Port地址信息。
步骤7:同时,被叫方UA2向SIP代理服务器其发送振铃信息。
步骤8:SIP代理服务器接收被叫方UA2的振铃信息后,向主叫方UA1发送振铃的响应信息。
步骤9:被叫方UA2通过穿越通道向媒体服务器发送修改建立连接MDCX(MDCX:修改连接,呼叫方向代理网关(也可以是主叫方)发送的修改请求,修改以前建立的连接)请求。
步骤10:多媒体服务器接收到被叫方UA2的请求后,向被叫方UA2发送响应修改建立连接MDCX-ACK(MDCX-ACK:修改连接确认,代理网关向发送修改连接请求方发送修改确认控制字符。)信息,该信息包含了中转端口地址、UA2的IP地址、Port地址信息。
步骤11:被叫方UA2接收到上述连接信息后,并将该信息发送给SIP代理服务器。
步骤12:SIP代理服务器接收到上述连接信息后,并将该信息发送给主叫方UA1。
步骤13:主叫方UA1接收到上述信息后,向SIP代理服务器发送已经收到的确认信息。这时,主叫方UA1就可以获知中转端口地址、UA2的IP地址、Port地址信息。
步骤14:SIP代理服务器接收到UA1的确认信息后,向被叫方UA2转发UA1的确认信息。这时主叫方UA1和被叫方UA2通过中转的媒体服务器建立RTP连接,主叫方UA1和被叫方UA2可以进行语音和视频通讯。
步骤15:在呼叫建立后,先使用中转的媒体通道传输媒体数据,同时让主叫方UA1和被叫方UA2进行穿越尝试。在进行穿越尝试过程中,主叫方UA1和被叫方UA2通过四次握手来保证双方穿越同步(详细补充如何进行穿越尝试,包括什么内容、步骤)。如果穿越成功,主叫方UA1和被叫方UA2直接建立RTP连接;否则依旧使用原来中转的媒体通道进行通讯。
需要说明的是:在本次的通话或通讯没有结束的情况下,主叫和被叫是不能进行穿越尝试的,只有当再次的通讯时,才会进行穿越尝试,也就是说如果在通讯的开始可以设置一定时间内进行穿越尝试,如果穿越尝试的时间已经到了预设时间,但还没有穿越成功,那么该次通讯就不能够进行通道的智能切换。
成功穿越的协商过程如图2、3所示。在穿越尝试过程中,可以设置ns的定时穿越时间,如果在ns内还没有穿越成功,则向服务器上报穿越结果;如果在ns内穿越成功,主叫方UA1向被叫方UA2发送TRAV_REQ请求穿越命令。当主叫方UA1收到被叫方UA2返回的TRAV_RSP穿越响应命令,如果主叫方UA1在预设时间内(例如1s)没有收到该TRAV_RSP命令,则继续向被叫方UA2发送TRAV_REQ命令请求穿越;如果主叫方UA1在预设时间内(例如1s)收到该TRAV_RSP命令,则再向被叫方UA2发送TRAV_RESULT_NOTIFY命令通知对方本节点穿越成功。如果主叫方UA1在预设时间内(例如3s)没有收到被叫方UA2返回的TRAV_RESULT_NOTIFY_ACK命令,就上报穿越结果;否则在预设时间内(例如3s)继续等待对方节点返回的穿越结果。
应当指出的是:只有在收到了TRAV_RESULT_NOTIFY、TRAV_RESULT_NOTIFY_ACK消息后,即本节点的穿越结果已成功通知对方节点且收到了对方的穿越结果的情况下才认为穿越成功。
这里,主叫方UA1和被叫方UA2的穿越请求命令是独立,不存在相互的依赖关系,各自的相应命令是根据请求命令来分别响应的。
步骤16:主叫方UA1向媒体服务器发送删除中转的媒体通道的DLCX(DLCX:删除连接,从呼叫代理到网关(也可从网关到呼叫代理),删除以前建立的连接)请求。
步骤17:被叫方UA2也向媒体服务器发送删除中转的媒体通道的DLCX请求。
步骤18:媒体服务器接收到主叫方UA1和被叫方UA2的请求后,分别向主叫方UA1和被叫方UA2发送确认的DLCX-ACK(DLCX-ACK:删除连接的确认控制字符)信息,至此通道切换完成。
如图2所示,穿越成功,通道完成后,主被叫双方就可以直接通讯,而不需要通过中转的媒体服务器。
因此,采用本发明可以保证呼叫接通时间较短的前提下,减轻媒体服务器的处理能力,提高媒体数据传输的实时性和减少了穿越服务器和STUN服务器这两个设备,降低了投资成本。
Claims (6)
1、一种即时通讯中媒体数据传输通道切换的方法,其特征在于,包括以下步骤:
a.主被叫双方通过中转的媒体服务器建立通讯后,使用所述中转的媒体服务器通道传输媒体数据,并在通讯的同时进行NAT穿越尝试;
b.如果穿越成功,则将所述主被叫双方直接通讯的新媒体通道替换原来中转的媒体通道;否则执行步骤c;
c.继续使用原来中转的媒体通道进行通讯。
2、根据权利要求1所述的方法,其特征在于,所述步骤a具体包括:
a1.主叫方通过所述媒体服务器获取即时通讯终端经过网络地址转换(NAT)设备映射后的穿越地址和中转端口地址的信息,并通过SIP代理服务器将所述获取到的信息发送给被叫方;
a2.所述被叫方通过所述SIP代理服务器接收到所述主叫方的邀请后,向所述媒体服务器获取自身的穿越地址和中转端口地址的信息,并同样通过所述SIP代理服务器将所述获取到的信息发送给所述主叫方。
3、根据权利要求1或2所述的方法,其特征在于,所述步骤a中,所述主被叫穿越协商过程具体包括以下步骤:
a3.所述主叫方向所述被叫方发送命令请求穿越;
a4.如果所述主叫方在预设时间内收到所述被叫方返回的响应消息后,继续向所述被叫方发送命令通知对方本节点穿越成功;否则在预设时间内,继续向所述被叫方发送命令请求穿越;
a5.如果所述被叫方在预设时间内收到所述被叫方返回的响应消息后,在预设时间内上报穿越结果;否则,继续向所述被叫方发送命令通知对方本节点穿越成功。
4、根据权利要求3所述的方法,其特征在于,当穿越结果已成功地通知对方节点并且收到了对方的穿越结果时,穿越协商过程才成功完成。
5、根据权利要求1所述的方法,其特征在于,在执行所述步骤b之前,还包括:判断所述NAT穿越尝试的时间值是否超过预设时间值。
6、根据权利要求5所述的方法,其特征在于,若在所述NAT穿越尝试的时间值超过所述预设时间值,则执行所述步骤c;否则执行所述步骤b。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNA2006100632990A CN1946055A (zh) | 2006-10-24 | 2006-10-24 | 即时通讯中媒体数据传输通道切换的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNA2006100632990A CN1946055A (zh) | 2006-10-24 | 2006-10-24 | 即时通讯中媒体数据传输通道切换的方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN1946055A true CN1946055A (zh) | 2007-04-11 |
Family
ID=38045273
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNA2006100632990A Pending CN1946055A (zh) | 2006-10-24 | 2006-10-24 | 即时通讯中媒体数据传输通道切换的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN1946055A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2010045834A1 (zh) * | 2008-10-21 | 2010-04-29 | 中兴通讯股份有限公司 | 视频监控系统实现媒体穿越网络地址翻译的方法和系统 |
CN105245586A (zh) * | 2015-09-28 | 2016-01-13 | 深圳竹信科技有限公司 | 一种公私网点对点通信方法及系统 |
CN106534393A (zh) * | 2015-09-15 | 2017-03-22 | 中国电信股份有限公司 | 实现nat设备穿越的方法和系统 |
-
2006
- 2006-10-24 CN CNA2006100632990A patent/CN1946055A/zh active Pending
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2010045834A1 (zh) * | 2008-10-21 | 2010-04-29 | 中兴通讯股份有限公司 | 视频监控系统实现媒体穿越网络地址翻译的方法和系统 |
CN101729862B (zh) * | 2008-10-21 | 2011-12-28 | 中兴通讯股份有限公司 | 一种视频监控系统实现媒体穿越nat的方法和系统 |
CN106534393A (zh) * | 2015-09-15 | 2017-03-22 | 中国电信股份有限公司 | 实现nat设备穿越的方法和系统 |
CN106534393B (zh) * | 2015-09-15 | 2019-09-03 | 中国电信股份有限公司 | 实现nat设备穿越的方法和系统 |
CN105245586A (zh) * | 2015-09-28 | 2016-01-13 | 深圳竹信科技有限公司 | 一种公私网点对点通信方法及系统 |
CN105245586B (zh) * | 2015-09-28 | 2018-10-23 | 深圳竹信科技有限公司 | 一种公私网点对点通信方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101860536B (zh) | 一种基于sip软终端的私网穿越系统和方法 | |
AU2005201075B2 (en) | Apparatus and method for voice processing of voice over internet protocol (VOIP) | |
JP3891195B2 (ja) | データ通信方法 | |
CN1489354A (zh) | 电信业务在宽带异构网络间的实现互通方法的方法和系统 | |
CN1633102A (zh) | 实现网络地址转换穿越的方法及其系统 | |
CN1623310A (zh) | 可经由网络地址转换型设备操作的通信协议 | |
CN1685691A (zh) | 在sip/sip-t网络里和在该网络与isup+/bicc互通中的传真和调制解调器的支持 | |
CN110650260B (zh) | 一种网络终端音频内外网互通系统及方法 | |
CN1929600A (zh) | 一种采用ip可视电话实现远程监控的系统和方法 | |
CN101146100B (zh) | 一种基于传输协议sctp和dccp的sip网络电话实现方法 | |
CN1411220A (zh) | 私有网络的ip语音业务实现方法及系统 | |
CN1516409A (zh) | 一种使媒体流穿越网络地址转换器的方法 | |
CN1553676A (zh) | 多种协议终端进行同一音视频会议的方法 | |
CN114666422A (zh) | IPv4/IPv6协议交换方法及相关设备 | |
CN1777113A (zh) | 一种实现一体化网络服务的体系结构 | |
CN1849808A (zh) | 混合多媒体网络的协议的互通 | |
CN1946055A (zh) | 即时通讯中媒体数据传输通道切换的方法 | |
CN1764172A (zh) | 穿越网络地址转换和防火墙的多媒体通信代理系统及方法 | |
CN1232084C (zh) | 基于媒体网关控制协议的媒体网关间实现语音通信的方法 | |
CN1976356A (zh) | 一种网络地址转换穿透系统、方法和用户设备 | |
CN101179468A (zh) | 异构网络sip终端与h.323终端通讯的方法 | |
CN1863138A (zh) | 一种实现多媒体业务nat穿越的方法 | |
CN101631145A (zh) | 一种预测nat设备端口的方法 | |
EP1804429B1 (en) | A communication system and method for achieving ip cross-domain intercommunication via an edge media gateway | |
CN1559133A (zh) | 实时通信连接的网络过渡装置和通信系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Open date: 20070411 |