Overview
Ultravox in VoxEngine
Benefits
Voximplant includes a native Ultravox connector so you can bridge live phone calls to Ultravox’s WebSocket API with minimal setup.
Note
Ultravox also has a direct SIP integration with Voximplant, which makes it easy to bring PSTN/SIP calls into Ultravox from Voximplant’s telephony stack. See the Voximplant announcement and Ultravox SIP docs for details: https://voximplant.com/blog/ultravox-adds-sip-to-its-voice-ai-services-using-voximplant
Architecture
A VoxEngine scenario answers or places a call, creates an Ultravox WebSocket session, and bridges audio both ways via VoxEngine.sendMediaBetween.
Development notes
- Native VoxEngine module: load with
require(Modules.Ultravox)and create aUltravox.WebSocketAPIClientviaUltravox.createWebSocketAPIClient(...). - Session setup: choose
Ultravox.HTTPEndpoint.CREATE_CALL(orCREATE_AGENT_CALL) and provideauthorizations(for exampleX-API-Key) plus a requestbodywithsystemPrompt,model, andvoice. - Audio bridge: connect the call and Ultravox using
VoxEngine.sendMediaBetween(call, voiceAIClient). - Transcripts:
Ultravox.WebSocketAPIEvents.Transcriptcontainsroleplustext/deltafields; use it for logging and barge‑in logic. - Tool invocations: handle
Ultravox.WebSocketAPIEvents.ClientToolInvocationand respond withvoiceAIClient.clientToolResult(...). - Barge‑in: call
voiceAIClient.clearMediaBuffer()when you detect user speech or when the server requests buffer clearing.
Examples
Links
Voximplant
- Ultravox SIP integration announcement: https://voximplant.com/blog/ultravox-adds-sip-to-its-voice-ai-services-using-voximplant
- Voice AI product overview: https://voximplant.ai/
Ultravox
- Voximplant integration guide: https://docs.ultravox.ai/integrations/voximplant
- SIP integration: https://docs.ultravox.ai/telephony/sip
- Data messages reference (transcripts, tool invocation, etc.): https://docs.ultravox.ai/apps/datamessages