Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  1. You have an existing PBX system that will be your Primary server.

  2. You have an identical PBX system that will be your Secondary server.

  3. The two servers can communicate on an IP level.

    1. Both systems are configured with their own IP addresses.

    2. Both the systems IP network, can be a local network or can be on separate geographically location.

    3. SSH and HTTP(s) ports should be open between both the servers.

  4. Both servers are running the Advanced Recovery module, and it is "licensed" on each system.

  5. Backup & Restore API and Filestore are dependent modules that must be installed on both the systems.

  6. ICMP/Ping between Primary and Secondary is required.

...

We need to establish SSH connection between both the servers.  

Please find below instructions refer to Setting up the SSH key to copy primary server SSH key to secondary so that we can easily SSH to secondary server from primary without needing password.

  1. Login to your Primary server with an SSH client such as PuTTySecureCRT, or other SSH client. 

  2. At the primary server Linux CLI prompt type: sudo -u asterisk ssh-copy-id -i  /home/asterisk/.ssh/id_rsa.pub root@SecondaryServerIP and enter the password when prompted. 

Info

Make sure you replace the SecondaryServerIP with the IP Address of your Secondary PBX. (use IP and not a hostname that may be common to both primary and warmspare; if fqdns are desired create 3 records the common name , specific name for primary and specific name for warm spare - ie mypbx.company.com , mypbx1.company.com , mypbx2.company.com)

If the Firewall is configured, pay attention to creating the right rule allowing the two servers to talk to each other.

3.  If above command completes without error, you are ready to test:

At the prompt type: ssh -i /home/asterisk/.ssh/id_rsa root@SecondaryServerIP

 If all went well, you should now be logged in to the Secondary server.

...

PBX 17+ Improvements :

Redirect option to Backup & Restore module :


Added new option “+Go to Backup & Add Key” into Advanced recovery → Global settings” which will redirect to backup module > Global Settings to copy this pbx key or add another pbx key.

...

Verify SSH Connectivity -

Note

On a fresh system, this one time step is mandatory for PBX 17+ system. ‘precheck’ command should be run on both the servers.

Check SSH Connection from Primary Server:

  • SSH into the primary server.

  • Run the following command, replacing SecondaryIP with the secondary server's IP address: fwconsole advr --precheck SecondaryIP

  • If the command is successful, it should display “SSH Connectivity is Good”.

  • Screen-shot attached below

...

Check SSH Connection from Secondary Server:

  • SSH into the secondary server.

  • Run the following command, replacing PrimaryIP with the primary server's IP address: fwconsole advr --precheck PrimaryIP

  • If the command is successful, it should display “SSH Connectivity is Good”.

code
Info

SSH Folder permissions

In the case that the web GUI show errors during the SSH connection, worth checking the correct permissions are set for the SSH folder and the files it contains. The permissions should look something like:

/home/asterisk/.ssh

Code Block
Code Block
Code Block
Code Block

Code Block
Code Block
Code Block
.ssh/:
total 12
drwx------   2 asterisk asterisk   57 Apr 18  2022 .
drwxr-xr-x. 12 asterisk asterisk  263 Feb 22 06:57 ..
-rw-------   1 asterisk asterisk 3292 Jan 13  2021 id_rsa
-rw-------   1 asterisk asterisk  748 Jan 13  2021 id_rsa.pub
-rw-------   1 asterisk asterisk  343 Jan 13  2021 known_hosts
Info

The above files must exist in both servers (primary and secondary). Any discrepancy with the permissions in any of the files, please re-do SSH association step N°2stated above.

Install Advanced Recovery module

Download and install the "Advanced Recovery" module by following "Check Online" and then download install guide as described in  Module Admin User Guide#CheckingforAvailableUpgrades wiki.

Advanced Recovery Module Configuration

...

Info

'Quick Configuration' option will display only for the first time when system is not configured.

Once system is configured then this option will not be visible and we need to use "Configuration → Primary (or secondary) Server " option to do any further configuration modification.

...

  • Notification Extension: which extension to call during failover event. On system failure event, active system will initiate call to configured extension and will play the configured announcement. Intention of this call notification is to update admin about the system failure

  • Recording when primary fails : select recording to play when the Primary server fails. This will specify the list of "recordings" to choose from as configured in System Recording module.

  • Recording when standby fails: select recording to play when the standby/Warm Spare server fails. This will specify the list of "recordings" to choose from as configured in System Recording module.

  • Notification Email: email address where notifications will be sent to.

...

This will finish the "Quick configuration" part of Advanced Recovery module.  If any further modifications of the configuration are needed then please refer to Advanced Recovery Expert Configuration wiki.

We need to start "Advanced Recovery Service" daemon as soon as we done with "Quick configuration" process as described in below section.

...

Once Quick configuration wizard is over then any further configuration or change must be done on the 'Advanced Configuration' page. Changes like changing GraphQL API tokens, modifying the Primary/Secondary server IP address, etc. we will need to use "Advanced configuration" as mentioned in Advanced Recovery Expert Configuration 

Switchover 

Advanced Recovery module decides Primary is down by detecting at least one of the following conditions:

...

  1. Switchover related actions as configured in SwitchoverConfiguration

    1. Enable the Trunks on secondary as configured in TrunkSelectionConfigurationoption

    2. Execute post switchover hooks to run custom third party script with an "START" argument. 

  2. Notify to admin via Call to admin extension if Call Notification is enable.

  3. Notify to admin via Email  

...

Advanced recovery module has an option to regenerate the configuration of already connected/configured Sangoma's S and D series phones via Endpoint Manager.

"Advanced Recovery → Endpoint → Regenerate EPM config for S and D series phones" 

...

Sangoma S and D series phones support the configuration of a "Failover" IP along with the Primary IP. 
The Endpoint Manager module, which is "Free" to use for Sangoma's S and D series phones, can be used to help configure this setup. 

Please refer to Connecting Sangoma Phone to FreePBX or PBXact Indepth for detailed guide of using Endpoint Manager for Sangoma's S series phones.

...

The backup destination address is added in the D/P Series phone template, in the Redundancy tab. (EPM → Sangoma  → D & P series phones)
Please refer to EPM-Admin User Guide#AdminUserGuide-templatesTemplateCreationandEditing(ExamplewithSangomaBrand) guide to see example of how to edit templates via EPM.

...

Info

Application Note

Need to ensure that SSH connectivity to primary server is configured properly. Refer to Setup-SSHConfiguration

"Sync back to Primary" option will open the below wizard and will ask to enter Primary server IP. On recent versions the Primary server's IP address will be automatically populated from the existing config.

...