This article was created by MediaWiki user "Politick" on 25 February, 2011
FreeSwitch, Networking, and NAT
I have elected to resolve the problem with SipXecs It includes CentOS + FreeSwitch + NAT traversal plugins. It might not please everyone, as this solution creates a dedicated PBX computer, i.e. it's NOT designed to run on YOUR linux installation.
Also note that I was not able to get SipXecs to work with the 3CX client outside the LAN either, but the X-Lite client from CounterPath does work.
So if you want to stick with a standalone FreeSWITCH install, I suggest to try using the X-Lite softphone. I hate the interface, but it gets across the NATs.
References internal to this site:
Use Case 1
The Quest for Knowledge
I figured that if I could understand the networking behind VoIP, I could figure out a way to make it work. I don't even know if FreeSwitch acts or does not act as a proxy for the 'Voice stream' when the connection is from internal to external. This could simplify my port forwarding and allow connections to multiple softphones behind my NAT. One thing I just thought about, I don't know if my brother has UPnP enabled on his router, mine is enabled. But I have no idea if the 3CX phones take advantage of UPnP.
This is what is happening at the console (but from a different location and the external extension was 1000 this time):
I know I could create a simple solution by providing VPN access to my network, but I wanted to provide VoIP to my close family without granting them full access to my network. But also I've also heard that VoIP can crap out on VPN, but I've not tried or experienced it.
This is the description of my network infrastructure, probably similar to many of you: