Phones / extensions can register with a PBX on a local network because they can see each other it becomes limited if you have follow me or would like to use the phone outside of your network.
Asterisk / FreePBX allows users to register their extension outside of the network but there are few things Asterisk needs to know such as the external IP address and users can be restricted to who can and cannot connect externally from the network.
Please note that I have tried these steps using the dynamic IP address and have not tried it with the static IP but I will list the steps any ways.
Edit the file
/etc/asterisk/sip_nat.conf with super user rights or as the asterisk user:
sudo vi /etc/asterisk/sip_nat.conf
Either change or add the following for a dynamic IP setup:
Change the externhost to your DNS address e.g danny.no-ip.com. The localnet should be changed to the appropriate IP system in use. In my case the subnet is correct and the IP ranges from 192.168.1.1-192.168.1.254
For Static IP make sure the sip_nat.conf file says the following:
By default the following ports needs to be open and port forwarded to the FreePBX box:
Navigate to the FreePBX Administration page and then click on the extensions link on the left hand side. There should be a list of extensions of the right hand side of the page if there are some set up.
Select the extension to be allowed remote registration and ensure the following options are set:
It is a good idea to have the extension have a password for registration otherwise the extension can register and make calls freely.