Failover - Admin Guide

Failover service allows using one PBX as a backup for another one when the latter goes down. This guide describes the supported features and the procedure to set up the service.

WMS version: 5.0X / 6.0X

Created: December 2017

Updated: January 2023

Permalink: https://wildix.atlassian.net/wiki/x/rQrOAQ


Watch the video


Requirements

  • Minimal WMS version 3.86
  • WMS Network must be set up between the PBXs
  • Failover PBX must be capable of handling the max load (Main + Failover)
    • WPBX HW – Max 1000 users
    • VM – 1 Core – 2 threads of a Xeon Level CPU for each 500 users
  • Primary DNS Server set on devices must be different from Main PBX or an a Secondary DNS Server must be available

Supported scenarios

Hot Standby Mode

  • All the configuration is made only on the Primary PBX (users, devices, lines, Dialplan, call groups)
  • Secondary PBX has no load, no calls, it regularly copies the configuration from the Primary PBX and takes over in case the Primary PBX goes down

Load Sharing Mode

  • Same as in Hot Standby all the configuration is made on the Primary (Server) PBX (users, devices, lines, Dialplan, call groups)
  • Secondary PBX has no load, no calls, it regularly copies the configuration from the Primary PBX and takes over in case the Primary PBX goes down

  • Configuration sync: all changes must be applied only to Configuration Source PBX

Configuration example provided in the chapter Load Sharing Scenario.


The automatic sync is made every 2 hours.

Supported devices & scenarios 

All the devices that support double registration:

  • WP4X0, START (ex WP410), WorkForce, WelcomeConsole, Vision, SuperVision
  • W24FXSR2/W04FXS/W02FXSR2 (except for W01FXS – pre 2015)
  • W04FXO
  • PRI
  • BRI
  • Collaboration (WEB phone) 
  • Collaboration Native app (starting from v. 2.1.5)
  • Collaboration Chrome extension (starting from v. 1.6.7)
  • Incoming SIP trunks (remote operators / devices try to connect to both PBXs)
  • WP600AXX (starting from v. 2.8.22)
  • Android clients

Failover PBX supports the following call scenarios:

  • Internal calls
  • Call groups (except for ‘Call All 32’ strategy)
  • Calls to/from Wildix gateways
  • Calls to/from incoming SIP trunks
  • Call transfer
  • Return from transfer

Device configuration and switching timeout 

DeviceMain SIP serverFailover SIP serverTimeouts (s) (switch to backup / main)
WP4X0 old modelsTCP / 443 (*)TCP / 443(*)60-105 / 60-105
WP4X0 R2TCP / 443 (*)TCP / 443 (*)30-60 / 10-60

WP4X0 R3, Start, WorkForce, WelcomeConsole  (**)

TLS / 443 (*)TLS / 443 (*)95-145/ 60-105
Vision, SuperVisionTCP / 443 (*)TCP / 443 (*)60-180 / 15-45
W24FXSR2TCP / 443 (*)TCP / 443 (*)40-45 / 30-90
W04FXSTLS / 443 (*)TLS / 443 (*)30 / 45-300
W02FXSR2UDP / 5060UDP / 506030-60 / 10-30

W0XPRI (**)

TCP / 443 (*)

TLS / 443 (*)

TCP / 443 (*)

TLS / 443 (*)

10 / 30-180 

W01/02BRI (**)

TCP / 443 (*)

TLS / 443 (*)

TCP / 443 (*)

TLS / 443 (*)

10-60 / 60-180


W04FX0TLS / 443 (*)TLS / 443 (*)30 / 45-300
WP600AXXTLS / 443 (*)TLS / 443 (*)60-180 / 15-45
Android clientsTLS / 443 (*)TLS / 443 (*)

active: 60-180/ 15-45;

in background: switch immediately

(*) – Alternative or default secure port 443 can be used

(**) –  TLS support on WMS 4.0X

