一种实现媒体流报文穿越网络地址转换器的方法

文档序号:7627628阅读:164来源:国知局
专利名称:一种实现媒体流报文穿越网络地址转换器的方法
技术领域
本发明属于网络通信技术领域的IP通信的方法,具体是一种实现私网中媒体设备的媒体流穿越网络地址转换器的方法,尤其涉及软交换系统中的媒体流,集群通信系统中的语音流通讯。
背景技术
随着互联网技术的发展,基于IP网络协议的软交换技术在飞速发展。软交换的基本含义就是将呼叫控制功能从媒体网关(传输层)中分离出来,通过软件实现基本呼叫控制功能,包括呼叫选路、管理控制、连接控制(建立/拆除会话)和信令互通,从而实现呼叫传输与呼叫控制的分离,为控制、交换和软件可编程功能建立分离的平面。由于软交换技术把呼叫控制和数据传输分离出来,为控制、交换和软件可编程功能建立了分离的平面,使业务提供者可以方便地将传输业务与控制协议结合起来,实现基本业务和补充业务的转移。
软交换概念一经提出,很快便得到了业界的广泛认同和重视,ISC(International SoftSwitchConsortium)的成立更加快了软交换技术的发展步伐,软交换相关标准和协议得到了IETF、ITU-T等国际标准化组织的重视。经过几年发展,软交换技术在标准化和产业化方面均取得了长足进展,一些协议如H.323、MGCP等不断完善,BICC、SIP/SIP-T等新协议不断推出,一些基于软交换技术的产品逐步走向实用化阶段,使软交换成为NGN(Next GenerationNetwork)最为活跃和热门的话题。
软交换技术这种把呼叫控制和数据传输分离的思想已经普遍应用在基于IP网络的通信系统中。
软交换的信令控制协议包括H.248/Megaco、SIP、BICC、SIGTRAN、H.323,其中会议初始化协议SIP是目前比较看好的信令控制协议。同时实时传输协议RTP(Realtime Transport Protocol)是比较普遍的媒体流传输协议。RTP的典型应用建立在UDP上,但也可以在TCP或ATM等其他协议之上工作。
随着基于TCP/IP的互联网的普及,各种规模的局域网被大量组建应用,在这种局域网中,各个网络设备采用局域网的IP地址在局域网注册,连接在组网相对独立和封闭的网络中。这种局域网一般称为私有网络(简称私网),相对应地,互联网称为公网。这些局域网中的网络设备采用私有地址。可以说,在当今的网络世界里,使用私网IP地址的网络设备的数量,要远远大于拥有合法互联网(公网)IP地址的设备数量。在软交换系统中,大量的IP终端位于私网中,位于私网中的媒体设备(或终端)和公网中的设备通讯的典型网络架构图如图1所示。
为了能够让一个私网中的每一个媒体设备都可以访问私网外部的资源,通常在私网和公网之间使用网络地址转换(NAT)来给请求访问外部网络的内部终端分配一个合法的公网IP地址甚至端口号,完成对外部网络访问的实现。一般来说,由于现在使用IP协议的地址资源有限,一个私网能够申请到的公网地址的数量是远远低于私网中的终端数量的,所以NAT只是给主动要求访问公网资源的终端临时性的分配合法的公网地址和端口。一般承担网络地址转换的设备可能是路由器或者是防火墙,不同的私网其解决方案不尽相同。
一般来说,NAT和防火墙通常一起使用。合称为NAT/Firewall,其组合有多种类型。在NAT和Firewall综合考虑分析的情况下,NAT与Firewall可以分为4类(在RFC3489中定义)a.完全模式(Full cone);b.限制模式(Restricted Cone);C.端口限制模式(Port Restrictedcone);d.对称模式(Symmetric)。
防火墙检查从外部网络进来的每一个数据包的目的地址和目的端口号,它经常这样设置如果防火墙内的一台终端A向防火墙外的一台终端B主动发送请求要数据,防火墙会让终端B发回的数据包在目的地址、端口号都相同时通过;如果终端B发回的数据包目的地址相同,但是端口号不一样,防火墙也会抛弃这个数据包。根据NAT/Firewall类型的不同,对通信的影响也不尽相同,四种NAT/Firewall中对称模式是最严格的它不但检查B发回数据包的目的地址和目的端口号是否相同,它还会检查B发回数据包的源地址和源端口号是否相同。
NAT在带来节省IP地址空间、私网安全等好处的同时,破坏了互联网最基本的“端到端的透明性”的设计理念,增加了网络的复杂性。由于对于私网中的任何一个终端,其访问外部网络时的IP地址和端口号是这个终端发起请求后,由NAT转换设备来分配的,这就出现了NAT转换设备对软交换系统中设备互通的影响。
因为本文着重解决媒体流通信穿越网络地址转换器的方法,所以下面重点叙述NAT设备对媒体流通信的影响如图2消息顺序图所示,RTP使用UDP承载,一般没有固定的端口。当A呼叫B时,A呼叫请求的信令报文中携带了终端A为本次通话所准备的地址和端口,如10.0.0.2:5000,这样,在通话正常建立起来后,终端B发给终端A的最终的媒体流(RTP)报文的目的地址就应该是10.0.0.2:5000,但是因为有NAT的影响,这个包是无法到达A的。对于终端A发给终端B的报文,也会遇到同样的问题。
目前,针对媒体流穿越网络地址转换器的问题,常用的解决方案有下面几种1)代理服务器方案由代理服务器配置公网地址,转发所有的呼叫信令和媒体流;该方案需要增加一个公网设备和公网地址,增加了成本。
2)隧道技术在公网和私网中分别增加设备,服务器Server放在公网中,客户端Client放在私网中,Server和Client之间建立常连接的通道,缺点是需要建立TCP的常连接,占用的网络资源过多;另外额外增加了两个设备,也增加了成本。
3)通过私有协议激活网络地址转换设备上的UDP通道。该方法比较简便而且不增加成本,是一种比较好的思路。
专利“CN03131826一种实现媒体流穿越网络地址转换设备的方法”(国别中国,公开号CN1553659,
公开日2004.12.08)属于上述的第三种方法,它是在逻辑通道打通之后,再通过分别向对方的激活端口发送激活端口转移私有消息来打通媒体流通道,这样做有如下的缺点1、逻辑通道和媒体通道在两个独立的阶段建立,媒体通道建立失败不能尽快通知释放逻辑通道,对用户体验有影响。因为,逻辑通道建立成功,则对用户而言就是媒体连接已经建立,如果是基于时长的计费,则计费也已经开始。但是某些时候,逻辑通道已建立的情况下,可能会因为某些原因(比如网络地址转换器的公网IP地址分配失败等)导致媒体通道建立失败。那么对用户体验而言就是媒体流不通,连接建立却不能进行媒体流通讯,甚至发生了用户计费,这是不合理的。所以这样的通道建立流程对用户的体验有影响。
2、逻辑通道建完之后再建立媒体通道,也存在通道建立时间长、信令交互条目多的缺点。

