Dograh

Gemini Live API on a Phone Line: What Works and What Breaks

Gemini Live API on a Phone Line: What Works and What Breaks
TechnicalNovember 10, 2026·7 min read

Gemini Live API on a Phone Line: What Works and What Breaks

Abhishek Kumar
Abhishek Kumar·Co-founder, Dograh AI

Co-founder of Dograh, building the future of open-source voice AI agents. Own your voice AI stack.

Gemini Live works on a phone line once a bridge carries the call, because Google offers only a WebSocket. Expect 8 kHz audio upsampled to 16 kHz, connections that renew about every 10 minutes, and tool calls that can fire before a caller's correction. Dograh, the open-source AI voice agent platform, runs Gemini 3.8 Live, self-hosted or on Dograh Cloud.

Key Takeaways

  • Google offers no SIP, so a bridge carries every Gemini Live phone call.
  • Gemini 3.1 Flash Live is scheduled to shut down. Start on 3.8 Live.
  • Test caller corrections. A benchmark caught Gemini searching for the old city.

This post is part of our guide to speech-to-speech voice AI for phone calls, where Gemini Live reaches phones only through a media bridge. Below, we cover how the audio gets there, what breaks on long calls, tools and languages, and how Dograh runs it.

How Gemini Live reaches a phone line

Google documents Gemini Live as a stateful WebSocket and offers no SIP address, so a phone call needs a bridge between the carrier and the model. The bridge takes the carrier's 8 kHz audio, usually the mu-law phone codec, and turns it into the raw audio Gemini expects. The Gemini Live API takes 16 kHz audio in natively and always answers at 24 kHz, so the reply is stepped back down to 8 kHz on the way out.

The caller's 8 kHz phone audio passes a bridge and reaches Gemini Live as 16 kHz, and Gemini's 24 kHz reply passes the bridge again and returns to the caller as 8 kHz.
Changing the rate cannot repair a phone call, so an agent tested only in a browser demo, which runs at 16 kHz, can mishear names, postcodes and spelled emails on a real line. Test with real mobile and landline calls before launch.

That conversion fixes only the format. The phone line has already cut the higher sounds that tell "f" from "s", and upsampling cannot put them back. Names, postcodes and spelled emails suffer first, and our post on phone audio quality explains why. Test with real mobile and landline calls, because a browser demo runs at 16 kHz.

Turn-taking runs on Google's side. Automatic voice activity detection decides when the caller has finished, with settings for start and end sensitivity and silence length. Google's server waits about 800 ms of silence by default and suggests 500 to 800 ms. When the caller talks over the agent, the reply in progress is cancelled and thrown away.

Long calls and session limits

Gemini Live sessions are short by phone standards. Google's session management guide caps an audio-only session at 15 minutes without context window compression, and a single connection lasts about 10 minutes. Google sends a GoAway message before it closes a connection, and a resumption token lets a new connection pick up the same session for up to 2 hours.

So any call that might run past 10 minutes needs resumption, and past 15 minutes it also needs compression switched on. A claims intake or a support call can pass both. If your bridge ignores the GoAway, the caller hears the agent drop mid-sentence.

Dograh adds one more reconnect of its own. Gemini Live cannot change its instructions mid-session, so when the call moves to a new node with a new prompt and tools, Dograh opens a fresh connection seeded with the conversation so far. If the agent is speaking, the switch waits until it finishes. Session length also drives cost, which our breakdown of Gemini Live API pricing works out per call minute.

Dograh

Open Source Alternative to Vapi / Retell

Self-hosted voice agent platform — no per-minute fees

dograh-hq/dograh

Star on GitHub

Tool calls: what works and what breaks

The two Gemini Live models handle tools differently. Gemini 3.8 Live supports both synchronous and asynchronous function calls, where the model keeps talking while the tool runs and the result arrives with a scheduling choice: interrupt the speech, wait until idle, or add it silently. Gemini 3.1 Flash Live is synchronous only, and the Live API tool guide says it pauses until you send the tool response. Neither runs your tools for you.

