Cluster & SOP Active-Active Support

Description

This module takes care of synchronizing prompt and music-on-hold files between the SOPs in a cluster. As such you can upload a prompt or music-on-hold file on any SOP where the module is enabled and it will become available on all SOPs in the cluster.

On any SOP where the module is installed, a sync process is launched at regular intervals (see Automatic Sync parameter). This process will connect to each SOP in the cluster (one after the other) and verify which files need to be copied based on the modification time of the file on both sides. Then the rsync protocol is used to transfer the which conserves bandwidth as it only transfers the changes.

If a new SOP is added to the cluster or if its IP address changes, this module should be reinstalled on all SOPs in the cluster.

Although it is possible to activate the module on all SOPs in the Cluster and have a full-mesh synchronization, we recommend that you activate it only on the SOP(s) where you intend to upload the audio files (by leaving the Automatic Sync parameter set to disabled on all other SOP(s))

This module should only be installed when using Consolidated Management.

This module requires the SSH Peer Connectivity module.

Release notes

Version 4.1.4 - Early deployment
  • Bugfix: Prevent garbage to be propagated by filesync (PC-3426)
  • Bugfix: Stop daemon for prompt file syncing when feature disabled (PC-3426)
  • Bugfix: 'Automatic Sync' module parameter should be an on/off flag (PC-3426)
  • Bugfix: Uninstall properly escaux-cluster-queue (TS-2960)
  • Dependency:
    • SOP baseline >= 2.0.8
    • Network module >= 3.2.0
    • SOP API v4.14.0
    • SSH Peer Connectivity module (for Automatic Sync)
    • Asterisk-1.2x module v2.33.0 or higher
    • Communication Server version 2.6.0 or higher (for active-active queue management)
    • Watchdog module v1.1 or higher
    • Queue v2.2 or higher (for active-active queue management)
    • Database Schema v1.26.0 or higher (to sync correctly global parameters with long names)
    • SOP Base 1.8.1 or higher (for reconfiguration of phones in active-active setups)
    • Software Sources module >= 1.2.2

Version 1.8.0 - Deprecated
  • Feature: Support for synchronization of parameter sets (M8746)
  • Bugfix: Prefere DSA host key algorithm with SSH peer connectivity (M9443)
  • Feature: Added the ability to select either network interface to use for sychronization is eth0 or eth0 (M0)
  • Bugfix: Profile parameter value size was limited to 255 characters (M10699)
  • Bugfix: Problem in last synchronization timestamp (M11136)
  • Deprecated: Synchronization of parameter set is not working (M14102)
  • Dependency:
    • SSH Peer Connectivity module (for Automatic Sync)
    • Asterisk-1.2x module v2.33.0 or higher
    • Communication Server version 2.6.0 or higher (for active-active queue management)
    • Watchdog module v1.1 or higher
    • Queue v2.2 or higher (for active-active queue management)
    • Database Schema v1.26.0 or higher (to sync correctly global parameters with long names)
    • SOP Base 1.8.1 or higher (for reconfiguration of phones in active-active setups)

Version 1.5.0 - General deployment
  • Improvement: Voicemail prompts are now synchronized (M4142)
  • Limitation: active-active queue management not supported on Communication Server (M6696)
  • Dependency:
    • SSH Peer Connectivity module (for Automatic Sync)
    • Asterisk-1.2x module v2.33.0 or higher
    • Watchdog module v1.1 or higher
    • Queue v2.2 or higher (for active-active queue management)

Version 1.4.0 - General deployment
  • Feature: active-active queue management (M0003601)
  • Limitation: active-active queue management not supported on Communication Server (M6696)
  • Dependency:
    • SSH Peer Connectivity module (for Automatic Sync)
    • Asterisk-1.2x module v2.33.0 or higher
    • Watchdog module v1.1 or higher
    • Queue v2.2 or higher (for active-active queue management)

Version 1.3.0 - Deprecated
  • Feature: Synchronize voicemail prompts (M0004142)
  • Deprecated: Cluster sync deletes a symlink, causing missing prompts and applications

Version 1.2.0 - General deployment
  • Bugfix: don't sync audio files from HA standby SOP

Version 1.1.0 - General deployment
  • New settings:
  • Automatic sync
  • Bandwidth limit

Version 1.0.0 - General deployment

Module configuration interface

create_resource_form: .:/usr/share/escaux/glue/lib:/usr/share/escaux/glue/bin/gen_wiki_documentation/src/lib:/usr/share/escaux/glue/bin/gen_wiki_documentation/src/lib/

Automatic Sync Prompts/MOHs
Bandwidth Limit (KBps)
Queue synchronization interval
Voicemail prompts synchronization (Busy message, ...)
Dynamic profile parameters synchronization
Interface

Module configuration parameters

  • Automatic Sync Prompts/MOHs: Whether synchronization of files in music-on-hold and prompts directories (NOT voicemail prompts) is enabled (as soon as a change in dir occurs it is reflected on other SOPs).
  • Bandwidth Limit (KBps): limit the bandwidth used to synchronize the files (moh, prompts). The bandwidth limit is imposed on the sender side. Note that files will be synchronized using the rsync protocol (which only transfers the changes) and if files are to be pushed to multiple sops, this is done one sop after the other, not in parallel.
  • Queue synchronization interval: the frequency at which the states of the queue members are synchronized.
  • Voicemail prompts synchronization: enable or disable the synchronization of the voicemail prompts (Busy message, Unavailable message, Temporary greeting or name). The synchronization will happen once a night.
  • Dynamic profile parameters synchronization: enable the synchronization of dynamic profile parameters and status for extensions that are defined on two SOPs. An incremental synchronization will be done at the interval chosen but a full synchronization will happen once a day if this feature is enabled. This feature cannot be enabled on SOPs on which the profile parameter synchronization through UC Model is enabled. Note that since version 1.7.0, the phones whose configuration is based on a template will be updated when a new profile parameter is fetched.
  • Interface: allows to select the network interface to use for synchronization. Default is eth0.

Prompts and MOHs synchronization

As long as the escaux-cluster-sync-dir daemon is running on a SOP, every change (adding/removing file, permissions on it) done in the directories listed in /escaux/etc/cluster/sync_dir are reflected on the other SOPs.

Logs of the daemon can be found in /var/log/escaux-cluster/sync-dir.log.

It is intended to run only on one SOP of the cluster, the primary. When the service is restarted (or the package is reinstalled, for example after a disaster recovery), the daemon will pull the content of directories from all other alive SOPs to re-feed its own prompts/MOHs directories. After this pulling phase, the SOP runs normally the sync as intended and will monitor its own directories in order to push any change to the others. The service can be restarted with :
service escaux-cluster-sync-dir restart

Voicemail prompt synchronization

It is possible to synchronize the voicemail prompts (Busy message, Unavailable message, Temporary greeting or name) between SOPs. This synchronization mechanism is independant of the music-on-hold and other "regular" prompts. In order to synchronize the voicemail prompts, you just have to set the parameter Voicemail prompts synchronization to 'enabled' for all the SOPs of the cluster. For the synchronization, the primary SOP of an extension will be considered as the MASTER, and the files will be pushed to all the other SOPs of the cluster.
Copyright © Escaux SA