CN102325086A - 导通媒体流的方法、导通检测方法及其系统 - Google Patents

导通媒体流的方法、导通检测方法及其系统 Download PDF

Info

Publication number
CN102325086A
CN102325086A CN2011102531603A CN201110253160A CN102325086A CN 102325086 A CN102325086 A CN 102325086A CN 2011102531603 A CN2011102531603 A CN 2011102531603A CN 201110253160 A CN201110253160 A CN 201110253160A CN 102325086 A CN102325086 A CN 102325086A
Authority
CN
China
Prior art keywords
conducting
message
equipment
address
media stream
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
Application number
CN2011102531603A
Other languages
English (en)
Inventor
祝宁
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN2011102531603A priority Critical patent/CN102325086A/zh
Publication of CN102325086A publication Critical patent/CN102325086A/zh
Pending legal-status Critical Current

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明公开了一种导通媒体流的方法,包括:私网内的设备与对端设备通过网络转换设备单向,或双向发送导通报文;所述对端设备将导通报文在网络转换设备上产生的地址映射作为媒体流发送的路径,和/或所述网络转换设备根据发送的导通报文保活地址映射。本发明还公开了导通媒体流的系统和两种导通检测方法及导通检测系统。应用本发明避免了必须先由私网内的设备发出媒体流的限制。应用本发明的导通检测方法能够检测出承载网络中的两个媒体设备之间是否能够双向或单向互通媒体流,或两个媒体设备之间的一个或多个媒体流能否双向互通或单向可通。

Description

