WO2007012233A1 - A method for multi-media services travel through nat - Google Patents
A method for multi-media services travel through nat Download PDFInfo
- Publication number
- WO2007012233A1 WO2007012233A1 PCT/CN2005/002095 CN2005002095W WO2007012233A1 WO 2007012233 A1 WO2007012233 A1 WO 2007012233A1 CN 2005002095 W CN2005002095 W CN 2005002095W WO 2007012233 A1 WO2007012233 A1 WO 2007012233A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- terminal
- private network
- tunnel
- proxy device
- nat
- 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.)
- Ceased
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/02—Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
- H04L63/029—Firewall traversal, e.g. tunnelling or, creating pinholes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/09—Mapping addresses
- H04L61/25—Mapping addresses of the same type
- H04L61/2503—Translation of Internet protocol [IP] addresses
- H04L61/256—NAT traversal
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/10—Architectures or entities
- H04L65/102—Gateways
- H04L65/1043—Gateway controllers, e.g. media gateway control protocol [MGCP] controllers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/80—Responding to QoS
Definitions
- the present invention relates to NAT (Network Address Translation) traversal in the communication field, and in particular, to a method for a multimedia service tunnel to traverse a NAT device.
- NAT Network Address Translation
- the proxy device in the prior art is usually set in three locations: inside the private network (the location shown in "Agent 1" in Figure 1); on the edge of the public and private networks (“Proxy 2" in Figure 1) Show location) and public network (shown in "Proxy 3" in Figure 1).
- Tunnel traversal is a common method used to traverse NAT devices when the proxy device is outside the private network, especially
- the tunnel traversal scheme in the prior art is as shown in FIG. 2, and is described as follows:
- the traversing device is composed of two components, namely, a proxy device and a tunnel client TC device.
- the TC device is placed in the private network behind the NAT device.
- the communication between the terminal and the NAT external device is handled by the TC proxy, and the terminal in the private network is registered to the TC device.
- the proxy device is placed in the public network and has a public IP address.
- a tunnel is created between the TC device and the proxy device, either TCP (Transmission Control Protocol) or UDP (User Data Packet Protocol), and the registration information and call control signaling of all users are forwarded to the proxy device through the tunnel TC.
- TCP Transmission Control Protocol
- UDP User Data Packet Protocol
- the proxy device It is then forwarded by the proxy device to the control device (gatekeeper GK, softswitch Softswitch, etc.).
- the control device gatekeeper GK, softswitch Softswitch, etc.
- media streams such as audio and video are also tunneled by the TC to the proxy device.
- a custom protocol can be used between the tunnel client and the proxy device.
- the existing tunnel traversing technology implements NAT traversal of H.323 services. This technology is also applicable to
- NAT traversal of multimedia services such as H.248, MGCP (Media Gateway Control Protocol), SIP (Session Initiation Protocol).
- Packets that communicate through the tunnel must be encapsulated and decapsulated. Because the tunnel is a high-level protocol, the packets transmitted by the tunnel must be processed after the high-level protocol is unpacked, so you cannot do it quickly. Rationality, severely restricts the capacity and performance of the proxy device, especially for proxy devices based on network processor architecture;
- the proxy device is usually a device with high performance
- the TC device is usually a software module installed on a PC or a small device with weak performance; the TC device carries the conversion and processing of signaling packets and media packets of all services.
- the performance requirements and forwarding capabilities of TC devices are very high. Generally, the performance of TC devices is difficult to achieve. Because all signaling packets and media packets are carried by tunnels, the performance of tunnels often fails to meet the requirements.
- the capacity of the proxy device is too low, which will result in the agent device being unable to be used in a large area. If the signaling packet cannot be processed in time, the service will be abnormal. If the media packet cannot be processed in time, the delay will increase. Problems such as packet loss and service quality have declined.
- the object of the present invention is to provide a method for a multimedia service tunnel to traverse NAT, to divide the heavy workload of the TC device to process the media packet, and to utilize the processing capability of the media RTP (Real Time Protocol) packet by the NAT device and the rapid processing of the media packet by the proxy device.
- Reduce forwarding delay improve service quality, increase agent device capacity, reduce heavy reliance on TC device performance and tunnel performance, and improve service stability and service quality.
- the present invention provides a method for a multimedia service tunnel to traverse NAT, including a registration procedure of a terminal in a private network, a signaling interaction step when a terminal initiates a call in a private network, or is called by another user, and a media stream interaction step.
- the terminal in the private network directly interacts with the terminal in the public network through the NAT device and the proxy device.
- the step of registering the terminal in the private network and the signaling interaction step when the terminal in the private network initiates a call or is called by another user the terminal in the private network passes through the tunnel client, the NAT device, the proxy device, and the public network.
- the terminal and the system control device perform signaling flow interaction.
- the media stream interaction step specifically performs the following actions:
- the proxy device allocates the first IP/first port and the second IP/second port, and the first IP/first port performs media interaction with the public network terminal, and the second IP/second port and the private network Terminal through NAT
- the device performs media interaction, and the proxy device sends the media packet from the public network terminal received from the first IP/first port to the private network terminal through the second IP/second port, and receives the media packet from the second IP/second port.
- the media packet from the private network terminal is sent to the public network terminal through the first IP/first port.
- the IP/port of the private network terminal corresponding to the second IP/second port is the public network IP/port of the NAT device after the media packet of the terminal in the private network is converted by the NAT device.
- the public network IP/port of the NAT device is obtained by the proxy device from the first monitored media packet sent to the second IP/second port.
- the step of registering the terminal in the private network specifically includes the following steps: Step 1: After the tunnel client starts, apply for establishing a tunnel to the proxy device;
- Step 2 When the terminal in the private network initially works, initiate a registration message to the tunnel client, and the tunnel client transmits the registration message to the proxy device through the tunnel, and remembers the number and address of the terminal in the private network; Step 3, the proxy device After receiving the registration message sent by the tunnel client, the address carried by the tunnel client is translated into the public network address of the proxy device itself, sent to the control device, and the tunnel of the tunnel client where the number terminal is located is remembered;
- Step 4 The control device receives the registration message forwarded from the proxy device, and records the address where the terminal is located as the public network address of the proxy device.
- the signaling interaction steps when the terminal in the above private network initiates a call or is called by another user are:
- Step 5 The terminal in the private network initiates a call or is called by another user, and the system control device sends a signaling message sent to the terminal in the private network to the public network address of the proxy device, and the proxy device sends the message to the tunnel client through the tunnel.
- the tunnel client is transferred to the terminal in the private network; the process of sending the signaling message to the outside by the terminal in the private network is the same as the process of registering the message in steps 2 to 4.
- step 5 when other user terminals need to communicate with the user terminal in the private network, the public network address of the proxy device is contacted, and the proxy device sends a message to the tunnel client through the tunnel, and the tunnel client re- Transfer to the terminal in the private network.
- the signaling packet traverses the NAT device through a tunnel between the TC device and the proxy device, and the media packet directly traverses the NAT device for communication without passing through the tunnel, and the TC device is used to process the heavy workload of the media packet, thereby achieving performance improvement.
- the utilization performance of the NAT device for the media RTP (Real Time Protocol) packet is reduced, the forwarding delay is reduced, the service quality is improved, and the TC setting is reduced.
- the performance and the performance of the tunnel are heavily dependent, which saves the cost of implementing the solution and improves the stability and service quality of the service.
- the TC device since the TC device only processes signaling messages, in addition to ensuring that various signaling messages can be processed in time, the number of terminals that the TC device can carry is also increased under the same conditions, and the capacity of the TC device is improved.
- the NAT device is a device that processes data packets, the performance of processing data packets is strong. When forwarding media packets, the delay is small, the service quality is good, and the service capacity under the same system device is also improved.
- Figure 1 is a schematic diagram of a common location of a proxy device in a network
- FIG. 2 is a networking diagram and a data flow diagram of a tunnel traversing NAT in the prior art
- FIG. 3 is a networking diagram and data flow diagram of a tunnel traversing NAT according to the present invention.
- FIG. 4 is a schematic flowchart of a service terminal registration of an H.323 type in an embodiment of the present invention
- FIG. 5 is a schematic flowchart of a service terminal call of an H.323 type according to an embodiment of the present invention.
- FIG. 3 is a network and data flow diagram of a tunnel traversing NAT according to the present invention.
- the embodiment of the present invention is mainly composed of the following parts: terminals 10, 20, and TC located in a private network (tunnel client)
- the private network terminal 10, 20 sets the address of the TC device 30 to the address of the gatekeeper GK.
- the TC device 30 is its gatekeeper GK;
- the NAT device 40 establishes a communication tunnel to the generation device 50.
- the tunnel is used to carry the NAT traversal of the signaling packet between the private network terminal 10, 20 and the proxy device 50.
- the TC device 30 receives the private packet.
- the signaling of the network terminal 10, 20 is transmitted to the proxy device 50 through the tunnel; the signaling message of the proxy device 50 transmitted from the tunnel is received at the same time, and the corresponding action is performed according to the signaling message, and the private network is completed. Registration and calling functions between terminals.
- the NAT device 40 performs the normal NAT address translation function.
- the present invention has no special requirements for the type of the NAT. Because the NAT device 40 translates the IP header: tib performance is high, the present invention utilizes this feature of the NAT device 40 to directly carry a large number of frequent The address translation of the media package.
- the proxy device 50 acts as a server end of the tunnel, transmits signaling messages to the TC device 30 through the tunnel, and receives signaling messages from the TC device 30. The proxy device simultaneously completes the functions of the terminal, and completes the address translation of the signaling and media with the GK and the terminal 40.
- the proxy device 50 is the terminal 10, 20 in the private network, and the proxy device 50 acts on the terminals 10, 20 in the private network.
- the server and the proxy device as the tunnel may be the same physical entity or a separate physical entity; the tunnel may be a TCP tunnel or a tunnel of the type such as UDP or L2TP; the proxy device may establish a tunnel with multiple TC devices at the same time;
- This scheme is used for NAT traversal of H.323 services, and is also suitable for NAT traversal of services such as MGCP, H.248, and SIP.
- the methods described here are mostly used for public-private network traversal of NAT traversal, and can also be used for address translation between different network segments.
- the traversed device can be a NAT device or a firewall with related functions.
- the method for traversing NAT of the multimedia service tunnel of the present invention includes the following steps.
- the first step after the TC device 30 starts, it applies to the proxy device 50 to establish a tunnel.
- the proxy device 50 converts the IP and the address carried in the service protocol into the public network address of the proxy device 50 itself, and sends it to the system control device 70 (gatekeeper GK). , softswitch> SIP server, etc., and remember the tunnel of the TC device 30 where the terminal 10 or 20 is located;
- the system control device 70 receives the registration message forwarded by the proxy device 50, and records the address where the terminal 10 or 20 is located as the public network address of the proxy device 50;
- the terminal 10 or 20 in the private network initiates a call or is called by another user, and the control device 40 sends a signaling message addressed to the terminal 10 or 20 to the proxy device 50 according to the public network address of the proxy device 50, the proxy The device 50 sends a message to the TC device 30 through the tunnel, and the TC device 30 transfers the message to the terminal 10 or 20 in the private network.
- the proxy device If some protocols require other user terminals to interact with the user terminal in the private network, the proxy device also The public network address is contacted, and the proxy device sends the message to the TC device through the tunnel, and the TC device transfers the terminal to the terminal in the private network; the process of sending the signaling message to the external terminal in the private network and the process of registering the message in steps 2 to 4 Similarity;
- the proxy device 50 allocates IP1/PORT1 and IP2/PORT2,
- the IP1 PORT1 performs media interaction with the public network terminal 60
- the IP2/PORT2 interacts with the terminal 10 or 20 in the private network via the NAT device 40
- the proxy device 50 passes the media packet from the public network terminal 60 received from the IP1 PORT1 through the IP2.
- /PORT2 is sent to the private network terminal 10 or 20, and the media packet received from the IP2/PORT2 to the private network terminal 10 or 20 is sent to the public network terminal 60 through IP1/PORT1; wherein, the private network corresponding to IP2/PORT2
- the IP/PORT of the terminal is the public network IP/PORT of the NAT device converted by the NAT device in the media packet of the terminal in the private network.
- the IP/PORT is the first media packet sent by the proxy device to the IP2/PORT2. Obtained in.
- FIG. 4 depicts the registration process of the terminal 10, and in conjunction with FIG. 3, the following steps are included:
- Step 41 The terminal 10 sends a GRQ (Gatekeeper Request) message to the TC device 30, and the TC device 30 forwards the GRQ message to the proxy device 50 through the tunnel with the proxy device 50 while remembering the address of the terminal 10; the proxy device 50 After receiving the GRQ message, the private address of the terminal in the message is converted into the public network address of the proxy device 50, and the GRQ message is forwarded to the gatekeeper GK, and the tunnel where the terminal 10 is located is remembered;
- GRQ Gatekeeper Request
- Step 42 The gatekeeper responds to the proxy device 50 with a GCF (Gatekeeper Confirmation) message, and the proxy device 50 forwards the message to the TC device 30 through the tunnel.
- GCF Gatekeeper Confirmation
- the TC device 30 converts the gatekeeper address in the message into the private network of the TC device 30. Address, and forward the GCF message to the terminal 10;
- Step 43 The terminal 10 sends an RRQ (Registration Request) message to the TC device 30, and the TC device 30 forwards the RRQ message to the proxy device 50 through a tunnel with the proxy device 50. After receiving the RRQ message, the proxy device 50 sends the message. Transmitting the private address of the terminal to the public network address of the proxy device 50, and forwarding the RRQ message to the gatekeeper;
- RRQ Registration Request
- Step 44 The gatekeeper sends an RCF (Registration Acknowledgement) message to the proxy device 50, and the proxy device 50 forwards the message to the TC device 3a through the tunnel.
- the TC device 30 converts the gatekeeper address in the message into the private network address of the TC device 30. And forwarding the RCF message to the terminal 10.
- FIG. 5 depicts a call flow of the terminal 10 calling the terminal 30.
- the method includes the following steps: Step 51: The terminal 10 initiates a call to the terminal 30, and the terminal 10 first sends an ARQ (Access Request) message to the TC device 30.
- the source address is the private network address of the terminal 10.
- the TC device 30 forwards the packet to the proxy device 50 through the tunnel.
- the proxy device 50 translates the address of the terminal 10 into the public network address of the proxy device 50, and forwards the packet to the gatekeeper.
- Step 52 The gatekeeper sends an ACF (Access Confirmation) message to the proxy device 50, where the terminal 30 address is included, and the proxy device 50 sends the message to the TC device 30 through the tunnel, and simultaneously records the public network address of the terminal 30.
- the TC device 30 Converting the public network address of the terminal 30 to the private network address of the TC device 30, and then forwarding the result to the terminal 10;
- Step 53 The terminal 10 establishes a connection with the TC device 30, sends a Setup message to the TC device 30, and the TC device 30 forwards it to the proxy device 50 through the tunnel. After receiving the Setup message, the proxy device 50 establishes with the terminal 30.
- the connection converts the source address into the public network address of the proxy device 50, converts the destination address to the public network address of the terminal 30, and sends a Setup message to the terminal 30.
- Step 54 The terminal 30 responds to the Call Proceeding message, and after receiving the message, the proxy device 50 transmits the message to the terminal 10 through a similar conversion as described in step 52.
- Step 55 After receiving the call, the terminal 30 sends an ARQ (Access Request) message to the gatekeeper.
- Step 56 The gatekeeper sends an ACF (Access Confirmation) message to the terminal 30, where the destination address of the terminal 10 is the proxy device 50. Public network address;
- Step 57 The terminal 30 sends an Alerting message to the proxy device 50, and the proxy device 50 receives the similar transition as described in step 52, and sends the alert message to the terminal 10.
- Step 58 The terminal 30 sends a Connect message to the proxy device 50, and the proxy device 50 allocates IP1/PORT1 and IP2/PORT2 on the own device, and the IP1/PORT1 is used for media interaction with the terminal 30, and IP2/PORT2 is used for The terminal 10 performs media interaction through the NAT device 40, and the proxy device 50 converts the H.245 address in the Connect message to the IP2/PORT2 of the proxy device 50 to the TC device 30 through the tunnel, and the TC device 30 directly sends the TC device 30 to the terminal 10;
- Step 59 The master/slave determination and capability negotiation of the H.245 between the terminal 10 and the TC device 30, and the master-slave determination and capability negotiation of the H.245 between the proxy device 50 and the terminal 30;
- Step 60 A media channel is established between the terminal 10 and the IP2/PORT2 of the proxy device 50, between the IP1 PORT1 of the proxy device 50 and the terminal 30.
- the IP/PORT of the terminal 10 corresponding to the IP2/PORT2 is the public network IP/PORT of the NAT device after the media packet of the terminal 10 is converted by the NAT device, and the acquisition of the IP/PORT is the first monitored by the proxy device 50. Obtained in the media package sent to IP2/PORT2.
- the signaling packet traverses the NAT device through the tunnel between the TC device and the proxy device, and the media packet does not directly traverse the NAT device for communication through the tunnel, thereby avoiding the process of the tunnel layer encapsulation and decapsulation of the media packet, so that the proxy device can It is possible to process media packets quickly, greatly improving the terminal agent capacity of the proxy device and the processing performance of the media packet. At the same time, it also diverts the heavy work injury of the TC device to process the media packet, thus achieving performance improvement, utilizing the NAT device pair.
- the processing performance of the media RTP (Real Time Protocol) packet and the fast processing of the media packet by the proxy device reduce the forwarding delay, improve the quality of service, and reduce the heavy dependence on the performance and tunnel performance of the TC device and increase the capacity of the proxy device.
- the effect is to save the cost of implementing the solution and improve the capacity, stability and service quality of the business.
- the TC device since the TC device only processes signaling messages, in addition to ensuring that various signaling messages can be processed in time, the number of terminals that the TC device can carry is also increased under the same conditions, and the capacity of the TC device is improved. Since the NAT device is a device that processes data packets, the performance of processing data packets is strong. When forwarding media packets, not only the delay is small, the service quality is good, but also the service capacity under the same system device is improved.
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Multimedia (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Small-Scale Networks (AREA)
Description
一种多媒体业务隧道穿越 NAT的方法 技术领域
本发明涉及通讯领域的 NAT(Network Address Translation, 网络地址转换) 穿越, 尤其涉及一种多媒体业务隧道穿越 NAT设备的方法。 背景技术
随着多媒体业务在 IP网上的广泛使用, 处于 NAT设备内的用户要实现与 NAT设备外的用户及本 NAT下或其他 NAT的用户的互 ®需要一个支持多媒 体业务 NAT穿越的代理设备来实现通讯中信令和媒体包中 IP地址的转换, 以 达到互通的目的。
如图 1所示, 现有技术中代理设备通常被设置于三个位置: 私网内部(图 1中 "代理 1 "所示位置); 公、 私网边缘(图 1中 "代理 2"所示位置)和公 网中 (图 1中 "代理 3"所示位置)。
隧道穿越是代理设备处于私网外部时穿越 NAT设备常用的方法, 尤其是
H.323业务类型。现有技术中隧道穿越方案如图 2所示, 描述如下: 穿越设备由 两个构件组成, 即代理设备和隧道客户端 TC设备。 TC设备放在 NAT设备后的 私网中, 终端和 NAT外部设备的通信由 TC代理, 私网内的终端注册到 TC设备 上。 代理设备被安置在公网中, 并具有公网 IP地址。 TC设备和代理设备之间 创建一个隧道, TCP (传输控制协议)或 UDP (用户数据包协议) 的均可, 通 过这个隧道 TC将所有用户的注册信息和呼叫控制信令转发到代理设备上, 再 由代理设备转发到控制设备(网守 GK、软交换 Softswitch等)上。此外, 音频、 视频等媒体流也由 TC经过隧道转发到代理设备上。 隧道客户端和代理设备之 间可使用自定义协议。
现有隧道穿越技术实现了 H.323业务的 NAT穿越, 此技术同时适用于
H.248、 MGCP (媒体网关控制协议)、 SIP (会话初始协议)等多媒体业务的 NAT穿越。
现有隧道穿越方法在实际应用中存在下列问题和不足:
经过隧道进行通讯的数据包必须进行封装和解封装, 因为隧道是高层协 议,对隧道传输的包必须在协议的高层解开后进行处理, 因此不能迸行快速处
理,严重制约了代理设备的容量和性能,尤其是对基于网络处理器架构的代理 设备;
代理设备通常是一个性能较强的设备, 而 TC设备通常是一个安装在 PC 机上的软件模块或一个性能很弱的小设备; TC设备承载全部业务的信令包和 媒体包的转换和处理, 对 TC设备的性能要求和转发能力提出了很高的要求, 而通常 TC设备的性能很难达到; 因为所有信令包和媒体包都由隧道来承载, 所以隧道的性能也往往不能满足需求;
TC设备和隧道的性能成为了业务的瓶颈后, 代理设备的容量太低将导致 代理设备无法大面积商用;信令包不能及时处理将导致业务异常; 媒体包不能 及时处理将导致延时加大、 丢包等问题, 服务质量下降。
因此, 需要提出一种改进的多媒体业务隧道穿越 NAT设备的方法以解决 上述问题。 发明内容
本发明的目的在于提供一种多媒体业务隧道穿越 NAT的方法, 分流 TC 设备处理媒体包的繁重工作, 并利用 NAT设备对媒体 RTP (实时协议)包的 处理性能和代理设备对媒体包的快速处理减小转发延时, 提高服务质量, 提高 代理设备容量, 降低对 TC设备性能和隧道性能的严重依赖, 提高业务的稳定 性和服务质量。
为了实现上述目的, 本发明提供了一种多媒体业务隧道穿越 NAT 的方 法, 包括私网内终端的注册步骤、私网内终端发起呼叫或被其他用户呼叫时的 信令交互步骤、媒体流交互步骤, 其中, 所述媒体流交互步骤中, 私网内终端 直接通过 NAT设备和代理设备与公网内终端进行媒体流交互。
上述的方法所述私网内终端的注册步骤和私网内终端发起呼叫或被其他 用户呼叫时的信令交互步骤中, 私网内终端通过隧道客户端, NAT设备和代 理设备与公网内终端和系统控制设备进行信令流交互。
上述的方法, 所述媒体流交互步骤具体执行以下动作:
信令交互后,代理设备分配第一 IP/第一端口和第二 IP/第二端口,第一 IP/ 第一端口与公网终端进行媒体交互, 第二 IP/第二端口与私网内终端经过 NAT
设备进行媒体交互, 代理设备将从第一 IP/第一端口接收到的来自公网终端的 媒体包通过第二 IP/第二端口发给私网终端, 将从第二 IP/第二端口接收来到来 自私网终端的媒体包通过第一 IP/第一端口发给公网终端。
上述的方法, 与第二 IP/第二端口对应的私网终端的 IP/端口是私网内终端 的媒体包经过 NAT设备转换后的 NAT设备的公网 IP/端口。
上述的方法, NAT设备的公网 IP/端口是代理设备从监听到的第一个发向 第二 IP/第二端口的媒体包中获得的。
上述的方法, 所述私网内终端的注册步骤具体包括以下步骤- 步骤一, 隧道客户端启动后向代理设备申请建立隧道;
步骤二, 私网内终端初始工作时, 向隧道客户端发起注册消息, 隧道客户 端将其注册消息通过隧道传送给代理设备, 并记住私网内终端的号码和地址; 步骤三, 代理设备收到隧道客户端发来的注册消息后, 将其携带的地址转 换为代理设备自身的公网地址, 发送给控制设备, 并记住该号码终端所在隧道 客户端的隧道;
步骤四, 控制设备收到从代理设备转发来的注册消息, 记录该终端所在的 地址为代理设备的公网地址。
上述的方 私网内终端发起呼叫或被其他用户呼叫时的信令交互步骤具 体为:
步骤五, 私网内终端发起呼叫或被其他用户呼叫, 系统控制设备将发往私 网内终端的信令消息发给代理设备的公网地址,代理设备通过隧道将消息发给 隧道客户端, 隧道客户端再转给私网内终端; 私网内终端向外部发送信令消息 的流程与步骤二到四中注册消息的流程相同。
上述的方法, 步骤五中, 当其他用户终端需要与私网内的用户终端信令交 互时, 与代理设备的公网地址联系, 代理设备通过隧道将消息发给隧道客户 端, 隧道客户端再转给私网内终端。
本发明中, 信令包通过 TC设备与代理设备间的隧道穿越 NAT设备, 媒 体包不经过隧道直接穿越 NAT设备进行通讯, 分流了 TC设备处理媒体包的 繁重工作, 因此取得了性能上的进步, 利用了 NAT设备对媒体 RTP (实时协 议)包的处理性能, 减小了转发延时, 提高了服务质量, 达到了降低对 TC设
备性能和隧道性能严重依赖的效果, 节省了方案实施的成本, 提高了业务的稳 定性和服务质量。
另外, 由于 TC设备只处理信令消息, 因此在保证能及时处理各种信令消 息外, 同等条件下也提高了 TC设备能带的终端数, 提高了 TC设备的容量。 由于 NAT设备是专门处理数据包的设备, 处理数据包的性能强劲, 在转发媒 体包时, 不但延时小, 服务质量好, 同时也提升了相同系统设备下的业务容量。 附图说明
图 1是代理设备在网络中的常见位置示意图;
图 2是现有技术中隧道穿越 NAT的组网和数据流程图;
图 3是本发明的隧道穿越 NAT的组网和数据流程图;
图 4是本发明的实施例中 H.323类型的业务终端注册的流程示意图; 图 5是本发明的实施例中 H.323类型的业务终端呼叫的流程示意图。 具体实施方式
下面结合附图对本发明的详细实施进行说明。
图 3是本发明的隧道穿越 NAT的组网和数据流程图, 如图 3所示, 本发 明该实施例主要由以下几部分组成: 位于私网内的终端 10、 20、 TC (隧道客 户端)设备 30、 NAT设备 40、 位于公网内的代理设备 50、 位于公网内的终端 60、 系统控制设备 70 (网守 GK、 Softswitch, SIP服务器等), 其中:
私网终端 10、 20将 TC设备 30的地址设置为网守 GK的地址, 在私网终 端 10、 20看来, TC设备 30就是它的网守 GK;
TC设备 30在启动时, 即通过 NAT设备 40向代 设备 50建立通讯隧 该隧道用来承载私网终端 10、 20同代理设备 50之间的信令包的 NAT穿越; TC设备 30接收来自私网终端 10、 20的信令, 并通过隧道, 将其传送给 代理设备 50; 同时接收从隧道传来的代理设备 50的信令消息, 并根据信令消 息作相应的动作, 完成与私网终端间的注册和呼叫功能。
NAT设备 40完成正常的 NAT地址转换功能, 本发明对 NAT的类型没有 特殊要求; 因为 NAT设备 40转换 IP头部地: tib 性能高, 所以本发明利用 NAT 设备 40的此特性来直接承载大量频繁的媒体包的地址转换。
代理设备 50作为隧道的服务器端, 通过隧道向 TC设备 30发送信令消息 和接收来自 TC设备 30的信令消息。 代理设备同时完成终端的功能, 完成与 GK和终端 40的信令和媒体的地址转换。
在 GK看来, 代理设备 50就是私网内终端 10、 20, 因代理设备 50对私 网内的终端 10、 20进行了代理。
作为隧道的服务器端和代理设备可以是同一物理实体,也可以是分开的物 理实体; 隧道可以是 TCP隧道也可以是 UDP、 L2TP等类型的隧道; 代理设 备可以同时与多个 TC设备建立隧道; 本方案用于 H.323业务的 NAT穿越, 同时也适合于 MGCP、 H.248和 SIP等业务的 NAT穿越。
此处描述方法多用于 NAT穿越的公私网穿越, 也可用于不同网段之间的 地址转换。 穿越的设备可以是 NAT设备, 也可以是具备相关功能的防火墙。
结合图 3所示,本发明的多媒体业务隧道穿越 NAT的方法包括以下步骤 第一步, TC设备 30启动后向代理设备 50申请建立隧道;
第二步, 私网内终端 10或 20初始工作时, 向 TC设备 30发起注册消息, TC设备 30将其注册消息通过隧道传送给代理设备 50, 并记住该私网内终端 10或 20的号码和地址;
第三步, 代理设备 50收到 TC设备 30发来的注册消息后, 将其 IP和业 务协议中携带的地址转换为代理设备 50自身的公网地址, 发送给系统控制设 备 70 (网守 GK、 softswitch> SIP服务器等), 并记住该终端 10或 20所在的 TC设备 30的隧道;
第四步, 系统控制设备 70收到代理设备 50转发来的注册消息, 记录该终 端 10或 20所在的地址为代理设备 50的公网地址;
第五步, 该私网内终端 10或 20发起呼叫或被其他用户呼叫, 控制设备 40将发往该终端 10或 20的信令消息根据代理设备 50的公网地址发给代理设 备 50, 代理设备 50通过隧道将消息发给 TC设备 30, TC设备 30再转给该私 网内终端 10或 20; 若某些协议需要其他用户终端与私网内的用户终端信令交 互, 也与代理设备的公网地址联系, 代理设备通过隧道将消息发给 TC设备, TC设备再转给该私网内终端; 私网内终端向外部发送信令消息的流程与步骤 二到四中注册消息的流程雷同;
第六步, 经过信令交互后, 代理设备 50分配 IP1/PORT1和 IP2/PORT2,
IPl PORTl与公网终端 60进行媒体交互, IP2/PORT2与私网内终端 10或 20 经过 NAT设备 40进行媒体交互, 代理设备 50将从 IPl PORTl接收到的来自 公网终端 60的媒体包通过 IP2/PORT2发给私网终端 10或 20,将从 IP2/PORT2 接收来到来自私网终端 10或 20的媒体包通过 IPl/PORTl发给公网终端 60; 其中, 与 IP2/PORT2对应的私网终端的 IP/PORT是私网内终端的媒体包经过 NAT设备转换后的 NAT设备的公网 IP/PORT, 该 IP/PORT是代理设备从监听 到的第一个发向 IP2/PORT2的媒体包中获得的。
如图 4和图 5所示, 分别以 H.323协议类型的私网内终端注册和呼叫流程 为例, 对本实施例的具体流程进行详细描述。
图 4描述终端 10的注册流程, 结合图 3, 包括如下步骤:
步骤 41, 终端 10向 TC设备 30发送 GRQ (关守请求) 消息, TC设备 30通过与代理设备 50间的隧道, 将 GRQ消息转发给代理设备 50, 同时记住 终端 10的地址; 代理设备 50收到 GRQ消息后, 将消息中终端的私有地址转 换为代理设备 50的公网地址, 向网守 GK转发 GRQ消息, 同时记住终端 10 所在的隧道;
步骤 42, 网守向代理设备 50回应 GCF (关守确认) 消息, 代理设备 50 通过隧道将该消息转发给 TC设备 30 TC设备 30将该消息中的网守地址转换 为 TC设备 30的私网地址, 并向终端 10转发 GCF消息;
步骤 43 : 终端 10向 TC设备 30发送 RRQ (注册请求) 消息, TC设备 30通过与代理设备 50间的隧道, 将 RRQ消息转发给代理设备 50; 代理设备 50收到 RRQ消息后, 将消息中终端的私有地址转换为代理设备 50的公网地 址, 向网守转发 RRQ消息;
步骤 44, 网守向代理设备 50回应 RCF (注册确认) 消息, 代理设备 50 通过隧道将该消息转发给 TC设备 3a TC设备 30将该消息中的网守地址转换 为 TC设备 30的私网地址, 并向终端 10转发 RCF消息。
图 5描述终端 10呼叫终端 30的呼叫流程,结合图 3所示,包括如下步骤: 步骤 51,终端 10发起向终端 30的呼叫, 终端 10首先向 TC设备 30发送 ARQ (接入请求) 消息, 源地址为终端 10的私网地址, TC设备 30通过隧道 将其转发给代理设备 50, 代理设备 50收到 ARQ消息后, 把终端 10地址转换 为代理设备 50的公网地址, 向网守转发 ARQ消息;
步骤 52, 网守向代理设备 50回应 ACF (接入确认)消息, 其中包含终端 30地址, 代理设备 50通过隧道将该消息发给 TC设备 30, 同时记录终端 30 的公网地址; TC设备 30把终端 30的公网地址转换为 TC设备 30的私网地址 后向终端 10转发;
步骤 53, 终端 10和 TC设备 30建立连接, 向 TC设备 30发送 Setup (启 动)消息, TC设备 30通过隧道将其转发给代理设备 50,代理设备 50收到 Setup 消息后, 建立与终端 30的连接, 把源地址转换为代理设备 50的公网地址, 目 的地址转换为终端 30的公网地址, 向终端 30发送 Setup消息。
步骤 54, 终端 30回应 Call Proceeding (呼叫处理) 消息, 代理设备 50收 到后, 经过如歩骤 52所描述的相似转换, 将该消息发送给终端 10。
步骤 55, 终端 30收到呼叫后, 向网守发送 ARQ (接入请求) 消息; 步骤 56, 网守向终端 30发送 ACF (接入确认) 消息, 消息中终端 10的 目的地址为代理设备 50的公网地址;
步骤 57, 终端 30向代理设备 50发送 Alerting (告警)消息, 代理设备 50 收到经过如步骤 52所描述的相似转换, 将该告警消息发送给终端 10。
步骤 58, 终端 30向代理设备 50发送 Connect (连接)消息, 代理设备 50 在自己设备上分配 IP1/PORT1和 IP2/PORT2, IP1/PORT1用于与终端 30进行 媒体交互, IP2/PORT2用于与终端 10通过 NAT设备 40进行媒体交互, 代理 设备 50将 Connect消息中的 H.245地址转换为代理设备 50的 IP2/PORT2通过 隧道发送给 TC设备 30, 由 TC设备 30直接发送给终端 10;
步骤 59,终端 10与 TC设备 30之间进行 H.245的主从判定和能力协商, 代理设备 50与终端 30之间进行 H.245的主从判定和能力协商;
步骤 60, 终端 10和代理设备 50的 IP2/PORT2之间, 代理设备 50 的 IP1 PORT1和终端 30之间建立媒体通道。 其中, 与 IP2/PORT2对应的终端 10 的 IP/PORT是终端 10 的媒体包经过 NAT设备转换后的 NAT设备的公网 IP/PORT, 该 IP/PORT的获取是代理设备 50监听到的第一个发向 IP2/PORT2 的媒体包中获得的。
当然, 本发明还可有其他多种实施例, 在不背离本发明精神及其实质的情 况下, 熟悉本领域的技术人员当可根据本发明作出各种相应的改变和变形, 但 这些相应的改变和变形都应属于本发明所附的权利要求的保护范围。
工业应用性
本发明中, 信令包通过 TC设备与代理设备间的隧道穿越 NAT设备, 媒 体包不经过隧道直接穿越 NAT设备进行通讯, 避免了媒体包必须进行隧道层 封装和解封装的过程,使代理设备能够快速处理媒体包成为可能,大大的提高 了代理设备的终端代理容量和媒体包的处理性能; 同时, 也分流了 TC设备处 理媒体包的繁重工伤因此取得了性能上的进步,利用了 NAT设备对媒体 RTP (实时协议) 包的处理性能和代理设备对媒体包的快速处理, 减小了转发延 时, 提高了服务质量, 达到了降低对 TC设备性能和隧道性能严重依赖和提高 代理设备容量的效果, 节省了方案实施的成本, 提高了业务的容量、稳定性和 服务质量。
另外, 由于 TC设备只处理信令消息, 因此在保证能及时处理各种信令消 息外, 同等条件下也提高了 TC设备能带的终端数, 提高了 TC设备的容量。 由于 NAT设备是专门处理数据包的设备, 处理数据包的性能强劲, 在转发媒 体包时,不但延时小,服务质量好, 同时也提升了相同系统设备下的业务容量。
Claims
1、 一种多媒体业务隧道穿越 NAT的方法, 包括私网内终端的注册步骤、 私网内终端发起呼叫或被其他用户呼叫时的信令交互步骤、 媒体流交互步骤, 其特征在于, 所述媒体流交互步骤中, 私网内终端直接通过 NAT设备和代理 设备与公网内终端进行媒体流交互。
2、 根据权利要求 1所述的方法, 其特征在于, 所述媒体流交互步骤具体 执行以下动作:
信令交互后, 代理设备分配第一 IP/第一端口和第二 IP/第二端口, 第一 IP/ 第一端口与公网终端进行媒体交互, 第二 IP/第二端口与私网内终端经过 NAT 设备进行媒体交互, 代理设备将从第一 IP/第一端口接收到的来自公网终端的 媒体包通过第二 IP/第二端口发给私网终端, 将从第二 IP/第二端口接收来到来 自私网终端的媒体包通过第一 IP/第一端口发给公网终端。
3、 根据权利要求 2所述的方法, 其特征在于, 与第二 IP/第二端口对应的 私网终端的 IP/端口是私网内终端的媒体包经过 NAT设备转换后的 NAT设备 的公网 IP/端口。
4、 根据权利要求 3所述的方法, 其特征在于, NAT设备的公网 IP/端口 是代理设备从监听到的第一个发向第二 HV第二端口的媒体包中获得的。
5、 根据权利要求 1、 2、 3或 4所述的方法, 其特征在于, 所述私网内终 端的注册步骤和私网内终端发起呼叫或被其他用户呼叫时的信令交互步骤中, 私网内终端通过隧道客户端, NAT设备和代理设备与公网内终端和系统控制 设备进行信令流交互。
6、 根据权利要求 5所述的方法, 其特征在于, 所述私网内终端的注册步 骤具体包括以下步骤:
步骤一, 隧道客户端启动后向代理设备申请建立隧道;
步骤二, 私网内终端初始工作时, 向隧道客户端发起注册消息, 隧道客户 端将其注册消息通过隧道传送给代理设备, 并记住该私网内终端的号码和地 址; '
步骤三, 代理设备收到隧道客户端发来的注册消息后, 将其携带的地址转
换为代理设备自身的公网地址, 发送给控制设备, 并记住该号码终端所在隧道 客户端的隧道;
步骤四, 控制设备收到从代理设备转发来的注册消息, 记录该终端所在的 地址为代理设备的公网地址。
7、 根据权利要求 6所述的方法, 其特征在于, 私网内终端发起呼叫或被 其他用户呼叫时的信令交互步骤具体为:
步骤五, 私网内终端发起呼叫或被其他用户呼叫, 系统控制设备将发往私 网内终端的信令消息发给代瑪设备的公网地址,代理设备通过隧道将消息发给 隧道客户端, 隧道客户端再转给私网内终端; 私网内终端向外部发送信令消息 的流程与步骤二到四中注册消息的流程相同。
8、 根据权利要求 7所述的方法, 其特征在于, 步骤五中, 当其他用户终 端需要与私网内的用户终端信令交互时, 与代理设备的公网地址联系, 代理设 备通过隧道将消息发给隧道客户端, 隧道客户端再转给私网内终端。
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN200510086162.2 | 2005-07-24 | ||
| CN200510086162.2A CN1901539A (zh) | 2005-07-24 | 2005-07-24 | 一种多媒体业务隧道穿越nat的方法 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2007012233A1 true WO2007012233A1 (en) | 2007-02-01 |
Family
ID=37657278
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/CN2005/002095 Ceased WO2007012233A1 (en) | 2005-07-24 | 2005-12-06 | A method for multi-media services travel through nat |
Country Status (2)
| Country | Link |
|---|---|
| CN (1) | CN1901539A (zh) |
| WO (1) | WO2007012233A1 (zh) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN113612964A (zh) * | 2021-07-29 | 2021-11-05 | 深圳市捷视飞通科技股份有限公司 | 互动教学的处理方法、装置、计算机设备和存储介质 |
Families Citing this family (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN101119374B (zh) * | 2007-09-10 | 2011-05-11 | 杭州华三通信技术有限公司 | 基于互联网的小型计算机系统接口通信方法以及相应的发起设备和目标设备 |
| CN101753634B (zh) * | 2008-12-19 | 2013-01-30 | 华为技术有限公司 | 一种私网穿越的方法,系统和装置 |
| CN102845123B (zh) * | 2011-04-19 | 2015-07-08 | 华为技术有限公司 | 虚拟私云的连接方法及隧道代理服务器 |
| CN102546644B (zh) * | 2012-01-17 | 2015-03-25 | 华为技术有限公司 | 实现sip呼叫的方法、设备和系统 |
| CN105577850B (zh) * | 2015-12-25 | 2019-02-19 | 协同通信技术有限公司 | 一种实现voip业务穿越的方法、装置和系统 |
Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN1466344A (zh) * | 2002-06-21 | 2004-01-07 | 南京北极星软件有限公司 | VoIP应用穿越防火墙的方法 |
| US20050128979A1 (en) * | 2003-12-15 | 2005-06-16 | Industrial Technology Research Institute | System and method for supporting inter-NAT-domain handoff in a VPN by associating L2TP and mobile IP |
-
2005
- 2005-07-24 CN CN200510086162.2A patent/CN1901539A/zh active Pending
- 2005-12-06 WO PCT/CN2005/002095 patent/WO2007012233A1/zh not_active Ceased
Patent Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN1466344A (zh) * | 2002-06-21 | 2004-01-07 | 南京北极星软件有限公司 | VoIP应用穿越防火墙的方法 |
| US20050128979A1 (en) * | 2003-12-15 | 2005-06-16 | Industrial Technology Research Institute | System and method for supporting inter-NAT-domain handoff in a VPN by associating L2TP and mobile IP |
Non-Patent Citations (2)
| Title |
|---|
| DU JIYOU ET AL.: "Research for SIP communication passing through firewall", NAT. CHINA DATA COMMUNICATIONS, vol. 2, 2004, pages 71 - 74 * |
| QUAN HAIBIN & WANGJING: "A solution of ZTE COMMUNICATION for soft terminals pass through the private network", TELECOM SCIENCE, vol. 9, 2004, pages 78 - 79 * |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN113612964A (zh) * | 2021-07-29 | 2021-11-05 | 深圳市捷视飞通科技股份有限公司 | 互动教学的处理方法、装置、计算机设备和存储介质 |
Also Published As
| Publication number | Publication date |
|---|---|
| CN1901539A (zh) | 2007-01-24 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US7720976B2 (en) | Peer-to-peer communication between different types of internet hosts | |
| US20050066038A1 (en) | Session control system, communication terminal and servers | |
| CN106850399B (zh) | 一种基于WebRTC技术即时消息的通信方法 | |
| US20040034793A1 (en) | Method for providing media communication across firewalls | |
| US8767590B2 (en) | Multimedia conference system and method which enables communication between private network and internet | |
| CN1523848A (zh) | 具有nat的网络中的sip服务方法 | |
| CN101656715B (zh) | 一种媒体旁路的方法、系统和装置 | |
| US7948890B2 (en) | System and method for providing a communication channel | |
| CN101848235A (zh) | 一种支持nat穿越的实时多媒体数据p2p传输方案 | |
| US20100020792A1 (en) | Media Proxy Able to Detect Blocking | |
| WO2012034309A1 (zh) | Nat网络中sip终端间文件传输的方法、终端及系统 | |
| WO2007036160A1 (en) | An apparatus, system and method for realizing communication between the client and the server | |
| CN102780675B (zh) | 流媒体业务的传输方法、装置和系统 | |
| WO2015096302A1 (zh) | 基于sip媒体能力重协商的nat穿越方法、代理服务器和系统 | |
| WO2012000364A1 (zh) | 实现会议电视系统跨网段信令互通的方法及系统 | |
| CN1716941A (zh) | 用于建立双向对等通信链路的方法和呼叫服务器 | |
| WO2007012233A1 (en) | A method for multi-media services travel through nat | |
| WO2008046311A1 (fr) | Procédé, système et entité de réseau pour la négociation de la version du protocole de description de session et l'obtention d'informations liées à ladite version | |
| WO2008003214A1 (en) | Method, device and system for media flow traversing nat | |
| CN100583814C (zh) | 一种实现多媒体业务nat穿越的方法 | |
| WO2013117154A1 (zh) | 穿越监控网络中隔离设备的方法和设备 | |
| CN100502386C (zh) | 多媒体系统静态地址转换方法 | |
| CN100505755C (zh) | Ip多媒体子系统终端用户面的不同协议间互通的方法 | |
| CN113162952B (zh) | 一种基于移动边缘节点的物联网终端设备组网和通信方法 | |
| CN116233091A (zh) | 视频监控系统基于sip协议的分布式流媒体跨网段访问方法 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| 121 | Ep: the epo has been informed by wipo that ep was designated in this application | ||
| NENP | Non-entry into the national phase |
Ref country code: DE |
|
| WWW | Wipo information: withdrawn in national office |
Country of ref document: DE |
|
| 122 | Ep: pct application non-entry in european phase |
Ref document number: 05817778 Country of ref document: EP Kind code of ref document: A1 |