Benchmarks show where it breaks. In Full-Duplex-Bench v3, a research test of tool calls with natural, hesitant speech, Gemini Live 3.1 was the fastest system at 4.25 seconds. It also took its turn in only 78.0% of examples. In one published example, it fired its flight search early and kept Rome after the speaker changed the city to Milan.

The silent cases matter more on a phone call. In 22% of examples Gemini Live 3.1 said nothing at all, yet in 86% of those silent cases it still ran tool calls. A caller would hear dead air while a booking changed behind the scenes. These are the benchmark's examples, and your own calls will differ, but they show what to test.

Reasoning helps. On Artificial Analysis's tau-Voice, a set of customer-service tasks that need tools, standard Gemini 3.8 Live scores 30.1% and Gemini 3.8 Live Extended Thinking (High) 68.6%. Our post on speech-to-speech tool calling covers how to confirm a value before a tool acts on it.

Languages and voices on a phone call

Google lists 99 languages for the Live API as a whole rather than per model, so check your language on a real call before you rely on it. In Dograh the language field for Gemini Live offers 25 language codes, from Arabic and Bengali to Turkish and Vietnamese, plus a custom value for anything else. English is the default.

The voices on offer are Puck, Charon, Kore, Fenrir and Aoede, with Puck as the default. Each sounds different at 8 kHz than in a browser, so pick one after a phone test. A native audio model also has no speech-to-text step where you could pass a list of brand words, so if your callers say product names or codes the model keeps mishearing, a cascade agent is the better fit.

Join the Dograh Community

Dograh is an OSS alternative to Vapi. Join our Slack community for queries, releases, best practices & community interactions.

Running Gemini Live in Dograh

Dograh runs Gemini 3.8 Live as a built-in Realtime option, on your own Google AI Studio key. You add the key under Providers, then create a Realtime model configuration with Gemini Live and pick it in the agent's Settings. Gemini 3.1 Flash Live is scheduled to shut down on 17 November 2026, according to Google's deprecation schedule, so new agents should use 3.8.

If audio must stay in one region, use Gemini Live on Vertex AI with the eu or us location, which keeps processing inside that geography. The global location gives no such promise. A Realtime configuration also takes a separate language model for extracting variables and running QA after the call. Self-hosted Dograh has no per-minute platform fee, but servers, model keys and phone minutes still cost money. Dograh Cloud charges a 1¢-a-minute platform fee. Gemini's tokens bill to your own Google account.

Dograh holds the Gemini connection until the agent's instructions are ready, so values from Pre-Call Data Fetch are in place before the first word. Fixed lines need care, because typed transition and tool lines do not play on speech-to-speech agents. Use recordings for anything that must sound the same every time.

Some steps need a cascade agent. Handing the call to another agent refuses on Gemini Live and tells the agent to keep helping, as the Transfer Agent page describes, while Transfer Call to a person still works on Twilio, Telnyx, Plivo, Cloudonix and Asterisk ARI. Each agent chooses its own configuration, so a support line can run on Gemini 3.8 Live and a booking line on a cascade.

Glossary

Resumption token
A token Gemini Live hands out so a new connection can continue the same session, valid for up to 2 hours. A phone call longer than about 10 minutes needs it, or the agent drops when the connection closes.
Context window compression
A Gemini Live setting that trims older conversation as the session grows. Without it, an audio-only session stops at 15 minutes.
Asynchronous function call
A tool call where Gemini 3.8 Live keeps talking while your code runs the tool, then takes the result in by interrupting, waiting until idle or adding it silently. Gemini 3.1 Flash Live pauses on every call instead.
GoAway message
Google's warning that a Gemini Live connection is about to close. A phone bridge that ignores it lets the agent cut out mid-sentence instead of resuming on a new connection.

Frequently Asked Questions

Get started with Dograh

Build, deploy, and scale AI agents with Dograh. Join the community of developers building the future.