A common question I come across during 3CX planning pre-implementation, is how to set up remote extensions with the phone system. 3CX features a few ways to achieve this which I generally cover off during 3CX intermediate and advanced technical training. This is extremely topical with the BETA release of 3CX v16 update 2 – as it adds extra functionality around this. You can also learn to provision phones remotely.

There are basically 3 options when it comes to remote phone setups in 3CX. Most remote locations will already have a VPN in place for remote workers. Provided it is a transparent VPN, a 3CX system will be able to receive a plugged-in phone’s multicast broadcast, provided 3CX is using port 5060. This can make deployment extremely simple as the remote phones will appear local to the PBX. Thus, it can be set to an extension simply with the standard plug and play (PnP) provisioning method used if phones were plugged into the same network as the PBX system.

3CX also supports provisioning via STUN (Session Traversal Utilities over NAT). Provisioning via STUN requires a couple of things, mostly at the firewall level. Now, we know that firewall setup is critical for any IP PBX system but remote phones need to accommodate for traffic on the firewall as well. First of all, SIP ALG needs to be completely disabled. A lot of lower level consumer routers that one expects at a smaller, remote location can be extremely fiddly with this. So, it needs to be tested to ensure your end user will have a good experience. You want to avoid calls cutting off or 1 way audio. The remote location also needs the firewall to have inbound ports opened for the voice traffic (RTP streams) which can be defined when provisioning the phone. STUN is a great method for remote phone setups. It allows phones to be drop shipped to a remote location and self-provisioning – provided the phone vendor is supported with 3CX RPS. Talk about simple!




The third method is perhaps my favourite (In lieu of having a VPN) and is exciting given v16 update 2 BETA. 3CX offers a free Session Border Controller (SBC) that can be deployed at remote sites by installing it on Windows, Linux or even a Raspberry Pi! For those puzzled as to which platform to choose, the Pi’s design limits it from having a larger set of extensions behind it and less BLF keys supported. For smaller sites it’s fantastic, but may need a Windows or Linux install for larger amount of extensions. An SBC works by passing the traffic it sees for multicast to the main PBX system for remote setup or drop shipping, and after setup will relay phone voice traffic to the 3CX server. This is great because it only uses a single port – 5090 (rather than a range like with STUN). This simplifies a few things as we don’t need to define multiple port ranges, and only requires a single port to be pin holed on remote firewalls. It also allows you to encrypt and encapsulate voice traffic for additional security.

Now why is this more exciting in update 2? 3CX are introducing new remote management capabilities for SBCs. This accommodates remote access to logging (no more driving to your customer’s site or an RDP session), the ability to remotely update a SBC, simplified setup (just FQDN and password) and SBC monitoring (status updates, email notifications and connection stats). This simplifies SBC deployment greatly and gives 3CX partners an easier way of managing and troubleshooting any potential issues, as well as easy phone setup for new remote locations.

For more information on the new functionality in the BETA check out the 3CX blog post. Note, it’s BETA for the moment so no installing on production systems please! How do you set up remote locations with 3CX? Shoot us a tweet and let us know!