Quantcast
Channel: VOIP-info.org Wiki Changes
Viewing all articles
Browse latest Browse all 5767

Asterisk High Availability Design

$
0
0
High Availability (HA) is normally achieved through "clustering" - which means two machines acting as one for a specific purpose. There are many ways to create a cluster, each with its own benefits, risks, costs, and trade-offs. The terms "High Availability" (HA) and "Clustering" can be overused so beware of the hype. Clustering, and HA have specific (and different!) meanings. If you are responsible for creating a high availability cluster for Asterisk, below are the issues and concepts you should be aware of. This page is intended to be a starting point in the design, creation or selection of a High Availability or Clustering solution for Asterisk.

Note that if you are designing a call center for PSAP (Public Safety Answering Point) / 911 then there are specific requirements you must consider. Some are noted below, others are specified by rules/orders from FCC (USA), CRTC (Canada), and similar country specific organizations. (eg: FCC 05-116 order 10). Even if you are not designing for a PSAP, these guidelines are excellent best practices often applied by large commercial call centers anyways.

Please do not add specific product names/links to this page, it is intended to be product neutral. Don't say "this is the best" because your product/your favorite product uses it.. Stick to facts please.

Co-Dependence and Autonomy

This criteria is among the most important (if not THE most important) criteria when designing/selecting/building a high availability telephony environment. In order to be a true cluster, the machines (or "peers") must be autonomous. Some HA solutions involve sharing hardware, software, a logical device, etc .The problem with this approach is that you create a single point of failure. For example, if a cluster shares a hardware channel bank (eg: connecting to 2 machines via 2 USB cables), then if the channel bank fails the entire cluster fails. As another example, if a cluster shares a disk (eg: DRBD), then corruption of the disk content from a failing peer immediately corrupts the disk content of the other peer. In a true cluster the peers must be autonomous; i.e. not share any hardware, software, logical devices, etc.

Telephony devices in true high availability environments do not share any logical/physical resources. For example, in emergency call centers/PSAP's nothing on the call path is shared: from clustered PBX's, to separate switches, to clustered routers (HSRP/VRRP) to the trunks. Each peer (whether PBX or router or other) must survive the destruction of its peer. (NG911 Section IV.C).

Data Synchronization and Scalability

In order for a cluster to remain useful, the data on the peers must remain in sync. ...

Viewing all articles
Browse latest Browse all 5767

Trending Articles