TLS support is enabled on WP4X0 R3, START, WorkForce, WelcomeConsole, W0XPRI, W01/BRI:

  • For remote devices, TLS is used as the default transport
  • For local devices, TLS is used if the option Use TLS / SRTP for local devices ( WMS Settings -> PBX -> SIP-RTP) is enabled, otherwise - TCP
  • If necessary, it is possible to return TCP transport for remote devices using custom provisioning parameters "SIPTransport" / "SIPTransportRemote" and set different port via parameters "SIPServerPort"/ "SIPServerPortRemote" (refer to Provisioning Custom Settings)

Configuration

Note: in case you’ve been using the old Failover, all the configuration previously set up, must be removed!

Proceed as follows:

  • Activate WMS network between the PBXs
  • Set failover PBX in WMS -> Users -> PBXs:
    • Click Failover column near the PBX you wish to set up failover for
    • Failover setup dialog opens
    • Select the failover PBX from the list
    • Click Ok
  • Make all the configuration on the main PBX (devices, Dialplan, call groups etc.)
  • Disable devices sync from WMP on Failover PBX: add “disable_sync_portal=1”, “disable_sync_manual=1” to the config file /rw2/etc/pbx/device_sync.conf
  • Make replication for Main PBX configuration:
    • Access the failover PBX via SSH as root
    • Run shell script sync_pbx
    • Select 1 (Configure)
    • Enter IP or PBX domain (available starting from WMS 5.04) of the Main PBX

    • Enter the admin password of the Main PBX
  • Set failover PBX as secondary DNS server on unsupported devices

Notes for Cloud PBXs:

  • Starting from WMS 5.03, SSH must be enabled on the Main PBX.
  • When running sync_pbx script, the port 2222 (instead of 22) has to be filled.


Make sure all WP phones can resolve the domain pbx.wildixin.com as the local PBX IP, otherwise BLFs, Voicemail Notifications and DND Status will not be shown on the device.

Load Sharing Scenario 

The use case described in this chapter is a working scenario used by one of the Wildix Partners. Please refer to Wildix Tech Support for help in setting up this scenario and adapting it to your needs.

  • 9 sites connected via WMS Network
  • Server PBX installed in Data center in the Netherlands
  • 8 client PBXs installed in:
    • Germany
    • France
    • Italy
    • Spain
    • Hungary
    • Poland
    • Russia 
    • China - Hong-Kong
  • All the configuration is made on the Server PBX (users, devices, Dialplan, call groups...)
  • The script running on each client PBX regularly copies the configuration from the Server PBX
  • Server PBX has no active load (no calls) in this scenario, all the calls pass through client PBXs

  • In case any of the client PBXs goes down, the Server PBX takes over 


Current limitations 

  • No support for failover mode via /rw2/etc/phone_failover.conf

  • No support for failover mode via secondary DNS Configuration
  • No Full TLS Support (check the table provided in the Chapter “Device configuration and switching timeout”)
  • It’s necessary to configure separate DHCP server in the local network where phones and gateways are connected
  • Changes to configurations of the PBX which synchronizes its configuration from another one will be lost after each sync, Admin should apply all changes only on the source PBX
  • No notification present on phone’s display when switching to backup PBX in failover scheme
  • Unsupported devices (see the chapter “Failover by DNS”):
    • W-AIR
    • W04BRI
    • W01GSM
    • W01FXS (pre 2015)
    • Outgoing SIP trunks
    • iOS clients
    • W-PA
  • No XML Browser-based services like history / phonebooks when connected to failover PBX
  • Call group with ‘Call All 32’ strategy – calls do not work for failover user
  • Call through remote PBXs of WMS network does not work if Main PBX is unavailable
  • Continuity feature does not work after switch to failover PBX (invalid for WMS 5.0, refer to the chapter Support of user features)
  • Pre-answer services do not work after switch to failover PBX (invalid for WMS 5.0, refer to the chapter Support of user features)
  • Call to the failover WP480 2015-2016 device can not be completed normally
  • Return from semi-attended transfer is not performed
    • after transfer from remote user to failover user
    • after transfer from failover user to remote user
  • BLF presence status of the local user is unavailable for failover user; call can’t be picked up via BLF key
  • BLF presence status of the failover user is unavailable for local user; call can’t be picked up via BLF key
  • Impossible to perform calls from Kite to failover user via WMS network Server PBX in case main PBX is unavailable
  • Email notifications are unavailable for failover user; user features are not available on failover PBX (invalid for WMS 5.0, refer to the chapter Support of user features)
  • Login/logout via 99 service is restricted for failover user
  • Language and region settings are not synced during sync_pbx script execution