发明内容
本发明的目的是为了提供一种实现媒体流报文穿越网络地址转换器的方法。本文重点解决媒体流穿越网络地址转换器的问题,而信令报文穿越网络地址转换器的方法不在本文讨论范围。
本发明的核心思想是在建立逻辑通道的过程中,建立媒体通道。以解决媒体流穿越网络地址转换器的问题。
本发明的一种实现媒体流报文穿越网络地址转换器的方法,它包括如下步骤1媒体设备与媒体网关之间在建立逻辑通道过程中,媒体设备向媒体网关主动发送建立媒体通道特定报文,在网络地址转换器上建立私网地址和公网地址的映射关系;2在媒体报文传输过程中,媒体设备向媒体网关定时发送保持媒体流通道特定报文。上述方法中,步骤1中包括如下步骤1)私网的媒体设备通过信令网关与媒体网关之间建立逻辑通道,转发的请求响应报文中携带媒体网关针对此次媒体流的IP地址和RTP/UDP端口号;2)媒体设备收到响应后,保存媒体网关的IP地址和RTP/UDP端口号,然后分配用于此次媒体流的IP地址和RTP/UDP端口号;媒体设备向媒体网关发送打开媒体通道报文(OpenMediaChannel Packet),该报文的源地址和源端口号是所述媒体设备为本次媒体通讯分配的IP地址和端口号,目的地址和目的端口号是步骤1)中媒体网关的IP地址和RTP/UDP端口号;3)打开媒体通道报文经过网络地址转换器,网络地址转换上建立私网的媒体设备IP地址和端口号与公网IP地址和端口号的映射关系,同时将该报文的源地址和源端口号进行转换,最后将转换后的报文发送到媒体网关;4)媒体网关收到打开媒体通道报文后,向媒体设备发回打开媒体通道响应报文;5)打开媒体通道响应报文经过网络地址转换器,转换该报文的目的地址和端口号,将地址转换后的报文发送给私网的媒体设备。
上述方法中,媒体设备向媒体网关发送的打开媒体通道特定报文和保持媒体流通道特定报文,其承载格式(源、目的IP地址、源、目的端口、协议类型)应与真实的媒体流报文一样。
上述方法中,步骤1)具体包括如下步骤1.1)私网中媒体设备向公网中的信令网关发送接入请求;1.2)公网中的信令网关向媒体网关转发接入请求;1.3)媒体网关将响应消息发送给信令网关,报文中携带媒体网关针对此次媒体通讯所使用的媒体流的IP地址、RTP/UDP端口号;1.4)信令网关向媒体设备转发主叫请求响应,响应中携带媒体网关针对此次媒体通讯所用的IP地址和RTP/UDP端口号。
上述方法中,所述媒体流包括语音、图像、数据或其组合。
上述方法中,在多媒体通讯中同时有语音、图像和数据时,有多个RTP/UDP连接,重复步骤2)至步骤5),建立多个媒体通道。
本发明与现有技术相比,它成本低,易实现,扩展性强。更重要的是在逻辑通道建立过程中建立媒体通道,缩短了通道建立时间,而且更多地考虑了用户体验。


