3CX Failover
Take the PBX Express
Your PBX, Your Cloud, ready in minutes
Zero Admin
With the new Dashboard
Bulletproof Security
With SSL certs and NGINX
Install on $200 Appliance
Intel MiniPC architecture
New, Intuitive Windows Client
More themes, more UC
More CRM Integrations
Scripting Interface to add your own
Improved Integrated Web Conferencing
iOS and Android apps included
Run On-Premise or in the Cloud
Google, OVH, Windows & Linux


Configuring Failover with 3CX

The Failover feature in 3CX allows you to create a replica of your PBX. In the event that your PBX fails, your replica PBX will become active minimizing downtime and data loss. Below are the steps required in order to activate this functionality.


3CX uses a form of active - passive failover where by the passive system takes the role of the monitoring host and initiates the switch to itself in case of a failure of the active system.


One Enterprise (ENT) license key is required. With an ENT key, failover will be performed after 120 seconds. Failover also works with a Professional (PRO) Licence key - however you will need 2 3CX PRO keys (one for each server) and services will be fully functional after 30 minutes.


Before configuring or enabling 3CX failover on your 2 servers, the 3CX Installations need to have a specific configuration.

  1. One 3CX Cloud PBX (with Public IP) to another 3CX Cloud PBX (with it’s own Public IP) both installed with external FQDN
  2. Both Servers should each be installed with identical settings, including FQDN, SSL Certificate, SIP, Tunnel, web server ports and web server type.
  3. When you install 3CX, you need to select 3CX FQDN.
  4. The IP Phones Provisioning dropdown, need to have the Select interface set to the FQDN (NOT IP)

You can have other variants like Custom FQDN, with one server in the LAN and another in the Cloud. However, for these configurations you will need to add complex scripting to update your DNS and FQDNs when failover occurs. See bottom of this article for more info.  

“Overview of how it works:”

Step 1: Configure ACTIVE SERVER

  1. Go to Server 1. We will assume that this is your production server where 3CX V15 is already pre-installed, with a configuration on it.

  1. All Extensions need to be configured to provision using the FQDN. Configure IP Phone extension provisioning > Phone Provisioning > “Select Interface” dropdown to your FQDN.

Screen Shot 2017-02-21 at 12.15.39.png

  1. Go to Backup and restore > Location and select Google Drive as the backup location. In this example we will store all backups in a Google Drive folder named “SIP3CXCOMBackups”.

 Screen Shot 2017-02-21 at 20.42.06.png

  1. Click on Backup Schedule and configure what backup options you want to include in your backup and when the backup will be made. We recommend to do this daily and at night. In the above example, at 1:00 AM a backup will start and the backup will be uploaded to Google Drive named “3CXScheduledBackup.zip”. This is a hardcoded name for the latest backup. Press OK.

Screen Shot 2017-02-21 at 20.46.08.png

  1. Whilst still in the Backup and restore section, click the Failover” button. Enable Failover checkbox and select “Active”. Press OK to save.

Active machine is successfully configured. Automatic backups will be made and stored in GDrive. Go to Step 2 to configure the Passive server.

Step 2: Configure PASSIVE SERVER

  1. Go to Server 2 and install 3CX Phone System using the same configuration settings as your active server.

  1. Whilst on server 2 click on backup and restore > “Restore Schedule”. Enable Schedule Restore and set a time when the restore should be applied. Check the option “Do not start services after restore”. Press OK to save.

  1. Click on the “Failover” button, check “Enable Failover” and select the radio button “Passive”
  2. Enter the IP Address of the Active server - in this example
  3. Select which services you want to monitor: SIP Server, Webserver or Tunnel Server.
  4. Select the interval you want the heartbeat checks to be made, (default 30 seconds) and configure whether failover should occur if one or all tests fail.
  5. Press OK to save the configuration and start monitoring.

When the Active server fails, the passive will detect and take over. The backup would be already restored and the failover action will trigger the DNS Change on the 3CX DNS Servers updating the FQDN to the IP Address of the now new Active server.

It is important that the EX-Active server is shutdown because if some services are still running, these might conflict with the server that just took over.

For users that want to use custom FQDN, and LAN to LAN or LAN to CLOUD scenarios, you will need to make use of advanced scripting and services like Active Directory to allow powershell scripts to run with elevation. You can find sample scripts here. Some scripts might need to run under impersonated user accounts. To achieve this you will need to follow additional steps documented here: https://www.3cx.com/docs/failover-script-user/


You might also be interested in: