High Availability Switch Module

HA VoIP switching designed as a plug-in module




Built for Power and Efficency

  • Created in C++ for low resource consumption, fast detection, and rapid failover

  • Compatible with any programming / scripting language

  • Modular design ensures rapid integration and an easy path for growth

  • Built on proven components developed over many years

  • Runs as a service on an existing product platform, or on a standalone platform

Major Components

The switch engine is the component that routes VoIP traffic.  It can interact with endpoints, bridge multiple call legs, inject/listen to active connections, and more.    The switch engine can be a low level engine such as pjSIP, mjSIP, nokia/Sophia-SIP,  or a high level engine with pre-built routing (and more) capabilities such as FreeSWITCH or Asterisk.  Switch engines offer compatibility with a broad range of protocols including SIP, H,323, IAX, SCCP, and more.  Telium choses the best engine to meet your feature, performance, and cost needs.

The synchronization engine component is responsible for replicating changes in files, directories, tables, databases, and more from the active node to the standby node. The synchronization engine initiates synchronization at specified intervals, and allows for modification of synchronized data once delivered to the standby node (replacing portions of files or fields in a database). Synchronization always takes place from the active to the standby node, and only while the active node’s health score is non-critical.  All synchronization is fail-safe, ensuring interruptions do not corrupt the data on a node.

The Health Sensor component is a sophisticated health monitoring system, with connections to the switch engine, the operating system, host hardware, external devices, external programs/services, and even programs/services/devices defined by the customer.  The Health Sensors computes health based on sophisticated algorithms, weighting the impact of various inputs to create an overall health score.

The management interface component is a convenient way for the administrator to manage, configure, monitor, and control a HAsm node.  The management interface is accessible using telnet, where administrator can issue text based commands to perform simple and complex operations.

The node link component is responsible for all communication between nodes, including heartbeat, coordinating failover, sending messages, tracking remote sensors, etc. If the node link goes offline for any reason then the surviving node assumes the other node has failed and attempts to take over operations as the new active node.   The node link is also used in negotiations (determining which node should take over) when nodes connect/reconnect.  The node link can operate over TCP/IP, serial, RS485, CAN bus, and more.

The Application Programming Interface (API) is the means by which HAsm and your program/product communicate.  The API provides a simple text based interface, passing commands, parameters, and data using key-value pairs formatted into paragraphs.  Each paragraph can be a command, a response, or a notification.  Each paragraph also contains a unique ID, allowing for asynchronous communications.

The cluster controller is at the heart of each HAsm node, coordinating activities between all components.  The cluster controller manages rules for the VoIP switch (aka dialplan), and the rules to orchestrate the overall operation of the node.  While the core of the HAsm cluster controller is common among all HAsm deployments, it is customized to meet your specific needs.

Technology Diagram