Tech

SIP Gateway behind NAT

Published on:

October 4, 2013

Network Address Translation (NAT) was a workaround for the limited IPv4 addresses, and SIP was designed to be NAT-unfriendly to encourage IPv6 adoption. As IPv6 remains far from mainstream, however, NAT is still a challenge. The Vodia PBX addresses this with a "mini-session border controller" that detects non-routable IPs and ignores SIP routing information. This solution works well with endpoints, but it faces issues with gateways behind NAT. The upcoming version, 5.1.3, introduces a trunk flag to prevent the PBX from updating the SIP route, allowing for better communication. This also simplifies gateway registration, offering a more stable NAT workaround until IPv6 becomes common.

Network Address Translation (NAT) was a hack becasue most of us just get one IPv4 IP address from our provider. SIP was purposely defined NAT-unfriendly to promote the use of IPv6 networks. While we have been waiting for IPv6 to become mainstream for more than a decade now, we have to deal with this reality.

For the SIP phones the Vodia PBX has a logic we call a “mini-session border controller”. It detects when a device runs on a network address that's not routable and then ignores the SIP routing information in it. While this makes our life easier with endpoints, we recently found out life isn't so simple with gateways if they are behind NAT. Here is the setup:

A PSTN gateway runs on a private IP address. On the firewall, the SIP port was forwarded to the private IP address of the gateway so the PBX can send SIP INVITE to the gateway. On the gateway, the outbound proxy is set to the PBX, which runs on a public IP (e.g., on a hosted PBX like the one on our http://hostedi.am).

The problem is this: when the PBX sends an INVITE to the gateway, the gateway responds with its private IP address in the routing headers. In SIP, the UAC (the PBX) is supposed to update the routing information, and there the communication breaks. The PBX can't send the ACK request to the gateway, and the call setup eventually times out.The solution we will introduce in version 5.1.3 is another trunk flag. It will have the name “Don't accept SIP routing changes in dialog” and it does what it's name says: when the PBX receives a response, it sticks to the original destination and doesn't update the route. Because the PBX advertises an address for the media that's routable for the gateway, it will start receiving media from the gateway, and that’s where it sends the media back. Fortunately, most gateways did not follow the IETF proposal to use different ports for sending and receiving, so this also works when the gateway is behind NAT.

This new setting has the potential to render the dial plan feature to send calls to a registered extension obsolete. Instead of registering the gateway to the PBX, the firewall just needs to forward the requests to UDP port 5060 to the gateway. Of course, other ports than 5060 can be easily used. If the public IP address of the local network keeps changing, services like dyndns can help directing the PBX to the right location.

Another workaround for NAT. I can’t wait until IPv6 becomes widely available.

Latest Articles

View All

Transforming Customer Service: Vodia PBX Integrates Seamlessly with Freshdesk

Vodia PBX now integrates seamlessly with Freshdesk, an AI-powered customer service platform used by over 73,000 companies worldwide. This integration combines intelligent ticketing and automation with enterprise-grade telephony, enabling automatic contact creation, detailed call tracking, and streamlined agent workflows. By improving call center efficiency and customer interaction management, it helps businesses enhance productivity and customer satisfaction. Vodia continues to strengthen its ecosystem with integrations to leading business software, delivering top-tier cloud PBX solutions.

July 29, 2025

Prepaid Cloud Instances: The Future of PBX Deployment

Prepaid cloud instances are transforming how PBX systems are deployed by offering a faster, simpler, and more flexible approach. With Vodia PBX now available on AWS, Azure, and DigitalOcean, businesses can launch a fully licensed, production-ready phone system in just minutes, without complicated setup or licensing delays. These preconfigured environments allow IT teams, decision-makers, and MSPs to test real-world VoIP performance, MS Teams integration, and mobile apps directly within their own cloud account. By removing traditional friction and offering full control, Vodia’s prepaid cloud instances provide a smarter and more efficient way to evaluate and deploy a modern PBX.

July 25, 2025

Vodia to Attend ChannelCon 2025

Vodia will participate in ChannelCon 2025, taking place in Nashville, TN, from July 29 to 31, with Sales Engineer Eric Altman attending on behalf of the company. ChannelCon, hosted by the Global Technology Industry Alliance (GTIA), is the premier vendor-neutral event dedicated to the worldwide IT channel. It brings together MSPs, service providers, vendors, and distributors for three days of expert panels, networking sessions, and special events designed to foster innovation and collaboration in the tech industry. Altman will highlight Vodia’s latest CRM integrations underscoring Vodia’s commitment to equipping partners with dynamic, enterprise-grade phone systems.

July 24, 2025