PBX Synchronizer

Synchronization designed specifically for telephony




Built for Performance and Data Integrity

  • Created in C++ for low resource consumption, fast synchronization, and low-level API access

  • Failsafe fallback to known good state for all synchronization activities

  • Delta technology and compression to minimize data transfer

  • Communication with Asterisk through AMI to issue reload/restart commands

Major Modules

The Asterisk Controller is responsible for interacting with Asterisk on the local host.  The module might stop or start the Asterisk service, might command Asterisk to reload any or all Asterisk modules’ configuration data, or even command Asterisk to take other actions.  PBXsync decides which action to take based on user defined rules associated with the synchronization job,.

The Local Host Monitor tracks the state of Asterisk, files, databases, and more on the local PBX.  This information is shared with other modules on the local PBX and also potentially with other PBX’s running PBXsync.  The information tracked is used to determine which actions to take when a synchronization job executes.

The Delta & Compression Analyzer module is responsible for optimizing data transferred between hosts.  PBXsync can synchronize hosts in the same data center or on different continents, and this module makes it possible to keep the hosts in sync with minimal network traffic.

The Synchronization Controller is responsible for exchanging data with other hosts.  The module determines what data needs to be exchanged, with which hosts, and in which order (as specified by synchronization jobs).

The Remote Host Monitor is responsible for tracking the state of other hosts which form part of the PBXsync farm/federation.  This module attempts to maintain connections to remote hosts and also provides inputs to the synchronization rule processing.