Intermittent silent calls: cross-region media routing failure between Germany and UK SIP bridge (30s BYE, agent audio in recording but no client audio)

Summary

We have an intermittent issue where outbound SIP calls via Telnyx connect successfully (200 OK + ACK) but result in complete silence on both sides. After exactly 30 seconds, LiveKit sends a BYE. This affects roughly ~20-30% of calls.

Environment

  • LiveKit Cloud, agent region: Germany 2

  • LiveKit Agents Python SDK v1.5.1

  • Outbound SIP via Telnyx SIP trunk (ST_6dgHBGXUtiah)

  • Agent: OpenAI STT + ElevenLabs TTS (eleven_multilingual_v2) + Silero VAD + GPT-4o-mini

  • Agent running on-premises (Spain)

Smoking gun: Room composite egress recording

We configured room composite egress (audio only, OGG) to S3. On a failed call (egress EG_WCJWkRzXcuqS, room RM_xwh7gRyrNQzH), the recording contains the agent’s greeting audio but complete silence where the client’s audio should be. The agent was speaking — it just never reached the client, and the client’s audio never reached the room.

Cross-region observation

From the LiveKit dashboard for every failed call:

agent-AJ_xxx   →  Location: Spain   →  Region: Germany
cliente_+346xx →  Location: Unknown →  Region: UK

On successful calls, both participants land in the same region. On failed calls, the agent is in Germany and the SIP bridge lands in the UK region. We believe the bidirectional media relay between Germany and UK edges fails intermittently.

SIP PCAP analysis (Telnyx-side, two failed calls)

Both PCAPs show identical behavior:

  1. Normal INVITE/407/re-INVITE/100/180/183/200 OK/ACK sequence

  2. 183 Session Progress includes SDP with early media (FreeSWITCH at 50.114.149.30 or 50.114.144.15)

  3. 200 OK uses identical SDP as 183 (same IP, same port)

  4. BYE sent by LiveKit (User-Agent: LiveKit) exactly 30.000 seconds after the ACK

Example from RM_xwh7gRyrNQzH (2026-04-27):

11:18:55.216 → ACK sent by LiveKit
11:19:25.218 → BYE sent by LiveKit (User-Agent: LiveKit)
Delta: 30.002 seconds

LiveKit dashboard confirms:

13:19:25 → cliente_+34675334481 Participant left (CLIENT_INITIATED)

Interpretation

The room composite egress (running on Germany edge) captures the agent’s audio because the agent is local to Germany. The client’s audio (SIP bridge on UK edge) never makes it to Germany via the inter-region relay. The UK SIP bridge’s 30-second no-media timer fires, sends BYE, and LiveKit reports it as CLIENT_INITIATED.

Failed room IDs for investigation:

  • RM_xwh7gRyrNQzH (egress EG_WCJWkRzXcuqS — has recording)

  • RM_8qhE9M8gac6N

  • RM_6uHSaHCPGXqe

  • RM_SCBFZwZBL57j

Questions

  1. Is there a known issue with inter-region media relay between Germany 2 and UK?

  2. Is there a way to pin the SIP trunk/bridge to a specific region (Germany) to avoid cross-region routing?

  3. Why does the early media (183) → answered (200 OK) transition coincide with the failure window?

Here you can check the mentioned PCAPs from Telnyx and JSON: Related PCAPs and JSON for Intermittent silent calls problem · GitHub

UPDATE — LiveKit-side PCAP obtained (room RM_xwh7gRyrNQzH):

The LiveKit PCAP (which can be downloaded here Sign in | LiveKit Cloud or here https://drive.google.com/file/d/1XjFzo5EyoSYHt0hyK7qX-rmb8R1K0fKE/view?usp=sharing) confirms the SIP bridge IS sending RTP to Telnyx starting 59ms after ACK (G.711 PCMA, 20ms frames, continuous sequential stream from 10.0.38.47:5936050.114.148.52:30902). This rules out “no outbound RTP” as the cause.

However, the capture shows only outbound direction (LiveKit->Telnyx). No inbound RTP (Telnyx->LiveKit) is visible. The RTP payload is not captured (56 of 216 bytes per packet), so we cannot confirm whether the outbound frames contain actual agent speech or silence.

Given the room composite egress captures agent audio (Germany) but not client audio, our working hypothesis is: the SIP bridge (UK) is transmitting RTP frames to Telnyx but with silent content, because the cross-region Germany->UK relay for the agent’s audio track is failing. Simultaneously, the client’s audio (Telnyx->UK SIP bridge) is not reaching the Germany room, triggering the 30s no-media BYE.

Question: Is there a known issue with inter-region audio track relay in LiveKit Cloud? Can we force the SIP bridge to prefer the same region as the agent (Germany)?