The 3CX Phone System has built in support for remote offices and extensions. For multiple users is has a f.eature called Session Border Control
What is a Session Border Controller?
A Session Border Controller is a software based appliance which directs phone signalling through a tunnel and keeps the media streams local which reduces the amount of internet bandwidth that local calls between phones use. SBC will bundle all SIP traffic over a single TCP port which simplifies your deployment by reducing firewall configuration. In addition SBC will add stability & security and allow you to easily manage and provision your IP Phones remotely.
A SBC is deployed to remote offices where there are more than 2 or 3 IP Phones. If you have up to 5 users in your remote office you can use SBC for Raspberry Pi. For more than 5 users, then it is recommended to use SBC for Windows.
When purchasing a Raspberry Pi, make sure to purchase the Raspberry Pi 2 Model B which is more performant than it’s predecessor (V1) and select the “kit” option which includes a supported SD Card because not all SD cards are compatible.
SBC for Windows should be installed on a dedicated Windows machine which is not used by users.