← Overview
07 · High availability

A node dies. The call doesn’t.

Engine-native failover — active calls re-home to a surviving node, not to voicemail.

RedpandaRedis journalrendezvous hashingre-INVITE

Deterministic media homes

Every node owns one fixed RTP port per core; calls demux by 4-tuple. A call’s media home is just node : port — unlimited calls, and re-homing needs no per-call port allocation.

Cluster truth on Redpanda

Heartbeats and a leader lease ride a dedicated Redpanda control plane — never the media path. Call ownership registers on established, clears on hangup.

A durable dialog journal

On the answering 200 OK, everything needed to reconstruct the dialog — Call-ID, tags, route set, CSeq, remote media, codec — journals to Redis, off-node.

Death → rehome → re-INVITE

The leader detects the dead node, rendezvous-hashes each owned call to a survivor, and the takeover node rebuilds the dialog from the journal, opens a fresh media leg and recovers the call with an in-dialog re-INVITE.

Media never waits on control

Failover knowledge flows over Redpanda while media keeps streaming. The design target is a sub-2-second blip — the caller hears a hiccup, not a dial tone.

0target media blip on node death
0in-dialog re-INVITE to recover a call

Bring us one call flow.

Telequick runs every layer of voice — you bring the models.