You are on page 1of 4

High Availability for Asterisk

Use HAAst to combine any two Asterisk servers into a single

cluster. Detect PBX performance degradation, network route
problems, hardware failures, and more. Synchronize data between
peers including files, directories, MySQL databases, and tables.
Failover from one peer to another in seconds.
HAAst is a software package designed specifically to create a high-availability cluster out of any pair of Asterisk
servers. HAAst can detect a range of failures on one Asterisk server and automatically transfer control to the other
server, resulting in a telephony environment with minimal down time.

HAAst is a 100% software solution, with switchover in seconds. Built-in intelligent network control allows for a
single IP address to be shared between peers, so clients/phones automatically connect to the active Asterisk
server without change. Built-in replication and synchronization between servers also reduces maintenance and
support activities.

HAAst is an easy to use solution, with shell (command line), telnet, socket, and web interfaces, suitable for
beginners and experts alike. HAAst is ideal for demanding telephony environments like call centers, emergency
911 operations, medical facilities, and mid-to-large size businesses, as well as small-businesses looking for high
PBX uptime using low-cost off the shelf components.

HAAst does not require any other High Availability/heartbeat software, nor require use of shared disk/block level
disk sharing etc. HAAst also does not require any other specialized hardware so there is no single point of failure.
HAAst is robust in functionality but simple to set up and use.

Asterisk Compatibility
HAAst is compatible with a broad range of Asterisk versions and distributions. HAAst works with
Asterisk versions 1.4 through 13, both 32-bit and 64-bit. HAAst is also compatible with a wide
range of Asterisk distributions, from Digium's plain old Asterisk, to FreePBX and PBX In A Flash
and TrixBox, to Thirdlane. HAAst can even control a custom distribution through settings which
allow starting and stopping any executable.

HAAst incorporates a wide variety of sensors ranging from Asterisk specific load and
performance measures to hardware, network, and software measures. HAAst also allows
administrators to create custom sensors from any script file or executable, contributing to the
overall health score for the peer.

HAAst incorporates extensive synchronization capabilities, including the ability to synchronize
files, directories, databases (My SQL) and tables (My SQL) between peers. Synchronization takes
place from the active to the standby only if the active peer is healthy, and only at intervals
specified by the administrator. HAAst can even alter the received data, allowing the standby peer
to overwrite settings/data after synchronization (for differences between peers).

Shared IP
HAAst incorporates the ability to share an IP address between peers, allowing for the cluster to
failover without any changes required to upstream or downstream devices. The floating IP is
added/removed by HAAst as either a physical NIC, a virtual NIC, or as a virtual VLAN NIC. HAAst
also broadcasts network changes to neighboring switches / routers to ensure traffic flows to the
new device immediately.
Autonomous Peers
HAAst peers do not depend on any shared hardware, software, disks, etc. Some high availability
solutions share a block level device (e.g.: DRDB), a channel bank (e.g.: Astribank), a physical disk,
a USB device, etc. However, these create a single point of failure that can collapse or corrupt an
entire cluster when they fail. HAAst creates completely autonomous peers, ensuring that one
peer cannot detrimentally affect the other.

Fast Failover
HAAst version 2 incorporates a new sensor engine and cluster controller, which can detect a
failed peer in under 0.5 seconds, and transition to the peer immediately thereafter. An entire
cluster can now failover in as little as 3 seconds, with typical Asterisk servers failing over in 5 - 10

Hardware & Software Independence

The HAAst software resides as a layer between Linux and Asterisk, allowing for considerable
differences in peers including different hardware, different Linux versions, different Asterisk
versions, and more. This feature also allows administrators to upgrade portions of one peer
without risk to the cluster, then switching the active peer and beginning upgrades on the other.

Geographically Distant Peers

The design of HAAst allows for peers to be separated over large distances (e.g. different
continents) and still operate as a single cluster. All communications, synchronization, and control
have been optimized to minimize data transfer and adapt to varying latency / network

Encrypted Peer Communications

Peers can be safely placed on opposite sides of insecure networks as all HAAst communications
between peers is encrypted. HAAst uses 256-bit encryption to ensure that control of the cluster
is never at risk, and performance/call data is never exposed.

Telnet Interface
Administrators will be immediately comfortable with the simple and powerful telnet interface to
HAAst. 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

Browser Interface
Seasoned administrators and novices alike will be comfortable with the simple and powerful
browser (web) interface to HAAst. The cluster 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 & REST Interfaces

Developers will appreciate the socket and REST (Representational State Transfer) interfaces to
HAAst, as the power and control of HAAst can be easily expanded and integrated with other
system administration and monitoring tools. HAAst includes sample PHP code to show how to
extract data and control HAAst via a web service and via the socket interface.
The HAAst product is built around four core technologies: the sensor engine, the synchronization engine, the cluster
controller, and the peer link. The sensor engine is responsible for monitoring the health of the local computer (called
a peer), polling various interfaces/subsystems to determine if the local peer has degraded to a level requiring
further action or failover. The state of the local peer is tracked as a health score which rises as health degrades. When
the score reaches the warning level the administrator is notified and selected actions can take place. When the score
reaches the critical level, failover occurs.

P.O. Box 33032 Ira Needles, Waterloo, On, N2T 0A2, Canada
(519) 266-4357