PBX Synchronizer
Unparalleled synchronization features and capabilities
PBXSYNC
»
FEATURES
MySQL Database Synchronization
PBXsync can synchronize one or more MySQL databases between hosts. PBXsync uses intelligent differential analysis to only move changes between hosts, making PBXsync ideally suited for WAN implementations. PBXsync uses SQL transactions to read / write the data on any MySQL server, to prevent corruption in the event of power outage or transmission failure. In case of any problem, PBXsync rolls back the SQL transaction and tries again. PBXsync does not use block level synchronization of the database, so there is never a risk of an unusable / corrupted MySQL database.
MySQL Table Synchronization
PBXsync can synchronize selected MySQL tables between hosts. Like MySQL database synchronization, PBXsync uses intelligent differential analysis to only move table changes between hosts, making PBXsync ideally suited for WAN implementations. PBXsync uses SQL transactions to read / write the table data on any MySQL server, to prevent corruption in the event of power outage or transmission failure. In case of any problem, PBXsync rolls back the SQL transaction and tries again. PBXsync does not use block level synchronization of the table / database, so there is never a risk of an unusable / corrupted MySQL database.
SQLite Database Synchronization
PBXsync can synchronize one or more SQLite 3 databases between hosts (including the AstDB / Asterisk database). PBXsync will even reconstruct the entire local SQLite database in the event that the local database has been corrupted during an SQLite segfault or other software failure (eg: following a FreePBX crash). PBXsync uses SQL transactions to read / write the data to and from the SQLite database to prevent corruption in the event of power outage or transmission failure. In case of any problem, PBXsync rolls back the SQL transaction and tries again. PBXsync does not use block level synchronization of the database, so there is never a risk of an unusable / corrupted SQLite database.
File Synchronization
PBXsync can synchronize one or more files between hosts. PBXsync uses intelligent differential analysis to only move changes between hosts, and even compresses the data exchanged between servers. PBXsync uses intermediate (temporary) files during update to ensure programs reading from existing files are not suspended or presented with incomplete data. In the event of power outage or transmission failure, PBXsync removes the intermediate file and tries again, so there is never a risk of leaving an incomplete file in place on the destination host.
Directory Synchronization
PBXsync can synchronize one or more directories between hosts. Like file synchronization, PBXsync uses intelligent differential analysis to only move changes between hosts, and even compresses the data exchanged between servers. PBXsync uses intermediate (temporary) files during update to ensure programs reading from existing files are not suspended or presented with incomplete data. In the event of power outage or transmission failure, PBXsync removes the intermediate file and tries again, so there is never a risk of leaving an incomplete file in place on the destination host.
Asterisk/FreeSWITCH Changes Without Interruption
Once new data has been successfully written to the local server, PBXsync can instruct Asterisk/FreeSWITCH to pickup the changes without interruption in service. PBXsync can command Asterisk/FreeSWITCH to reload the data associated with any individual module, or all modules. Calls in progress will not be impacted, and new calls will immediately use the new data. Phone service is never suspended or negatively affected in any way.
Geographically Distant Hosts
The design of PBXsync allows for hosts to be separated over large distances (e.g. different continents). All communications, synchronization, and control has been optimized to minimize data transfer and adapt to varying latency / network conditions.
Encrypted Communications
Hosts can be safely placed on opposite sides of insecure networks as all PBXsync communications between hosts is encrypted. PBXsync uses 256-bit encryption to ensure that control of the PBX is never at risk, and performance/call data is never exposed.
Event Handler System
One of the most powerful features of PBXsync is the event handler system, which lets administrators hook any program/script into events generated by PBXsync. This allows each host to customize incoming data, including rewriting the dialplan, changing MySQL table entries to match the local host, rewriting IP/gateway data in configuration files to match the local network, etc. This features allows radically different hosts to share a common set of configuration files without the need for manual intervention or customization.
Low System Demands
PBXsync has been designed to have minimal impact on the system on which it operates. PBXsync uses minimal memory, negligible CPU power (< 1%), cached file access, etc. The entire PBXsync process can even be set to the lowest CPU priority to ensure telephony services are never negatively impacted. Even internal maintenance tasks are scheduled when the system is idle / quiet to avoid impacting the host.
Telnet Interface
Administrators will be immediately comfortable with the simple and powerful telnet interface to PBXsync. The host can be managed and controlled from a telnet interface, whether from a PC, a tablet, or a cell phone. The interface includes online help and user-friendly, rich terminal output.
Browser Interface
Seasoned administrators and novices alike will be comfortable with the simple and powerful browser (web) interface to PBXsync. The host can be managed and controlled from any browser, including a PC, a tablet, or a cell phone. The interface includes simple control over the cluster, viewing of event logs, and more.
Socket, PHP, and REST Interfaces
Developers will appreciate the socket, PHP, and REST (Representational State Transfer) interfaces to PBXsync, as the power and control of PBXsync can be easily expanded and integrated with other system administration and monitoring tools. PBXsync includes sample code to demonstrate how to extract data and control PBXsync via a web service, via a PHP class, and via the socket interface.
Asterisk Compatibility
PBXsync is compatible with a broad range of Asterisk versions and distributions. PBXsync works with Asterisk versions 1.4 through 16, both 32-bit and 64-bit. PBXsync is also compatible with a wide range of Asterisk® distributions including Digium’s Asterisk, FreePBX®, PBX In A Flash®, TrixBox®, Elastix®, Issabel®, xCALLY Motion®, Thirdlane®, and Genesis ISS®.
FreeSWITCH Compatibility
PBXsync is compatible with a broad range of FreeSWITCH® versions. PBXsync works with FreeSWITCH versions 1.10.7 and up, both 32-bit and 64-bit. PBXsync is also compatible with a wide range of FreeSWITCH distributions including FusionPBX® and proprietary/integrated FreeSWITCH engines.