FreeSWITCH on the client side
We have covered some of the common cases where your phone is behind NAT talking to FreeSWITCH who isn't. Now we can move on to cases where your local copy of FreeSWITCH is behind NAT and talking to a SIP provider or another FreeSWITCH server on the public Internet. Luckily, we have also dressed up the example configuration to have the best chance to work under these NAT circumstances.
I recommend you try the unaltered example configuration on a test instance of FreeSWITCH every so often just to see if there are any more new default behaviors you may be missing out on. FreeSWITCH supports two client-side NAT-busting protocols by default called NAT-PMP and UPnP. Both of these protocols use slightly different methods but the basic gist is the same.
Both methods use a network protocol to discover your NAT router and communicate with it, so rather than making the NAT mappings on-the-fly, it asks the router to open a port and actually learns the details of the port...