Permanent (not temporary) limitations:

  • No support for W01GSM calls and sms
  • No Chat/VM/user features/recordings/presence
  • History works only if a single remote MySQL or MSSQL backend is set up on all PBXs
  • User needs to re-login when the network connection in Collaboration Native app/ the browser session in Collaboration Chrome extension is lost

Devices Failover by DNS

Unsupported device must use as primary DNS Server Main PBX and as secondary – Failover PBX.

When the Main PBX will be unavailable – device will resolve the domain using the Failover PBX and connect to it.

This configuration will work only if auto.wildixin.com domain is used or another domain shared by both PBXs and inserted in Networking Settings – Hosts.


Note

Starting from WMS version 3.88.40477.20 the embedded DNS server is no more available for remote networks by default. To enable DNS queries please contact Support for assistance. 

Note: For DaySaver, follow instructions in the guide How to configure Failover by DNS for DaySaver.

Support of user features (WMS 5.0) 

Starting from WMS 5.01.20200605.5, you can enable the following features in Failover mode:

  • Continuity
  • Pre-answer services
  • Email notifications and user features (mobility, call forwarding etc)

How to enable:

  • Run the following command on a Failover PBX to copy user files (which are encrypted) from a Main PBX: 

    scp admin@<pbx A>:/etc/user.d/*.lua /etc/user.d/
    or 
    scp -P 2222 admin@<pbx A>:/etc/user.d/*.lua /etc/user.d/ - for Cloud

     where <PBX A> is a domain name of a Main PBX.


  • Then you need to set an owner of the copied files by running the command on the Failover PBX:

    chown wms:wms /etc/user.d/*lua

Important: There is no auto sync between Main and Failover PBXs. It means that all copied user features remain in the same state as they are at the time of copying.

You need to execute the sync manually by running the mentioned above commands.


Simplified configuration scenario (Primary and Failover PBXs in the same network)

Important: This simplified scenario can be used in case you set up Failover between two local PBXs, to allow a faster switch of phones from Primary to Failover PBXs and vice versa.

Proceed as follows:

  • Activate WMS network between the PBXs
  • Set failover PBX in WMS -> Users -> PBXs:
    • Click Failover column near the PBX you wish to set up failover for
    • Failover setup dialog opens
    • Select the failover PBX from the list
    • Click Ok
  • Make all the configuration on the main PBX (devices, Dialplan, call groups etc.)
  • Go to WMS -> Devices, click Edit device and set up Primary and Secondary DNS for devices as follows:
    • DNS Server: internal IP address of Failover PBX
    • Secondary DNS: internal IP address of Main PBX


Important!!! This DNS configuration can be applied only to Wildix devices that support double registration (e.g. Wildix phones of WP4X0 series. The full list of devices can be found in Supported devices & scenarios section, "Supported devices"). On other Wildix devices (check the list in Current limitations section, "Unsupported devices") set up DNS Server = IP address of Main PBX; Secondary DNS: IP address of Failover PBX.

  • Make replication for main PBX configuration:
    • Access the failover PBX via SSH as root
    • Run shell script sync_pbx
    • Select 1 (Configure)
    • Enter IP or domain of the Main PBX
    • Enter the admin password of the Main PBX

Licensing

In case all PBXs are of Per-User type, you can enable WMS network license sharing, which means you need to add UC profiles only on the Server PBX and then you can re-use those licenses on the Client PBX. Please consult documentation: Share Per User Licenses between PBXs over WMS Network.