PBXSync is designed to handle a mix of internal and external hosts. When you setup your pbxsync.conf file, you will notice that the rsync and MySQL IP address entries allow for up to 3 IP addresses. These three addresses represent:
Public IP – this is the IP address that PBXSync will publish to other PBXSync hosts not on your local subnet.
Private IP – this is the IP address that PBXSync will publish to other PBXSync hosts on your local subnet.
Local IP – this is the IP address that PBXSync uses when connecting to itself.
So for the Public IP use the IP address of your firewall, and for your Private IP use the internal (non-routable) IP address of an internal host. The local IP should probably be set to ‘localhostipv4’. Also be sure to set the localsubnets setting to match your internal network(s).
Next, on your firewall setup porting mapping from the public IP address to the internal private IP addresses & port. After that the external host will be able to reach the internal host as well.