导通媒体流的方法、导通检测方法及其系统
技术领域
本发明涉及通信技术领域,特别是指导通媒体流的方法、导通检测方法及其系统。
背景技术
下一代网络(NGN,Next Generation Network)是电信史的一块里程碑,标志着新一代电信网络时代的到来。NGN是基于时分复用(TDM,Time Division Multiplex)的公共交换电话网(PSTN,Public Switched Telephone Network)语音网络和基于因特网协议/异步传输模式(IP/ATM,Internet Protocol/Asynchronous Transfer Mode)的分组网络融合的产物,其使得在新一代网络上实现语音、视频、数据等综合业务成为了可能。
现有NGN网络结构示意图如图1所示,媒体网关(MGW,MediaGateway,也简写为MG)用于将一种类型的网络中的媒体流转换为另一种网络所要求的格式,例如将电路交换网中的E1时隙转换为IP网络中的实时传输协议(RTP,Real-time Transport Protocol)媒体流。媒体网关控制器(MGC,Media Gateway Controller)用于实现呼叫状态的管理,以及对媒体网关承载资源的控制。MGC和MG之间传送控制信令,以使MG完成具体媒体流的建立、修改、释放和资源管理。
图1中,如果MG1和MG2所处的承载网是同一个私有网络或者同一个公有网络,则MG1和MG2之间的IP报文都可以直达对方。如果MG1和MG2中的一个处于公有网络而另一个处于私有网络,或者这两个网关处于IP报文不能直达的两个不同的私有网络,则可能会出现媒体流单向导通或者彼此不通的情况。同样的问题也存在于媒体流两端只有一端是媒体网关,而另外一端是媒体网关控制协议(SIP,)终端、H323终端、其它电路域(CS,Circuit Switch)或者分组网络等的情况下。
为了实现IP报文在公有网络和私有网络之间传递,通常采用网络地址(端口)转换(NA(P)T,Network Address and optional Port Translation)技术。以下为叙述方便,将网络地址转换(NAT)和网络地址端口转换(NAPT)统称为NAT。
NAT分为4种类型,即Full Cone、Restricted Cone、Port Restricted Cone和Symmetric。下面通过实例来说明这四种NAT的区别:
假设A机器在私有网络的本地媒体地址是192.168.0.1;NAT服务器地址是210.21.12.140;B机器在公用网络的本地媒体地址是210.15.27.166;C机器在公用网络的本地媒体地址是210.15.27.140。
现在,A机器通过NAT设备连接B机器,假设是A(192.168.0.4:5000)->NAT(转换后210.21.12.140:8000)->B(210.15.27.166:2000)。同时A从来没有和C通信过。
在Full Cone NAT类型下:
C发数据到210.21.12.140:8000,NAT会将数据包送到A(192.168.0.4:5000)。因为NAT上已经有了192.168.0.4:5000到210.21.12.140:8000的映射。
在Restricted Cone NAT类型下:
C无法和A通信,因为A从来没有和C通信过,NAT将拒绝C试图与A连接的动作。但B可以通过210.21.12.140:8000与A的192.168.0.4:5000通信,且这里B可以使用任何端口与A通信。如:210.15.27.166:2001->210.21.12.140:8000,NAT会送到A的5000端口上。
在Port Restricted Cone NAT类型下:
C无法与A通信,因为A从来没有和C通信过。而B也只能用它的210.15.27.166:2000与A的192.168.0.4:5000通信,因为A也从来没有和B的其他端口通信过。该类型NAT是端口受限的。
上面3种类型,统称为Cone NAT,它们有一个共同点:只要是从同一个内部地址和端口出来的包,NAT都将它转换成同一个外部地址和端口。但是Symmetric有点不同,具体表现在:只要是从同一个内部地址和端口出来,且到同一个外部目标地址和端口,则NAT也都将它转换成同一个外部地址和端口。但如果从同一个内部地址和端口出来,是到另一个外部目标地址和端口,则NAT将使用不同的映射,转换成不同的地址和端口。而且和PortRestricted Cone一样,只有曾经收到过内部地址发来包的外部地址,才能通过NAT映射后的地址向该内部地址发包。
现针对Symmetric NAT举例说明:
A机器连接过B机器,假使是A(192.168.0.4:5000)->NAT(转换后210.21.12.140:8000)->B(210.15.27.166:2000)
如果此时A机器(192.168.0.4:5000)还想连接C机器(210.15.27.140:2000),则NAT上产生一个新的映射,对应的转换可能为A(192.168.0.4:5000)->NAT(转换后210.21.12.140:8001)->C(210.15.27.140:2000)。此时,B只能用它的210.15.27.166:2000通过NAT的210.21.12.140:8000与A的192.168.0.4:5000通信,C也只能用它的210.15.27.140:2000通过NAT的210.21.12.140:8001与A的192.168.0.4:5000通信,而B或者C的其他端口则均不能和A的192.168.0.4:5000通信。
NAT穿越技术是指私有网络上的终端采用私有IP地址通过出口的网络地址转换/防火墙(NA(P)T/FW,Network Address and optional Translation/FireWall)接入公网。基于H.323、SIP、媒体网关控制协议(MGCP,Media Gateway Control Protocol)和H.248等协议的语音和视频应用需通过信令消息中的IP地址和端口参数来实现目的地寻址,因此NAT穿越时不仅需要对传输控制协议/用户数据报协议(TCP/UCP,Transmission Control Protocol/)层的端口信息以及IP层的源地址和目的地址进行变换,还需对IP包载荷(即信令)中的相关地址信息进行变换。
STUN和TURN是两种常用的NAT穿越方式。
STUN的全称是Simple Traversal of UDP Through Network AddressTranslators,即UDP对NAT的简单穿越方式。应用程序即STUN客户端通过UDP向NAT外的STUN服务器发送请求STUN消息,STUN服务器收到请求消息后,产生响应消息,响应消息中携带请求消息的源端口,即STUN客户端在NAT上对应的外部端口。然后响应消息通过NAT发送给STUN客户端,STUN客户端通过响应消息体中的内容得知其NAT上的外部地址,并将其填入以后呼叫协议的UDP负载中,告知对端,本端的RTP接收地址和端口号为NAT外部的地址和端口号。由于通过STUN协议已在NAT上预先建立媒体流的NAT映射表项,故媒体流可顺利穿越NAT。
STUN协议最大的优点是无需对现有NAT/FW设备做任何改动,同时STUN方式可在多个NAT串联的网络环境中使用。STUN的局限性在于需要私网中的终端支持STUN CLIENT的功能,不支持Symmetric NAT类型的穿越,而在安全性要求较高的企业网中,出口NAT通常采用Symmetric NAT类型。
TURN的全称为Traversal Using Relay NAT,即通过中继方式穿越NAT。TURN应用模型通过分配TURN服务器的地址和端口作为私网中IP语音(VOIP,Voice Over IP)终端对外的接受地址和端口,即私网终端发出的报文都要经过TURN服务器进行中继转发,这种方式除了具有STUN方式的优点外,还解决了STUN应用无法穿透Symmetric NAT以及类似的防火墙设备的缺陷,同时TURN支持基于TCP的应用。此外TURN Server控制分配地址和端口,能分配RTP/RTCP地址对(RTCP端口号为RTP端口号加1)作为私网终端用户的接收地址,避免了STUN方式中出口NAT对RTP/RTCP地址端口号的任意分配,使得客户端无法收到对端发来的RTCP报文(对端发RTCP报文时,目的端口号缺省按RTP端口号加1发送)。TURN方式解决NAT问题的思路与STUN相似,它们的区别在于:STUN方式得到的地址为出口NAT上的外部地址,TURN方式得到地址为TURN服务器上的公用网络地址。
TURN的局限性在于需要VOIP终端支持TURN客户端,这一点同STUN一样对网络终端有要求。此外,媒体流经过TURN服务器转发,增大了包的延迟和丢包的可能性。TURN方式也被称为STUN的转发方式。
现有的基于H.248协议的实现NAT穿越的方法如下:
媒体网关控制器在发给公网内的网关2的H.248消息中指定RTP端点RTP/2的远端SDP包(即会话描述协议包)中携带的CPE2是处在NAT设备后的私网中的媒体流对端的私网地址。
处于私网中的对端即私网地址为CPE2的端点发出的媒体流在通过NAT时,NAT将其地址转换成CPE1,但是按照H.248协议,端点RTP/2会将媒体流发送到私网地址CPE2,而这对于端点RTP/2实际是不可到达的。所以H.248.37新增了一个H.248信号下发给端点RTP/2指示作NAT穿越。此时,端点RTP/2会用实际收到的媒体流的公网地址CPE1替代远端SDP中的私网地址CPE2。端点RTP/2发出的媒体会发送到CPE1,NAT根据之前建立的地址映射关系,将CPE1收到的媒体流发送到私网的CPE2地址。由上述实现过程可知,要实现媒体流的导通就要求私网中的端点必须先向公网内的端点发送媒体流,激发NAT设备产生地址映射,而公网内的端点根据收到的媒体流的源地址作为其所发送媒体的目的地址。
但是很多情况下会有单向媒体的需求,比如需要对端播放的回铃音或者彩铃等,此时因为被叫还没有摘机,因而私网中的主叫不会有媒体流发出,从而导致该私网中的主叫无法接收媒体流。另外,当静音检测被激活时,如果私网中的用户静音,则也没有从私网发往公网的媒体流,公网也无法把媒体发送到该私网。也就是说,在H.248.37定义的规范下,私网中的端点必须先往公网媒体网关内的端点上发送媒体流,否则公网内的端点即使要发出媒体流,也因为还没有获得NA(P)T为对端私网地址映射的公网地址,而无法将媒体流发送到对端。
另外,STUN服务器或者TURN服务器虽然可以用于进行NAT穿越,但考虑Restricted Cone、Port Restricted Cone和Symmetric这几种类型,即使私网内的端点已经通过STUN或者TURN获得了私网地址映射的公网地址,也很可能无法实现媒体流导通。现有技术中基于Restricted Cone NAT类型的组网示意图如图2所示,假设媒体网关1上的本地媒体地址为地址B,且其被NAT映射成地址A,媒体网关2的本地媒体地址为地址X。此时媒体网关2发出的媒体流即使达到了地址A,也不能保证NAT能够将该媒体流转发到媒体网关1中的本地媒体地址B上。这是因为,之前的STUN消息是从媒体网关1发送到STUN服务器的地址Y,而并没有发送到媒体网关2的媒体流,而在上述三种NAT类型下必须先有从地址B发到地址X的报文,地址X发出的媒体流才能够通过NAT返回地址B。
另外,NA(P)T对于地址映射有生命周期的限制,已有的地址映射如果在生命周期内从未被使用,则会被删除。这样,媒体流将无法从NA(P)T外发往NA(P)T内,即使有新的媒体流从NA(P)T内发出,NA(P)T也很可能给其重新映射一个新的公网地址。对端如果使用之前保存的老的映射公网地址,也会引发问题。
通过TURN服务器转发媒体流也会遇到与STUN服务器类似的问题。
由此可见现有技术中,私网内的媒体设备,如MG以及各种终端等,即使已经被映射了公网地址,也需要先发送媒体流给对端,否则,不能保证私网内媒体设备的对端先发出的媒体流能够到达该媒体设备。而且,现有技术中由于一段时间内没有媒体流通过,容易导致NA(P)T上的地址映射无法保活。
发明内容
有鉴于此,本发明实施例的一个目的在于提供一种导通媒体流的方法及系统,以克服现有技术实施例中由于私网内的媒体设备没有先发送媒体流给对端,从而导致私网内媒体设备的对端先发出的媒体流因为缺少NA(P)T上的地址映射而没有路径可以到达该私网内的媒体设备以及无法保活NA(P)T上的地址映射的问题。
本发明实施例的另一目的在于提供一种导通检测方法及系统,以检测媒体设备两端是否能够双向互通;
本发明实施例的又一目的在于提供一种导通检测方法及系统,以检测媒体设备两端是否能够单向互通。
为解决上述技术问题,本发明实施例提供如下技术方案:
一种导通媒体流的方法,包括:
私网内的设备与对端设备通过网络转换设备单向,或双向发送导通报文;
所述对端设备将导通报文在网络转换设备上产生的地址映射作为媒体流发送的路径,和/或所述网络转换设备根据发送的导通报文保活地址映射。
一种导通检测方法,包括:
承载网络中的一个媒体设备向另一个媒体设备发送导通报文,判断预定时间内是否接收到所述导通报文的应答报文,若是,则所述该两个媒体设备所在的承载网络双向导通,否则该两个媒体设备所在的承载网络未双向导通。
一种导通检测的方法,承载网络中的一个媒体设备判断预定时间内是否接收到对端发送的媒体流,和/或对端发送的导通报文,若是,则判断所述对端到该媒体设备的方向上导通,否则判断对端到该媒体设备的方向上未导通。
一种导通媒体流的系统,包括私网内的设备、网络地址转换设备和所述私网内设备的对端设备,其特征在于,
所述私网内的设备包括:导通单元,用于通过网络转换设备向对端设备发送导通报文。
一种导通检测系统,包含承载网络中的媒体设备,所述媒体设备内包含导通检测单元,用于检测所述媒体设备所在的承载网络是否导通。
一种私网内的媒体网关,所述私网内的媒体网关包括:导通单元,用于通过网络转换设备向对端媒体网关单向或双向发送导通报文;该导通单元根据媒体网关控制器的指示发送所述导通报文;所述媒体网关控制器控制下发导通报文时,指示哪些本地媒体地址需要发送导通报文。
应用本发明实施例所描述的导通媒体流的方法,使私网内的设备与对端设备通过网络转换设备单向或者双向发送导通报文,该导通报文可以在网络转换设备上产生地址映射,使私网内的媒体设备的对端发出的媒体流能够将该地址映射作为发送路径向该私网内的媒体设备发送媒体流,避免了必须先由私网内的媒体设备向对端发送媒体流的限制,同时也可以保活NA(P)T上以及TURN服务器上的地址映射;应用本发明实施例的导通检测方法检测承载网络是否双向导通时,可以通过判定承载网络中一个媒体设备预定时间内是否接收到向另一个媒体设备发送的导通报文的应答报文,若收到则说明承载网络中的两个媒体设备之间能够双向导通;应用本发明实施例的导通检测方法检测承载网络是否单向导通,可以通过判定承载网络中一个媒体设备在预定时间内是否接收到对端发送的媒体流,和/或对端发送的导通报文,若收到则说明对端到该媒体设备的方向上导通。
附图说明
图1为现有NGN网络结构示意图;
图2为现有基于Restricted Cone NAT类型的组网示意图;
图3为本发明实现导通媒体流的方法的实施例流程示意图;
图4为本发明实现导通检测的方法的第一实施例流程示意图;
图5为本发明实现导通检测的方法的第二实施例流程示意图。
具体实施方式
本发明实现导通媒体流的方法的实施例流程如图3所示,其关键是:私网内的设备通过网络转换设备向其对端发送导通报文,该导通报文的目的地址可以是对端的公网地址或者对端通过网络转换设备映射的公网地址,导通报文经过网络转换设备时在该网络转换设备上产生地址映射,该地址映射是用于导通媒体流的私网设备的公网地址,对端接收到导通报文后可以从该导通报文中获取用于导通媒体流的私网设备的公网地址,因此该导通报文相当于建立了一个媒体流通道,网络转换设备利用导通报文产生的私网内设备的地址映射建立的媒体流通道接收来自所述对端的媒体流,将其发送到私网内的设备,实现媒体流导通。
上述对端所需的本端私网内设备所映射的公网地址,既可以通过导通报文获得,也可以通过其他方式获得,如通过STUN/ICE方式获得(RFC 3489和draft-ietf-mmusic-ice-09.txt);当上述对端能够通过其他方式获得公网地址后,对于非Full cone类型的NAT,该导通报文的作用主要在于提供媒体路径,这样,对端即可沿着该导通报文的反向路径发送媒体流到所述私网内的设备,如果没有所述导通报文或者其他报文从所述私网内设备发送到对端,即使对端通过其它方式获得了所述私网内设备所映射的公网地址,对端发送到该公网地址的报文也会被NAT丢弃;当然,如果对端之前没有获得私网内设备所映射公网地址,也可以将导通报文的主要作用作为获取公网地址,因为只要获取了公网地址,就可以实现媒体流导通了,这是因为用于导通功能的导通报文和媒体流路径一致。所以,导通报文同时用于上述两个作用,也是完全可以的。
这样,当私网内设备的对端完成呼叫建立后,能够及时获得远端私网地址在NA(P)T上映射的公网地址,并将其作为远端地址,从而实现媒体流由私网内设备的对端先发起并通过NA(P)T转发到私网内的设备上,避免了媒体流必须由私网内的设备先发起这一限制。可见,应用本发明实施例,不但能够解决H.248.37场景下的问题,还可以解决:私网内设备已通过某种方式获得了本地媒体地址在NA(P)T上映射的公网地址,且NA(P)T类型是Restricted Cone、PortRestricted Cone或Symmetric情况下的问题。当然,如果媒体流两端在不同的私网内,那么两端都需要从NA(P)T向对端发送导通报文。本申请中的导通是指因为NA(P)T或者TURN上存在地址映射,要通过导通报文产生,保持该映射,或者使对端沿着该导通报文的相反方向发送媒体流,使媒体流能够导通。
另外,一旦NA(P)T或者TURN服务器上的地址映射已经被激活,那么任何方向的导通报文都可以用于保持映射,从而实现NA(P)T地址映射的保活。
下面结合图2对本发明实现思路再做说明。MG1通过STUN服务器获得NA(P)T为本地地址B的映射的公网地址A后,向MG2的地址X发送导通报文,这样,地址X首先发出的到达地址A的媒体流能够被NA(P)T转发到地址B。当然,地址B也可以首先向地址X发送媒体流。由于在某些情况下,并没有地址B发往地址X的媒体流而先需要有地址X发往地址B的媒体流,因此如果有了导通报文,就避免了媒体流必须由私网内的设备先发起这一限制。
需要说明一点:本文描述的公网地址和私网地址都是针对NA(P)T而言,NA(P)T内的网络地址被称为私网地址,私网地址通过NA(P)T映射后的地址被称为公网地址。
如果两端设备在不同的私网中,各自向对端通过NAT映射的公网地址发送导通报文,如果NAT类型是Restricted Cone,则各自激活了本端使用的NAT上的地址映射,之后两端都可以沿着相同路径向对端发送媒体。
上述私网内的设备可以是私网内的MG,也可以是私网内的各种其他媒体处理设备,如H.323终端、SIP终端(还包括了SIP IAD,支持SIP的用户设备)等;上述私网内设备的对端可以是MG,也可以是其他媒体处理设备,如H.323终端、SIP终端(还包括了SIP IAD,支持SIP的用户设备)等;上述私网内设备的对端可以位于公网内,也可以位于另一个私网内,而且,这两个私网可以由NA(P)T连接,也可以由NA(P)T连接分组网络后实现连接。
如果私网内的设备是MG,则该MG既可以主动发起导通报文,也可以在MGC的控制下发起导通报文。MGW可以自行选择导通报文的类型,也可以由MGC来指定。MGC可以向MGW审计,获得MGW能够支持的导通报文的类型,支持还可以进一步细分为支持发送和支持接收处理。
如果该MG是不支持STUN的网关,则当MG完成呼叫建立后,其所发送的导通报文的类型包括媒体报文,静音指示报文(SID报文),RTP No-Op报文以及IETF的draft-marjou-behave-app-rtp-keepalive-00.txt以及该draft后续更新中定义的其它格式的报文,或自定义格式的其它导通报文等。其中,RTP报文可以是相当于不激活VAD功能时,媒体被正常打包发送的RTP报文。例如,编码方式为G.729,打包时长为20毫秒时,按照20毫秒时长打包语音数据生成RTP报文。非RTP格式的媒体流也可以使用于其格式相同但是内容为空的“无害”报文作为其导通报文,但是前提是不会影响到正常的业务数据处理。
如果该MG是支持STUN的网关,则当MG完成呼叫建立后,其不仅可以发送上述类型的导通报文,还可以发送STUN binding request(绑定请求)消息作为导通报文。此处导通报文的作用是产生由NAT内向NAT外的IP报文,以便NAT外的真正的媒体流能按照原路返回发送进来。而应用STUN binding request作为导通报文一个优势是,STUN binding request可以返回映射地址,如果NAT出现复位,或者承载通道上的其他故障导致NAT上的地址映射丢失,那么导通报文的应答报文中携带的映射地址可能会变化,这样,即使导通报文有应答,由于地址已经发生了变化,也能够判断出媒体流并不能反向回来,从而避免了NA(P)T重新映射了一个新的公网地址,而对端仍然向之前保存的老映射地址发送媒体报文导致媒体流不通的情况。如果NAT的映射地址发生了变化,公网侧收到的导通报文或者媒体流的源地址也会发生变化,MGC可以将该变化通知MGC,MGC可以进一步要求公网侧修改远端地址使双向媒体流都可以导通。
上面提到导通报文的具体格式可以自定义,也可以采用现有的没有列举出的其他格式,实际应用时并不限于已经列举出的几种形式。
在由MGC控制下发起导通报文时,需要对H.248和/或MGCP协议进行扩展,两者的扩展方式类似,都是用下发信号等方式通知MG发送导通报文。该信号中可以指定哪些本地媒体地址需要发送导通报文。
下面是一个H.248的实施例,MGCP的实现方式类似,不重复列举。
扩展一个基于H.248的媒体承载导通包traffct。
定义一个信号scp用于MGC指示MG发送导通报文。该信号可以笼统地要求MG在所有媒体通道上发送导通报文,也可以具体指定导通报文的一些参数。
将本地SDP中的地址进行编号,比如用<N,X,Y>的格式来说明,N表示序号,且从1开始顺序排列,X表示组(group)号,Y表示在该组中的地址序号。例如“<2,2,1>”表示序号为2的地址是本地SDP的第二组的第一个地址。这样,本地SDP中的所有地址都可以有一个唯一序号。
对于上述信号scp,定义其参数fa(From Address)类型是字符串列表。在MGC发给MG的指示其发送导通报文的请求消息中,该列表中的每一项可以如下取值:
L:“Local Address”,代表从本地地址发出。
N:“No Request”,代表该序号的本地地址不需要发送导通报文。
字符串在列表中的序号和前述SDP中的地址编号序号对应。
例如,如果字符串列表为“L,N,N,L”,则代表序号为1、4的本地地址发送导通报文到对端地址;序号为2、3的本地地址不需要发送导通报文。
如果一个接收地址只对应一个源地址,则由于不需要区分不同的媒体流,所以导通报文中不需要携带媒体类型信息。
如果一个接收地址需要接收几个源地址不同的媒体流,则可能需要区分不同的媒体流,否则对端在这个接收地址收到导通报文无法判断导通的是那个NA(P)T上的地址映射,而且也无法确定利用该地址映射建立的路径用于哪个媒体流。因而需要导通报文中携带能够区分不同媒体流的信息。此时,又存在以下几种情况:
如果媒体报文作为导通报文,则该报文中已经携带了媒体流信息。例如媒体流是G.711,则导通报文也用G.711。
如果应用自定义的格式作为导通报文,则该报文中同样需要携带用于区分不同媒体流的信息,例如要携带媒体属性,如静荷类型等。
如果应用STUN binding request作为导通报文,则该报文中不需要携带用于区分不同媒体流的信息,这是因为,使用STUN协议时,私网内设备的对端已经获得了私网地址映射的公网地址,所以,从STUN请求的源地址就可以分析出对端代表SDP中的哪个媒体流,因而不需要再做区分。
再有,上述导通报文在设计时需要考虑如果不能够被对端解析,也仅仅是丢弃,而不应该造成任何不良影响。
由于导通报文在传输过程中可能丢失,如果是不带应答机制的导通报文,导通报文可以被反复发送,以避免在途中丢失造成误判。
再有,私网内设备的对端在接收到导通报文后,可以进一步对该导通报文进行应答,以避免前述导通报文的反复发送,也可以让发送方确认该路径已经导通。这种应答可以是对端设备自动进行的,也可以是在被控制下进行的。也就是说,私网内设备的对端可以直接应答即默认应答,也可以通过被指示实现支持应答。对于具体的应答方式,其可以仅仅是一个简单的应答报文。当NAT上的映射成功,媒体流导通后,交互双方中的任何一方都可以主动发起导通报文。
再有,私网内的设备还可以对接收到的应答进行再应答,以实现三次握手机制。
如果私网内设备的对端是MG,则既可以通过配置来实现是否自动应答,也可以扩展一个包,定义属性scprep。如果属性值为TRUE,表示本端媒体地址可以应答导通报文,避免对端反复重发导通报文。如果属性值为FALSE,则不应答。
前述的应答可能是接收端进行环回,将接收到的导通报文返回,或者是自行产生不同的报文用作应答消息。
在不使用应答机制的情况下,可以在一端向另外一端发送导通报文,在另外一端检测导通报文以及媒体流报文,如果对端能够收到报文,则说明从本端到对端是可以导通的。实际应用时可以灵活定义,检测方可以只检测导通报文和媒体流报文中的一种,或者同时检测两种。反之,在对端发送导通报文而在本端检测该报文,或者媒体流报文,则可以检测对端到本端的导通情况。综合双向的检测结果,可以获得双向的导通情况。
再有,当确认媒体流导通后,也可以停止发送导通报文。确认方式可以有多种,如可以在接收到应答后停止发送导通报文,也可以在接收到媒体流或者对端发出的导通报文后停止发送导通报文。例如,假设发送导通报文的NA(P)T后的设备为设备A,对端为设备B,且该设备B可能处于公网,也可能处于私网,但是其私网地址被NA(P)T映射称公网地址。此时,如果设备A发送导通报文到设备B,且设备A收到反向的业务数据流即来自设备B的媒体流,则说明发送导通报文的目的已经达到,设备B到设备A是可以导通了,则设备A可以停止发送导通报文。这种场景下,主要关注的是私网外到私网内的导通。
由于NA(P)T的地址映射有生命周期,即如果某个地址映射长时间不被使用,则删除该映射。导通报文在两个方向中的任何一个方向的发送都能够起到保持NAT上地址映射保活的目的。而且,本发明描述的导通报文还可以用于作为心跳机制。NA(P)T后的设备检测收发的媒体流,如果某个地址映射在预设的时间内没有收发媒体流操作,则为了避免该地址映射因为超时被删除,发送导通报文,以确保地址映射的存在。当将导通报文作为心跳机制时,在有媒体流的情况下,导通报文可以暂时停止发送,也可以简化处理逻辑不考虑媒体流状况而周期发送。
如果NA(P)T后的设备是媒体网关,则可以扩展H.248/MGCP协议,由MGC下发属性或者信号等指示媒体网关周期性发送导通报文穿过NA(P)T设备到媒体流对端,发送周期可以由MGC指定。
导通报文可以针对每个媒体流路径单独发送,以保证每个媒体流路径都导通。如果对端具备对导通报文进行应答功能,则还可以进一步扩展该功能,让收不到应答的一端上报异常。有些情况下,应答机制不是必须的,例如,可以两端都周期向对端发送导通报文,两端都检测接收导通报文以及媒体流报文,如果能够接收到导通报文或者媒体流报文,说明接收路径是导通的。两端都检测接收路径的导通状况,也就实现了双向导通检测。对于媒体网关,上报异常的操作可以通过增加H.248/MGCP事件patherr,上报某个媒体流路径不通来完成。对于SIP设备,上报异常的操作也可以通过定义事件上报的方式来实现。SIP设备报告该事件的方式和H.248/MGCP类似,既可以被订阅,也可以被预制。
还有一种情况,媒体协商时一个本端地址要对应多个对端地址收发媒体流,而两端之间可能要经过一个或者多个NA(P)T,那么相同的本地地址会对应多个媒体流,虽然这种情况并不多见,但是在MGC下发信号指示发送导通报文或者上报导通报文不通时,需要精确到单个媒体流,因此还需要增加修改描述方式。以如下仍SDP为例:
“v=0
c=IN IP4 10.1.1.1
m=audio 1000RTP/AVP 018”
上述三行的含义是:媒体使用语音(audio)类型,使用IPV4,媒体承载使用RTP协议(RFC3551定义)。编码译码器(Codec)编解码使用PCMU和G.729。
根据现有技术可知,如果两种媒体流对端的地址不相同,而且NAT的类型是Symmetric类型,则这个本地私网媒体地址”10.1.1.1:1000”在NAT上会映射出两个公网地址。如果两种媒体流对端的地址分别是地址A和地址B,地址A和地址B不相同(包括IP地址不同或者端口不同)。如果NAT的类型是RestrictedCone,则虽然这个本地私网媒体地址”10.1.1.1:1000”在NAT上只映射出一个公网地址,但是即使有私网地址”10.1.1.1:1000”和地址A交互的媒体流,只要没有”10.1.1.1:1000”发到地址B的媒体报文,地址B的媒体流也无法通过NAT返回私网地址”10.1.1.1:1000”。如果两种媒体流对端的地址分别是地址A和地址B,地址A和地址B的IP地址不同,而且NAT的类型是Port Restricted Cone,则虽然这个本地私网媒体地址”10.1.1.1:1000”在NAT上只映射出一个公网地址,但是即使有私网地址”10.1.1.1:1000”和地址A交互的媒体流,只要没有”10.1.1.1:1000”发到地址B的媒体流,地址B的媒体流也无法通过NAT返回私网地址”10.1.1.1:1000”。
因此,在上述情况下,导通报文仅针对每个媒体本端地址发送一个是不够的,必须要针对每个单独的媒体流发送。基于此,对scp信号定义faext参数,faext参数的类型也是字符串列表,其中每一行的格式如下:
<地址序号>,<媒体流编号>
用于列举需要发送导通报文的媒体流路径。
媒体流编号是相同地址序号下的媒体流编号,例如前面“m=”内最后一项是格式列表<fmt list>,即媒体格式格式列表,在本例子中,放的是RTP包的静荷类型,这里就是0和18两个静荷类型,代表G.711(即PCMU)和G.729。媒体流编号序号从1开始顺排。媒体流编号为可选项。如果不包含,则表示对该地址序号的所有媒体流都有效。
例如“1”表示从序号为1的地址,也就是从”10.1.1.1:1000”地址发送导通报文。如果PCMU和G.729的远端地址不同,而且NAT类型不是Full Cone类型,则对于不同的目的地址都要发送导通报文。一种情况例外,对于PortRestricted Cone类型的NAT,如果两个目的地址的IP地址相同而端口不同,就可以只需要往其中一个地址发送导通报文,这是由Port Restricted类型的特性决定的。如果只针对其中的一个媒体流发送导通报文,则可以用”1,2”表示从私网地址”10.1.1.1:1000”向媒体流编号为2的G.729的对端地址发送导通报文。
通常对同一“m=”行中描述的所有媒体对应的对端也是唯一地址(例如对端的SDP也把这些媒体放在同一个”m=”行),该行描述的所有媒体只对应同一条媒体路径,即源地址和目的地址都相同的路径。这时,就不需要区分媒体流编号。
当然,也可以不考虑NAT的类型,而指定在部分或者全部的媒体流路径上发送导通报文。这样可以避免判断NAT类型引发的复杂的逻辑,例如,前面考虑如果是Full Cone类型的NAT,则只用在一条媒体流路径上(比如只在G.711媒体路径,不在G.729的媒体路径)发送导通报文,就能保证NAT映射的正确生成或者保持,但是在实际应用时,可以不考虑这么复杂,MGC可以要求还是要在两条路径都发送导通报文。而且,在进一步用于导通检测的情况下,NAT只是整个媒体通道上的一部分,所以可能需要对每个媒体流路径都进行全程检测。
对于针对单个媒体流发送导通报文的情况,也可以进一步扩展上报导通失败的功能,此时需要具体指示是哪个媒体流导通失败。下面仍以H.248为例进行说明,MGCP与之类似。
对于H.248,可以通过定义事件patherr,上报事件的参数ep(error path),该参数类型为字符串列表。列表中的每个字符串的格式为:
<地址序号>,<媒体流编号>
沿用前面的SDP例子,“1,2”表示地址序号为1,媒体流编号为2的G.729的媒体流所走路径的导通报文无法获得应答。某些情况可能并不需要具体到”m=”行中的format list中不同项,则只需要上报地址序号就够了。因此,媒体流编号仍是可选项。
IP媒体流属性通常包括以下五元组:源IP地址及其端口,目的IP地址及其端口,以及该路径上的媒体传输协议类型。因此,对于源地址和目的地址都相同的不同媒体流可以共用同一个导通报文以及同一个心跳检测,避免在相同的路径下重复导通检测或者重复保持NA(P)T地址映射。
对端设备可能并不具备对导通报文进行应答的能力,或者导通报文本身并没有定义应答报文的格式,但是对端设备也可以发送导通报文。一种具体的实施方法是:MGC指示媒体流两端的两个网关都周期性向对端发送导通报文。两端都检测接收导通报文或者媒体流报文,如果在预定时间内没有收到报文,则上报事件通知MGC。也可以只在一端检测,检测出的是单向的导通性。
如果导通报文使用STUN绑定请求消息。见IETF草稿draft-ietf-mmusic-ice-09.txt中的Connectivity Checks(导通检测功能),如果STUN绑定请求的应答报文中携带的映射地址发生变化,说明NAT地址可能被刷新过,也需要上报事件通知MGC,MGC可以重新发起STUN过程重新在呼叫两端交换媒体流地址。如果上报事件中携带了更新后的映射地址,MGC可以把该地址发给对端,让对端更新远端地址。无论导通报文采用何种格式,如果导通报文的源地址发生变化,或者导通报文应答消息的源地址发生变化,也可以用该事件上报。
下面对于与H.248相关的本发明所定义的扩展包做一统一说明。MGCP的实现方法和H.248类似,不再重复叙述。
对于支持STUN协议的网关,定义一个STUN导通包Stunct
(1)定义信号stunbr用于发送stun binding request请求作为导通报文。相当于在ICE技术下选择出的媒体流两端的Operating candidate(执行候选)之间进行导通检测。也就是说,沿着媒体流的路径上进行导通检测。
该信号携带参数fa,类型是字符串列表,该列表中的每一项可以如下取值:
L:“Local Address”,代表从本地地址发出。
N:“No Request”,代表该序号的本地地址不需要发送导通报文。
字符串在列表中的序号和前述SDP中的地址编号序号对应。
如果媒体流是通过TRUN转发,则本导通报文也和媒体流一样从TURN转发。
(2)定义信号stunbrhb用于周期发送stun binding request请求作为导通检测心跳。
该信号携带参数fa,该参数fa的含义和stunbr信号的fa参数的定义相同。
另外,携带参数interval,该参数为整数类型,单位为毫秒,表示心跳间隔。
该心跳间隔适用于fa参数中指定的所有要发送心跳的地址序号。
如果该信号要求网关发送多个导通报文,则网关可以在各个导通报文之间适当间隔,例如50毫秒,避免同时发送多个消息导致拥塞。
fa参数也可以定义成列表形式,对于每个心跳请求单独设置心跳周期。
在两次心跳间隔之间如果在该心跳的路径上收到了媒体流数据,则心跳定时器被复位,这样可以减少心跳消息造成的系统负担。
信号stunbr和信号stunbrhb中如果要对相同本地地址的多个媒体流单独控制是否分别发送导通报文,可以用前面定义的faext参数替代fa参数。
(3)定义事件patherr
该事件用于检测导通报文是否成功。如果导通报文接收应答失败,或者在应答报文中携带的映射地址发生改变,则上报此事件。
该事件携带参数timeout,用于设置预定时间。导通报文发出后,在该时间内接收不到导通报文的应答,则上报事件。
该事件还携带参数fae,用于设置在哪些地址进行检测STUN应答报文。该参数fae的含义和stunbr信号的fa或者faext参数的定义相同。也可以默认在发送导通报文的所有地址检测应答消息并且上报异常。如果这样,则fae参数不需要。
该事件上报时携带参数ep,该参数类型为字符串列表。用于上报导通报文没有应答报文的列表。列表中的每个字符串的格式为:
<地址序号>,<媒体流编号>
具体用法前面已经描述过,不再赘述。
该事件上报时还可携带参数ca,该参数类型为字符串列表。用于上报stun绑定请求的应答报文中改变了的映射地址或者导通报文变化了的源地址。
格式为:
<地址序号>,<媒体流编号>,<映射地址>
前两个参数用法和参数ep相同,映射地址为stun绑定请求的应答报文中携带的映射地址。
为了描述方便,没有单独对RTCP报文的路径上作导通以及导通检测,RTCP路径上的导通检测可以由MGW默认和其对应的媒体流同时进行检测,或者在本包中增加对RTCP进行导通以及导通检测的相关内容,但是其原理和方法和其他媒体流导通以及导通检测相同。RTCP流也是媒体流的一个组成部分。
对于不支持或者不使用STUN协议的网关,可以另外定义一个媒体承载导通包traffct。另外,Traffct和Stunct包也可以合并在一个包中实现功能。
(1)定义信号scp用于发送导通报文。沿着媒体流的源地址和目的地址进行导通检测。导通报文的具体格式这里不定义,使用RTP No-Op报文是一种选择。
该信号携带参数fa,类型是字符串列表,该列表中的每一项可以如下取值:
L:“Local Address”,代表从本地地址发出。
N:“No Request”,代表该序号的本地地址不需要发送导通报文。
字符串在列表中的序号和前述SDP中的地址编号序号对应。
(2)定义信号scphb用于周期发送导通报文。
该信号携带参数fa,和scp信号的fa参数的定义相同。
另外,携带参数interval,该参数为整数类型,单位为毫秒,表示心跳间隔。
该心跳间隔适用于fa参数中指定的所有要发送心跳的地址序号。
如果该信号要求网关发送多个导通报文,则网关可以在各个导通报文之间适当间隔,例如50毫秒,避免同时发送多个消息导致拥塞。
fa参数也可以定义成列表形式,对于每个心跳请求单独设置心跳周期。
在两次心跳间隔之间如果在该心跳的路径上收到了媒体流数据,则心跳定时器被复位,这样可以减少心跳消息造成的系统负担。
信号scp和信号scphb如果要对相同本地地址的多个媒体流单独控制是否分别发送导通报文,可以用前面定义的faext参数替代fa参数。要注意的是,是否可以用faext参数和导通报文的定义格式有关,如果导通报文本身不携带媒体流信息,则通过不同路径发送到同一个目的地址的导通报文并不能被接收端区分其代表的是哪一条媒体流。
(3)定义信号comht,指示发送导通报文。
在需要检测承载网是否导通时,并不需要针对每个呼叫建立的媒体流检测其导通情况,而只用在承载网两端各选取一个地址发送导通报文进行检测。从结果中可以获得承载网的导通情况。
该信号定义参数可以携带导通报文的源地址端口,目的地址和端口,发送周期,以及导通报文的类型。
(4)定义事件patherr
该事件用于检测导通报文是否成功。如果在预定时间内接收应答失败,或者接收导通报文或媒体流报文失败,则上报此事件。如果导通报文或者其应答消息的源地址发生了变化,也可以通过该事件上报异常。
该事件还可以携带参数timeout,用于设置预定时间。
该事件还携带参数fae,用于设置在哪些地址进行检测入局(incoming)媒体报文。该参数fae的含义和stunbr信号的fa参数的定义相同。
另外,针对信号comht的情况,该参数fae还需要增加直接描述检测报文的地址的功能。
该事件上报时携带参数ep,该参数类型为字符串列表。用于上报导通报文没有应答报文的列表。列表中的每个字符串的格式为:
<地址序号>,<媒体流编号>
另外,对于通过信号comht下发的导通报文的检测,该参数ep还需要增加直接描述地址的功能,即在某个或者某些地址在预定时间内没有收到导通报文。
另外,媒体网关控制器还可以通过审计获得媒体网关支持的导通报文的类型。
上述新增包是一个可能的实施方案,在遵循本申请原则情况下可以调整,例如:H.248信号也可以通过H.248属性的方式下发相同的指示内容。
本发明的导通报文不仅可用于媒体流的导通,还可以用于导通检测,也就是说,导通以及导通检测可以使用相同的导通报文。上面已说明了导通媒体流的实现过程,而且其中对导通检测也进行了部分说明,下面再重点说明导通检测的实现过程。
本申请中的导通检测是指通过沿着媒体流路径发送导通报文,检测媒体流路径是否可用。另外,导通检测还可以用于检测两个网络节点之间的承载导通情况,其和具体的业务媒体流无关。
导通报文可以是在能力协商出的媒体流的两端之间发送接收,也可以在配置或者指定了一个媒体流两端之间发送接收。例如,两个MG或者其他媒体设备如SIP/H.323终端之间可以配置用于发送和接收导通报文的地址,这时导通报文主要检测承载层的导通状况,而不具体到呼叫的媒体流通道。发送和/或接收导通报文的地址也可以由MGC,SIP UA设备通过信令来指定。这需要扩展H.248/MGCP/SIP/H.323协议来下发这些指令。
承载网发生故障时,即使呼叫信令建立正常,媒体流也会不通,目前检测导通的机制通常是:检测一定时间内未接收到媒体流就上报导通故障。但是,有时没有媒体流并不等于媒体流不通,因为很可能是两端在这段时间确实是没有媒体流交互,比如处于启动了VAD的情况。
因此,基于上述通过导通报文实现导通媒体流的方法,本发明实现导通检测的方法的第一实施例流程示意图如图4所示,其思路是:承载网络中两个媒体设备中的一个发送导通报文,判断预定时间内是否接收到所述导通报文的应答报文,若是,则所述该两个媒体设备所在承载网络双向导通,否则该两个媒体设备所在承载网络未导通。在将导通报文作为通用的媒体承载层的导通检测时,该导通报文可以从任何一方首先发起。
上述应答既可以是接收导通报文一方自身发送的应答,也可以是接收导通报文一方对收到的导通报文的回环。如果是接收导通报文一方自身发送的应答则可以按照前面定义的事件上报方式进行应答。也可以双向发送导通报文,在两端各自检测接收能力。
再有,与图4类似的,本发明实现导通检测的方法的第二实施例流程示意图如图5所示,其思路是:承载网络中的一个媒体设备,判断预定时间内是否接收到对端发送到本端的媒体流,和/或对端发送到本端的导通报文,若是,则所述对端所在承载网络到本端的单方向导通,否则对端所在承载网络到本端的单方向未导通。这里“和/或”的意义在于:判断是否导通可以只检测导通报文,或者只检测媒体流,或者检测到导通报文或媒体流两者中任一种就可以判断为导通。极端的做法是两者都检测到才判断为导通。
图4与图5的根本区别是,应用图4所示的实施例可以进行双向的导通检测,而应用图5所示的实施例,只能进行单向即入局方向的导通检测。但是,如果每个媒体设备都进行单方向即入局方向导通检测,对于整个网络而言,实际也是进行了双向检测。因此,除了检测双向和单向的问题不同外,本文中,对图4的说明均适用于图5。
由于导通报文可以重复发送,因此其可以作为一种心跳机制来长期自动检测媒体承载网络的导通状况。且两次心跳之间的时间间隔可以固定也可以变化。另外,在该路径上有媒体流发送时可以暂停该心跳,也就是说,可以在一段时间没有发送媒体流数据时才启动该心跳机制,当然,持续发送导通报文也是可以的。
媒体流导通以及导通检测机制还可以适用于其他媒体设备,例如SIP/H.323设备,也可以扩展SIP/H.323协议,以SIP为例,可以扩展SIP协议,指示SIP设备,包括SIP终端,在某些或者全部会话媒体流的两端之间收发导通报文,定义事件,在导通报文得不到应答或者映射地址变化时进行上报。还可以进一步扩展SIP协议,通过订阅事件的方式实现媒体承载的心跳机制。这样,SIP/H.323设备可以和媒体网关之间实现媒体流的导通以及导通检测功能。
本文所述导通报文既可以是IP报文,也可以是其他类型的报文。
前面介绍的Stunct包和traffct包也可以用于导通检测。可以类似定义MGCP扩展包用于导通以及导通检测。
如果媒体流两端是两个不同的网关,各自被一个MGC控制,而且这两个MGC之间使用SIP协议,则需要扩展SIP协议来支持导通报文的发送以及检测。比如,一端的媒体网关在某些媒体流路径上发送导通报文,通过SIP信令通知对端的MGC,让对端在这些媒体流的对端检测导通报文。
另外,MGC也可以作为SIP B2BUA(背靠背用户代理),通过SIP消息通知SIP终端发送导通报文以及进行导通检测。
另外,SIP终端也可以通过SIP消息通知对端本端如何发送导通报文,要求对端进行导通检测。
所以对SIP协议进行如下扩展:
增加头域x-ctreq,用于要求对端发送导通报文,还可以进一步指示在哪些媒体流路径上发送导通报文。对于导通报文路径的描述可以参照前面H.248的scp信号的fa参数的定义方式。另外,可以设置导通报文的发送周期。该头域也可用于两个MGC之间的SIP消息。
增加头域x-ctsend,用于通知对端本端发送了导通报文,还可以进一步通知在哪些媒体流路径上发送导通报文以及发送的导通报文的类型。对接收到的导通报文的应答本身也可以作为一种导通报文。对于导通报文路径的描述可以参照前面H.248的scp信号的fa参数的定义方式。另外,可以携带导通报文的发送周期信息。对端可以根据该信息知道在哪些地址检测导通报文。该头域也可用于两个MGC之间的SIP消息。
增加事件订阅。用于SIP终端进行导通检测以及上报导通失败事件。导通失败有两种情况:一种是在约定时间内没有收到IP导通报文,或者IP导通报文的应答,或者媒体流数据等,发现incoming路径不通时上报。另外一种是在STUN绑定请求消息作为导通报文时,如果应答报文中返回的映射地址发生了变化,也需要通过事件上报。如果导通报文的源地址或者应答报文的源地址发生了变化,也可以定义上报的途径。
H.323的应用场景与前面SIP的应用场景类似,所以也可以作类似扩展来实现导通报文的发送,以及导通检测功能。
本发明实施例还提供了导通媒体流和用于导通检测的系统,下面对其具体说明。
本发明导通媒体流的系统实施例包括私网内的设备、网络地址转换设备和私网内设备的对端,其中,
私网内的设备和对端设备中分别包括:导通单元,用于通过网络转换设备向对方发送导通报文;
网络转换设备还包括:保活单元,用于根据发送的导通报文保活地址映射;
对端设备还包括:媒体流发送单元,用于根据导通报文提供的媒体流路径通过网络转换设备将媒体流发送到私网内的设备。
上述私网内的设备为:媒体网关MG,或SIP设备,或H.323设备;上述对端为媒体网关MG,或SIP设备,或H.323设备。
当私网内的设备为MG时,如果MG不支持STUN协议,则导通报文的类型包括媒体报文,静音指示报文,RTP No-Op报文,或者未知静荷类型的RTP包,或者0字节UDP包,或自定义格式的报文;如果MG支持STUN协议,则所述导通报文的类型包括媒体报文,静音指示报文,或者RTP No-Op报文,或者未知静荷类型的RTP包,或者0字节UDP包,或自定义格式的报文,或STUN绑定请求。上述自定义格式的导通报文中包含该导通报文所走的媒体流路径的媒体类型的信息。
上述对端设备还包括:应答单元,用于在接收到导通报文后,返回应答报文。
上述对端设备和私网内的设备内还分别包括:异常报告单元,用于在预定时间内未接收到所发导通报文的应答报文时,上报异常情况。
上述对端和私网内的设备内还分别包括:双向导通判定单元,用于在预定时间内接收到所发导通报文的应答报文后,判定私网内的设备及其对端所在的承载网络双向导通,否则判定私网内的设备及其对端所在的承载网络未双向导通。
上述对端和私网内的设备还分别包括:单向导通判断单元,用于接收导通报文的一端的设备在预定时间内接收到发送导通报文的一端的设备发送的导通报文,和/或所述接收导通报文的一端的设备发送的媒体流后,判定发送导通报文的一端的设备到接收导通报文的一端的设备的方向上导通,否则判定发送导通报文的一端的设备到接收导通报文的一端的设备的方向上未导通。
本发明导通媒体流的系统实施例在导通媒体流时的工作过程与前面导通媒体流方法描述的过程类似,在此不再赘述。
本发明导通检测系统的第一实施例包含承载网络中两个媒体设备,承载网络中媒体设备内包含双向导通检测单元,用于若预定时间内接收到承载网络中一个媒体设备向另一个媒体设备发送的导通报文的应答报文,则判定两个媒体设备所在承载网络双向导通,如果预定时间内未接收到导通报文的应答报文,则判定该两个媒体设备所在承载网络未双向导通。
上述导通报文的源地址和目的地址是所发媒体流的源地址和目的地址。
其中导通检测单元进一步用于:如果发送导通报文的一端媒体设备在预定时间内接收到导通报文的应答报文,则判定该源地址和目的地址之间的双向媒体路径导通,否则判定该源地址和目的地址之间的媒体路径未双向导通。
上述媒体设备内还包含:异常报告单元,用于在预定时间内未接收到应答报文时,上报异常情况。
本发明导通检测系统的第一实施例在检测时的工作过程与前面导通检测方法的第一实施例描述的过程类似,在此不再赘述。
本发明导通检测系统的第二实施例包含承载网络中的媒体设备,该媒体设备内还包括:单向导通检测单元,用于若在预定时间内承载网络中的媒体设备接收到对端发送的媒体流,和/或对端发送的导通报文,则判定所述对端到该媒体设备的方向上导通,否则判定对端到该媒体设备的方向上未导通。
上述导通报文的源地址和目的地址是所发媒体流的源地址和目的地址;
所述导通检测单元进一步用于:如果在预定时间内接收到对端目的地址发送的媒体流,和/或对端目的地址发送的导通报文,则判定源地址到目的地址的路径导通,否则判定源地址到目的地址的路径未导通。
上述媒体设备内还包含:异常报告单元,用于在预定时间内未接收到应答报文时,上报异常情况。
本发明导通检测系统的第二实施例在检测时的工作过程与前面导通检测方法的第二实施例描述的过程类似,在此不再赘述。
由以上对本发明实施例的描述可知,应用本发明实施例所描述的导通媒体流的方法,可以使私网内的设备与对端设备通过网络转换设备单向或者双向发送导通报文,该导通报文可以在网络转换设备上产生地址映射,使私网内的媒体设备的对端发出的媒体流能够将该地址映射作为发送路径向该私网内的媒体设备发送媒体流,避免了必须先由私网内的媒体设备向对端发送媒体流的限制,同时也可以保活NA(P)T上以及TURN服务器上的地址映射;应用本发明实施例的导通检测方法检测承载网络是否双向导通时,可以通过判定承载网络中一个媒体设备预定时间内是否接收到向另一个媒体设备发送的导通报文的应答报文,若收到则说明承载网络中的两个媒体设备之间能够双向导通;应用本发明实施例的导通检测方法检测承载网络是否单向导通,可以通过判定承载网络中一个媒体设备在预定时间内是否接收到对端发送的媒体流,和/或对端发送的导通报文,若收到则说明对端到该媒体设备的方向上导通。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。

