This is just a home use for personal or proof of concept setup only. I have a freepbx hosted over the internet with public IP address. My softphones can connect without a problem. I wanted to configure a small SIP gateway, so that I can call PSTN using my phone line at home. Unfortunately, my ISP gave me a private IP address. My small gateway has internet connection and can connect to the freepbx but it is because my ISP NATted my address. I have no control of the NATting, obviously. Is there is any solution to this problem, if so kindly provide link.
If you are willing to try something non SIP then you might consider an IAX2 trunk. IAX2 performs well through NAT and other issues. Here’s a wiki entry with some information on how to get two FreePBX systems connected:
IAX2 isn’t really something a lot of commercial providers support, largely because commercial providers aren’t running Asterisk for their services. On the other hand, if you are setting up a cluster of Asterisk servers for your own use, connecting them together via IAX makes sense because of the firewall simplifications.