October 2026
FreeSWITCH · Gemini Live
FreeSWITCH and Google Gemini Live: A Real-World Integration Using mod_audio_streamFreeSWITCH + Gemini Live: A Real-World Integration
A Google Cloud Community tutorial demonstrates a telephone voice agent built with FreeSWITCH, Gemini Live, and mod_audio_stream.
See the original tutorial, then explore how mod_realtime_ai simplifies the direct provider integration.
A practical FreeSWITCH and Gemini Live example
The tutorial illustrates a telephone voice agent architecture that connects FreeSWITCH audio streaming to an application bridge and Gemini Live. In this design, mod_audio_stream provides the FreeSWITCH-side audio streaming interface, while application code handles the connection to the AI agent.
The result is a useful reference for developers who want to understand the individual pieces of a realtime telephone AI system, rather than treating the integration as a black box.
Read the original Google Cloud Community tutorial →
Why use mod_audio_stream?
mod_audio_stream is a FreeSWITCH module for streaming call audio to an external WebSocket service. Its bidirectional capabilities also support returning audio to the call, making it suitable for custom voice AI applications.
This approach gives developers control over their application server, AI orchestration, provider-specific messages, and business logic. It is particularly useful when a project requires a custom protocol bridge or a tailored agent workflow.
That flexibility comes with integration work: the external application still needs to implement the AI provider connection and manage the relevant streaming events.
A more direct approach with mod_realtime_ai
For teams that want to connect FreeSWITCH directly to a supported realtime voice AI provider, mod_realtime_ai offers a different approach. The module includes provider integrations for Google Gemini Live, OpenAI Realtime, ElevenLabs Agents, and Azure Voice Live.
Instead of writing a separate WebSocket bridge for the basic provider connection, developers can configure a provider profile and start a realtime AI session from FreeSWITCH.
This reduces integration code, but it does not automatically replace custom orchestration frameworks or every feature of a Google ADK-based application. Projects that depend on specialized agent workflows may still benefit from a custom bridge built around mod_audio_stream.
Which approach fits your project?
- Choose mod_audio_stream when you want to build and control your own audio streaming application and AI bridge.
- Choose mod_realtime_ai when you want an integrated connection to a supported realtime AI provider with less custom streaming code.
Both approaches have a place in the FreeSWITCH ecosystem. The Google Cloud Community example is a useful illustration of what can be built with the flexible streaming approach.
Explore the projects
See the mod_audio_stream GitHub repository for the streaming module and its documentation. For native realtime voice AI integrations, explore mod_realtime_ai Getting Started and the provider documentation.
Editorial note: This article discusses a publicly available Google Cloud Community tutorial. It does not imply an endorsement, partnership, or production deployment by Google.
← Back to blog