Project: p_28p40lg2rr7 (Nerro.si), agent nerro-voice-worker
Inbound calls via our LiveKit native phone number connect fine (room created, SIP participant joins, STT transcribes the caller correctly), and our agent’s TTS output track publishes successfully and shows as active/unmuted in the room, but the caller never hears any audio.
Confirmed via the Cloud dashboard’s own session view: the agent participant’s connection consistently shows Location: Brazil (9 of the last 14 sessions), while the SIP participant and the room itself are correctly anchored to US Central A. Our worker runs on Fly.io in ord (Chicago); this has also reproduced running locally from a US machine, so it isn’t our hosting location.
Ruled out so far (each confirmed fixed/changed, symptom unchanged)
- A RecorderIO audio-output wrapping bug on our end (fixed by passing record: false to session.start())
- An invalid TTS voice id causing silent provider fallback to a different provider than requested (fixed, confirmed exact model now requested via live debug logs)
-
- Using LiveKit’s own Inference TTS gateway at all (switched to the direct @livekit/agents-plugin-deepgram plugin, no change)
-
- Signaling connection to the generic anycast URL vs the region-pinned *.ochicago1a.production.livekit.cloud host (no change, still shows Brazil)
- Sample affected rooms: RM_d6hynW3ojvF3, RM_FcMJpHQqvif8, RM_fRBgsacEXdkh, RM_F3Pt2q3dyXNG (job IDs attached to each in the dashboard).
- Can anyone help check why the agent’s media path is routing through a Brazil relay instead of US Central A, and whether that’s breaking the return audio path to the SIP leg? Happy to share more session IDs or logs as needed.