Deepgram's Voice Agent API runs speech, language and voice behind one WebSocket. Bridge it to a Vobiz stream and you have a phone-callable agent on numbers in 130+ countries, reaching 190 — with one vendor for the conversation, one for the line, and no turn-taking logic of your own.
This one is code you run, not a provider you select. Vobiz publishes an open-source reference bridge in Python that joins a Vobiz media stream to Deepgram's Voice Agent API, and you deploy it somewhere Vobiz can reach over HTTPS and WSS — a tunnel is fine while you are building. Two values are required to configure it. Everything else ships with a working default.
Why this pairing
Two vendors, not five
Most voice agents are an assembly job: a speech-to-text vendor, a language model, a text-to-speech vendor, and your own code deciding when the caller has finished talking. Every seam is a place where latency accumulates and turn-taking goes wrong. Deepgram collapses that into a single API — speech, language and voice behind one WebSocket, with turn-taking and interruption handling built in, on one API key and one bill.
What is left is the phone leg. Vobiz provides the numbers and carries the audio, and publishes the bridge that joins the two, so you end up with a working phone agent, two vendors and source code you own.
Deepgram owns
Speech recognition and end-of-turn detection
The language model, managed and billed by Deepgram
Voice synthesis and expression
Turn-taking, interruption and conversation state
Region selection for the agent endpoint
Per-turn latency reporting across the pipeline
Vobiz owns
Phone numbers and instant provisioning
Placing and receiving the call itself
The bidirectional audio stream to the bridge
Playback control: flush, checkpoint, confirmation
Call detail records and quality telemetry
Local regulatory compliance, including India KYC
What you get
A phone agent with two vendors
The bridge is a thin relay. Deepgram owns the conversation, Vobiz owns the call, and the code between them is yours.
01
One key for the whole conversation
Speech-to-text, the language model and text-to-speech run behind a single Deepgram WebSocket. No separate speech vendor, no separate voice vendor, and no separate model provider key — Deepgram manages the model connection and bills it through your account.
02
The bridge is published, and it is yours
An open-source Python reference implementation, maintained by Vobiz, with the whole protocol handled: format negotiation, frame slicing, barge-in, checkpoints and the Vobiz control messages. Two required values to configure. Fork it, deploy it, change what you need.
03
Numbers in 130+ countries
Local, mobile and toll-free inventory across 130+ countries, with outbound reach to 190, including regulated formats where a market demands them — India's 140-series and 1600-series among them. Inbound and outbound both run through the same bridge.
04
Interruption that actually interrupts
When a caller talks over the agent, Deepgram signals it and the bridge tells Vobiz to flush whatever is still buffered, then waits for confirmation before the next reply starts. Without both halves the agent either keeps talking over the caller or starts its next sentence mid-word.
05
Knowing the caller actually heard it
Sending audio is not the same as playing it. After each turn the bridge asks Vobiz to confirm playback, which is what lets an agent say goodbye and hang up without clipping its own last word — and makes a reply the caller never heard show up in your logs rather than only in the call.
06
Opinionated defaults, one variable to change
The bridge ships configured for a region, a voice and a recognition vocabulary, and a single setting moves all of it. A health endpoint echoes the region, models, voice and audio profile actually in use, so you can confirm what is running rather than what you meant to set.
How it works
Clone, run, call
Two required values, a public endpoint, and a number pointed at it.
Setup
Four steps
01
Clone the repository, create a virtual environment, install the requirements, and copy the example environment file. Fill in your Deepgram API key and the public hostname Vobiz will reach. Everything else has a working default.
02
Start a tunnel if you are developing locally, then start the app. Call the health endpoint to see the resolved answer URL, stream URL, region, models, voice and audio profile before you point a call at it.
03
For inbound, create a Voice Application in the Vobiz Console with your answer URL, then attach a number to it. For outbound, place a call through the Vobiz API with the same answer URL — the bridge does not care which direction the call came from.
04
Dial the number, or answer the outbound call. The bridge prints the conversation as it runs, with a per-turn latency breakdown across recognition, model and synthesis so you can see which stage is costing you time.
The full protocol reference, the troubleshooting table and the deployment notes are in the Vobiz docs.
Code you run. Unlike an integration where you select a provider in someone's dashboard, this is a reference bridge that Vobiz publishes as open source. You deploy it on an endpoint Vobiz can reach over HTTPS and WSS, and it relays audio between the call and Deepgram's Voice Agent API.
No. Deepgram's Voice Agent API runs all three behind one WebSocket and manages the model provider connection itself, so a single Deepgram API key covers recognition, the language model and synthesis. There is no separate model provider key and no second bill.
You can provision numbers in 130+ countries and place outbound calls to 190. Where a market has its own number formats or registration rules, Vobiz issues under them rather than routing around them — India's 140-series and 1600-series numbers, for example, alongside local, mobile and toll-free inventory elsewhere. The bridge's region, voice and vocabulary defaults are set in one place and take one variable to move.
It can understand them, but it replies in English. Deepgram recognises Hindi including mid-sentence code-switching, and a wider set of Indic languages through a second model, but every available voice on this path is an English model — the Indian character comes from an Indian-accented English voice rather than the language. Feeding a non-English script to one of those voices degrades the audio, so keep replies in English.
Yes, and properly. Deepgram detects the caller speaking over the agent and signals it; the bridge then tells Vobiz to discard the audio it has already buffered and holds the next reply until that flush is confirmed. That second half is what stops the following sentence from starting mid-word.
Yes. The repository includes a mock client that speaks the media-stream protocol against your running bridge, answers playback checkpoints the way Vobiz would, and reports the audio formats, frame count and time to first audio. Read its printed output rather than its exit code — it confirms that audio came back, not that the format matched.
Deepgram builds speech-to-text, text-to-speech and voice agent APIs. Vobiz is not affiliated with Deepgram; this integration uses Deepgram's public Voice Agent API.
We use cookies to run this site and, with your permission, to understand how it's used. Read our Cookie Policy.