Skip to content
Voxivra

VoIP high availability: telephony platforms that keep answering

We design redundant Asterisk and SIP architectures, from active/passive pairs to Kamailio-fronted active/active clusters, so a failed server, carrier or data center does not take your phone lines down.

VoIP high availability means designing a telephony platform so that no single failure, whether a server, a network link, a SIP carrier or an application dependency, stops callers from reaching you. For a contact center, a healthcare provider or a payment line, an outage is immediately visible to customers. Voxivra designs and operates Asterisk-based architectures with redundancy built in at every layer, and we are explicit about what each design protects and what it does not.

Start with the failure modes

Before choosing a cluster topology, we list what can fail and what the business impact would be:

  • Asterisk node failure: hardware, VM, crash or a bad deployment.
  • Application dependency: the FastAGI or ARI service, the database, the CRM API, the speech AI provider.
  • Network: data center connectivity, firewall, NAT device, DNS.
  • SIP carrier: trunk outage or routing problems at the provider.
  • Human error: a configuration change that breaks the dialplan on every node at once.

Each one calls for a different safeguard. Clustering Asterisk does nothing for a carrier outage, and two carriers do nothing for a dialplan error deployed everywhere.

Topology 1: active/passive

Two Asterisk servers share a virtual IP address. The active node handles all calls; the passive node takes over the address if the active one fails. This is typically implemented with keepalived (VRRP) or Pacemaker and Corosync, with configuration synchronized between nodes and a shared or replicated database.

Strengths: simple to understand, few moving parts, works with most existing dialplans. Limits: half of the capacity sits idle, failover takes a few seconds, calls in progress on the failed node are lost, and split-brain must be prevented with proper fencing or quorum.

We recommend active/passive for moderate volumes where one server handles the peak load comfortably and the team wants an architecture it can operate without specialized SIP proxy skills.

Topology 2: active/active behind a SIP proxy

A SIP proxy, usually Kamailio or OpenSIPS, receives all signaling and distributes calls across several Asterisk nodes. The proxy itself is deployed as a redundant pair.

            Carriers / SBC
                  |
        Kamailio (pair, shared VIP)
          dispatcher + OPTIONS probes
         /         |          \
   Asterisk 1  Asterisk 2  Asterisk 3
         \         |          /
   Shared DB / config / ARI or FastAGI services

Kamailio’s dispatcher module sends periodic SIP OPTIONS to every node. A node that stops answering is marked inactive and receives no new calls until it recovers. Distribution can be round-robin, weighted or hash-based (for example by Call-ID), and nodes can be drained gracefully for maintenance.

For media, Asterisk nodes often handle RTP directly. When NAT traversal, topology hiding or a single public media address are needed, a relay such as RTPengine is added alongside Kamailio.

Strengths: horizontal scaling, no idle capacity, rolling upgrades node by node, a single node failure affects only its share of calls. Requirements: application logic must not depend on which node handles a call. That means stateless FastAGI or ARI services, shared configuration (Asterisk Realtime or configuration management), and shared or replicated data (for example, a PostgreSQL or MariaDB Galera cluster).

Health checks beyond “the server responds”

A node can answer SIP OPTIONS while its ARI application is disconnected or its database is unreachable. Good health checks reflect the ability to actually serve calls:

  • SIP-level probes from the proxy (OPTIONS) for basic reachability;
  • application-level checks: the ARI WebSocket is connected, FastAGI responds within its timeout, the database is reachable;
  • synthetic test calls placed regularly through the real path, checking that prompts play and DTMF is recognized;
  • metrics and alerts on active channels, failed calls, SIP response codes, RTP quality and registration status.

A node that fails application checks should be removed from the dispatcher automatically, not only flagged on a dashboard.

Carrier and network redundancy

  • At least two SIP carriers or two independent paths to the same carrier, with outbound routing that fails over on errors or timeouts.
  • Inbound redundancy: DNS SRV records or multiple signaling addresses registered with the carrier, so inbound calls reach a surviving site.
  • Geographic redundancy where the business case justifies it: a second site or cloud region, with numbers that can be rerouted quickly.
  • Graceful degradation: if the AI voicebot provider fails, calls fall back to a simpler IVR or straight to a queue rather than failing.

Deployments and testing

Most real outages come from changes. We use versioned configuration, staged rollouts (one node first, then the rest), automated tests on the dialplan and applications, and load tests with SIP traffic generators before go-live. Failover is tested on a schedule, not only on paper: we pull a node, a carrier and a dependency, and verify the result.

When Voxivra recommends which design

Situation Typical recommendation
Single site, moderate volume, small team Active/passive pair, two carriers, monitoring
Growing volume, AI voicebots, frequent releases Kamailio pair + active/active Asterisk nodes, stateless apps
Critical service, regulatory or contractual uptime needs Multi-site active/active, geo-redundant carriers, regular failover drills

We do not promise a specific uptime figure without knowing your infrastructure and providers; availability is the product of every layer. What we provide is an architecture whose failure behavior is understood, documented and tested.

High availability goes hand in hand with VoIP security, since an attack or fraud incident is also an outage. If you are moving from a single legacy server, our telephony migration service covers the transition without downtime, and our support and consulting team can operate the platform with you. For a review of your current architecture, get in touch.

Frequently asked questions

Are calls in progress preserved when an Asterisk server fails?

Generally not. Asterisk does not replicate live call state between nodes, so calls on a failed server are usually dropped. High availability protects new calls: they are routed to healthy nodes within seconds. Media relays and short reconnection paths can reduce the impact, but the honest design goal is fast recovery for new calls.

Should we choose active/passive or active/active?

Active/passive is simpler and suits moderate volumes where one server handles the load. Active/active with a SIP proxy in front scales horizontally and spreads risk across nodes, but requires stateless application logic and shared configuration. The choice depends on volume, budget and how much complexity your team can operate.

What role does Kamailio play in a high availability design?

Kamailio, or OpenSIPS, acts as a SIP proxy in front of the Asterisk nodes. It distributes calls, probes each node with SIP OPTIONS and stops sending traffic to nodes that do not answer. It handles signaling only; media is either handled by Asterisk directly or by a relay such as RTPengine.

Is cloud hosting enough to guarantee availability?

No. Cloud providers offer resilient infrastructure, but a single virtual machine running Asterisk is still a single point of failure. You also need redundancy at the carrier, network, application and data layers, plus monitoring and tested failover procedures.

Related reading

Planning a telephony or voice AI project?

Let's talk during a free, no-obligation 30-minute consultation.

Book a consultation