Claims (24)

1.一种导通媒体流的方法,其特征在于,包括:
私网内的设备与对端设备通过网络转换设备单向,或双向发送导通报文;
所述对端设备将导通报文在网络转换设备上产生的地址映射作为媒体流发送的路径,和/或所述网络转换设备根据发送的导通报文保活地址映射。
2.根据权利要求1所述的方法,其特征在于,所述私网内的设备为:媒体网关,SIP终端,或H.323终端;
所述对端设备为:媒体网关,SIP终端,或H.323终端。
3.根据权利要求2所述的方法,其特征在于,发送导通报文的设备为媒体网关,该媒体网关主动发送所述导通报文,或该媒体网关根据媒体网关控制器的指示发送所述导通报文。
4.根据权利要求3所述的方法,其特征在于,所述指示方式包括:扩展的H.248协议信号或扩展的MGCP协议信号,事件或者属性。
5.根据权利要求4所述的方法,其特征在于,所述信号携带参数,类型是字符串列表,该列表中的每一项如下取值:
L:“Local Address”,代表从本地地址发出;或者
N:“No Request”,代表该序号的本地地址不需要发送导通报文。
6.根据权利要求3所述的方法,其特征在于,所述媒体网关控制器的指示中包括导通报文所经媒体流路径的信息。
7.根据权利要求3所述的方法,其特征在于,所述媒体网关控制器通过审计所述媒体网关获得该媒体网关支持的导通报文类型,和/或所述媒体网关控制器指示该媒体网关发送一种类型的导通报文。
8.根据权利要求1所述的方法,其特征在于,所述方法进一步包括:接收导通报文一端的设备向发送导通报文一端的设备返回应答报文。
9.根据权利要求8所述的方法,其特征在于,当所述发送导通报文一端的设备在预定时间内未接收到对端返回的应答报文时,上报异常情况;或
当所述私网内的设备接收的对端返回的应答报文中携带的NAT映射地址发生变化,或者导通报文的源地址发生变化,或者导通报文应答消息的源地址发生变化,上报异常情况。
10.根据权利要求9所述的方法,其特征在于,若所述发送导通报文一端的设备在预定时间内接收到所发导通报文的应答报文后,判定所述私网内的设备及其对端所在的承载网络双向导通;否则判定所述私网内的设备及其对端所在的承载网络未双向导通。
11.根据权利要求1所述的方法,其特征在于,所述方法进一步包括:当所述接收导通报文的一端的设备在预定时间内未接收到所述发送导通报文的一端的设备发送的导通报文,和/或媒体流时,上报异常情况;或
当所述接收导通报文一端的设备接收到所述发送导通报文一端的设备发送的导通报文或媒体流的源地址发生变化时,上报异常情况。
12.根据权利要求11所述的方法,其特征在于,若所述接收导通报文一端的设备在预定时间内接收到所述发送导通报文一端的设备发送的导通报文,和/或所述接收导通报文一端的设备发送的媒体流后,判定所述发送导通报文一端的设备到接收导通报文一端的设备的方向上导通,否则判定所述发送导通报文一端的设备到接收导通报文一端的设备的方向上未导通。
13.根据权利要求9或11所述的方法,其特征在于,当上报所述异常情况的设备为媒体网关时,所述上报的方式包括:扩展H.248协议事件或扩展MGCP协议事件。
14.根据权利要求1、8、9或11所述的方法,其特征在于,进一步包括:将私网内的设备和/或该设备的对端发送导通报文作为心跳机制。
15.根据权利要求14所述的方法,其特征在于,当所述私网内的设备和/或该设备的对端为媒体网关时,该媒体网关根据媒体网关控制器的指示开始或者停止发送用于作为心跳机制的所述导通报文。
16.根据权利要求15所述的方法,其特征在于,所述媒体网关控制器的指示包括:所述导通报文发送或停止的媒体流路径,和/或所述导通报文的发送周期。
17.一种导通媒体流的系统,包括私网内的设备、网络地址转换设备和所述私网内设备的对端设备,其特征在于,
所述私网内的设备包括:导通单元,用于通过网络转换设备向对端设备发送导通报文;
所述网络转换设备包括:保活单元,用于根据发送的导通报文保活地址映射;和/或
所述对端设备包括:媒体流发送单元,用于根据导通报文提供的媒体流路径通过网络转换设备将媒体流发送到所述私网内的设备。
18.根据权利要求17所述的系统,其特征在于,所述对端设备进一步包括:导通单元,用于通过网络转换设备向所述私网内的设备发送导通报文。
19.根据权利要求17所述的系统,其特征在于,所述对端设备和私网内的设备内还分别包括:异常报告单元,用于在预定时间内未接收到所发导通报文的应答报文时,上报异常情况。
20.根据权利要求17所述的系统,其特征在于,所述对端和私网内的设备内还分别包括:双向导通判定单元,用于若在预定时间内接收到所发导通报文的应答报文,则判定所述私网内的设备及其对端所在的承载网络双向导通,否则判定所述私网内的设备及其对端所在的承载网络未双向导通。
21.根据权利要求17所述的系统,其特征在于,所述对端和私网内的设备还分别包括:单向导通判断单元,用于若接收导通报文一端的设备在预定时间内接收到所述发送导通报文一端的设备发送的导通报文,和/或所述接收导通报文一端的设备发送的媒体流后,判定所述发送导通报文一端的设备到接收导通报文一端的设备的方向上导通,否则判定所述发送导通报文一端的设备到接收导通报文一端的设备的方向上未导通。
22.一种私网内的媒体网关,其特征在于,所述私网内的媒体网关包括:导通单元,用于通过网络转换设备向对端媒体网关单向或双向发送导通报文;该导通单元根据媒体网关控制器的指示发送所述导通报文;所述媒体网关控制器控制下发导通报文时,指示哪些本地媒体地址需要发送导通报文。
23.根据权利要求22所述的媒体网关,其特征在于,该媒体网关根据媒体网关控制器的指示发送所述导通报文,所述指示方式包括:扩展的H.248协议信号或扩展的MGCP协议信号,事件或者属性。
24.根据权利要求23所述的媒体网关,其特征在于,所述信号携带参数,类型是字符串列表,该列表中的每一项如下取值:
L:“Local Address”,代表从本地地址发出;或者
N:“No Request”,代表该序号的本地地址不需要发送导通报文。
CN2011102531603A 2006-08-02 2007-01-23 导通媒体流的方法、导通检测方法及其系统 Pending CN102325086A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2011102531603A CN102325086A (zh) 2006-08-02 2007-01-23 导通媒体流的方法、导通检测方法及其系统

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN200610109508 2006-08-02
CN200610109508.0 2006-08-02
CN2011102531603A CN102325086A (zh) 2006-08-02 2007-01-23 导通媒体流的方法、导通检测方法及其系统

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
CNA200710000300XA Division CN101119299A (zh) 2006-08-02 2007-01-23 导通媒体流的方法、导通检测方法及其系统

