网络可视电话跨网关解决方法

文档序号:7934030阅读:282来源:国知局
专利名称:网络可视电话跨网关解决方法
技术领域
本发明涉及网络可视电话通讯,具体涉及网络可视电话的跨网关多媒体通讯领域。
背景技术
可视电话在通信系统中用来提供双向的音频和视频通信链路,能使用户达到视觉和听觉的双重通讯效果,较普通电话具有不可比拟的优势,已经表现出了广阔的发展前景。随着国际电信联盟组织(ITU)针对多媒体可视电话系统的ITU-H.32X系列国际标准的公布,可视电话在国内外被纷纷开发出来并很快投入了使用,其发展迅速,日趋普及。随着因特网和宽带技术的发展,网络可视电话也得到了迅猛的发展。然而,由于网络发展初期技术上的短视,也产生了一些问题,严重影响了网络可视电话的发展。
现行的IPV4的IP地址是32位的,根据头几位再划分为A、B、C三类地址;但由于因特网的迅猛发展,IP资源日渐枯竭,可供分配的IP地址越来越少,跟一日千里的因特网发展严重冲突,在IPV6还远未能全面升级的情况下,惟有以代理服务器的方式,实行内部网地址跟公网地址进行转化而实现接入因特网,中介作用的代理服务器就是一个网关(NAT网络地址翻译)。
在IP资源可怜的情况下,惟有以网关甚至多层网关的方式接入宽带网。但是由于多媒体通讯系统的协议如H.323、SIP等要求进行业务的双方必须有一方有公网的IP地址,但是现在的宽带中很少有用户能符合这个要求,这个问题主要是当初技术可是发展的时候未能预料长远而造成的。
问题产生的原因主要是H.323协议只考虑同一IP地址域,而媒体的RTP(实时传输协议)端口不固定,需要通过协商确定;终端的RAS(远程访问服务)地址、Q931地址、H.245地址和RTP地址封装在消息包内,告诉对端,对端得到的是设备的本机地址和本机端口;如果终端在局网内部,对端将得到局网的址址,无法路由。
这就产生了公网呼NAT和NAT呼NAT时候的信令通道问题从NAT到公网的呼叫,有不少方法可以解决,当呼叫一个在NAT后的用户时,无法寻找被叫地址;GK(网守)地址解释有误当一个在NAT后的用户连接到GK,GK得到的用户地址是错误的;以及NAT内固定端口号的Q931(TCP)穿越问题等。
此外在媒体流的传输上也存在这样的问题在NAT内的终端无法收到媒体流;NAT内非固定端口号的RTP(UDP)穿越问题。
现在微软公司的网络会议等多媒体通讯系统就是处于这种尴尬的景况~跨网关成为头疼的难题。
现有技术中有通过H.323协议的扩展字段来对其进行解决的方法,但是并不完美,存在很多缺点如果不增加流程,单通过对H.323消息进行扩展,是不能解决的;NAT内的终端不知道NAT的地址映射关系,NAT的地址映射对它而言是透明的;改变/增加H.323协议的流程是不可取,不应改动呼叫的有限状态机FSM;H.323协议格式为严格的ASN.1,不容易进行扩展,并在扩展之后,不易进行修改。
本发明的目的便是提供一种网络可视电话的跨网关多媒体通讯解决方案,来解决目前存在的无法穿越网关进行多媒体通讯的问题。

发明内容
在因特网上,解决网络电话跨NAT问题的关键是如何在连入因特网的两台主机间建立UDP双向通道。
本发明的实施方案是这样实现的在因特网上设立一台udp server(命名为connect type check server,简称CTC Server),来确定一台主机的接入方式。在因特网上建立一台user server,每个客户机都连接到user server,客户机可以通过user server做控制数据交换,客户机通过CTC Server得到了自己的接入方式。
打开CTC Server的两个端口x、y,在端口x不停的接收客户机发来的udp包,收到一个udp包后,取出udp包的源地址,从端口x、y分别回送一个包含了源地址的udp包给客户机,来判断客户机连入网络的方式。
对比现有技术,本发明所述方法的优点在于
通过私有协议很容易地实现了跨网关的网络可视电话通讯问题,通过NAT穿越协议,获得NAT地址映射关系,由于采用的是文本的方式,比二进制的ASN.1在协议的制定和修改上,具有更大的灵活性。
另外,使用于其它非H.323协议,例如Megaco(媒体网关协议)、SIP(会话初始化协议),其对立于H.323协议,易于兼容标准H.323设备。


