Environment
| Deployment | LiveKit Cloud (not self-hosted) |
| Project WS subdomain | atks-977p5cni (wss://atks-977p5cni.livekit.cloud) |
| SIP subdomain | 977p5cni.sip.livekit.cloud |
| Region | US Central |
| SIP provider | Twilio Elastic SIP Trunk (BYOT) |
| livekit-agents | 1.5.17 (Python) |
Symptom
Every inbound PSTN call (Twilio → our LiveKit inbound trunk) receives SIP/2.0 100 Processing from the SIP frontend, then nothing — no 180/200/4xx — until the caller times out.
- Twilio side: logs
No Answer,duration=0,trunking-originating, To:sip:+18312739889@977p5cni.sip.livekit.cloud;transport=tcp - LiveKit side: Telephony → Calls shows “No results” — no call or room is ever created
- Agent worker: registered,
agent_name=mary-inbound, available — never receives a job - Outbound and console mode work fine; the agent runs end-to-end locally
Note: We already corrected the SIP host from the WS subdomain (
atks-977p5cni.sip..., which returned404 No trunk found) to the project-ID subdomain (977p5cni.sip...), per issues #583/#663. That changed the failure from404to this100 Processing → hang.
Config (verified via API)
Inbound trunk ST_TVycxQihAMki
numbers=["+18312739889"]allowed_addresses=[Twilio signaling ranges]- No auth
krisp_enabled=true
Dispatch rule
- Type: Individual (per-caller room, prefix
mary-call-) room_config.agents=[{agent_name:"mary-inbound"}]- No
inbound_numbersfilter - Also tried a catch-all rule with empty
trunk_ids— same result
Controlled proof that no room is created
Test 1 — raw SIP INVITE. Sent a single INVITE to 977p5cni.sip.livekit.cloud with To matching the trunk number, then polled ListRooms every second for 12 seconds:
INVITE sip:+18312739889@977p5cni.sip.livekit.cloud
-> SIP/2.0 100 Processing
Record-Route: sip:10.244.197.133:40004;sipfe;transport=tcp;lr
Record-Route: sip:161.115.180.162:5060;sipfe;transport=tcp;lr
(no further response for 12s)
ListRooms during those 12s: EMPTY at every poll — no room ever created
Test 2 — real Twilio call. With the worker running and ListRooms polled live every second throughout the call: the call landed (No Answer, dur=0, correct SIP subdomain) and zero rooms were created at any point. Single call, single worker — this is not a capacity or agent-join-latency situation.
What we’ve tried (all hang after 100 Processing)
- Trunk variations: numbers-only; IP-only; numbers + IP; broad AWS /16 IP ranges
- Dispatch variations: Individual vs Direct; explicit (
room_config.agents+ named worker) vs automatic; catch-all (emptytrunk_ids) - Recreated trunk + rule many times; waited for propagation; worker kept available (
load_threshold=1.0)
Ask
- Is SIP inbound dispatch fully enabled in the control plane for project
atks-977p5cni? - Is there a staged-rollout or feature-flag gate for inbound BYOT trunks on newly created projects?
- This looks like the
DispatchNoRuleDropsilent-drop path (cf. livekit/sip #696) and the control-plane gap in #663/#592 — do server-side logs show why room creation doesn’t fire after100 Processing?
Happy to share a PCAP or hop on a call.