Publications (1)

Publication Number Publication Date
CN102325086A true CN102325086A (zh) 2012-01-18

Family

ID=45452758

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2011102531603A Pending CN102325086A (zh) 2006-08-02 2007-01-23 导通媒体流的方法、导通检测方法及其系统

Country Status (1)

Country Link
CN (1) CN102325086A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017117957A1 (zh) * 2016-01-05 2017-07-13 中兴通讯股份有限公司 一种链路处理方法和装置
CN112737957A (zh) * 2020-12-30 2021-04-30 锐捷网络股份有限公司 流表的老化方法及装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1516409A (zh) * 2003-08-26 2004-07-28 中兴通讯股份有限公司 一种使媒体流穿越网络地址转换器的方法
US20040246958A1 (en) * 2003-06-05 2004-12-09 Samsung Electronics Co., Ltd. Apparatus and mehtod for selecting one among multiple internet service providers and routing using the selected one
CN1633102A (zh) * 2003-12-24 2005-06-29 华为技术有限公司 实现网络地址转换穿越的方法及其系统

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040246958A1 (en) * 2003-06-05 2004-12-09 Samsung Electronics Co., Ltd. Apparatus and mehtod for selecting one among multiple internet service providers and routing using the selected one
CN1516409A (zh) * 2003-08-26 2004-07-28 中兴通讯股份有限公司 一种使媒体流穿越网络地址转换器的方法
CN1633102A (zh) * 2003-12-24 2005-06-29 华为技术有限公司 实现网络地址转换穿越的方法及其系统

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017117957A1 (zh) * 2016-01-05 2017-07-13 中兴通讯股份有限公司 一种链路处理方法和装置
CN112737957A (zh) * 2020-12-30 2021-04-30 锐捷网络股份有限公司 流表的老化方法及装置

