Hey everyone
I’ve built an outbound voice call agent using n8n + Twilio + Ultravox. Here’s how it works:
- I’m fetching phone numbers from Google Sheets.
- Using Twilio’s API, a call is made to the number with a TwiML that connects to the Ultravox WebSocket URL.
- Before that, I trigger a POST request to Ultravox’s /api/calls endpoint to get the joinUrl.
- Everything seems to work:
- The call does come through to the recipient.
- Ultravox detects the connection and logs the conversation attempt.
- Its system prompt and first message also show in Ultravox logs.
BUT — on the actual phone call:
- I can’t hear Ultravox saying anything.
- Ultravox doesn’t receive what I speak either (no response or logs based on input).
So basically, the call connects, but bi-directional audio is completely broken .
I’ve double-checked:
- Audio sample rates are 8000 Hz (as expected for Twilio).
- WebSocket config seems fine in Ultravox’s payload.
- Twilio call is hitting the right TwiML with the stream.
Attaching screenshots from Ultravox showing that it detects the call and initial message is sent.
Would really appreciate any insights — is this an issue with Twilio’s stream setup, n8n handling, or Ultravox config?
Thanks in advance