Solution · Voice AI
Inbound voicebots on your PBX.
Native STT, TTS, and turn-taking on top of Asterisk. No SIP gymnastics, no per-minute, no voice-vendor lock-in.
What you replace
Voicebots without renting the voice.
Voicebot SaaS charges per minute and locks you into one vendor stack. Verbara does the opposite.
| Verbara | Vapi | Bland.ai · Retell | Pipecat (OSS) | |
|---|---|---|---|---|
| Open-core | ✓ MIT + Apache | ✗ closed SaaS | ✗ closed SaaS | ✓ Apache |
| Full self-host | ✓ | ✗ | ✗ | ✓ |
| Asterisk-native (no SIP gymnastics) | ✓ AMI/ARI | SIP gateway | SIP gateway | ✗ WebRTC only |
| Multi-tenant | ✓ Pro | ✓ enterprise | ✓ enterprise | ✗ |
| 6 STT + 6 TTS swappables | ✓ 6 STT + 6 TTS | curated | curated | ✓ pluggable |
| OpenAI Realtime bridge | ✓ direct | ✗ | ✗ | ✓ direct |
| Smart Turn + barge-in | ✓ native | ✓ | ✓ | ✓ |
Read the code
A voicebot in 30 lines.
VoiceAgent.cs
using Verbara.Sdk.Ari;
using Verbara.Sdk.VoiceAI;
using Verbara.Sdk.VoiceAI.Stt.Deepgram;
using Verbara.Sdk.VoiceAI.Tts.ElevenLabs;
var ari = new AriClient("http://pbx:8088", "verbara", "secret");
var agent = new VoiceAgent(
stt: new DeepgramStt(apiKey: Env("DEEPGRAM_KEY"), model: "nova-2"),
tts: new ElevenLabsTts(apiKey: Env("ELEVENLABS_KEY"), voice: "Rachel"),
llm: new OpenAiLlm(apiKey: Env("OPENAI_KEY"), model: "gpt-4o-mini"),
options: VoiceAgentOptions.Default with {
SmartTurnDetection = true,
BargeIn = true,
});
await ari.OnStasisStart(async (channel) => {
await channel.AnswerAsync();
await agent.RunAsync(channel);
});
await ari.SubscribeAsync("voicebot"); Verbara.Sdk.VoiceAI — Deepgram + ElevenLabs agent answering an Asterisk call →
FAQ · Voice AI
Builder questions.
-
STT: Deepgram, Google, Whisper, Azure, Cartesia, AssemblyAI, Speechmatics. TTS: ElevenLabs Flash 2.5, Deepgram Aura 2, LMNT, Azure, Cartesia, Speechmatics. Plus a direct bridge to the OpenAI Realtime API. Swappable via configuration, no recompile. -
With Smart Turn detection + Deepgram Nova + ElevenLabs Flash 2.5 + barge-in: ~600ms p95 from human end-of-utterance to first TTS phoneme, measured on dedicated infra at VU 100. Exact latency depends on your infra and upstream LLM. -
You need an Asterisk PBX so the SDK can receive audio (yours, a customer's, or deployed alongside Verbara). If you want voicebots without operating telephony, Tier 3+ SaaS hosted includes managed PBX. -
The voicebot runs on the same runtime as the contact center, so an escalation to a human lands on a real agent using the in-browser WebRTC softphone — no desk phone, no install. And if that agent loses connectivity mid-transfer, presence liveness detects it and fires a priority callback to the customer toward the next live agent. AI voice and human voice share one queue; they are not two products taped together.
Voice AI pricing
Where do you start?
Tier 0 community is free for evaluation with the MIT SDK directly. Tier 0.5 (Pro Developer, free 30 days) for every Pro feature. Tier 1+ when you ship to single-tenant production.
See full pricing →Voicebots without rent.
30-day signed developer license, free. MIT SDK — read it end-to-end before adopting.
Get a developer license →