Installing 3CX Phone System as a Virtual PBX Server
On this topic
3CX Phone System 14 can be deployed as on premise server, in the cloud, or as a virtual PBX server for up to 25 virtual PBXs. To run 3CX Phone System as a Virtual PBX Server, the following Software and Hardware specifications are required:
- Windows Server 2012 “R2” 64-Bit. (IMPORTANT: Server core editions are NOT supported)
- Microsoft .NET Framework 4.5.
- Internet Information Services.
- VMware ESX or Hyper V cluster environments No other service whatsoever must installed on this machine! This machine must be dedicated to 3CX Phone System.
- Each Virtual Instance is recommended not to exceed more than 4/8 simultaneous calls.
Minimum Hardware requirements for 25 Instances
- Intel Xeon CPU – E5505 2.00 GHz (6 - 8 processors cores) or higher.
- Memory: 25GB or higher.
- Hard disk size: 80GB+ depending on Vbox and Recording Quota
- Hard disc throughput: 80MB/s or higher, low latency
- Network card: 1Gbit / 10Gbit
VMware ESX and Hyper V configuration
3CX Phone System has been optimised for running within VM environments. In the case of VMware ESX, you do not need to make any changes. VMware ESX works out of the box with 3CX. If running Microsoft Hyper-V, it is important to configure the following:
- A Static MAC Address
- A Reliable and accurate time source
- Integrated Services must be installed
See our Microsoft Hyper-V Configuration Guide for detailed information.
Note: We recommend that you take regular backups of your VMs in order to facilitate a recovery if your server was to fail and get things running again quickly.
Network Setup and Firewall Configuration
3CX Phone System allows for two network topology deployment options:
- No NAT - no NAT is performed from public to a private network
- NAT - a firewall / router is between the internet and the PBX which performs network address translation.
Both having their own set of benefits and drawbacks. Full Public means that the server is directly connected to the internet without a firewall in between. This of course eliminates the firewall configuration. For one machine, this is a good solution, but as soon as you scale to multiple servers it might be better to have a firewall device in between the internet and your 3CX Phone System servers.
No NAT Firewall Configuration
In case of “No NAT” it is sufficient to use the built In “Windows Firewall” to secure the machine. You do not need to do anything as the 3CX Phone System Installation will open all the required ports automatically during the installation.
NAT Mode Firewall Configuration
If 3CX Phone System is installed behind a NAT device, ports need to be forwarded. A sample configuration for the PfSense firewall can be found here. This example is based on the pfSense firewall, but you may use any other 3CX documented and tested firewall.
Ports that need to be forwarded
If you are installing behind a NAT / Firewall / Router you will need to open the following ports:
Common Ports to all Instances
- 3CX Management Console (HTTP & HTTPS) & Presence - 80 & 443 TCP
- Media Server Range - 54,000 – 65,000 UDP Only
For Each Virtual PBX Instance
Each instance uses 3 ports dedicated to their deployment slot.
Instance 1 - Will dynamically use ports in the range 5000 to 5999. You need to forward:
- Phone System SIP Port - 5060 TCP & UDP
- Phone System Secure SIP Port - 5061 TCP
- 3CX Tunnel Service - 5090 TCP and UDP
Instance 2 - Will dynamically use ports in the range 6000 to 6999. You need to forward:
- Phone System SIP Port - 6060 TCP & UDP
- Phone System Secure SIP Port - 6061 TCP
- 3CX Tunnel Service - 6090 TCP and UDP
Additional Tenants - Follow the exact same pattern in the following ranges:
- Instance 3 - 7000
- Instance 4 - 8000
- Instance 5 - 9000
- Instance 6 - 10000
- Instance n - +1000
Installing 3CX Phone System as a Virtual PBX Server
- Download 3CX Phone System V14 and run the setup file.
- 3CX Phone System 14 Requirements will be displayed, please make sure that you read them and that your system configuration complies. Select “Next” to continue.
- The Recommendation window will be displayed, click “Next”.
- Read the End User Licence Agreement , accept the terms and continue the setup by clicking “Next”
- Choose the install folder, either accept the default or choose your own and click “Next”.
- You will be prompted to choose your Installation Mode, choose “Virtual PBX Installation (Multiple Instance)” and click “Next”.
- Is your server behind a Public IP without NAT or Public IP behind a NAT device. Make you choice and click “Next”.
- You will now need to enter your Static Public IP Address, type it in and click “Next”. Furthermore check that the installation has detected your correct default network card.
- Enter your server administrator email address to receive notifications. Click “Next”.
- Specify the domain name that will be used for all your 3CX instances.
- Fill in the details of your SMTP server, that will be used to send out email notification for all your Virtual PBX Instances. Click “Next”.
- In order for all your virtual instances to be SSL Secured, you need to purchase a wildcard SSL certificate so you can import it. A wildcard certificate is required because each instance will have it’s own unique company name but the domain part would be common for all instances. For example: *.domain.com
If you do not have a wildcard certificate, 3CX can generate a self-signed certificate for you. Click “Next”.
- If you have selected to have 3CX create an SSL certificate, enter your Company Name and specify a password. 3CX will automatically generate a self signed certificate for you.
- Warning - Self signed certificates are not signed by a trusted certificate authority. Therefore browsers will show a security warning when the web page is accessed. For testing purposes this will suffice but it is not recommended for production use. Click “Next” to continue.
- Finally click “Install” to install 3CX Phone System Virtual PBX Server. The installation will take approximately 1 hour and will prepare the server to serve 25 instances.
Virtual PBX Web URLs
The URLs for accessing the Management Console for the respective Virtual PBX Instances are generated automatically in the following format: https://companyname.domain.com.
For example, if you name one of your instances after a company with the name: “contoso”, and your domain name, as the host is: “interobit.com”, then the instance URL to access the Management Console of “contoso” will be: “https://contoso.interobit.com/management”.
Updating 3CX Phone System Virtual PBX Instances via Service Pack Updates
With the “3CX Virtual PBX Manager” you can check for available updates and update ALL installations.
Open 3CX Virtual PBX Manager from the desktop and click the “Check for updates” button. If any updates are available they will be displayed. If there is an update, simply click the “Update” button to update your installation with the latest Service Pack.
Thats all there is to installing your server, you can now proceed to the Creating and Managing Virtual PBX Instances documentation.
If you need to uninstall your 3CX Phone System it is recommended you take a backup of all your Instances using the procedure outlined in the “Backup Using the 3CX Backup and Restore Tool” section of the 3CX Phone System Virtual Instances Backup and Restore document.
To Uninstall simply open your server's Control Panel and within Programs and Features, highlight 3CX Phone System and Click “Uninstall”.
Migrate Cloud Server v12 to the Virtual PBX Server v14
Follow the Migrate Cloud Server v12 to the Virtual PBX Server v14 guide to successfully move 3CX Phone System v12 Cloud Server tenants to v14 Virtual PBX Server, without changing the respective SIP Ports that are already assigned to the existing v12 cloud tenants to simplify the transition.