Similar Documents

Publication Publication Date Title
CN101119299A (zh) 导通媒体流的方法、导通检测方法及其系统
CN101257433B (zh) 实现网络地址转换穿越的方法和系统
CN101094171B (zh) 实现媒体流交互方法和系统及媒体网关控制器和媒体网关
US8539065B2 (en) Method and apparatus for providing access to real time control protocol information for improved media quality control
CN100558081C (zh) 地址转发表项的保活方法及系统
KR100612252B1 (ko) 패킷 통신 서비스를 제공하는 시스템 및 그 방법
CN101465850A (zh) 对用于发送sip答复消息的接口的控制
GB2411790A (en) Correlation of dissimilar telecommunication signaling protocols
CN103430524A (zh) 一种用于使得使用sip的企业网络能够存活的备用sip服务器
US8089867B2 (en) Method for allocating at least one user data link to at least one multiplex connection
AU4303601A (en) Method and system for dynamic gateway selection in an ip telephony network
CN100403729C (zh) Sip软交换系统中呼叫控制与媒体流穿越私网的方法
CN101114985B (zh) 编解码转换系统及方法
US7447192B1 (en) System and method for controlling a media gateway
ES2268077T3 (es) Metodo, aparato y programa de ordenador para seleccionar una funcion de control de pasarela de medios, basandose en la monitorizacion de recursos de las funciones de la pasarela de medios.
CN102325086A (zh) 导通媒体流的方法、导通检测方法及其系统
CN101471965B (zh) 本地传输地址分配方法、媒体网关及媒体网关控制器
US20030058807A1 (en) Method and device for echo cancellation in a telecommunication network
US20050281274A1 (en) VoIP network, media proxy server, and method of providing additional services used in them
EP3151501B1 (en) Method and device for implementing interconnection between ip domains
CN103081436B (zh) 提供MMoIP通信服务的方法
CN100486233C (zh) 实现ip域间互通的方法
CN101459631A (zh) 一种虚拟媒体网关选择方法、装置及系统
CN100452769C (zh) 基于alg+mp的软交换网络穿越防火墙的系统及其方法
CN1996938A (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
C12 Rejection of a patent application after its publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20120118