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

Macarvassl
Wed, 29 Apr 2026 11:28:26 +0000
Telephony

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

2 posts - 1 participant