结合附图阅读下面的详细描述,可以更明显地理解本发明的目的、特征及其优点,其中图1是本发明所述严格NAT和不严格NAT的工作原理图。
具体实施例方式
以下将参照附图来说明本发明的优选实施方案。下面的描述中,那些众所周知的功能或结构将不再详细说明,以免将会混扰本发明的实质性内容。
NAT在做地址翻译时会动态建立一张地址映射表Lan_ipLan_port|Nat_ipNat_port|Des_ipDes_port其中Lan_ipLan_port代表内部网络的私有地址Nat_ipNat_port代表NAT上对应的地址和端口Des_ipDes_port代表因特网上的目标地址以下,举例说明NAT的工作原理,假设内部网络的地址段为私有地址段192.168.0.x,其中一台计算机的IP地址为192.168.0.1,NAT的因特网地址202.1.1.1。
当192.168.0.1发出一个UDP包给Des_ipDes_port时(假设端口为5080),NAT分配202.1.1.1的一个端口,假设为2222,分配给该用户;NAT在地址映射表中为该通道建立一个表项,表项中的内容为源地址192.168.0.15080、已分配资源202.1.1.12222、目标地址Des_ipDes_port;NAT将该UDP包源地址替换为202.1.1.12222,并将数据包发出;当由数据返回到NAT时,返回的数据包的目的地址为202.1.1.12222,NAT根据这个地址在地址映射表中查出对应的地址/端口192.168.0.15080;NAT将返回的数据包中的目的地址/端口改为192.168.0.15080,并将IP包发出。整个地址翻译过程完成。
需要说明的是,有两种类型的NAT。
第一类NAT从因特网收到UDP包后,在地址映射表中查出对应的表项,检验UDP包的源地址是否与表项中的Des_ipDes_port匹配。如果匹配,替换目的地址后,发送到内部网;否则抛弃。简称为严格NAT。如附图1所示,严格NAT将从CTC(连接类型校验)模块5081发来的UDP包抛弃了。
第二类NAT从因特网收到UDP包后,在地址映射表中查出对应的表项,不做检验,直接替换目的地址,发送到内部网。简称为不严格NAT。如附图1所示,不严格NAT将从CTC模块5081发来的UDP包发送到内部网。
此外,还有一种NAT过滤了所有UDP包,这种情况不予考虑。
在因特网上设立一台udp server(命名为connect type check server,简称CTC Server),打开两个端口x、y,在端口x不停的接收客户机发来的udp包,收到一个udp包后,取出udp包的源地址,从端口x、y分别回送一个包含了源地址的udp包给客户机。
如果客户机不能收到回送的udp包,就说明客户机没有连入因特网的UDP通道,这种情况不予考虑。如果客户机收到的udp包中包含的地址和客户机本机地址一致,说明客户机直接连入因特网。如果地址不一致,说明客户机通过NAT连入因特网如果只能收到端口x发出的udp包,说明NAT属于严格NAT;如果端口x、y发出的udp包都能收到,说明NAT属于不严格NAT,同时得到了客户机在NAT上映射的地址。
其中在公网上放置的解决地址映射问题相关服务器,可以和GK捆绑,也可以独立。
在因特网上建立一台user server,每个客户机都连接到user server,客户机可以通过user server做控制数据交换,客户机通过CTC Server得到了自己的接入方式,如果通过不严格NAT接入的,记录下自己在NAT上映射的地址。假设客户机A通过user server呼叫客户机B,有9种情况,下面分别就每种情况说明怎样实现跨NAT的网络电话,也就是如何在连入因特网的两台主机间建立UDP双向通道。
1.A直接连入因特网,B直接连入因特网A、B交换地址,发送音视频媒体数据时直接使用交换得到的地址。UDP双向通道建立。
2.A直接连入因特网,B通过严格NAT连入因特网A传送自己的地址给B,B接受呼叫,同时发送音视频数据给A,A收到B的数据包中可以得到B在NAT上映射的地址,A发送数据到此地址,NAT收到后,发送给B。UDP双向通道建立。
3.A直接连入因特网,B通过不严格NAT连入因特网A传送自己的地址给B,B传送自己在NAT上映射的地址给A,发送音视频媒体数据时直接使用交换得到的地址。UDP双向通道建立。
4.A通过严格NAT连入因特网,B直接连入因特网A呼叫B,B传送自己的地址给A,A收到B的地址后发送音视频数据给B,B收到A的数据包中可以得到A在NAT上映射的地址,B发送数据到此地址,NAT收到后,发送给A。UDP双向通道建立。
5.A通过严格NAT连入因特网,B通过严格NAT连入因特网A呼叫B,B请求user server,user server在udp transmit server得到一个空闲的因特网udp agent address(简称IUAA)回送给B,B将IUAA发送给A,A、B同时发送音视频数据到IUAA,IUAA交换A、B的音视频数据。UDP双向通道建立。
6.A通过严格NAT连入因特网,B通过不严格NAT连入因特网A呼叫B,B传送自己在NAT上映射的地址给A,A收到B的映射地址后发送音视频数据给NAT,B的NAT收到后发给B,B收到A的数据包中可以得到A在NAT上映射的地址,B发送数据到此地址,A的NAT收到后发送给A。UDP双向通道建立。
7.A通过不严格NAT连入因特网,B直接连入因特网A传送自己在NAT上映射的地址给B,B传送自己的地址给A,发送音视频媒体数据时直接使用交换得到的地址。UDP双向通道建立。
8.A通过不严格NAT连入因特网,B通过严格NAT连入因特网A传送自己在NAT上映射的地址给B,B接受呼叫,同时发送音视频数据到此地址,A的NAT收到后发给A,A收到B的数据包中可以得到B在NAT上映射的地址,A发送数据到此地址,B的NAT收到后发送给B。UDP双向通道建立。
9.A通过不严格NAT连入因特网,B通过不严格NAT连入因特网A、B交换各自在NAT上映射的地址,发送音视频媒体数据时直接使用交换得到的地址。UDP双向通道建立。
至此,9种情况下建立两台主机间的UDP双向通道,都提供了解决方案,也就是说解决了网络电话跨NAT的问题。
显而易见,本发明所述的网络可视电话的跨网关多媒体通讯解决方法,不仅仅限于说明书和实施方式中所列运用,它完全可以被适用于各种适合本发明之领域,对于熟悉本领域的人员而言可容易地实现另外的优点和进行修改,因此在不背离权利要求及等同范围所限定的一般概念的精神和范围的情况下,本发明并不限于特定的细节、代表性的设备和这里示出与描述的图示示例。
权利要求
1.一种网络可视电话的跨网关多媒体通讯解决方法,通过在连入因特网的两台主机间建立UDP双向通道来实现跨网关多媒体通讯,其特征在于在因特网上设立一台udp server(命名为connect type check server,简称CTC Server),来确定一台主机的接入方式;在因特网上建立一台userserver,每个客户机都连接到user server,客户机可以通过user server做控制数据交换,客户机通过CTC Server得到了自己的接入方式;打开所述CTCServer的两个端口x、y,在端口x不停的接收客户机发来的udp包,收到一个udp包后,取出udp包的源地址,从端口x、y分别回送一个包含了源地址的udp包给客户机,来判断客户机连入网络的方式,进而得到客户机的地址。
2.根据权利要求1所述的网络可视电话的跨网关多媒体通讯解决方法,其特征在于如果客户机不能收到回送的udp包,就说明客户机没有连入因特网的UDP通道,这种情况不予考虑;如果客户机收到的udp包中包含的地址和客户机本机地址一致,说明客户机直接连入因特网;如果地址不一致,说明客户机通过NAT连入因特网如果只能收到端口x发出的udp包,说明NAT属于严格NAT;如果端口x、y发出的udp包都能收到,说明NAT属于不严格NAT,同时得到了客户机在NAT上映射的地址。
3.根据权利要求1所述的网络可视电话的跨网关多媒体通讯解决方法,其特征在于其中在公网上放置的解决地址映射问题相关服务器,可以和GK捆绑,也可以独立。
4.根据权利要求1所述的网络可视电话的跨网关多媒体通讯解决方法,其特征在于其中所述在因特网上建立一台user server,每个客户机都连接到user server,客户机可以通过user server做控制数据交换,客户机通过CTC Server得到了自己的接入方式,如果是通过不严格NAT接入的,则记录下自己在NAT上映射的地址。
5.根据权利要求2所述的网络可视电话的跨网关多媒体通讯解决方法,其特征在于如果客户机A通过user server呼叫客户机B时,客户机A是直接连入因特网的,则当B直接连入因特网时A、B交换地址,发送音视频媒体数据时直接使用交换得到的地址,UDP双向通道建立;当B通过严格NAT连入因特网时A传送自己的地址给B,B接受呼叫,同时发送音视频数据给A,A收到B的数据包中可以得到B在NAT上映射的地址,A发送数据到此地址,NAT收到后,发送给B,UDP双向通道建立;当B通过不严格NAT连入因特网时A传送自己的地址给B,B传送自己在NAT上映射的地址给A,发送音视频媒体数据时直接使用交换得到的地址,UDP双向通道建立。
6.根据权利要求2所述的网络可视电话的跨网关多媒体通讯解决方法,其特征在于如果客户机A通过user server呼叫客户机B,客户机A是通过严格NAT连入因特网的,则当B直接连入因特网时A呼叫B,B传送自己的地址给A,A收到B的地址后发送音视频数据给B,B收到A的数据包中可以得到A在NAT上映射的地址,B发送数据到此地址,NAT收到后,发送给A,UDP双向通道建立;当B通过严格NAT连入因特网时A呼叫B,B请求user server,userserver在udp transmit server得到一个空闲的因特网udp agentaddress(简称IUAA)回送给B,B将IUAA发送给A,A、B同时发送音视频数据到IUAA,IUAA交换A、B的音视频数据,UDP双向通道建立;当B通过不严格NAT连入因特网时A呼叫B,B传送自己在NAT上映射的地址给A,A收到B的映射地址后发送音视频数据给NAT,B的NAT收到后发给B,B收到A的数据包中可以得到A在NAT上映射的地址,B发送数据到此地址,A的NAT收到后发送给A,UDP双向通道建立。
7.根据权利要求2所述的网络可视电话的跨网关多媒体通讯解决方法,其特征在于如果客户机A通过user server呼叫客户机B,客户机A是通过不严格NAT连入因特网的,则当B直接连入因特网时A传送自己在NAT上映射的地址给B,B传送自己的地址给A,发送音视频媒体数据时直接使用交换得到的地址,UDP双向通道建立;当B通过严格NAT连入因特网时A传送自己在NAT上映射的地址给B,B接受呼叫,同时发送音视频数据到此地址,A的NAT收到后发给A,A收到B的数据包中可以得到B在NAT上映射的地址,A发送数据到此地址,B的NAT收到后发送给B,UDP双向通道建立;当B通过不严格NAT连入因特网时A、B交换各自在NAT上映射的地址,发送音视频媒体数据时直接使用交换得到的地址,UDP双向通道建立。
全文摘要
一种网络可视电话的跨网关解决方法,涉及网络可视电话的多媒体通讯领域。本发明的目的在于来解决目前存在的无法穿越网关进行多媒体通讯的问题。本发明采用如下技术方案来实现该技术目的在因特网上设立一台udp server,来确定一台主机的接入方式;在因特网上建立一台user server,每个客户机都连接到user server,客户机可以通过user server做控制数据交换,客户机通过CTC Server得到了自己的接入方式;打开所述CTC Server的两个端口x、y,在端口x不停的接收客户机发来的udp包,收到一个udp包后,取出udp包的源地址,从端口x、y分别回送一个包含了源地址的udp包给客户机,来判断客户机连入网络的方式,进而得到客户机的地址。
文档编号H04N7/14GK1492680SQ02146340
公开日2004年4月28日 申请日期2002年10月24日 优先权日2002年10月24日
发明者匡学庆, 薛天雄, 邓中翰 申请人:北京中星微电子有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1