One of the great features of an IP PBX is the ability to easily connect remote phones to your 3CX IP PBX using existing networking infrastructure. In fact, I find that a very common reason for organizations replacing their existing phone infrastructure is being able to connect remote phones or branch offices with several phones.
There are several ways to connect remote phones to your 3CX IP PBX, such as establishing a hardware Virtual Private Network (VPN) between your remote phone and 3CX server site, establishing a VPN between a VPN-capable phone and your 3CX server site, and port forwarding your VoIP traffic through your firewall.
I have been able to achieve the most consistent and headache-free results by using the VPN methods to connect remote phones. Using a VPN avoids many issues that can result from attempting to traverse NATs and firewalls that are hard to get, to handle SIP packets correctly, broadband modems that double NAT networks and ISP's that block VoIP traffic...