What is voice bot development?
Voice bot development means building an AI phone agent that conducts natural spoken conversations using an STT→LLM→TTS pipeline — speech-to-text converts audio, an LLM generates responses, text-to-speech plays them back — all within 400–600ms. Production voice bots replace human agents for customer service, appointment booking, lead qualification, and outbound calling. Popular platforms: VAPI (managed), LiveKit (open-source/self-hosted), Retell AI, and Bland AI.
VAPI vs LiveKit for voice bots
VAPI is a managed platform best for fast MVP launch (hours to go live), charging $0.05–0.10/minute. LiveKit is open-source and self-hostable — best for HIPAA, custom LLMs, and scale economics. LiveKit costs infrastructure only (no per-minute fee).
Voice Bot Development:
Complete 2026 Guide — STT→LLM→TTS,
Platform Comparison & SIP Integration
Everything you need to build a production AI voice bot: pipeline architecture, VAPI vs Retell vs LiveKit vs Bland AI comparison, latency optimisation to under 500ms, Asterisk & FreeSWITCH integration, HIPAA compliance, and real-world development costs — from a team that has shipped 25+ AI voice bots.
Kaushik Parmar
Founder & VoIP Architect, CelloIP Technologies
25+
Bots Deployed
<500ms
Target Latency
8
Industries Served
100%
Source Code Yours
What Is a Voice Bot?
A voice bot — also called an AI phone agent, conversational AI bot, or AI voice agent — is a system that conducts natural spoken phone conversations without any human involvement. The caller speaks naturally in any sentence structure; the bot understands them, processes the query in real time, and responds with human-like speech within 400–600 milliseconds.
Modern voice bots have fundamentally replaced the rigid DTMF-based IVR trees that defined phone automation since the 1990s. Instead of "Press 1 for billing, Press 2 for support," a voice bot says "How can I help you today?" — and actually understands the answer, regardless of how the caller phrases it. They handle interruptions, hold context across multi-turn conversations, access live databases via APIs, and escalate to human agents when the situation requires it.
Natural Language
Understands free-form speech, accents, and colloquial phrasing — not just predefined phrases or keywords.
Context Awareness
Maintains conversation history across multiple turns. Remembers what the caller said 3 exchanges ago.
Live API Access
Looks up orders, bookings, accounts, and databases in real time to give accurate, personalised answers.
Barge-In Support
Stops mid-response when the caller interrupts — just like a human would, no awkward robotic pauses.
Human Escalation
Detects frustration, complex queries, or explicit requests and warm-transfers to a live agent seamlessly.
24/7 Operation
Handles thousands of simultaneous calls at any hour without staffing costs or quality degradation.
Voice Bot Architecture: The STT→LLM→TTS Pipeline
Every production voice bot is built on three core pipeline stages processing audio in real time. Each stage must stream its output to the next — waiting for completion before passing results is the single biggest source of unacceptable latency.
Caller
Speaks naturally over phone
Stage 1 — STT
Deepgram Nova-2 · 200–300ms
StreamingStage 2 — LLM
GPT-4o · Claude 3.5 · 150–300ms
Token streamingStage 3 — TTS
ElevenLabs · Cartesia · 150–250ms
Audio streamingLiveKit Agents SDK — Complete STT→LLM→TTS voice bot (Python)
import asyncio
from livekit.agents import AutoSubscribe, JobContext, WorkerOptions, cli
from livekit.agents.voice_assistant import VoiceAssistant
from livekit.plugins import deepgram, openai, elevenlabs, silero
async def entrypoint(ctx: JobContext):
await ctx.connect(auto_subscribe=AutoSubscribe.AUDIO_ONLY)
assistant = VoiceAssistant(
vad=silero.VAD.load(), # Voice Activity Detection
stt=deepgram.STT(model="nova-2"), # Stage 1: Speech-to-Text
llm=openai.LLM(model="gpt-4o"), # Stage 2: Language Model
tts=elevenlabs.TTS(voice_id="your-voice-id"), # Stage 3: Text-to-Speech
chat_ctx=openai.ChatContext().append(
role="system",
text="You are a helpful customer service agent for Acme Corp. "
"Keep responses concise — under 2 sentences. Be friendly.",
),
allow_interruptions=True, # Barge-in enabled
interrupt_speech_duration=0.5, # 500ms speech = interruption
)
assistant.start(ctx.room)
await asyncio.sleep(1)
await assistant.say("Hello! How can I help you today?", allow_interruptions=True)
if __name__ == "__main__":
cli.run_app(WorkerOptions(entrypoint_fnc=entrypoint))STT Comparison: Best Speech-to-Text APIs for Voice Bots
The STT layer is where most latency problems originate. Use batch APIs and your bot will sound robotic with 1–2 second pauses. Always use streaming STT — transcribing audio chunks in real time as the caller speaks.
| Provider | Latency | Accuracy | Cost | Best For |
|---|---|---|---|---|
| Deepgram Nova-2 | 200–300ms | ★★★★★ | $0.0043/min | Production streaming, low latency |
| OpenAI Whisper Large V3 | 400–600ms | ★★★★★ | $0.006/min | Accuracy-critical, multilingual |
| AssemblyAI Universal-2 | 300–450ms | ★★★★☆ | $0.0062/min | Speaker diarization, sentiment |
| Google Speech-to-Text | 250–400ms | ★★★★☆ | $0.004/min | GCP stack, 125+ languages |
| Whisper (self-hosted) | 100–200ms | ★★★★★ | GPU infra only | HIPAA, full data control |
CelloIP recommendation: Deepgram Nova-2 for most production bots. It offers the best balance of latency (200–300ms) and accuracy, with native streaming WebSocket API, automatic punctuation, and smart formatting. Use self-hosted Whisper only for HIPAA deployments where zero data leaves your infrastructure.
TTS Comparison: Best Text-to-Speech for Voice Bots
TTS quality defines whether your bot sounds like a human or a robot. The gap between ElevenLabs and older TTS engines is dramatic. Use sentence-level streaming: synthesise and play the first sentence while the LLM is still generating the second.
| Provider | Latency | Voice Quality | Cost | Best For |
|---|---|---|---|---|
| ElevenLabs Turbo v2.5 | 200–350ms | ★★★★★ | $0.18/1K chars | Most human-like, emotional range |
| Cartesia Sonic | 150–250ms | ★★★★☆ | $0.065/1K chars | Lowest latency, consistent tone |
| OpenAI TTS | 250–400ms | ★★★★☆ | $0.015/1K chars | Cost-effective, 6 voices |
| Google Cloud TTS | 200–350ms | ★★★★☆ | $0.004/1K chars | Lowest cost, WaveNet/Studio |
| XTTS (self-hosted) | 80–150ms | ★★★☆☆ | GPU infra only | Custom voice cloning, HIPAA |
VAPI vs Retell AI vs LiveKit vs Bland AI: Platform Comparison 2026
Four platforms dominate the voice AI market in 2026. Where previously you had to stitch together Twilio, a custom WebSocket server, Deepgram, OpenAI, and ElevenLabs from scratch — taking months — you can now launch a working voice bot in hours. But each platform makes different trade-offs between speed, cost, control, and compliance.
VAPI
Best for MVPs & Speed
$0.05–0.10/min
Latency: 400–600ms
Best for: Startups, MVPs, fast launch
LiveKit
Best for Enterprise & HIPAA
Infra cost only
Latency: 300–500ms
Best for: HIPAA, on-premise, scale
Retell AI
Best for Outbound Campaigns
$0.07–0.12/min
Latency: 450–650ms
Best for: Outbound calls, simple IVR replacement
Bland AI
Best for High-Volume Outbound
Custom enterprise
Latency: 400–600ms
Best for: Enterprise high-volume outbound
Full Feature Comparison
| Feature | VAPI | LiveKit | Retell AI | Bland AI | Custom Build |
|---|---|---|---|---|---|
| Open Source | No | Yes ✓ | No | No | Yes ✓ |
| Self-Hostable | No | Yes ✓ | No | Partial | Yes ✓ |
| HIPAA BAA | Enterprise | Self-host ✓ | Enterprise | Enterprise | Yes ✓ |
| Custom LLM | Partial | Any ✓ | No | No | Any ✓ |
| SIP/PSTN | Yes | Yes ✓ | Yes | Yes | Yes |
| Cost/minute | $0.05–0.10 | Infra only ✓ | $0.07–0.12 | Enterprise | Infra only ✓ |
| E2E Latency | 400–600ms | 300–500ms ✓ | 450–650ms | 400–600ms | 300–500ms ✓ |
| Voice Cloning | Limited | Yes (XTTS) | Limited | Yes | Yes ✓ |
| Outbound Dialing | Yes | Yes | Yes ✓ | Yes ✓ | Yes |
| WebSocket API | Yes | Yes ✓ | Yes | Yes | Yes ✓ |
| Time to Launch | Hours | Days | Hours | Weeks | 8–16 weeks |
Latency Optimisation: Achieving <500ms Response Time
Callers tolerate up to 700ms of silence before a response feels unnatural. Beyond that, they assume the call dropped or that the bot didn't understand them. Sub-500ms is the production target — and it's achievable with these techniques:
Stream STT in real-time
Use Deepgram's streaming API. Don't wait for end-of-utterance — start LLM inference as soon as confidence is high enough.
LLM streaming (token-by-token)
Send each LLM token to TTS immediately. Don't wait for the full response. First audio byte should play before LLM finishes.
TTS with sentence-level streaming
Split LLM output at sentence boundaries. Begin synthesising and playing the first sentence before the second is generated.
Co-locate all services
Run STT, LLM inference, TTS, and your bot server in the same AWS/GCP region. Every 100ms of network hop adds to end-to-end latency.
VAD-based turn detection
Use Silero VAD instead of silence timers. Detect end-of-speech in <100ms without misclassifying pauses mid-sentence.
Pre-warm your LLM
Keep a persistent LLM session open. Cold-start GPU memory allocation adds 200–400ms to the first response.
Latency Budget: Sequential vs Streaming
Integrating Voice Bots with Asterisk & FreeSWITCH
For enterprise deployments, voice bots must integrate with your existing telephony infrastructure — typically Asterisk or FreeSWITCH. All major platforms (VAPI, Retell, LiveKit) expose a SIP endpoint. Your PBX routes calls to that SIP URI instead of an agent extension.
Asterisk extensions.conf — Route DID to VAPI voice bot
[from-pstn] exten => +12025551234,1,NoOp(Route to AI voice bot) same => n,Answer() same => n,Dial(PJSIP/+12025551234@vapi-bot,60) same => n,Hangup() ; PJSIP endpoint — pjsip.conf [vapi-bot] type=endpoint transport=transport-udp context=from-vapi disallow=all allow=ulaw allow=alaw aors=vapi-bot-aor [vapi-bot-aor] type=aor contact=sip:sip.vapi.ai:5060
LiveKit SIP dispatch rule (CLI) — Route inbound calls to agent
# 1. Create SIP trunk in LiveKit lk sip inbound create \ --name "asterisk-inbound" \ --numbers "+12025551234" # 2. Create dispatch rule — route to voice bot room lk sip dispatch create \ --rule-type individual \ --room-prefix "call-" \ --trunk-id YOUR_TRUNK_ID # 3. Point Asterisk at LiveKit SIP endpoint ; pjsip.conf [livekit-sip] type=endpoint host=sip.livekit.cloud port=5060 allow=ulaw,alaw,opus
End-to-End SIP Architecture
Voice Bot Use Cases by Industry
Voice bots deliver the highest ROI in high-volume, repetitive phone interactions where callers need immediate answers but the interaction doesn't require true human judgment. These are the verticals where CelloIP has deployed production voice bots:
Customer Service
Handle FAQs, order status, returns, account lookups — deflect 60–80% of inbound calls without human agents.
Healthcare
Appointment booking, medication reminders, post-discharge follow-up, triage — fully HIPAA-compliant on self-hosted infrastructure.
Real Estate
Qualify inbound leads, book showings, follow up with prospects — 24/7 without a sales team answering phones.
Finance / Insurance
Payment reminders, loan status, policy renewals, fraud alerts — automated outbound and inbound at enterprise scale.
SaaS / CPaaS
Embed AI phone calling into your product via LiveKit or VAPI SDK — add a phone number to your platform without telephony expertise.
HR & Recruiting
Screen candidates at scale, schedule interviews, collect references — 10× more reach than human recruiters.
HIPAA Compliance & Voice Bot Security
Healthcare, finance, and government voice bots have strict compliance requirements. HIPAA bots cannot send PHI to third-party APIs without a BAA. For full compliance, we use self-hosted infrastructure where no patient data leaves your environment.
HIPAA-Compliant Voice Bot Stack
Encrypted SIP signalling and media transport
Audio never sent to Deepgram or OpenAI APIs
On-premise inference — PHI stays on your servers
Voice synthesis on your infrastructure
Call logs and transcripts encrypted with KMS
Every API call, data access, and call event logged
Compliance Checklist
Using Deepgram or ElevenLabs without a BAA for healthcare calls. Even if audio is encrypted in transit, the vendor still processes PHI. Always confirm BAA availability before selecting a provider for healthcare voice bots.
Voice Bot Development Process
CelloIP follows a fixed 8-week delivery process for standard voice bot projects. HIPAA or multi-language bots add 2–4 weeks. Every project starts with an NDA signed on Day 1.
Discovery & Architecture
Week 1
Define call flows, integration requirements, SIP server audit, LLM selection, NDA signed Day 1.
Pipeline Setup
Week 2
STT + LLM + TTS integrated end-to-end. First working call in a sandbox environment.
SIP / PSTN Integration
Week 3
Asterisk/FreeSWITCH trunk configured. Bot receives and initiates real phone calls.
Business Logic & Flows
Weeks 4–6
All call flows, API integrations (CRM, calendar, database), webhook handlers built.
Latency & Quality Tuning
Week 7
Streaming optimised for <500ms response. Voice quality reviewed. Interruption handling polished.
QA, Load Test & Launch
Week 8
100-call concurrency test, edge cases, failover tested. Production deployment and monitoring configured.
Voice Bot Development Cost & Pricing
Fixed-price milestone contracts. No hourly billing surprises. Pricing depends on platform choice, number of call flows, integrations, and compliance requirements.
MVP Voice Bot
$8,000–$20,000
4–6 weeks
Best for: Startups, proof of concept
Production Bot
$20,000–$40,000
8–12 weeks
Best for: Growth-stage, enterprise
Enterprise / HIPAA
$40,000–$80,000
12–16 weeks
Best for: Healthcare, finance, govt
Hire Voice Bot Developers
CelloIP has shipped 25+ production AI voice bots across healthcare, fintech, real estate, and enterprise. Every project: fixed price, NDA Day 1, full source code handover.
Fixed-Price Project
Defined scope, milestone payments, no surprises. MVP in 4–6 weeks from $8,000.
Get a QuoteDedicated Bot Developer
A full-time senior voice AI engineer embedded in your team. NDA Day 1, IP fully yours.
Hire a DeveloperFrequently Asked Questions
What is a voice bot?
A voice bot (also called an AI phone agent) is a system that conducts natural spoken phone conversations without any human. The caller speaks; the bot transcribes the audio (STT), feeds it to an LLM for understanding and response, converts the reply to speech (TTS), and plays it back — all within 400–600ms. Unlike old IVR trees, voice bots understand free-form speech, handle complex queries, and escalate to humans when needed.
How much does voice bot development cost?
An MVP voice bot on VAPI or Retell AI costs $8,000–$20,000 (4–6 weeks). A custom enterprise voice bot on LiveKit with SIP integration, custom LLM fine-tuning, HIPAA compliance, CRM integrations, and admin dashboard costs $25,000–$60,000 (8–16 weeks). Ongoing cost: $0.05–0.12/minute on managed platforms, or $0.01–0.03/minute equivalent on self-hosted LiveKit at scale.
VAPI vs LiveKit — which should I choose?
Choose VAPI if you need to go live in days, want a fully managed service, and your call volume is moderate. Choose LiveKit if you need HIPAA compliance, want to use custom or self-hosted LLMs, need full data sovereignty, or are at scale where per-minute fees significantly impact margins. LiveKit also gives tighter control over SIP integration with Asterisk and FreeSWITCH.
Can I build a HIPAA-compliant voice bot?
Yes. HIPAA-compliant voice bots require: BAA-signed managed platforms or fully self-hosted infrastructure, on-premise LLM inference (Llama 3 70B or Mistral 8x7B), encrypted audio (TLS + SRTP), zero PHI sent to third-party APIs, and complete audit logging. CelloIP delivers HIPAA voice bots on self-hosted LiveKit + Asterisk for healthcare clients.
How do you integrate a voice bot with Asterisk?
For VAPI/Retell: configure a PJSIP peer in Asterisk pointing at the platform's SIP endpoint, and add a dialplan extension to route your DID to that peer. For LiveKit: configure LiveKit SIP server, create a SIP trunk from Asterisk to LiveKit's SIP URI, and set up dispatch rules in LiveKit to route calls to your agent worker.
What is the latency target for a production voice bot?
Target under 600ms end-to-end. This is the sum of: STT transcription (200–300ms streaming), LLM first token (150–300ms), and TTS first audio chunk (150–250ms). With streaming at every layer and co-located infrastructure, 400–500ms is achievable. Callers begin to notice unnatural silence at around 700ms.
What LLMs work best for voice bots?
GPT-4o is the most capable general-purpose choice with strong instruction following. Claude 3.5 Sonnet handles long context and nuanced conversations well. For on-premise HIPAA deployments, Llama 3 70B (Groq or vLLM) is the best open-source option. For ultra-low latency, Llama 3 8B on Groq achieves <100ms inference.
Can voice bots handle interruptions?
Yes. Production voice bots implement 'barge-in' — when the caller starts speaking mid-response, the bot immediately stops its TTS playback, sends an interruption event to the LLM, and begins listening again. This requires tight WebSocket integration between the media server, VAD, and TTS playback buffer. LiveKit Agents SDK handles this natively.
Ready to build your AI voice bot?
Talk to a Voice AI Engineer