图1是私网中的媒体设备和公网中的设备通讯典型网络架构图;图2是私网中的终端通讯遇到问题的示意图;图3是媒体流报文穿越网络地址转换器的流程图。
具体实施例方式
本发明是一种解决媒体流穿越网络地址转换器的方法,下面以媒体设备发起语音呼叫为例,用图例的方式进一步说明本发明的实现。
假设媒体设备位于私网,IP地址为10.0.0.2,信令网关和媒体网关位于公网,信令网关的IP地址为171.1.1.2,媒体网关的IP地址为171.1.1.1。下面为了描述方便,IP地址和端口号的组合以“端口号@IP地址”的格式表示。
301媒体设备向信令网关发送呼叫接入请求。
302信令网关向媒体网关转发呼叫接入请求。
303媒体网关发回响应报文,报文中携带媒体网关针对此呼叫所使用的语音流的IP地址和RTP/UDP端口号6000@171.1.1.1。
304信令网关向媒体设备发回主叫请求响应报文,响应报文中携带调度服务器针对此次媒体通讯所用的IP地址和RTP/UDP端口号6000@171.1.1.1;同时,信令网关启动呼叫请求定时器。
305媒体设备在收到呼叫响应后,保存媒体网关的的IP地址和端口号6000@171.1.1.1,然后分配用于该次媒体通讯的IP地址和RTP/UDP的端口号5000@10.0.0.2;媒体设备向媒体网关发送打开媒体通道报文(Open Media Channel Packet),该报文的源地址和源端口号是5000@10.0.0.2,目的地址和端口号是6000@171.1.1.1。
306打开媒体通道报文经过网络地址转换设备NAT,NAT设备将源地址和端口号5000@10.0.0.2转换为5100@220.0.0.2,同时在NAT设备上建立两个NAT转换表条目,即5000@10.0.0.2->5100@220.0.0.2,5100@220.0.0.2->5000@10.0.0.2,最后转发该报文;源地址和端口号转换后的报文(src5100@220.0.0.2,dest6000@171.1.1.1)发送到媒体网关,媒体网关暂存该报文的源地址和端口号5100@220.0.0.2。
307媒体网关发送打开媒体通道响应报文(Open Media Channel Ack Packet),该报文的源地址和端口号是6000@171.1.1.1,目的地址和端口号是5100@220.0.0.2。
308打开媒体通道响应报文经过NAT设备,NAT设备查找NAT转换表,得到5100@220.0.0.2->5000@10.0.0.2的映射关系,转换该报文,然后将源地址和端口号转换后的报文(src6000@171.1.1.1,dest5000@10.0.0.2)发送到媒体设备。
309媒体设备收到打开媒体通道响应报文后,向信令网关发回呼叫建立完成消息。
310如果信令网关在呼叫请求定时器超时之前收到呼叫建立完成消息,则向媒体网关发送呼叫建立完成消息,媒体网关收到该报文后,正式在该次呼叫的数据区中保存其所认为的媒体设备的IP地址和端口号5100@220.0.0.2,至此,逻辑通道和媒体通道都建立成功;否则,信令网关向媒体设备和媒体网关分别发送呼叫建立失败消息,至此,逻辑通道和媒体通道建立失败,本次呼叫失败。
311如果呼叫成功,则媒体设备可以正常发送和接收媒体流,针对本次呼叫,媒体设备发出的媒体流报文的源地址和端口号是5000@10.0.0.2,目的地址和端口号是6000@171.1.1.1。
312在通讯过程中,媒体设备要周期定时发送保持媒体流通道的报文(src5100@220.0.0.2,dest6000@171.1.1.1)。
步骤301到步骤304,以及步骤309到步骤311合起来,是一个通常的逻辑通道建立流程。具体的实现过程与应用系统相关,通用的比如H323或者SIP协议所规定的过程。这里的描述旨在帮助说明打通媒体通道的过程,所以不对打通逻辑通道详细说明。
步骤305到步骤308就是在逻辑通道建立过程中打通媒体通道的一个过程在逻辑通道建立过程中,由私网中的媒体设备主动用本次语音通讯所使用的IP地址和端口号发送特殊的媒体流报文,从而使得NAT设备建立针对该次语音通讯所用到的IP地址和端口号的NAT转换表。这样保证了后续的真正的语音报文能顺利穿越NAT设备。上述实施例是以语音呼叫为例说明,所以只有打通语音通道一个流程;而在多媒体通讯中,可能会同时有语音、图像、甚至数据的通讯,所以会有多个RTP/UDP连接,如果是这样的情况,则要在同一个逻辑通道中,以同样的305到308的流程打通多个媒体通道。
步骤305和306中发送打开媒体通道报文,它的主要作用,就是在语音流传输之前,发送一个空的语音报文在NAT设备上预建立NAT映射表,所以报文必须是跟真实的语音报文的承载格式相同,一般是RTP/UDP报文;为了能区分这个媒体通道报文是属于哪个呼叫连接的,报文中必须携带必要的呼叫连接的信息;同样,对于步骤307和308中的打开媒体通道响应报文的承载格式和携带信息也有同样的要求。
步骤312的作用,主要是为了保持网络地址转换器中的NAT映射表条目不老化,从而保证语音通道的激活。但是媒体网关收到这种类型的报文后,必须作丢弃处理。
上面的步骤是私网中的媒体设备发起呼叫连接的流程,如果是私网中的媒体设备作为被叫,实现步骤跟上面的步骤相似,只不过缺少上述方法的步骤301)和步骤302)。
本发明的重要之处是在逻辑通道建立过程中建立媒体通道,缩短了通道建立时间,而且更多地考虑了用户体验。
权利要求
1.一种实现媒体流报文穿越网络地址转换器的方法,其特征在于,它包括如下步骤1)媒体设备与媒体网关之间在建立逻辑通道过程中,媒体设备向媒体网关主动发送建立媒体通道特定报文,在网络地址转换器上建立私网地址和公网地址的映射关系;2)在媒体报文传输过程中,媒体设备向媒体网关定时发送保持媒体流通道特定报文。
2.根据权利要求1所述的实现媒体流报文穿越网络地址转换器的方法,其特征在于,步骤1)包括如下步骤1.1)私网的媒体设备通过信令网关与媒体网关之间建立逻辑通道,转发的请求响应报文中携带媒体网关针对此次媒体流的IP地址和端口号;1.2)媒体设备收到响应后,保存媒体网关的IP地址和端口号,然后分配用于此次媒体流的IP地址和端口号;媒体设备向媒体网关发送打开媒体通道报文,该报文的源地址和源端口号是所述媒体设备为本次媒体通讯分配的IP地址和端口号,目的地址和目的端口号是步骤1.1)中媒体网关的IP地址和端口号;1.3)打开媒体通道报文经过网络地址转换器,网络地址转换上建立私网的媒体设备IP地址和端口号与公网IP地址和端口号的映射关系,同时将该报文的源地址和源端口号进行转换,最后将转换后的报文发送到媒体网关;1.4)媒体网关收到打开媒体通道报文后,向媒体设备发回打开媒体通道响应报文;1.5)打开媒体通道响应报文经过网络地址转换器,转换该报文的目的地址和端口号,将地址转换后的报文发送给私网的媒体设备。
3.根据权利要求1所述的实现媒体流报文穿越网络地址转换器的方法,其特征在于,媒体设备向媒体网关发送的打开媒体通道特定报文和保持媒体流通道特定报文,其承载格式应与真实的媒体流报文一样。
4.根据权利要求2所述的实现媒体流报文穿越网络地址转换器的方法,其特征在于,步骤1.1)具体包括如下步骤1.1.1)私网中媒体设备向公网中的信令网关发送接入请求;1.1.2)公网中的信令网关向媒体网关转发接入请求;1.1.3)媒体网关将响应消息发送给信令网关,报文中携带媒体网关针对此次媒体通讯所使用的媒体流的IP地址和端口号;1.1.4)信令网关向媒体设备转发主叫请求响应,响应中携带媒体网关针对此次媒体通讯所用的IP地址和端口号。
5.根据权利要求2所述的实现媒体流报文穿越网络地址转换器的方法,其特征在于,所述媒体流包括语音、图像、数据或其组合。
6.根据权利要求2、3、4或5所述的实现媒体流报文穿越网络地址转换器的方法,其特征在于,在多媒体通讯中同时有语音、图像和数据时,有多个连接,重复步骤1.2)至步骤1.5),建立多个媒体通道。
全文摘要
本发明提出一种实现媒体流报文穿越网络地址转换器的方法,它包括步骤1.媒体设备与媒体网关之间在建立逻辑通道过程中,媒体设备向媒体网关主动发送建立媒体通道特定报文,在网络地址转换器上建立私网地址和公网地址的映射关系;2.在媒体报文传输过程中,媒体设备向媒体网关定时发送保持媒体流通道特定报文。本发明与现有技术相比,它成本低,易实现,扩展性强。更重要的是在逻辑通道建立过程中建立媒体通道,缩短了通道建立时间,而且更多地考虑了用户体验。
文档编号H04L29/06GK1968181SQ20051012321
公开日2007年5月23日 申请日期2005年11月15日 优先权日2005年11月15日
发明者王霞, 李铁, 顾燕娟 申请人:中兴通讯股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1