Upgrade 3CX to v18 and get it hosted free!

PBX Synchronizer (PBXSync)

Overview

PBXSync™ is a software package which manages and synchronizes data (files, databases, and more) across a federation of Asterisk based telephony servers. PBXSync makes it possible to automatically, and cost-effectively, coordinate the distribution of data across a large number of Asterisk servers, and ensure each Asterisk server is always using the latest data.

PBXSync can intelligently select data from a variety of sources (hosts) based on the status of each host/cluster, the state of Asterisk on that host, the order in which the hosts are organized, etc. PBXSync can manage lists of hosts and select from those lists using a variety of algorithms, to ensure data is always distributed intelligently across the federation of servers. You can configure how data moves across the federation of servers, how frequently it moves, and even trigger automated events upon data movement.

When data arrives at a server PBXSync can customize that data to compensate for regional / local / system based differences. This can include changing IP addresses, gateways, server names, dialplan extensions, etc. The PBXSync event handler system allows for almost limitless customization of data across the federation of servers. Once new data is in place PBXSync can instruct Asterisk to reload configuration data, limited only to particular Asterisk modules or to the entire PBX, without the need to restart Asterisk.

PBXSync is easy to use and easy to administer. PBXSync can even synchronize its own configuration data and executables with other PBXSync servers, so they constantly keep themselves up to date. A telnet interface to PBXSync lets administrators control and monitor PBXSync with ease. PBXSync was designed for large-scale telephony operators including ITSP’s, cloud telephony services, multi-office organizations, etc.

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 Changes Without Interruption
Once new data has been succesfully written to the local server, PBXSync can instruct Asterisk to pickup the changes without interruption in service. PBXSync can command Asterisk to reload the data associated with any individual Asterisk module, or all modules. Calls in progress will not be impacted, and new calls will imediately use the new data. Phone service is never suspended or negatively affected in any way.

 

Geographically Distant Hosts
The design of PBXSync allows for servers to be separated by large distances (e.g. different continents) and still operate as a single federation. All communications, synchronization, and control has been optimized to minimize data transfer and adapt to varying latency / network conditions. PBXSync does not use any LAN centric protocols (eg: NFS, SAMBA, DRBD) which break down over WAN conditions or can leave files and databases corrupted in case of lost network connections.

 

Data Protection
PBXSync has been designed from the ground up to protect your data. In the event of any network problem, software crash, host failure, etc. PBXSync ensures your data is always in a consistent state. Files are never left half-written, and databases are never left with corrupted tables or indexes. PBXSync enforces SQL and file level rollback in case of any problem, and only uses SQL commands to udpate SQL databases (never block level reading/writing of database files).

 

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.

 

Encrypted Host Communications
PBXSync hosts can be safely placed on opposite sides of insecure networks as all PBXSync communications between servers is encrypted. PBXSync uses 256-bit encryption to avoid man-in-the-middle attacks and data transferred (eg: voicemail messages designated as PHI) meets standards set for “protected information in transit” (eg: PHIPA, PIPEDA)

 

Low System Demands
PBXSync has been designed to have minimal impact on the system on which it operates. PBXSync uses minimal memory, negligable 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 entire cluster 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.

 

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 versions. PBXSync is also compatible with a wide range of Asterisk® distributions, including Digium’s basic Asterisk, FreePBX®, PBX In A Flash®, TrixBox®, Elastix®, Issabel®, xCALLY Motion®, Thirdlane®, and Genesis ISS®.

Benefits

Protect Revenue from Maintenance Errors
Managing a large collection of Asterisk servers can be tedious, often leading to errors which can impact calls or even take an entire server offline (without obvious symptoms). PBXSync allows you to deploy large scale configuration changes with ease, with updates picked up immediately by Asterisk servers across the server farm or federation. No need for manual intervention or restarting services during maintenance windows.
Reduce Maintenance Costs
With PBXSync you can manage 1000 Asterisk servers as easily as you manage 1. If you operate a large Asterisk farm you can use PBXSync to push changes out to all servers, affecting only the aspects of configuration shared by the farm. If you operate a federation of Asterisk servers you can push out minor changes or complete configurations in one step. If you need to dynamically add telephony capacity you can spin up VM templates/clones that instantly configure themselves and go online as needed. All of this can be achieved automatically or with the click of a button. For large telephony operators this can save thousands of labor hours per year.
Create Unlimited Asterisk Scalability

With PBXSync you can create a federation of Asterisk servers acting as one. You can easily increase capacity by adding new servers to the federation. PBXSync will instantly add and customize configuration data to allow the new server to act as part of the federation. PBXSync is also cluster aware, allowing you to link an unlimited number of clusters to form a synchronized high availability telephony farm.

PBXSync can also integrate with HAAst (High Availability for Asterisk) to easily create a scalable network of PBX clusters. PBXSync can communicate with HAAst using the proprietary PeerLink protocol, to provide unmatched cluster monitoring and control.

Technology

The PBXSync product is built around six core technologies: the Asterisk Controller, the Local Host Monitor, the Delta & Compression Analyzer, the Synchronization Controller, the Remote Host Monitor, and the Source Link. The Asterisk Controller is used to monitor the state of the local Asterisk server, and to command Asterisk to reload configuration data when required. The Local Host controller is used to monitor the state of the local host, and to command it take any actions necessary to allow the data to be moved into place.

The Delta & Compression Analyzer is used to monitor changes in databases, directories, and files. It detects the changes and then computes differences (deltas) necessary to bring other hosts into sync with the changes. This module works in cooperation with the Synchronization Controller which moves data between hosts when scheduled or when commanded to do so.

The Remote Host Monitor and Source Link work hand-in-hand, communicating with other hosts/clusters and detecting changes in their state. The Source Link is used to exchange instructions, file / database information, etc. over an encrypted channel. Each host maintains a Source Link to every other host (as configured) to create a fully meshed network or any other topology desired. The result is that data can flow in any direction desired, at any interval desired, to keep the entire federation up to date with minimal impact on network traffic and system load.

 

Editions

PBXSync is available in Free, Commercial Flex, and Commercial Unlimited editions.

Contact

PBXSync is produced by Telium
Web: www.telium.io
Tel: (519) 266-4357
E-Mail: [email protected]


Article Reviews

Write a Review

Your email address will not be published. Required fields are marked *

Required Field. Minimum 5 characters.

Required Field. Minimum 5 characters, maximum 50.

Required field.There is an error with this field.

Required Field.

This site uses Akismet to reduce spam. Learn how your comment data is processed.

There are no reviews for this article. Be the first one to write a review.

Related Posts:

Get 3CX - Absolutely Free!
Link up your team and customers Phone System Live Chat Video Conferencing

Hosted or Self-managed. Up to 10 users free forever. No credit card. Try risk free.

3CX
A 3CX Account with that email already exists. You will be redirected to the Customer Portal to sign in or reset your password if you've forgotten it.