MGCP Proxy Server NAT Traversal via Message Translation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing Internet telephony systems face challenges in establishing real-time media communication channels due to network address translation (NAT) firewalls, which prevent UDP/IP frame transmission and require modifications to call agent systems and globally addressable IP addresses, making them impractical for widespread use.
Innovation Solution
A media gateway control protocol (MGCP) proxy server is introduced to interface multiple MGCP gateways and call agents, using public and private network interfaces with translation modules to manage message translation and keep-alive messages, enabling communication independent of NAT servers and allowing private network IP addresses.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If NAT firewalls are used to protect private networks, then network security is improved, but UDP/IP frame transmission from external endpoints to internal endpoints is blocked
Solution Approach 1:
The patent introduces a relay server as an intermediary component that receives UDP/IP frames from external endpoints and forwards them to internal endpoints behind NAT firewalls. The relay server acts as a mediator that bypasses the firewall blocking mechanism by establishing separate communication channels: external endpoints communicate with the relay server, which then communicates with the internal endpoints through the firewall in a controlled manner.
2Productivity
If relay servers are used to enable UDP/IP channel establishment through NAT firewalls, then media session communication is improved, but call signaling message transmission is lost
Solution Approach 1:
The patent segments the communication protocol into two distinct parts: MGCP signaling messages for call control and RTP packets for media transmission. The signaling messages are transmitted through the MGCP gateway which maintains a persistent TCP connection through the NAT firewall, while media packets are routed through the relay server. This segmentation allows each protocol to use the most appropriate transmission path.
Solution Approach 2:
The MGCP gateway is designed with multi-functionality, serving both as a signaling endpoint that receives MGCP messages through the NAT firewall and as a media endpoint that receives RTP packets from the relay server. This universal design allows a single component to handle both call control and media transmission functions.
3Adaptability or versatility
If modifications are made to call agent systems to support NAT firewall communication, then communication capability is improved, but system complexity and implementation difficulty increase
Solution Approach 1:
The patent extracts the NAT firewall traversal functionality from the call agent system and implements it in separate dedicated components: the MGCP gateway handles signaling through the firewall, and the relay server handles media transmission. This extraction removes the complexity of NAT traversal logic from the call agent, allowing it to remain a simple, standardized system while achieving the desired communication capability through specialized intermediary components.
Data Source
AI summary
A media gateway control protocol (MGCP) proxy server interfaces between a plurality of MGCP gateways and at least one MGCP call agent which may be coupled to a private network and served by a network address translation firewall. The proxy server comprises a private network interface for communicating over a private network with the call agent and a public network interface for communicating over the Internet. A translation module provides for receiving an MGCP message generated by a gateway and addressed to the public network interface. The MGCP message includes a message transaction ID assigned by the gateway and an endpoint ID identifying the gateway. The endpoint ID comprises a local endpoint name and a domain. The translation module translating the MGCP message to create a translated message by: i) substituting a unique transaction ID in place of the message transaction ID; and ii) substituting a private IP address assigned to a private network interface in place of the domain of the endpoint ID of the MGCP message. The translation module: i) provides the translated message to the private network interface for sending to the call agent; ii) writes each of the unique transaction ID and the message transaction ID to a record of a gateway request map; and iii) writes the public socket on which the message was received from the gateway to a record associated with the MGCP gateway in a registration map and updates an indication of a predetermined time window during which the public socket is valid to a time period following receipt of the MGCP message.


