FEATURES

Built for Realtime AI Voice on FreeSWITCH

mod_realtime_ai handles realtime audio, provider connectivity and session lifecycle
required to bring speech-to-speech AI directly into FreeSWITCH calls.

01 NATIVE FREESWITCH MODULE
FreeSWITCH mod_realtime_ai
$ uuid_realtime_ai <uuid> start sales
NATIVE INTEGRATION

Realtime AI Directly Inside FreeSWITCH

mod_realtime_ai is built as a native FreeSWITCH module. It captures call audio, connects the session to the selected realtime AI provider and plays generated speech back into the call without requiring a separate audio bridge service.

  • Per-call control through uuid_realtime_ai
  • Audio capture and playback integrated with the FreeSWITCH media path
  • Start, stop and interruption control from your existing call logic
02 SUPPORTED PROVIDERS
OpenAIGoogle GeminiElevenLabsAzure Voice Live
MULTIPLE PROVIDERS

One FreeSWITCH Interface. Multiple Realtime AI Providers.

Use OpenAI, Google Gemini, ElevenLabs or Azure Voice Live through the same FreeSWITCH module. Provider-specific protocol handling stays inside mod_realtime_ai, so your call logic does not need to be redesigned when you select a different provider.

  • Provider-specific realtime transport and event handling
  • Consistent FreeSWITCH-side control across supported providers
  • Select the provider through a reusable profile
03 FULL-DUPLEX AUDIO
FreeSWITCHCaller audio →
← AI audio
AI Provider
REALTIME AUDIO

Full-Duplex Speech-to-Speech Audio

Caller audio is streamed to the AI provider while generated audio is returned and played into the FreeSWITCH call. Both directions are handled as part of the same realtime session for natural conversational voice applications.

  • Realtime caller audio streaming to the selected provider
  • AI-generated speech played directly back to the caller
  • Accurate barge-in with playback-aware provider synchronization where supported
04 AUTOMATIC RESAMPLING Channel Rate
⇄
Provider Rate
handled inside the module
AUDIO CONVERSION

Automatic Sample-Rate Handling

Telephony audio and realtime AI services do not always operate at the same sample rate. mod_realtime_ai automatically converts audio between the FreeSWITCH channel rate and the rate required by the selected provider.

  • Automatic input and output audio resampling
  • Provider audio requirements handled inside the module
  • No external resampling service required
05 PROFILE-BASED CONFIGURATION
<profile name="sales">
  <param name="provider" value="openai"/>
  <param name="config" value="sales.json"/>
</profile>
$ uuid_realtime_ai <uuid> start sales
PROFILES & CONFIGURATION

Configure Once. Select per Call.

Define reusable profiles for different providers, applications and AI configurations. FreeSWITCH only needs the profile name when the realtime session starts, keeping provider configuration separate from your call logic.

  • Named profiles for sales, support and other workflows
  • Provider-specific session settings remain in native JSON configuration files
  • Change provider or configuration without rewriting FreeSWITCH call logic
06 SESSION LIFECYCLE
StartConnectStreamStop
TLS · WebSocket · Concurrent Sessions
BUILT FOR VOICE APPLICATIONS

Session Lifecycle and Transport Handled for You

The module manages the realtime session from connection through audio processing and cleanup. Transport, playback and session state are coordinated inside the module so applications can focus on call flow and AI behavior.

  • Secure WebSocket/TLS provider connectivity
  • Coordinated audio capture, playback and session state
  • Designed for concurrent realtime voice sessions
GET STARTED

Ready to Bring Realtime AI to FreeSWITCH?

Start with the free version, evaluate without channel limits for 30 days, or explore the documentation first.