CN100550882C - 一种穿越子网的方法及子网穿越系统 - Google Patents

一种穿越子网的方法及子网穿越系统 Download PDF

Info

Publication number
CN100550882C
CN100550882C CNB200410006143XA CN200410006143A CN100550882C CN 100550882 C CN100550882 C CN 100550882C CN B200410006143X A CNB200410006143X A CN B200410006143XA CN 200410006143 A CN200410006143 A CN 200410006143A CN 100550882 C CN100550882 C CN 100550882C
Authority
CN
China
Prior art keywords
subnet
user terminal
server
port
caller
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.)
Expired - Fee Related
Application number
CNB200410006143XA
Other languages
English (en)
Other versions
CN1665235A (zh
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 CNB200410006143XA priority Critical patent/CN100550882C/zh
Publication of CN1665235A publication Critical patent/CN1665235A/zh
Application granted granted Critical
Publication of CN100550882C publication Critical patent/CN100550882C/zh
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明公开了一种穿越子网的方法及子网穿越系统,所述方法在子网中配置子网服务器,在公网中配置公网管理服务器,并在主叫子网服务器和被叫子网服务器之间建立通道,当主叫子网用户终端与被叫子网用户终端进行通讯时,利用所建立的通道进行数据的交互。所述系统包括公网和与呼叫相关的子网,公网中包括公网管理服务器,子网中包括子网用户终端、子网服务器和子网的网络地址转换器NAT,所述子网服务器和公网服务器用于在子网用户终端之间建立能穿越不同子网的通讯通道,并建立呼叫连接。利用本发明所述的方法和系统,不需要对子网的网络地址转换器(NAT)进行更换或升级,也不必修改子网接入用户终端的客户端程序,即可实现呼叫穿越子网。

Description

一种穿越子网的方法及子网穿越系统
技术领域
本发明涉及下一代网络(NGN)穿越技术,尤其涉及一种穿越子网的方法及子网穿越系统。
背景技术
目前NGN网络逐步从试验走向商用,在应用过程中遇到了很多实际问题,特别是NGN用户的接入问题,由于NGN是一个基于分组网承载的网络,接入用户都是通过IP地址来寻址,目前NGN网络的实际情况是,由于IP地址紧缺以及安全等各种原因,网上大量的子网基本上都采用了私有IP地址通过出口的网络地址转换器(NAT,Network Address Translation),两个子网中的用户终端进行通讯时,其通讯协议需要穿越子网的NAT,而最初的NAT大多只支持超文本传输协议(HTTP)的数据应用协议穿透,却无法支持一些媒体流协议,如基于分组交换的多媒体通讯系统(Packet Based Multimedia Communication System)协议,即H323协议,会话初始协议(SIP,Session Initiation Protocol)的NAT穿透。目前业界对媒体流协议穿越子网NAT的解决方案有如下几种:
现有技术一:采用应用层网关(ALG,Application Level Gateway)方式实现媒体流协议穿越子网,该方式在子网中的NAT设备上安装实现媒体流协议的应用层网关,子网中的用户终端与另一个子网中的用户终端进行通讯,当发送的消息通过NAT时,NAT对该消息的内容进行修改,将该消息中的主叫子网中端口及其对应的IP地址改为公网上的端口及其对应的IP地址,并修改协议栈中的内容,例如,如果是SIP协议,则包括最顶端的Via头域、Contact头域、会话描述协议(SDP)消息体和SIP消息的长度字段;当该消息通过公网到达被叫子网的NAT时,该子网的NAT将该消息中的公网端口及其对应的IP地址再修改为该子网的端口及其对应的IP地址,并再次修改协议栈的相关内容后,该消息才会到达目的用户终端。通过这种ALG的方式,能实现媒体流协议穿越子网的NAT。
在ALG方式中,通常的NAT是通过修改用户数据报协议(UDP)或传输控制协议(TCP)报文头部地址信息实现子网和公网IP地址的转换,但部分承载于TCP/UDP的应用:例如多媒体会话、文件共享、游戏等“端到端”的应用,在TCP/UDP负载中也带有地址信息。所以,一般应用程序在负载中填写的是其自身地址,此地址信息在通过NAT时被修改为NAT上对外的公网端口及其对应的IP地址。
现有技术一的缺点为:目前网上大量NAT因不具备ALG功能,所以要利用ALG方式实现穿越子网NAT需要更换或升级子网的NAT,这样就会增加大量的成本,而且会占用大量的NAT资源,使网络使用效率降低。
现有技术二:中间通讯方式(MIDCOM,Middlebox Communication)。
MIDCOM方式的框架结构是在公网的软交换上采用可信的且支持MIDCOM协议的第三方MIDCOM代理(MIDCOM Agent),在子网的NAT上安装支持MIDCOM协议的Middlebox。MIDCOM Agent和Middlebox通过MIDCOM协议对主被叫子网中的NAT进行控制,在NAT上创建媒体流通道,从而使主被叫双方的媒体流顺利穿越子网NAT。
现有技术二的缺点:该方式具有和现有技术一同样的缺点,目前网上大量NAT因不支持MIDCOM协议,所以要利用MIDCOM方式实现穿越子网NAT需要更换或升级子网的NAT,这样就会增加大量的成本,而且会占用大量的NAT资源,使网络使用效率降低。另外,通讯业务运营商不一定是NAT的所有者,但是又需要对NAT进行管理,由此引起关于管理权限的分配和信任机制等问题,并带来一系列的安全隐患。
现有技术三:UDP对NAT的简单穿越方式(STUN,Simple Traversal of UDPThrough Network Address Translators)。
在STUN方式下,为子网中的用户终端安装STUN客户端程序,即STUNCLIENT,并在公网中配置专门的STUN服务器,在进行通讯前,子网用户终端的STUN CLIENT向公网的STUN SERVER通过UDP发送请求STUN消息,STUNSERVER收到该请求消息后向该子网用户终端的STUN CLIENT发送响应消息,该响应消息中携带该子网用户终端的STUN CLIENT在该子网NAT上对应的外部端口和外部IP地址,该子网终端的STUN CLIENT通过响应消息体中的内容得知其在该子网NAT上对应的外部端口和外部IP地址,并且将其填入以后呼叫协议的UDP负载中,使得在以后发送的报文负载中,其地址信息就为所述子网NAT上的对外端口和对外IP地址,而不是子网内用户终端的私有端口和IP地址,这样报文负载中的内容在经过NAT时就无需被修改了,只需按普通NAT流程转换报文头的IP地址,这样媒体流即可顺利穿越NAT。
现有技术三的缺点:
STUN方式需要在子网中每台用户终端上安装STUN CLIENT应用程序,从而浪费用户大量的资源,并造成用户使用不便。而且该方式只能实现子网用户终端和公网用户终端的通讯,不能实现两个不同子网用户终端间的相互通讯,所以使用范围比较窄。另外,STUN SERVER只能修改一个地址和一个端口,而在一般媒体流协议的实时传输协议(RTP)标准中,实时传输控制协议(RTCP)地址和RTP地址相同,RTCP端口比RTP端口大1,因此,STUN方式不能保证获得的外部地址和端口满足RTP协议的要求,所以无法与当前被广泛使用的RTP实现兼容。
现有技术四:通过中继方式穿越NAT(TURN,Traversal Using Relay NAT)方式
TURN方式的思路与STUN相似,也是子网用户终端预先得到其私有端口和IP地址对应在公网上的端口和IP地址,只不过STUN方式得到的公网端口和IP地址为子网NAT上对外的端口和IP地址,而TURN方式得到公网端口和IP地址为TURN Server上的端口和IP地址,然后在报文负载中所描述的地址信息就直接填写为该TURN Server上的端口和IP地址。其具体技术方案为:子网中的用户终端安装TURN客户端程序,即TURN CLIENT,并在公网中配置专门的TURN服务器,在进行通讯前,子网用户终端的TURN CLIENT向公网的TURN SERVER通过UDP发送请求TURN消息,TURN SERVER收到该请求消息后向该子网用户终端的TURN CLIENT发送响应消息,该响应消息中携带该子网用户终端的TURNCLIENT在该TURN Server上对应的端口和IP地址,该子网终端的TURN CLIENT通过响应消息体中的内容得知其在TURN Server上对应的端口和IP地址,并且将其填入以后呼叫协议的UDP负载中,使得在以后发送的报文负载中,其地址信息就为所述TURN Server上的端口和IP地址,而不是子网内用户终端的私有端口和IP地址,这样媒体流即可顺利穿越NAT,TURN方式也无需对现有NAT设备做任何改动,另外支持对称NAT类型的穿越,可以满足RTP协议对外部地址和端口的要求。
现有技术四的缺点:
STUN方式也需要在子网中每台用户终端上安装STUNCLIENT应用程序,从而浪费用户大量的资源,并造成用户使用不便。另外,本方式需要公网中的TURN Server进行报文转发,报文在公网中的跳数(HOP)较多,对服务质量(Qos)有很大影响。
发明内容
有鉴于此,本发明的主要目的是提供一种穿越子网的方法及子网穿越系统,所述的方法既既不需要对子网NAT设备进行升级,也不必修改子网接入用户终端的客户端程序,即可使数据流穿越子网NAT;所述的系统不需要更换子网NAT设备,即可使数据流穿越子网NAT。
一种穿越子网的方法,该方法在子网中配置至少一台子网服务器,在公网中配置至少一台公网管理服务器,包括以下步骤:
a、子网中的用户终端启动后,通过该子网中的子网服务器向公网管理服务器发送该子网用户终端的注册信息,公网管理服务器保存该注册信息;
所述注册信息由子网网络地址转换器NAT转发给所述公网管理服务器;
所述公网管理服务器保存的注册信息为:所述子网用户终端标识与该用户终端所在子网的NAT端口的绑定关系;
b、主叫子网用户终端向被叫子网用户终端发出呼叫请求后,公网管理服务器向被叫子网服务器发送主叫子网用户终端的注册信息,被叫子网服务器根据收到的注册信息建立从被叫子网服务器到主叫子网服务器的逻辑通道;公网管理服务器向主叫子网服务器发送被叫子网用户终端的注册信息,主叫子网服务器根据收到的注册信息建立从主叫子网服务器到被叫子网服务器的逻辑通道,主被叫子网服务器通过上述所建立的逻辑通道穿越主被叫子网进行数据交互。
所述步骤a具体包括:
a1、子网用户终端向子网服务器发送包括该用户终端标识的注册信息;
a2、子网服务器收到注册信息后,为所述子网用户终端分配子网服务器端口,将该用户终端标识和所分配的子网服务器端口绑定,并保存该绑定关系,向公网管理服务器发送包括所述用户终端标识和所述子网服务器端口的注册信息;
a3、所述的注册信息到达子网NAT后,该子网NAT为子网服务器端口预留对应的子网NAT端口,并通过该子网NAT端口向公网管理服务器发送包括所述用户终端标识和所述子网NAT端口的注册信息;
a4、公网管理服务器收到注册信息后,将所述用户终端标识和所述子网NAT端口绑定,将绑定关系作为注册信息保存。
步骤a2中所述的子网服务器为所述子网用户终端分配的子网服务器端口为一个以上,且子网服务器分别通过各个端口向公网管理服务器发送包括该端口号和所述用户终端标识的注册信息。
所述的子网用户终端为会话初始协议SIP子网用户终端,步骤a2中所述的子网服务器为所述子网用户终端分配的子网服务器端口为三个,其中,第二个端口号比第三个端口号小1,且第二个端口所对应的IP地址与第三个端口所对应的IP地址相同。
在所述步骤a4后,还包括:
a5、所述子网服务器定时通过所述子网NAT向公网管理服务器进行用于防止注册信息老化的握手操作。
所述的握手操作包括:
a51、子网服务器通过所述子网NAT向公网管理服务器发送包括用户终端用户名的握手请求;
a52、公网管理服务器收到握手请求,根据该握手请求中的子网用户终端的用户名,继续维持已经建立起来的所述子网用户终端用户名与该用户终端所在子网的NAT端口的绑定关系。
所述步骤b具体包括:
b1、主叫子网用户终端向主叫子网服务器发送包括主被叫子网用户终端标识和主叫子网用户终端的地址信息的呼叫请求;
b2、主叫子网服务器接收到所述呼叫请求后,记录该呼叫请求中的内容,并通过主叫子网NAT向公网管理服务器发送包括主被叫子网用户终端标识的呼叫请求;
b3、公网管理服务器收到该呼叫请求后,根据主叫子网用户终端标识查找到该主叫子网用户终端的注册信息,将包括该注册信息和被叫子网用户终端标识的呼叫请求发送到被叫子网NAT,并通过被叫子网NAT发送到被叫子网服务器;
b4、被叫子网服务器收到呼叫请求后,根据被叫子网用户终端标识查找到与该用户终端标识对应的被叫子网服务器端口,并将该被叫子网服务器端口与呼叫请求中注册信息包含的主叫子网用户终端对应的主叫子网NAT端口绑定,通过保存绑定的端口关系建立从被叫子网服务器到主叫子网服务器的逻辑通道;
b5、被叫子网服务器通过被叫子网NAT向公网管理服务器发送包括主被叫子网用户终端标识的呼叫响应;
b6、公网管理服务器收到所述呼叫响应后,根据被叫子网用户终端标识查找到该被叫子网用户终端的注册信息,将包括该注册信息和主叫子网用户终端标识的呼叫响应通过主叫子网NAT发送到主叫子网服务器;
b7、主叫子网服务器收到呼叫响应后,根据主叫子网用户终端标识查找到与该用户终端对应的主叫子网服务器端口,并将该主叫子网服务器端口与呼叫响应中注册信息包含的被叫子网用户终端对应的被叫子网NAT端口绑定,通过保存该绑定端口关系建立从主叫子网服务器到被叫子网服务器的逻辑通道。
在所述步骤b之后,还包括:
c、主叫子网服务器通过所建立的从主叫子网服务器到被叫子网服务器的逻辑通道向被叫子网服务器发送包括主叫子网相关信息的呼叫请求,被叫子网服务器将该呼叫请求中的主叫子网相关信息修改为被叫子网相关信息后,将该呼叫请求发送到被叫子网用户终端;被叫子网用户终端向被叫子网服务器返回呼叫响应,被叫子网服务器收到该呼叫响应后,通过所建立的从被叫子网服务器到主叫子网服务器的逻辑通道向主叫子网服务器返回包括被叫子网相关信息的呼叫响应,主叫子网服务器收到该呼叫响应后,将该呼叫响应中的被叫子网相关信息修改为主叫子网相关信息后,将该呼叫响应发送到主叫子网用户终端,成功建立本次呼叫。
步骤b中所述的主叫子网用户终端发出的呼叫请求中包括:主被叫子网用户终端标识和主叫用户终端的地址信息,该地址信息为:主叫子网用户终端用于数据交互的端口及其对应的子网IP地址;步骤c中所述的被叫子网用户终端向被叫子网服务器返回的呼叫响应中包括:主被叫子网用户终端标识和被叫用户终端的地址信息,该地址信息为:被叫子网用户终端用于数据交互的端口及其对应的子网IP地址。
步骤c中所述被叫子网服务器收到被叫子网用户终端返回的呼叫响应后,将被叫子网用户终端用于数据交互的端口及其IP地址与所建立的主叫子网服务器和被叫子网服务器之间的逻辑通道绑定;所述主叫子网服务器收到呼叫响应后,将主叫子网用户终端上用于数据交互的端口及其IP地址与所建立的主叫子网服务器和被叫子网服务器之间的逻辑通道绑定。
步骤c中所述的主叫子网相关信息包括:主叫子网用户终端的地址信息和主叫子网服务器端口及其对应的IP地址;被叫子网相关信息包括:被叫子网用户终端的地址信息和被叫子网服务器端口及其对应的IP地址。
在所述步骤c之后,还包括:主叫子网用户终端和被叫子网用户终端通过所述主叫子网服务器和被叫子网服务器之间所建立的逻辑通道进行数据的交互。
所述的子网用户终端为会话初始协议SIP子网用户终端。
一种子网穿越系统,包括公网和与呼叫相关的至少一个子网,所述每个子网包括子网网络地址转换器NAT和至少一个子网用户终端,所述子网NAT与公网连接,其特征在于,所述每个子网中还包括至少一台子网服务器,该子网服务器分别与同一子网中子网用户终端和子网NAT相连;所述公网中包括至少一台公网管理服务器;
子网中的用户终端启动后,通过该子网中的子网服务器向公网管理服务器发送该子网用户终端的注册信息,公网管理服务器保存该注册信息;所述注册信息由子网网络地址转换器NAT转发给所述公网管理服务器;所述公网管理服务器保存的注册信息为:所述子网用户终端标识与该用户终端所在子网的NAT端口的绑定关系;主叫子网用户终端向被叫子网用户终端发出呼叫请求后,公网管理服务器向被叫子网服务器发送主叫子网用户终端的注册信息,被叫子网服务器根据收到的注册信息建立从被叫子网服务器到主叫子网服务器的逻辑通道;公网管理服务器向主叫子网服务器发送被叫子网用户终端的注册信息,主叫子网服务器根据收到的注册信息建立从主叫子网服务器到被叫子网服务器的逻辑通道,主被叫子网服务器通过上述所建立的逻辑通道穿越主被叫子网进行数据交互。
所述子网服务器、子网NAT和公网管理服务器通过具有映射关系的端口连接。
由于本发明可以直接使用现有子网的NAT设备,利用子网服务器和公网服务器实现媒体流协议穿越子网,不需要对子网NAT设备进行更换或升级,从而降低成本,减少对NAT资源的占有,提高了网络使用效率。同时,本发明也不必修改子网用户终端的客户端程序,即可实现媒体流协议穿越子网,从而节省用户资源,方便用户使用。且本发明可实现不同子网中用户终端的通讯,使用范围比较宽。
另外,本发明采用通道机制有效地减小对公网IP地址、端口资源的占用,并可以同时修改多个IP地址和端口,因此可实现与当前被广泛使用的RTP实现兼容。本发明只是在最初的建立呼叫的过程中用到公网中的管理服务器,而当主被叫用户终端进行媒体流数据交互时,不需经公网中的管理服务器转发,因此提高了交互效率,提高Qos,且相对TRUN方式来说,对公网IP地址和端口的管理成本很低。
本发明所述子网服务器之间的通讯可以进行加密以提高通讯安全性,并且容易实现计费,且子网服务器可以采用廉价的低端服务器,一个子网内可以部署多台这样的服务器以实现负荷分担。本发明还采用高效的语音压缩算法可以在带宽较低的网络中获得满意的通话效果。
附图说明
图1为本发明实施例所述子网穿越系统的系统组网方式图;
图2为本发明实施例中用户终端的注册过程图;
图3为本发明实施例中主被叫用户终端之间建立呼叫的过程。
具体实施方式
下面结合附图和具体实施例对本发明再作进一步详细的说明。
本发明所述的方法及系统可实现各种媒体流协议穿越子网NAT,所述的媒体流协议包括H323协议、会话初始协议(SIP,Session Initiation Protocol)等。在本实施例中,以SIP协议为例来说明本发明所述方法及系统的技术方案。在SIP协议中,还包括RTP协议和RTCP协议,这两个协议用来辅助SIP协议完成通讯。图1为本实施例所述的穿越子网系统的系统组网方式图,如图1所示,该系统包括子网和IP公网,关于SIP业务呼叫的主叫子网101和被叫子网102通过IP公网连接,在每个与呼叫相关的子网中分别设置一台低端子网服务器,分别为主叫子网服务器112和被叫子网服务器122,SIP用户终端111位于主叫子网101中,与主叫子网服务器112相连,主叫子网服务器112通过主叫子网NAT113与IP公网相连;SIP用户终端121位于被叫子网102中,与被叫子网服务器122相连,被叫子网服务器122通过被叫子网NAT123与IP公网相连;在公网中配置公网管理服务器103,该公网管理服务器103和子网服务器用于转发并处理SIP用户终端发送的数据。SIP用户终端111与主叫子网服务器112进行SIP数据、RTP数据和RTCP数据的交互,SIP用户终端121与被叫子网服务器122进行SIP数据、RTP数据和RTCP数据的交互,根据公认的标准,RTP对应的IP端口号为偶数,RTCP端口号比RTP端口号大1。以下的SIP用户终端简称为用户终端。
本发明的核心思想为:分别在主被叫子网服务器以及主被叫子网NAT上为主被叫子网用户终端分配端口,并将主被叫子网服务器以及子网NAT的端口绑定,以建立主叫子网服务器112和被叫子网服务器122之间的通道,当用户终端111与用户终端121进行通讯时,利用所建立的通道传递用户终端111和用户终端121之间的RTP/RTCP数据流。本实施例的具体实现过程如图2和图3所示,图2为用户终端111的注册过程图,图3为用户终端111和用户终端121建立呼叫的过程。用户终端111的注册过程包括:
步骤201、用户终端111启动后,采用SIP协议向主叫子网服务器112发送SIP注册请求,该SIP注册请求中的注册信息至少包括:用户终端111的用户名和IP地址。
步骤202、主叫子网服务器112收到SIP注册请求后,记录用户终端111的用户名,并为该用户名分配端口,针对SIP协议,要为用户终端111分配三个端口:A端口、B端口和C端口,A端口用于传输SIP数据,B端口用于传输RTP数据,C端口用于传输RTCP数据。其中B端口号为偶数,C端口号为奇数,B端口号和C端口号之间满足:B端口号+1=C端口号,B端口所对应的IP地址和C端口所对应的IP地址相同。将该用户名和这三个端口进行绑定,即建立该用户名和这三个端口的映射关系,并建立映射表;再采用自定义协议,并通过A端口向公网管理服务器103发送自定义注册请求,该自定义注册请求中的注册信息至少包括:用户终端111的用户名,A端口号及其对应的IP地址。
步骤203、上步所述自定义注册请求到达主叫子网NAT113后,主叫子网NAT113预留一个与A端口对应的A1端口,并建立A端口和A1端口的映射关系,该A端口用于传送SIP消息。将所述自定义注册请求的源端口及其对应的IP地址改为A1端口及其对应的IP地址,并通过A1端口向公网管理服务器103转发自定义注册请求,该自定义注册请求中的注册信息至少包括:用户终端111的用户名,A1端口及其对应的IP地址。
步骤204、公网管理服务器103收到自定义注册请求,记录A1端口及其对应的IP地址和用户终端111的用户名,并将该用户名和A1端口绑定起来,即建立该用户名和A1端口的映射关系,采用自定义协议向主叫子网NAT113返回自定义注册响应。
步骤205、主叫子网NAT113收到自定义注册响应后,向主叫子网服务器112转发该自定义注册响应。
步骤206、主叫子网服务器112收到自定义注册响应后,采用SIP协议向用户终端111返回SIP注册响应。
步骤207、主叫子网服务器112采用自定义协议,通过A端口向该主叫子网NAT113发送握手请求,该握手请求中包括:用户终端111的用户名,A端口及其对应的IP地址。
步骤208、主叫子网NAT113收到握手请求后,根据A端口和A1端口的映射关系,并通过A1端口向公网管理服务器103发送握手请求,该握手请求至少包括:用户终端111的用户名,A1端口及其对应的IP地址。
步骤209、公网管理服务器103收到握手请求,根据该请求中的A1端口和用户终端111的用户名,继续维持已经建立起来的用户终端111的用户名和A1端口的映射关系,并采用自定义协议向主叫子网NAT113返回握手响应。
步骤210、主叫子网NAT113收到握手响应后,向主叫子网服务器112返回握手响应。
由于公网管理服务器103建立起来的用户终端111的用户名和A1端口的绑定关系在一定的时间后会释放,因此定时进行上述步骤207到步骤210所述的握手操作,用于维持公网管理服务器103已经建立起来的用户终端111的用户名和A1端口的绑定关系。
步骤211、主叫子网服务器112采用自定义协议,通过B端口向公网管理服务器103发送握手请求,该握手请求中也包括用户终端111的一种注册信息,即:用户终端111的用户名,B端口及其对应的IP地址。
步骤212、上步所述握手请求到达主叫子网NAT113后,该主叫子网NAT113预留一个与B端口对应的B1端口,并将B端口和B1端口绑定,该B1端口用于传送RTP消息,将所述握手请求的源端口及其对应的IP地址改为B1端口及其对应的IP地址,并通过B1端口向公网管理服务器103转发握手请求,该握手请求中的注册信息至少包括:用户终端111的用户名,B1端口及其对应的IP地址。
步骤213、公网管理服务器103收到握手请求,记录B1端口及其对应的IP地址和用户终端111的用户名,并建立该用户名和B1端口的绑定关系,采用自定义协议向主叫子网NAT113返回握手响应。
步骤214、主叫子网NAT113收到握手响应后,向主叫子网服务器112返回握手响应。
步骤215、主叫子网服务器112采用自定义协议,通过C端口向公网管理服务器103发送握手请求,该握手请求中包括用户终端111的一种注册信息:用户终端111的用户名,C端口及其对应的IP地址。
步骤216、上步所述握手请求到达主叫子网NAT113后,该主叫子网NAT113预留一个与C端口对应的C1端口,并建立C端口和C1端口的绑定关系,该C1端口用于传送RTCP消息。将所述握手请求的源端口及其对应的IP地址改为C1端口及其对应的IP地址,并通过C1端口向公网管理服务器103转发握手请求,该握手请求中的注册信息至少包括:用户终端111的用户名,C1端口及其对应的IP地址。由于本发明中所述的B1端口和C1端口是由子网NAT113自动生成的,因此B1端口号和C1端口号不必满足关系:B1端口号+1=C1端口号,B1端口对应的IP地址和C1端口对应的IP地址也可能不同。
步骤217、公网管理服务器103收到握手请求,记录C1端口及其对应的地IP址和用户终端111的用户名,并建立该用户名和C1端口的绑定关系,采用自定义协议向主叫子网NAT113返回握手响应。
步骤218、主叫子网NAT113收到握手响应后,向主叫子网服务器112返回握手响应。
接着,主叫子网服务器112定时通过A端口、B端口和C端口与公网管理服务器103进行握手,其具体操作过程与步骤207到步骤210相似,用以维持在公网管理服务器上用户名和A1端口、B1端口和C1端口的绑定关系,并防止NAT上的映射表出现老化。
子网102中的用户终端121在启动完成后,也会到公网管理服务器103上进行注册,其注册过程与上述用户终端111的注册过程相同,假设子网102中的子网服务器122为用户终端121分配的端口为D端口、E端口和F端口,分别与A端口、B端口和C端口对应,在子网102中的NAT123上预留的端口为D2端口、E2端口和F2端口,分别与A1端口、B1端口和C1端口对应。
如图3所示,当主叫子网用户终端111向被叫子网用户终端121发起呼叫时,包括以下步骤:
步骤301、用户终端111向主叫子网服务器112发送SIP呼叫请求,该呼叫请求包括用户终端111的用户名和IP地址,用户终端121的用户名,以及RTP地址信息,即用户终端111接收RTP媒体流的端口号和子网IP地址。
步骤302、主叫子网服务器112收到SIP呼叫请求后,记录该呼叫请求的RTP地址信息,并根据该SIP呼叫请求中的用户终端111的用户名查找到与该用户名绑定的端口,分别为A端口、B端口和C端口,再采用自定义协议,并通过A端口,向公网管理服务器103发送自定义呼叫请求,该自定义呼叫请求中包括:用户终端111的用户名和IP地址,用户终端121的用户名,A端口及其对应的IP地址。
步骤303、上步所述自定义呼叫请求到达主叫子网NAT113后,主叫子网NAT113根据已经建立的端口绑定关系,查找到与A端口对应的A1端口,将所述自定义呼叫请求的源端口及其对应的IP地址改为A1端口及其对应的IP地址,并通过A1端口向公网管理服务器103转发呼叫请求,该呼叫请求至少包括:用户终端111的用户名和IP地址,用户终端121的用户名,A1端口及其对应的IP地址。
步骤304、公网管理服务器103收到自定义呼叫请求后,根据该自定义呼叫请求中子网用户终端121的用户名来判断所记录的用户名中是否有该用户名,如果有,则说明该用户终端121可达,并根据已经建立的用户名和端口的绑定关系,查找到与用户终端111用户名对应的端口为A1端口、B1端口和C1端口,采用自定义协议向被叫子网NAT123发送自定义呼叫请求,该自定义呼叫请求包括用户终端121的用户名、A1端口及其对应的IP地址、B1端口及其对应的IP地址和C1端口及其对应的IP地址。
步骤305、被叫子网NAT123接收到自定义呼叫请求后,向被叫子网服务器122转发该自定义呼叫请求。
步骤306、被叫子网服务器122收到自定义呼叫请求后,根据用户终端121的用户名查找到为该用户终端121分配的端口,分别为D端口、E端口和F端口,并将D端口及其对应的IP地址和A1端口及其对应的IP地址进行绑定;将E端口及其对应的IP地址和B1端口及其对应的IP地址进行绑定,将F端口及其对应的IP地址和C1端口及其对应的IP地址进行绑定,以建立从被叫子网服务器122到主叫子网服务器112的SIP、RTP和RTCP逻辑通道,之后,被叫子网服务器122收到用户终端121发送到用户终端111的SIP信令流将通过D端口,并经过D2端口发送到子网NAT113的A1端口,最终被发送到主叫子网服务器112的A端口,从而实现信令流穿越子网NAT;被叫子网服务器122收到用户终端121发送到用户终端111的RTP和RTCP数据流将通过E端口和F端口,并经过E2端口和F2端口发送到子网NAT113的、B1端口和C1端口,最终被发送到主叫子网服务器112的B端口和C端口上,从而实现媒体流穿越子网NAT。
步骤307、被叫子网服务器122采用自定义协议向公网管理服务器103发送自定义呼叫响应,该自定义呼叫响应中包括用户终端111的用户名和IP地址,用户终端121的用户名。
步骤308、上步所述自定义呼叫响应到达被叫子网NAT123后,被叫子网NAT123根据已经建立的端口绑定关系,查找到与D端口对应的D2端口,将所述自定义呼叫响应的源端口及其对应的IP地址改为D2端口及其对应的IP地址,并通过D2端口向公网管理服务器103发送呼叫响应,该呼叫响应至少包括:用户终端111的用户名和IP地址,用户终端121的用户名,D2端口及其对应的IP地址。
步骤309、公网管理服务器103收到呼叫响应后,根据被叫子网用户终端121的用户名从记录的绑定关系中查找到与该用户名所对应的D2端口及其IP地址、E2端口及其IP地址和F2端口及其IP地址,并采用自定义协议向主叫子网NAT113返回自定义呼叫响应,该自定义呼叫响应包括:被叫子网用户终端121的用户名、D2端口及其IP地址、E2端口及其IP地址和F2端口及其IP地址。
步骤310、主叫子网NAT113收到自定义呼叫响应后,向主叫子网服务器112转发该自定义呼叫响应。
步骤311、主叫子网服务器112收到呼叫响应后,根据主叫子网用户终端111的用户名查找到为该用户终端111分配的端口及其对应的IP地址,分别为A端口及其对应的IP地址、B端口及其对应的IP地址和C端口及其对应的IP地址,并将D2端口及其对应的IP地址和A端口及其对应的IP地址进行绑定,将E2端口及其对应的IP地址和B端口及其对应的IP地址进行绑定,将F2端口及其对应的IP地址和C端口及其对应的IP地址进行绑定,以建立从主叫子网服务器112到被叫子网服务器122的SIP、RTP和RTCP逻辑通道,之后主叫子网服务器112收到用户终端111发送给用户终端121的信令流将通过A端口,并经过A1端口发送到被叫子网NAT123的D2端口,最终被发送到主叫子网服务器122的D端口,从而实现信令流穿越子网NAT;主叫子网服务器112收到用户终端111发送给用户终端121的RTP和RTCP数据流将通过B端口和C端口,并经过B1端口和C1端口发送到被叫子网NAT123的E2端口和F2端口,最终被发送到主叫子网服务器122的E端口和F端口上,从而实现媒体流穿越子网NAT。
通过上述的步骤301到步骤311,分别建立了从主叫子网服务器112到被叫子网服务器122的SIP、RTP和RTCP逻辑通道,以及从被叫子网服务器122到主叫子网服务器112的SIP、RTP和RTCP逻辑通道。而上述从主叫子网服务器112到被叫子网服务器122的SIP逻辑通道和从被叫子网服务器122到主叫子网服务器112的SIP逻辑通道相结合,组成了一组主叫子网服务器112和被叫子网服务器122之间的物理通道:SIP通道,该SIP通道为:A端口、A1端口、D2端口和D端口相连接;同理,在主叫子网服务器112和被叫子网服务器122之间还组成了另外两组物理通道:即一组RTP通道和一组RTCP通道,其中,RTP通道为:B端口、B1端口、E2端口和E端口相连接;RTCP通道为:C端口、C1端口、F2端口和F端口相连接,上述三组通道分别在主被叫子网服务器之间传送SIP、RTP和RTCP数据流。
步骤312、主叫子网服务器112向主叫子网NAT113发送SIP呼叫请求,该SIP呼叫请求包括用户终端121的用户名、SDP信息和主叫子网用户终端111的子网信息,其中,SDP信息包括:RTP地址信息,即用户终端111接收RTP媒体流的端口号及其对应的子网IP地址;子网信息至少包括Via头域、Contact头域。其中Via头域中包括用户终端111的地址信息。
步骤313、主叫子网NAT113收到SIP呼叫消息后,根据绑定关系从A1端口向被叫子网NAT123的D2端口转发SIP呼叫消息。在本步骤以及以后媒体流的发送过程中,由于主叫子网NAT113直接向被叫子网NAT123发送SIP呼叫请求,不需公网管理服务器的参与,所以提高了发送速度,改善了服务质量。
步骤314、被叫子网NAT123根据绑定关系向被叫子网服务器122的D端口发送SIP呼叫消息。
步骤315、被叫子网服务器122收到SIP呼叫请求后,根据被叫子网服务器122的子网信息修改呼叫请求中的子网信息,将Via头域、Contact头域修改为被叫子网服务器122的Via头域、Contact头域,其中包括将Via头域中的地址信息改为D端口及其对应的IP地址,并修改SDP中的RTP地址信息,即将用户终端111接收RTP媒体流的端口号及其对应的子网IP地址改为E端口及其对应的IP地址,并将E端口的端口号加1,得到F端口的端口号。
步骤316、被叫子网服务器122将修改后的SIP呼叫请求发送给被叫子网用户终端121。
步骤317、被叫子网用户终端121收到SIP呼叫请求后向被叫子网服务器122返回SIP呼叫响应,该SIP呼叫响应包括用户终端111的用户名和IP地址,用户终端121的用户名,以及RTP地址信息,该RTP地址信息包括:用户终端121接收RTP媒体流的端口号及其对应的子网IP地址。
步骤318、被叫子网服务器122收到SIP呼叫响应后,取出其中携带的用户终端121接收RTP媒体流的端口号及其对应的子网IP地址,并将该端口号及其对应的子网IP地址与E端口号及其对应的IP地址绑定,并保存绑定关系,根据该端口和IP地址的绑定关系可实现被叫子网服务器122和被叫子网用户终端121之间的RTP媒体流的交互;将该用户终端121接收RTP媒体流的端口号加1后得到用户终端121接收RTCP数据流的端口号,用户终端121接收RTCP数据流的端口号对应的IP地址与用户终端121接收RTP媒体流的端口号对应的IP地址相同,将该用户终端121接收RTCP数据流的端口号及其对应的IP地址与F端口号及其对应的IP地址绑定,并保存绑定关系,根据该端口和IP地址的绑定关系可实现被叫子网服务器122和被叫子网用户终端121之间的RTCP数据流的交互。
步骤319、被叫子网服务器122根据通过D端口向被叫子网NAT123返回SIP呼叫响应,该SIP呼叫响应包括用户终端111的用户名、SDP信息和与被叫子网102相关的子网信息,其中,SDP信息包括:RTP地址信息,即用户终端121接收RTP媒体流的端口号和子网IP地址;子网信息至少包括Via头域、Contact头域,其中Via头域包括主叫子网用户终端111的地址信息。
步骤320、被叫子网NAT123收到SIP呼叫响应后,根据绑定关系通过D2端口向主叫子网NAT113返回SIP呼叫响应。
步骤321、主叫子网NAT113收到SIP呼叫响应后,根据绑定关系通过A端口返回SIP呼叫响应。
步骤322、主叫子网服务器112收到SIP呼叫响应后,根据主叫子网服务器112的子网信息修改该呼叫响应中的子网信息,即将Contact头域修改为主叫子网服务器112的Contact头域,并修改SDP中的RTP地址信息,即将用户终端121接收RTP媒体流的端口号及其对应的子网IP地址改为B端口及其对应的IP地址,并将B端口的端口号加1,得到C端口的端口号。读取出所记录的呼叫请求中的RTP地址信息:用户终端111接收RTP媒体流的端口号及其对应的子网IP地址。并将该端口号及其对应的IP地址与B端口号及其对应的IP地址绑定,并保存绑定关系,根据该端口和IP地址的绑定关系可实现主叫子网服务器112和主叫子网用户终端111之间的RTP媒体流交互;将该用户终端111接收RTP媒体流的端口号加1后得到用户终端111接收RTCP数据流的端口号,用户终端111接收RTCP数据流的端口号对应的IP地址与用户终端111接收RTP媒体流的端口号对应的IP地址相同,将该用户终端111接收RTCP数据流的端口号及其对应的IP地址与C端口号及其对应的IP地址绑定,并保存绑定关系,根据该端口和IP地址的绑定关系可实现主叫子网服务器112和主叫子网用户终端111之间的RTCP数据流交互。
步骤323、主叫子网服务器112向主叫子网用户终端111发送修改后的SIP呼叫响应。
至此SIP呼叫被成功建立,主叫子网用户终端111和被叫子网用户终端121之间的数据可以互通。用户终端111的SIP数据包发送到主叫子网服务器112的A端口,主叫子网服务器112将该数据包封装为自定义消息通过上述的SIP通道,即通过A端口、A1端口、D2端口和D端口发送到被叫子网服务器122;用户终端121的SIP数据包发送到被叫子网服务器122的D端口,被叫子网服务器122将该数据包封装为自定义消息通过上述的SIP通道,即通过D端口、D2端口、A1端口和A端口发送到主叫子网服务器112。RTP和RTCP数据包的发送采用同样的方式处理,用户终端111的RTP数据包发送到主叫子网服务器112的B端口,主叫子网服务器112将该消息封装为自定义消息通过上述的RTP通道,即通过B端口、B1端口、E2端口和E端口发送到被叫子网服务器122,被叫子网服务器122从自定义消息中得到原始的RTP数据包,从E端口发送给用户终端121的接收RTP媒体流的端口。用户终端121的RTP数据包发送到被叫子网服务器122的E端口,被主叫子网服务器122将该消息封装为自定义消息通过上述的RTP通道,即通过E端口、E2端口、B1端口和B端口发送到主叫子网服务器112,主叫子网服务器112从自定义消息中得到原始的RTP数据包,从B端口发送给用户终端111的接收RTP媒体流的端口;用户终端111的RTCP数据包发送到主叫子网服务器112的C端口,主叫子网服务器112将该消息封装为自定义消息通过RTCP通道,即通过C端口、C1端口、F2端口和F端口发送到被叫子网服务器122,被叫子网服务器122从自定义消息中得到原始的RTCP数据包,从F端口发送给用户终端121的接收RTCP数据流的端口。用户终端121的RTCP数据包发送到被叫子网服务器122的F端口,被叫子网服务器122将该消息封装为自定义消息通过RTCP通道,即通过F端口、F2端口、C1端口和C端口发送到主叫子网服务器112,主叫子网服务器112从自定义消息中得到原始的RTCP数据包,从C端口发送给用户终端111的接收RTCP数据流的端口
在本实施例中,在主被叫子网服务器间建立了三组物理通道,本发明也可只建立一组物理通道,在子网服务器上的所有端口接收的消息都由这一组物理通道转发,以节省公网地址和端口资源。例如:只建立A端口、A1端口、D2端口和D端口相连接的物理通道,当用户终端111分别向主叫子网服务器112的A端口、B端口和C端口发送消息时,主叫子网服务器112将这些消息封装为自定义消息,并将这些自定义消息都通过所建立的物理通道,即经过A端口、A1端口、D2端口和D端口发送到被叫子网服务器122;当用户终端121分别向被叫子网服务器122的D端口、E端口和F端口发送消息时,被叫子网服务器122将这些消息封装为自定义消息,并将这些自定义消息都通过所建立的物理通道,即经过D端口、D2端口、A1端口和A端口发送到主叫子网服务器112,同理也可建立其他数量组物理通道,以进行消息的发送。
另外,本发明所述子网服务器之间的通讯可以进行加密以提高通讯安全性,并且容易实现计费,本发明还采用高效的语音压缩算法从而在带宽较低的网络中获得满意的通话效果。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉该技术的人在本发明所揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。

Claims (15)

1、一种穿越子网的方法,其特征在于,该方法在子网中配置至少一台子网服务器,在公网中配置至少一台公网管理服务器,包括以下步骤:
a、子网中的用户终端启动后,通过该子网中的子网服务器向公网管理服务器发送该子网用户终端的注册信息,公网管理服务器保存该注册信息;
所述注册信息由子网网络地址转换器NAT转发给所述公网管理服务器;
所述公网管理服务器保存的注册信息为:所述子网用户终端标识与该用户终端所在子网的NAT端口的绑定关系;
b、主叫子网用户终端向被叫子网用户终端发出呼叫请求后,公网管理服务器向被叫子网服务器发送主叫子网用户终端的注册信息,被叫子网服务器根据收到的注册信息建立从被叫子网服务器到主叫子网服务器的逻辑通道;公网管理服务器向主叫子网服务器发送被叫子网用户终端的注册信息,主叫子网服务器根据收到的注册信息建立从主叫子网服务器到被叫子网服务器的逻辑通道,主被叫子网服务器通过上述所建立的逻辑通道穿越主被叫子网进行数据交互。
2、如权利要求1所述的方法,其特征在于,所述步骤a具体包括:
a1、子网用户终端向子网服务器发送包括该用户终端标识的注册信息;
a2、子网服务器收到注册信息后,为所述子网用户终端分配子网服务器端口,将该用户终端标识和所分配的子网服务器端口绑定,并保存该绑定关系,向公网管理服务器发送包括所述用户终端标识和所述子网服务器端口的注册信息;
a3、所述的注册信息到达子网NAT后,该子网NAT为子网服务器端口预留对应的子网NAT端口,并通过该子网NAT端口向公网管理服务器发送包括所述用户终端标识和所述子网NAT端口的注册信息;
a4、公网管理服务器收到注册信息后,将所述用户终端标识和所述子网NAT端口绑定,将绑定关系作为注册信息保存。
3、如权利要求2所述的方法,其特征在于,步骤a2中所述的子网服务器为所述子网用户终端分配的子网服务器端口为一个以上,且子网服务器分别通过各个端口向公网管理服务器发送包括该端口号和所述用户终端标识的注册信息。
4、如权利要求3所述的方法,其特征在于,所述的子网用户终端为会话初始协议SIP子网用户终端,步骤a2中所述的子网服务器为所述子网用户终端分配的子网服务器端口为三个,其中,第二个端口号比第三个端口号小1,且第二个端口所对应的IP地址与第三个端口所对应的IP地址相同。
5、如权利要求2所述的方法,其特征在于,在所述步骤a4后,还包括:
a5、所述子网服务器定时通过所述子网NAT向公网管理服务器进行用于防止注册信息老化的握手操作。
6、如权利要求5所述的方法,其特征在于,所述的握手操作包括:
a51、子网服务器通过所述子网NAT向公网管理服务器发送包括用户终端用户名的握手请求;
a52、公网管理服务器收到握手请求,根据该握手请求中的子网用户终端的用户名,继续维持已经建立起来的所述子网用户终端用户名与该用户终端所在子网的NAT端口的绑定关系。
7、如权利要求1所述的方法,其特征在于,所述步骤b具体包括:
b1、主叫子网用户终端向主叫子网服务器发送包括主被叫子网用户终端标识和主叫子网用户终端的地址信息的呼叫请求;
b2、主叫子网服务器接收到所述呼叫请求后,记录该呼叫请求中的内容,并通过主叫子网NAT向公网管理服务器发送包括主被叫子网用户终端标识的呼叫请求;
b3、公网管理服务器收到该呼叫请求后,根据主叫子网用户终端标识查找到该主叫子网用户终端的注册信息,将包括该注册信息和被叫子网用户终端标识的呼叫请求发送到被叫子网NAT,并通过被叫子网NAT发送到被叫子网服务器;
b4、被叫子网服务器收到呼叫请求后,根据被叫子网用户终端标识查找到与该用户终端标识对应的被叫子网服务器端口,并将该被叫子网服务器端口与呼叫请求中注册信息包含的主叫子网用户终端对应的主叫子网NAT端口绑定,通过保存绑定的端口关系建立从被叫子网服务器到主叫子网服务器的逻辑通道;
b5、被叫子网服务器通过被叫子网NAT向公网管理服务器发送包括主被叫子网用户终端标识的呼叫响应;
b6、公网管理服务器收到所述呼叫响应后,根据被叫子网用户终端标识查找到该被叫子网用户终端的注册信息,将包括该注册信息和主叫子网用户终端标识的呼叫响应通过主叫子网NAT发送到主叫子网服务器;
b7、主叫子网服务器收到呼叫响应后,根据主叫子网用户终端标识查找到与该用户终端对应的主叫子网服务器端口,并将该主叫子网服务器端口与呼叫响应中注册信息包含的被叫子网用户终端对应的被叫子网NAT端口绑定,通过保存该绑定端口关系建立从主叫子网服务器到被叫子网服务器的逻辑通道。
8、如权利要求1所述的方法,其特征在于,在所述步骤b之后,还包括:
c、主叫子网服务器通过所建立的从主叫子网服务器到被叫子网服务器的逻辑通道向被叫子网服务器发送包括主叫子网相关信息的呼叫请求,被叫子网服务器将该呼叫请求中的主叫子网相关信息修改为被叫子网相关信息后,将该呼叫请求发送到被叫子网用户终端;被叫子网用户终端向被叫子网服务器返回呼叫响应,被叫子网服务器收到该呼叫响应后,通过所建立的从被叫子网服务器到主叫子网服务器的逻辑通道向主叫子网服务器返回包括被叫子网相关信息的呼叫响应,主叫子网服务器收到该呼叫响应后,将该呼叫响应中的被叫子网相关信息修改为主叫子网相关信息后,将该呼叫响应发送到主叫子网用户终端,成功建立本次呼叫。
9、如权利要求8所述的方法,其特征在于,步骤b中所述的主叫子网用户终端发出的呼叫请求中包括:主被叫子网用户终端标识和主叫用户终端的地址信息,该地址信息为:主叫子网用户终端用于数据交互的端口及其对应的子网IP地址;步骤c中所述的被叫子网用户终端向被叫子网服务器返回的呼叫响应中包括:主被叫子网用户终端标识和被叫用户终端的地址信息,该地址信息为:被叫子网用户终端用于数据交互的端口及其对应的子网IP地址。
10、如权利要求9所述的方法,其特征在于,步骤c中所述被叫子网服务器收到被叫子网用户终端返回的呼叫响应后,将被叫子网用户终端用于数据交互的端口及其IP地址与所建立的主叫子网服务器和被叫子网服务器之间的逻辑通道绑定;所述主叫子网服务器收到呼叫响应后,将主叫子网用户终端上用于数据交互的端口及其IP地址与所建立的主叫子网服务器和被叫子网服务器之间的逻辑通道绑定。
11、如权利要求8所述的方法,其特征在于,步骤c中所述的主叫子网相关信息包括:主叫子网用户终端的地址信息和主叫子网服务器端口及其对应的IP地址;被叫子网相关信息包括:被叫子网用户终端的地址信息和被叫子网服务器端口及其对应的IP地址。
12、如权利要求8所述的方法,其特征在于,步骤c之后,还包括:主叫子网用户终端和被叫子网用户终端通过所述主叫子网服务器和被叫子网服务器之间所建立的逻辑通道进行数据的交互。
13、如权利要求1至8中任一项所述的方法,其特征在于,所述的子网用户终端为会话初始协议SIP子网用户终端。
14、一种子网穿越系统,包括公网和与呼叫相关的至少一个子网,所述每个子网包括子网网络地址转换器NAT和至少一个子网用户终端,所述子网NAT与公网连接,其特征在于,所述每个子网中还包括至少一台子网服务器,该子网服务器分别与同一子网中子网用户终端和子网NAT相连;所述公网中包括至少一台公网管理服务器;
子网中的用户终端启动后,通过该子网中的子网服务器向公网管理服务器发送该子网用户终端的注册信息,公网管理服务器保存该注册信息;
所述注册信息由子网网络地址转换器NAT转发给所述公网管理服务器;
所述公网管理服务器保存的注册信息为:所述子网用户终端标识与该用户终端所在子网的NAT端口的绑定关系;
主叫子网用户终端向被叫子网用户终端发出呼叫请求后,公网管理服务器向被叫子网服务器发送主叫子网用户终端的注册信息,被叫子网服务器根据收到的注册信息建立从被叫子网服务器到主叫子网服务器的逻辑通道;公网管理服务器向主叫子网服务器发送被叫子网用户终端的注册信息,主叫子网服务器根据收到的注册信息建立从主叫子网服务器到被叫子网服务器的逻辑通道,主被叫子网服务器通过上述所建立的逻辑通道穿越主被叫子网进行数据交互。
15、如权利要求14所述的系统,其特征在于,所述子网服务器、子网NAT和公网管理服务器通过具有映射关系的端口连接。
CNB200410006143XA 2004-03-02 2004-03-02 一种穿越子网的方法及子网穿越系统 Expired - Fee Related CN100550882C (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CNB200410006143XA CN100550882C (zh) 2004-03-02 2004-03-02 一种穿越子网的方法及子网穿越系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CNB200410006143XA CN100550882C (zh) 2004-03-02 2004-03-02 一种穿越子网的方法及子网穿越系统

Publications (2)

Publication Number Publication Date
CN1665235A CN1665235A (zh) 2005-09-07
CN100550882C true CN100550882C (zh) 2009-10-14

Family

ID=35036122

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB200410006143XA Expired - Fee Related CN100550882C (zh) 2004-03-02 2004-03-02 一种穿越子网的方法及子网穿越系统

Country Status (1)

Country Link
CN (1) CN100550882C (zh)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2905812B1 (fr) * 2006-09-08 2008-10-24 Alcatel Sa Traverssee d'un equipement de traduction d'adresse nat pour messages de signalisation conformes au protocole sip
CN101075910B (zh) * 2006-12-04 2010-08-18 腾讯科技(深圳)有限公司 一种快速注册的方法及装置
CN101262447B (zh) * 2008-04-21 2011-02-16 中国科学院计算技术研究所 一种系统终端设备建立nat穿越通道的方法
CN101753634B (zh) * 2008-12-19 2013-01-30 华为技术有限公司 一种私网穿越的方法,系统和装置
CN102055659B (zh) * 2009-11-10 2012-08-22 中国科学院计算技术研究所 一种系统终端设备建立nat穿越通道的方法
CN102231763B (zh) * 2011-06-20 2014-04-09 北京思创银联科技股份有限公司 一种基于nat穿透的共享方法
CN102332999B (zh) * 2011-10-31 2013-12-25 迈普通信技术股份有限公司 一种基于共享nat的网络管理交互系统及交互方法
CN104079537B (zh) * 2013-03-28 2018-03-23 联想(北京)有限公司 一种基于传输控制协议建立会话连接的方法、装置及系统
CN104580543A (zh) * 2013-10-16 2015-04-29 福达新创通讯科技(厦门)有限公司 数据传输方法、系统及其记录媒体
WO2015081551A1 (zh) * 2013-12-06 2015-06-11 华为技术有限公司 一种网络中实现报文路由的方法、设备和系统
CN104408777B (zh) * 2014-11-27 2017-04-12 凯拔(中国)科技有限公司 一种基于nat穿越实现p2p通信的互联网考勤管理系统和方法
CN105391817A (zh) * 2015-11-26 2016-03-09 上海紫越网络科技股份有限公司 基于sdp自检测nat穿越系统及方法
CN106210103B (zh) * 2016-07-21 2020-03-20 成都火云网安科技有限公司 一种跨越公网的私有云对接方法
CN106357609B (zh) * 2016-08-22 2019-09-20 深圳市先河系统技术有限公司 一种创建用户的方法和系统、公网服务器及私有云设备
CN107566671B (zh) * 2017-10-12 2020-09-25 上海华客信息科技有限公司 网络语音通信方法及其系统、存储介质、电子设备
CN110830760B (zh) * 2018-08-10 2021-07-02 北京仁光科技有限公司 一种安全网络数据交互系统及方法

Also Published As

Publication number Publication date
CN1665235A (zh) 2005-09-07

Similar Documents

Publication Publication Date Title
CN100550882C (zh) 一种穿越子网的方法及子网穿越系统
CN100539504C (zh) 一种网络地址转换和/或防火墙穿越平台、系统及其方法
AU2005201075B2 (en) Apparatus and method for voice processing of voice over internet protocol (VOIP)
US8484359B2 (en) Providing telephony services to terminals behind a firewall and/or a network address translator
US8646065B2 (en) Method for routing bi-directional connections in a telecommunication network by means of a signalling protocol via an interposed firewall with address transformation device and also a telecommunication network and security and tunnel device for this
US7996543B2 (en) Client-to-client direct RTP exchange in a managed client-server network
CN103430524B (zh) 一种用于使得使用sip的企业网络能够存活的备用sip服务器
GB0321975D0 (en) Exchange protocol for combination multimedia services
DE10245330A1 (de) Softwareschalter der verteilte Firewalls für eine Lastteilung von Internet-Telefonie-Verkehr in einem IP-Netz verwendet
CN102035813B (zh) 端到端呼叫的实现方法、端到端呼叫终端及系统
US20080037537A1 (en) Method and system for traversing network address translation or firewall device
CN1633100A (zh) 多媒体业务网络地址转换穿越的方法及其系统
US7542475B2 (en) Communication between users located behind a NAT device
EP1698151A1 (en) Call set-up systems
CN100493048C (zh) 穿越网络地址转换和防火墙的多媒体通信代理系统及方法
CN1645861A (zh) 一种软交换网络穿越防火墙的方法
CN102447751B (zh) 一种VoIP应用进行NAT穿越的方法及系统
CN101594623B (zh) 一种互联网协议语音呼叫的监听方法及设备
US8774163B2 (en) Communication system and method for implementing IP cross-domain interconnecting via border media gateway
KR100726185B1 (ko) 서로 다른 ip 주소를 사용하는 ip 네트워크 간 연동제공 시스템, 게이트웨이 장치, 서버 및 연동 제공 방법
JP5752014B2 (ja) ゲートウェイ装置およびデータ送信方法
CN116708381B (zh) 跨网络的数据传输方法、装置和存储介质及电子设备
KR101330246B1 (ko) 인터넷 전화 단말기, 인터넷 전화 단말기에서의 미디어 데이터 전송 방법 및 인터넷 전화를 위한 세션 보더 콘트롤러
CN1595898A (zh) 智能终端汇聚接入系统和方法
EP2020792B1 (en) Method and device for data processing and communication system comprising such device

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
C17 Cessation of patent right
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20091014

Termination date: 20140302