By Sagar Shankaran, Founder of CallSphere
Production reliability patterns for AI voice agents — multi-region failover, circuit breakers, graceful degradation.
Key takeaways
When a web app is down, users refresh. When a voice agent is down, callers hear silence and hang up angry. Voice failures are extremely visible and they cascade fast: one stuck WebSocket can back up 50 concurrent calls. This post covers the reliability patterns that keep a voice agent answering when upstream providers, networks, or your own code misbehave.
failure modes
│
├── carrier outage
├── OpenAI 5xx
├── TTS provider slow
├── DB connection storm
└── bad deploy
┌──────────┐ ┌──────────────┐ ┌──────────────┐
│ Carrier A│──┐ │ Primary edge │──┐ │ Primary AI │
└──────────┘ │ └──────────────┘ │ └──────────────┘
│ │
┌──────────┐ ▼ ┌──────────────┐ ▼ ┌──────────────┐
│ Carrier B│────► │ Standby edge │────► │ Standby AI │
└──────────┘ └──────────────┘ └──────────────┘
import pybreaker
llm_cb = pybreaker.CircuitBreaker(fail_max=5, reset_timeout=30)
@llm_cb
async def call_llm(messages):
return await openai.chat.completions.create(model="gpt-4o", messages=messages)
When the breaker trips, route new calls to a fallback voice that says "we are experiencing high demand, please try again in a moment" and end the call gracefully rather than holding the line open.
flowchart TD
CALL(["Inbound Call"])
HEALTH{"Primary<br/>agent healthy?"}
PRIMARY["Primary agent<br/>LLM provider A"]
SECONDARY["Hot standby<br/>LLM provider B"]
QUEUE[("Persisted<br/>call state")]
HUMAN(["Live human<br/>fallback"])
DONE(["Caller served"])
CALL --> HEALTH
HEALTH -->|Yes| PRIMARY
HEALTH -->|Timeout or 5xx| SECONDARY
PRIMARY --> QUEUE
SECONDARY --> QUEUE
PRIMARY --> DONE
SECONDARY --> DONE
SECONDARY -->|Both fail| HUMAN
style HEALTH fill:#f59e0b,stroke:#d97706,color:#1f2937
style PRIMARY fill:#4f46e5,stroke:#4338ca,color:#fff
style SECONDARY fill:#0ea5e9,stroke:#0369a1,color:#fff
style HUMAN fill:#dc2626,stroke:#b91c1c,color:#fff
style DONE fill:#059669,stroke:#047857,color:#fff
import asyncio, random
async def retry(coro, attempts=3):
for i in range(attempts):
try:
return await coro()
except Exception:
if i == attempts - 1:
raise
await asyncio.sleep((2 ** i) + random.random())
If the knowledge-base RAG store is down, the agent should continue without it and say "let me get someone to follow up with the exact answer" rather than hallucinate.
Use Twilio's <Dial> fallback or regional stream URLs to route to your standby edge if the primary is unhealthy.
Hear it before you finish reading
Talk to a live CallSphere AI voice agent in your browser — 60 seconds, no signup.
<Response>
<Connect>
<Stream url="wss://edge-us-east.yourapp.com/twilio">
<Parameter name="fallback" value="wss://edge-us-west.yourapp.com/twilio"/>
</Stream>
</Connect>
</Response>
A /health endpoint that returns 200 when the container is up is useless. The useful one returns 200 only when the pod can reach the OpenAI Realtime API, the DB, and Redis in the last 10 seconds.
@app.get("/health")
async def health():
try:
await asyncio.wait_for(openai_ping(), timeout=2)
await asyncio.wait_for(db_ping(), timeout=2)
await asyncio.wait_for(redis_ping(), timeout=2)
return {"ok": True}
except Exception:
return Response(status_code=503)
Kill pods, drop carriers, throttle the LLM — monthly. If you have not tested a failure mode, you will discover it on a Tuesday at 3am.
CallSphere runs an active/standby model across two regions for its voice plane. The OpenAI Realtime API (gpt-4o-realtime-preview-2025-06-03) is called through circuit breakers; when they trip, inbound calls are routed to a backup flow that apologizes, logs the failure, and offers an SMS callback. Health checks validate live connectivity to OpenAI, Twilio, and the per-vertical Postgres instances before a pod is marked ready.
The multi-agent verticals — 14 healthcare tools, 10 real estate agents, 4 salon agents, 7 after-hours escalation tools, 10 plus RAG IT helpdesk tools, and the 5-specialist ElevenLabs sales pod — share the same failover plane. The OpenAI Agents SDK handles mid-call specialist handoffs and survives region failover as long as the Twilio leg stays up. CallSphere supports 57+ languages with sub-second end-to-end latency during normal operation and degrades gracefully during incidents.
99.9% is achievable with sensible failover; 99.99% requires active/active and a lot of testing.
Circuit breakers and load shedding.
Still reading? Stop comparing — try CallSphere live.
CallSphere ships complete AI voice agents per industry — 14 tools for healthcare, 10 agents for real estate, 4 specialists for salons. See how it actually handles a call before you book a demo.
Usually no — you end the current call cleanly and let the next one route to the standby region.
Keep it low (30-60s) on endpoints you need to fail over quickly.
Use network policies to block traffic to the primary region from a canary client.
Want a voice agent that keeps answering during incidents? Book a demo, read the technology page, or see pricing.
#CallSphere #Reliability #Failover #SRE #VoiceAI #CircuitBreakers #AIVoiceAgents
Written by
Sagar Shankaran· Founder, CallSphere
Sagar Shankaran is the founder of CallSphere, where he builds production AI voice and chat agents deployed across healthcare, hospitality, real estate, and home services. He writes about agentic AI, LLM engineering, and shipping voice agents that handle real calls in production.
See how AI voice agents work for your industry. Live demo available -- no signup required.
A how-to for Colombian education and tutoring SMBs to answer parents and students instantly, book trial classes 24/7 in Spanish and English, and grow enrollment with a CallSphere AI agent.
Tbilisi professional-services firms serving relocating founders and IT companies use CallSphere AI voice and chat agents to answer enquiries 24/7 in English, Georgian and Russian and book consultations.
A practical how-to for Palau eco-resorts and dive operators on capturing every high-value, multilingual enquiry with a CallSphere AI voice and chat agent, while honouring Palau’s marine-conservation commitments.
How salons, spas and wellness SMBs across the UAE, Saudi Arabia and Qatar use CallSphere AI voice and chat agents to capture every booking 24/7 in Arabic, English and expat languages, and cut no-shows.
How estate agents and property managers in Luxembourg City and across the Grand Duchy use CallSphere to capture multilingual viewing and enquiry calls 24/7, GDPR compliant.
A practical guide for Senegalese logistics, freight, legal and consulting SMBs in Dakar and Thiès to capture every enquiry 24/7 with a CallSphere AI voice and chat agent in French, Wolof and English.
© 2026 CallSphere LLC. All rights reserved.
Made within New York
Watch how CallSphere handles real customer calls, schedules appointments, and processes payments — live.
Try Live DemoBook a DemoCalculate Your ROI