bright-sugar-29405
04/16/2026, 9:01 PMtall-airline-16756
04/16/2026, 9:01 PMtall-airline-16756
04/16/2026, 9:02 PMallowed_addresses.
• Dispatch rule misconfiguration: ensure the SIP dispatch rule references the correct trunk IDs and routes to the expected room/agent (check room_prefix / room_config.agents).
• Agent worker availability: verify multiple agent worker replicas are running (single worker can miss dispatches under load).
• Agent name / dispatch mismatch: if you use an agent_name, dispatch must explicitly target that name; duplicate `agent_name`s across dev machines can cause routing conflicts.
• Resource/startup problems: ensure the agent process starts fully (secrets/credentials for any AI services set) and the host isn’t resource-constrained.
• Timeouts: look for errors like “room connection was not established within 10 seconds” which point to availability or startup delays.
To investigate quickly, please share:
1. One example call’s timestamps and the agent/room IDs (or a recent error log snippet).
2. Your SIP trunk config summary (no secrets): trunk provider, whether auth is username/password or IP ACL, and allowed_addresses.
3. Whether you use explicit agent_name dispatch or automatic dispatch, and how many agent worker replicas you’re running.
Send these and I’ll suggest next steps targeted to your setup.
Sources: Agent dispatch | LiveKit Documentation | Avoiding crosstalk when multiple developers share a LiveKit project | LiveK... | sip | livekit/livekit_composite | DeepWiki | Agents Framework | livekit/livekit_composite | DeepWiki, with interactive elementsbright-sugar-29405
04/16/2026, 9:06 PMAD_dcCXa3KtvPzE, AD_cnsuugZXvrk4, AD_wrviXGUoHJvH) but the SIP participant never appears in the room. No sip.callStatus=active, no track_subscribed.
Errors: TwirpError(code=not_found, message=requested room does not exist, status=404) — agent polls for participants but room seems to not exist from API perspective.
2. SIP trunk config:
• Trunk 1: ST_Fdf8RSMim3D3 — from +19135380173
Trunk 2: ST_NucAgqbKTVxB — from +19138286060
Provider: Twilio (credential name: "Prod Twilio")
• LiveKit Cloud URL: <wss://sdr-evolv-3iql8wce.livekit.cloud>
• Region: US East B
3. Dispatch config:
• Explicit agent name: Drew-38b
• Single agent worker (1 replica)
• Process count: ~40 PIDs
• num_idle_processes=2 configured
4. What was working:
• Campaign calls were connecting fine until ~20:10 UTC (31 answered calls in 60min window)
• After ~20:15 UTC, zero calls connect — to any number, on either trunk
5. Key error:
TwirpError(code=not_found, message=requested room does not exist, status=404)
This fires when the agent tries to list participants in the room it was dispatched to.
This looks like a LiveKit Cloud SIP routing issue. The rooms are created, agents dispatched, SIP participants created — but the SIP media stream never connects to the room.tall-airline-16756
04/16/2026, 9:06 PMroom does not exist Twirp 404 when the agent polls participants.
Quick summary of what I’m addressing: the SIP trunks and dispatch are reaching LiveKit (agent dispatches succeed) but the SIP participant/media never connects to the room and the room appears missing from the API.
Immediate checks I want you to confirm or share (these will narrow root cause quickly):
1. Room lifecycle
• When the SIP INVITE arrives, is the room being created by your app or by LiveKit SIP routing? Do you have logs showing a room creation event at call start (room name = call-…)?
• Does your app or an automation ever immediately delete rooms on empty state or on participant disconnect? If yes, could a race delete the room before the agent polls?
1. SIP-to-LiveKit mapping
• Confirm the room name that the trunk is set to route to exactly matches the room the agent expects (case-sensitive). You listed room IDs like call-e679f4f2 — is that the literal SIP To/room_prefix used in the trunk dispatch?
• If you use room_prefix, confirm the prefix and resulting full room name match.
1. LiveKit Cloud region / URL consistency
• You’re using wss://sdr-evolv-3iql8wce.livekit.cloud (US East B). Are both trunks and your agent workers configured to use the same LiveKit Cloud region/URL? A mismatch can make the SIP leg land in a different LiveKit instance where the agent’s room doesn’t exist.
1. SIP provider behavior change at ~20:15 UTC
• Twilio is the provider. Did anything change on Twilio (credential rotation, IP address changes, webhook updates, trunk settings) around 20:15? Can you confirm Twilio is still successfully sending the INVITE to LiveKit (Twilio call logs/webhook delivery show 200 to LiveKit)?
1. Trunk auth / allowed IPs
• Confirm LiveKit’s SIP ingress is still allowing Twilio’s IPs and the trunk auth credential used by Twilio is unchanged. An auth/IP block would prevent SIP from creating the participant/room.
1. Agent worker capacity & timing
• You have a single agent worker with ~40 PIDs and num_idle_processes=2. For testing, can you bring up a second agent replica (even temporarily)? Single-replica limits can cause missed connections under load or during restart windows.
1. LiveKit logs and Twirp calls
• Please share an anonymized excerpt of LiveKit Cloud logs (or agent logs) around one failed call showing:
◦ SIP INVITE receipt (or Twilio webhook/call log) timestamp
◦ Any LiveKit SIP handler log for that INVITE (showing room creation or failure)
◦ The Twirp 404 log you quoted with timestamps
This will confirm whether the SIP INVITE reached LiveKit and whether room creation succeeded.
Next steps I can take after you share the items above:
• If the SIP INVITE reached LiveKit but no room was created: check routing/room_prefix and region mismatch, and I’ll show specific log fields to confirm where the INVITE landed.
• If INVITE did not reach LiveKit: we’ll focus on Twilio trunk auth/IP/webhook delivery and Twilio debug logs.
• If room is created but immediately deleted: I’ll suggest checks for empty-room TTLs and any automation deleting rooms.
If you prefer, send one complete call trace (Twilio SID, timestamps, anonymized LiveKit logs) for one failed call and I’ll pinpoint which hop is failing.
, with interactive elementsbright-sugar-29405
04/16/2026, 9:09 PM3bfcca8c
Call to +19373965194 (lumber company) via trunk ST_Fdf8RSMim3D3 from +19135380173
Timeline:
20:56:19.000 - Room created: call-3bfcca8c-b468-4c70-9e5a-4e313bb70d16 (sid=RM_sfam6EkQtDc3)
20:56:19.000 - Agent dispatched: AD_wrviXGUoHJvH, agent_name=Drew-38b
20:56:19.000 - SIP participant created: SCL_9SLJQNxCv73v
20:56:20.000 - Agent process starts, joins room
20:56:24.159 - Agent reports call_ringing
20:56:24+ - Agent polls participants: API=1 (only agent, no SIP callee)
- Repeated polling every 3s, never finds SIP callee
- TwirpError(code=not_found, message=requested room does not exist)
Answers to LiveKit support questions:
1. Room lifecycle:
Room created by OUR APP via api.CreateRoomRequest with empty_timeout=300 (5 min)
Room name = call-{uuid} (e.g. call-3bfcca8c-b468-4c70-9e5a-4e313bb70d16)
We do NOT delete rooms on empty state — only on ring timeout (45s) or max duration (5min)
• The empty_timeout=300 is set on creation. The TwirpError(not_found) happens within seconds — too fast for empty timeout
2. SIP-to-LiveKit mapping:
Room name is created by our app, NOT by SIP routing
Our app creates room → dispatches agent → creates SIP participant in the SAME room
No room_prefix used — explicit room name in CreateSipParticipantRequest
• SIP participant SID confirms creation: SCL_9SLJQNxCv73v
3. Region/URL:
Agent worker: <wss://sdr-evolv-3iql8wce.livekit.cloud> (US East B)
Both trunks configured on same LiveKit Cloud project
• Agent registered as: agent_name=Drew-38b, id=AW_nLUZRfZKPonT, region US East B
4. What changed at ~20:15 UTC:
• Nothing changed on our side — no deploys, no config changes
• Twilio credentials unchanged
• Campaign calls to OTHER numbers were working at 2005 2010, then all calls stopped connecting
5. Trunk auth:
• No changes to trunk credentials or allowed IPs
• SIP participant creation SUCCEEDS (returns SCL_xxx) — so LiveKit API accepts the request
• But the SIP media never connects to the room
6. Agent capacity:
• Single agent worker, num_idle_processes=2
• Not resource constrained: CPU 3.73%, Memory 1.1GB/7.6GB at time of failure
• Agent process initializes and joins room successfully
7. Key observation:
CreateSipParticipantRequest returns SUCCESS (SCL_xxx)
Agent dispatches to room and joins
• But when agent calls list_participants on the room, gets TwirpError(not_found, requested room does not exist)
• The room was just created seconds ago and the agent is IN it, yet the API says it doesn't exist
This suggests a LiveKit Cloud internal routing issue where the room exists on one node but the API/SIP queries hit a different node.tall-airline-16756
04/16/2026, 9:09 PM