Home / Guides / Self-hosting behind CGNAT
Voice and video calls behind CGNAT: what works and what breaks
Most calling apps work behind CGNAT, because your side connects out to the calling service first. What breaks is anything that waits for a call to come in directly: a phone system you host at home, and direct device-to-device calls with no service in the middle.
Why CGNAT gets in the way
A call needs audio and video flowing both ways. Calling apps usually test several possible paths between the two callers and prefer a direct one, because a direct path cuts delay and packet loss (RFC 8445, section 1). When no direct path works through the NATs, they fall back to a relay server on the internet that passes the media between both sides (RFC 8656, section 1). Behind CGNAT, a direct path is harder to find, so more calls take the relayed route.
Calls that depend on an incoming connection fail, because behind CGNAT incoming connections stop at the ISP's NAT unless the ISP opens a port for you (RFC 6269, section 5.2.1). In an operator test of CGNAT, direct device-to-device internet phone (SIP) calls between two homes on the same ISP could neither be made nor received. Calls through a registration server did work, as long as the phone inside the CGNAT connected out first and only one such phone was active behind the shared address (RFC 7021, section 3.1).
What works and what doesn't
- Calls through a calling app or service: usually work, because your side connects out first. Some calls go through a relay instead of directly.
- Internet phones that register with a provider's server: worked in the operator test, as long as the phone connects out first.
- A phone system or call server hosted at home, receiving calls from outside over IPv4: blocked, unless your ISP gives you a public IPv4.
- Direct device-to-device calls with no service in the middle: often fail behind CGNAT.
- Over IPv6: calls can connect directly if both sides have IPv6 and the app supports it.
Check whether you're behind CGNAT
Compare your router's WAN address with your public IP using the CGNAT checker or the step-by-step guide. A WAN address between 100.64.0.0 and 100.127.255.255 is the CGNAT range (100.64.0.0/10 explained). If the two addresses match, CGNAT isn't your problem; check the port forward and any inbound port blocks your ISP lists.
What to ask your ISP
- "Can you move my line off CGNAT and give me my own public IPv4?" Some ISPs do this for free on request; others only with a paid static IP.
- "Do you sell a static IP on residential plans, and what does it cost?" Some ISPs only sell it on business plans.
- "Is IPv6 available on my line, and is it turned on?" IPv6 doesn't go through the CGNAT, but the other side needs IPv6 too.
- "What upload speed does my plan really have?" Video calls send your camera feed over your upload. If an app reports a strict or moderate NAT type, see what NAT type means.
Which ISPs make this easier
Of the 41 ISPs we track, 12 give home customers a public IPv4 by default, 3 offer a free CGNAT opt-out and 8 sell a static IP on home plans, per our sources. See ISPs without CGNAT, ISPs that use CGNAT, or filter the ISPs without CGNAT that offer IPv6 in your state. Each ISP page also quotes what the terms say about running servers at home.
FAQ
Do video calls work behind CGNAT?
Usually, yes. Calling apps connect out to their service first, and when they can't find a direct path between callers they fall back to a relay server. Calls may take a longer route, but they normally connect.
What breaks for calls behind CGNAT?
Anything that has to receive a call directly from the internet: a phone system or call server hosted at home, and direct device-to-device calls with no service in the middle. An operator test found direct internet phone calls between two homes behind CGNAT on the same ISP couldn't be made or received.
Can I host my own phone system at home behind CGNAT?
Not for incoming calls over IPv4, because incoming connections stop at the ISP's NAT. Ask your ISP for a public IPv4 or a static IP, or use IPv6 where your calling provider supports it.
What should I ask my ISP?
Ask whether it can move your line off CGNAT to a public IPv4, whether it sells a static IP on home plans, and whether IPv6 is available and turned on. Check your upload speed too, since video calls use it.
Related
- Self-hosting behind CGNAT (all use cases)
- What is CGNAT?
- How to get a public IP on your ISP
- Why you keep getting CAPTCHAs or blocked
This site sticks to ISP facts. It doesn't review or recommend third-party products or services.