一种透过NAT实现实时多媒体双向通信的方法
技术领域:本发明适用于IP(Internet Protocol互联网协议)通信领域,具体涉及通过NAT的多媒体通信设备实现实时双向通信的方法。
背景技术:相关词汇的注释,IP:互联网协议,NAT:网络地址转换,参照RFC 1631,TCP:(Transmission Control Protocol,传输控制协议),UDP:(UserDatagram Protocol用户数据报协议,VoIP:(Voice over Internet Protocol)IP网络语音技术,H.323:ITU制定的关于VoIP的协议,现行运用广泛的VoIP通信协议。SIP:(Session Initiation Protocol)会话初始化协议,MGCP:(MGCP)媒体网关控制协议,RTCP:(Real-Time Transport Control Protocol)实时传输控制协议,RTP:(Real-Time Transport protocol)实时传输协议,SS:软交换***。
现有的技术水平:源发设备在NAT网络向在不同的网络的被叫设备发出呼叫请求:当NAT内的多媒体通信设备与NAT外的多媒体通信设备呼叫信令信道建立后,两个设备即开始进行多媒体流的协商,而这个协商过程是通过地址交换实现的,而由于在NAT内的多媒体通信设备的IP地址是私网地址,这样在地址交换时,它告诉NAT外的多媒体通信设备的多媒体流信道地址是不对的,就造成公网一端的多媒体设备能收到NAT内的多媒体设备发来的多媒体流数据包,而NAT内的多媒体通信设备收不到多媒体数据包,如图2。在NAT上没有进行进行端口映射式或地址映射的情况下,NAT外的多媒体通信设备不能与NAT内的多媒体通信设备建立IP通信,即不能进行TCP的建链,使通信信令无法传到被叫设备,主叫设备无法与被叫设备取得通信联系,导致被叫设备无法接收到主叫设备的通信信令,也就无法进行实时多媒体通信。
目前,有许多拥有多媒体通信设备开发能力和经验的厂商(如开发和生产基于MGCP,SIP,H323等通信协议的VoIP多媒体通信设备),他们都已开发出了自己的多媒体通信设备产品,但由于各多媒体通信设备在现行各NAT网络之间无法实现正常的双向通信,也就无法在NAT网络环境拓展多媒体通信业务。
发明内容:本发明需要解决的技术问题:为了解决在NAT下无法正常进行正常的多媒体双向通信问题,需要寻找一个交换***来中转通信信令和多媒体数据包的方法。其中关键技术就是如何与源发、目标设备建立信令通道来进行信令交互,以及如何依照规则来转发和广播多媒体数据包,及获取源发、目标设备的最新多媒体数据包的地址和端口号。
本发明的技术方案是:一种透过NAT实现实时多媒体双向通信的方法,其特征是:利用软交换***SS来实现源发和目标两个通信设备透过NAT进行实时多媒体双向通信。
该方法进一步包括以下步骤:a)通信信令从NAT外呼叫NAT内的多媒体通信设备的方法:a.1、多媒体通信设备,在网络接通后,与SS建立IP通道,并定期发送有关通道参数,维持该通道的存活。如以UDP的方式定期向SS发数据包。SS就能根据收到IP包的源IP地址和端口号向NAT内的多媒体通信设备发送数据包从而建立一个双向的IP通道。a.2、SS收到呼叫后,经决定,从已建立的IP通道,向NAT内的目标设备发送呼叫请求通知包。a.3、NAT内的多媒体通信设备,收到呼叫请求后,向SS主动建立信令通信的IP链路(如TCP连接)。a.4、SS在得到被叫多媒体通信设备的信令IP通道后,将呼叫信令转发给被叫多媒体通信设备,从而实现NAT信令的被叫。b)多媒体数据包在NAT上实现透传的方法b.1、所有的通信信令经SS转发;b.2、SS修改信令,并通知主被叫多媒体通信设备将多媒体数据发给SS,由SS进行多媒体包的更新(如复制)和转发(或广播);b.3、SS从收到的的多媒体数据包中得到源发IP地址和端口号,以作为另一方向通信的目标地址,从而实现NAT多媒体数据包的透传。其中,所述的多媒体默认通道地址是在源发和目标设备之间的信令交互时协商完成的,SS将更改该信令,将多媒体通道地址均改为SS指定的通道地址。通过上述a(实现NAT多媒体数据包的透传)和b(实现NAT信令的被叫)和现有技术(NAT信令的主叫)从而实现的NAT下的通信设备的双向通信。
本发明的有益效果:1)提高了多媒体通信业务的应用范围,而且支持H323、SIP、MGCP、MegacoH248各种多媒体通信设备。2)实现多种Internet接入环境下的多媒体设备间的多媒体双向通信。3)充分利用了用户现有的网络资源,保护了用户投资。4)快速提供用户需求的业务,统一开通业务模式降低业务经营成本。5)本发明具有实施简单,可实现对各个多媒体设备的管理和控制。实现了NAT内(私网IP地址)的多媒体通信设备与NAT外(公网IP地址)多媒体通信设备之间通过软交换***SS进行双向通信。及在不同的NAT内(私网IP地址)的两个多媒体通信设备通过软交换***SS进行双向通信。
附图说明:
图1为本发明***组成示意图
图2为本发明实现源发设备主叫呼叫目标设备的NAT信令的被叫示意图
图3为本发明单个源发设备和单个目标设备私网实现NAT多媒体数据包的透传示意图
图4为本发明单个源发设备和2个目标设备私网实现NAT多媒体数据包的透传示意图
图中:1-源发设备A,2-SS公网,3-目标设备B,4-目标设备C,5-NAT。
具体实施方式:本发明中源发设备用户设备适用于各种Internet接入方式,可为NAT5,拨号及其它方式。图1、图2和图3示出了一种典型的组网,该组网中包括源发设备A1、目标设备B3、目标设备C4和SS公网2,来实现NAT5下多媒体双向通信的过程。
下面将结合图2所示来详细描述整个NAT信令的被叫过程:首先,源发设备A1和目标设备B3在网络接通时与SS公网2建立IP通道,并将源发设备A1和目标设备B3的身份验证字(ID)发送给SS公网2,SS公网2保存通道信息(包含IP地址和端口号)和用户的ID。当源发设备A1往SS公网2进行呼叫,SS公网2通过设定的规则找到被叫目标设备B3,若目标设备B3处于NAT内,SS公网2就将源发设备A1发来的信令保存起来。SS公网2在存储的IP通道和设备信息中提取目标设备B3的IP通道,SS公网2通过找到的IP通道向目标设备B3发送呼叫请求消息。此时目标设备B3会收到呼叫请求,目标设备B3若接受该请求,将主动向SS公网2建立信令通道。此时SS公网2将根据该信令通道向目标设备B3转发源发设备A1的呼叫信令。
下面将结合图3所示来详细描述NAT多媒体数据包的透传过程:首先,SS公网2在收到通信信令时,检测信令包中是否含有多媒体通道地址,若有,则将该通道地址更改为SS公网2的地址,再将信令转发给目标设备。保证各设备均将实时多媒体包由SS公网2来转发。SS公网2在收到源发设备A1的多媒体包时,保存当前的多媒体包的源发IP地址和端口号,并提取出的目标设备B3最新的多媒体包的源发IP地址和端口号。将该多媒体包通过提取出的IP地址和端口号转发给目标设备B3。SS公网2在收到目标设备B3的多媒体包时,保存当前的多媒体包的源发IP地址和端口号,并提取出的源发设备A1最新的多媒体包的源发IP地址和端口号。并将该多媒体包通过提取出的IP地址和端口号转发给源发设备A1。
同时NAT多媒体数据包的透传也适用于实时多媒体会议中。多个设备之间也可利用该方式来实现广播的多媒体数据包的透传。这种方式也在本发明权利要求保护范围之内。如图3所示。