CASE STUDY

1100,,000000++

concurrent calls

Voice platform sustaining 10,000+ concurrent calls

10,000+

concurrent calls

<500ms

total latency

99.9%

uptime SLA

45%

cost reduction

A real-time voice platform sustaining 10,000+ concurrent calls at sub-500ms end-to-end latency, with post-call CRM and scheduling automation removing manual work from 2,000+ daily interactions. Net operational cost fell 45%.

A high-volume operation needed phone conversations handled at a scale no human team could staff — without callers ever feeling they were talking to a machine that had lost the thread.

We architected an end-to-end voice pipeline sustaining 10,000+ concurrent calls with sub-500ms speech-to-response latency. An agentic decision loop with persistent multi-turn memory and dynamic role-switching automated 2,000+ daily interactions.

Post-call orchestration — CRM updates, appointment scheduling, escalation routing — was fully automated, eliminating manual intervention on 100% of routine interactions.

Kubernetes auto-scaling absorbed 10× traffic spikes while INT8 quantization and batched GPU utilization cut inference costs by 35%. Net operational cost reduction: 45%.

What made this hard

A 500ms budget across four hops

Speech-to-text, retrieval, model, text-to-speech — each with its own network round trip. Past roughly 800ms callers start talking over the agent and the conversation collapses, so the budget had to be spent deliberately rather than discovered.

Peak concurrency, not average

Call volume is not smooth. Capacity had to be sized for the Monday-morning spike, because an agent that fails under load is worse than no agent — the caller has already been told they are being helped.

Inference cost at volume

At thousands of concurrent calls, per-minute speech and carrier charges outweigh model tokens. Architecture that keeps calls short is worth more than a cheaper model.

Escalation that keeps context

A caller transferred to a human must not repeat themselves. The handover carries the conversation state, which constrains how that state is stored.

How we built it

  1. Streaming throughout

    Transcription starts as audio arrives and synthesis streams back in chunks, so the first syllable reaches the caller while the sentence is still being generated.

  2. Agentic decision loop

    Persistent multi-turn memory with dynamic role switching, so the agent handles a task rather than answering a question.

  3. Post-call orchestration

    CRM updates, appointment writes, follow-up messaging and escalation routing — automated end to end, which is where most of the measured return came from.

  4. Autoscaling for spikes

    Kubernetes sized to absorb 10x traffic surges rather than the weekly average.

  5. Inference economics

    INT8 quantisation and batched GPU utilisation cut inference cost 35%.

The stack

Streaming STTNeural TTSLLM orchestration with tool callingKubernetesSIP telephonyRedis for conversation statePrometheus and Grafana

What should you take from this?

Frequently asked questions

How do you keep latency under 500ms?

By streaming at every stage rather than waiting for each to complete, and by treating the budget as fixed and spending it deliberately — transcription starts as audio arrives, and synthesis begins before the sentence is finished.

What happens when a caller wants a human?

They get one, with the conversation context attached so they do not repeat themselves. Escalation is a designed path rather than a fallback; an agent that traps people costs more than it saves.

Can this scale to our volume?

The architecture sustains 10,000+ concurrent calls with autoscaling sized for peak rather than average. Whether you need that is a scoping question — most deployments do not, and building for it prematurely is expensive.

Related service: AI Voice Agent Development

Build something at this level

Tell us what you are building. We reply within one business day.