I have a manual install of FreePBX set up on a digitalocean CentOS 6.5 x64 vps droplet. I need to set up a bunch of remote extensions. All of the remote extensions are behind a firewall and are using NAT. All of my softphone extensions are working fine since I changed NAT to Yes in the extension settings. My hardphones are able to make outgoing calls just fine but cannot receive calls. I have a Snom 821 and a Snom 370. Right after hardphones register, they ring and can receive calls, but that only lasts for a few minutes and then they stop being able to receive calls. This is true for both internal and external calls.
I used this guide as a basis for my install: http://wiki.freepbx.org/display/HTGS/Installing+FreePBX+2.11+on+Centos+6.3
I followed that pretty closely. I also have Fail2ban active to protect it.
Any guidance you could provide would be great. I used to be running the FreePBX distro on a server inside my network, but our ISP is somewhat unreliable and I want to have my freepbx in the cloud so when our internet goes down people can still leave voicemails for us, etc instead of getting disconnected messages.