Verify the LiveKit project webhook when it alone dispatches your bot
If inbound SIP calls ring forever, the carrier shows attempted but never connected, and your ingress logs show zero requests, check the LiveKit Cloud project webhook before dispatch rules or trunks. With an HTTP-triggered runner and no agent dispatch on the rule, LiveKit creates the room and sends ringing, but nothing ever answers unless a webhook reaches your ingress. The lk CLI cannot list webhooks, so compare environments in the dashboard. Register the webhook signed with that project's own API key, send a test event and require a 2xx response. An invalid_signature 401 means a key mismatch. If several ingresses share one project, each receives every event, so each must accept only SIP participant_joined events for the DID, trunk and rule it owns, and key sessions on the SIP call ID so retries cannot start a second bot.
Applies when: inbound telephony depends on LiveKit webhooks to dispatch a voice agent. Keywords: LiveKit webhook inbound SIP dispatch rule ringing no answer Telnyx DID ingress shared project participant_joined trunk