Hi! anyone there? I am getting this error while m...
# ask-ai
m
Hi! anyone there? I am getting this error while making outbound call using the Livekit SIP trunk: "message": "Failed to create SIP participant: twirp error unknown: INVITE failed: sip status: 404: No trunk found", "level": "ERROR" but the sip trunk is listed on the dashboard the outbound call is working with twillio sip trunk
t
Thanks for reaching out, Muhammad. I'm an AI assistant and I'm here to help. Give me a moment while I research this topic.
Hi — thanks for the message, and I’m sorry you’re blocked by this error. I’m responding to your error: "Failed to create SIP participant: twirp error unknown: INVITE failed: sip status: 404: No trunk found" That message means the LiveKit server could not locate the specified SIP trunk when trying to place the outbound call, even though you see a trunk in the dashboard. Let’s walk through the fastest checks to find the cause and get you calling again. Please check these items (quick checklist): • Confirm the exact
sip_trunk_id
you’re sending in the
CreateSIPParticipantRequest
matches the outbound trunk ID shown on the dashboard (IDs are exact and case-sensitive). • Make sure the trunk you’re using is an outbound trunk. Inbound-only trunks cannot be used to place outbound calls. • Verify the trunk is fully configured with the provider settings required for outbound dialing (e.g., SIP URI/endpoint,
auth_username
,
auth_password
if required). • Ensure your API credentials (
LIVEKIT_API_KEY
/
LIVEKIT_API_SECRET
) and the LiveKit project/environment you’re calling are the same project where the trunk exists (production vs staging or a different project would cause a mismatch). • If you’re calling programmatically, list trunks to confirm the trunk is returned by the API (for example, use
lkapi.sip.list_sip_trunk()
or the SDK equivalent) and inspect the returned trunk IDs and types. If you’ve already verified those and it’s still failing, please share the following so I can dig deeper: 1. The
sip_trunk_id
you’re passing (you can redact parts if you prefer; just include the ID prefix like
ST_xxx
). 2. Whether the trunk is configured as outbound (yes/no). 3. The environment/project you’re authenticating with (production/staging) or confirm the API key’s project if known. 4. A sanitized copy of the request that triggers the error (headers and secrets removed) and the full error log line if there’s more context. With those details I can point to the exact cause or give specific next steps. If you’d like, I can also walk you through how to list trunks from your setup to confirm which trunk IDs are visible to your API credentials. Sources: Agents telephony integration | LiveKit Documentation | sip | livekit/livekit_composite | DeepWiki | Outbound Calling Script | LiveKit Documentation | Making calls overview | LiveKit Documentation | Python SDKs | livekit/livekit_composite | DeepWiki
m
well, while creating the outbound trunk using the livekit dashboard which Address should i provide in the address field.
t
Thanks — I’m responding to your question about what to put in the Address field when creating an outbound SIP trunk in the LiveKit dashboard. Enter the SIP hostname (domain or IP) of your SIP trunk provider — the SIP URI/endpoint that the provider gives you for outbound calls. This tells LiveKit where to route outbound INVITEs. Examples: • Twilio:
<http://sjc.pstn.twilio.com|sjc.pstn.twilio.com>
• Telnyx:
<http://sip.telnyx.com|sip.telnyx.com>
• Plivo:
<http://media.plivo.com|media.plivo.com>
How to find it: 1. Sign in to your SIP provider’s portal. 2. Open the trunk or outbound calling settings. 3. Copy the SIP hostname / outbound SIP server (a domain or IP) and paste it into LiveKit’s Address field. Additional tips: • If your provider requires authentication, ensure you also fill
auth_username
/
auth_password
in the trunk settings. • Make sure any firewalls or network rules allow traffic between LiveKit and that SIP endpoint. • Use the provider’s recommended SIP port (usually 5060 for UDP/TCP or 5061 for TLS) if the dashboard allows specifying a port; otherwise the default is used. If you tell me which SIP provider you’re using, I can point to the exact hostname to use or where to find it in that provider’s dashboard. Sources: sip | livekit/livekit_composite | DeepWiki
m
can not we just use the livekit sip url like abc123.sip.livekit.cloud
t
Thanks — good question. I’m responding to whether you can use your LiveKit SIP URL (for example
abc123.sip.livekit.cloud
) as the Address when creating an outbound trunk. You should not use the LiveKit SIP URL as the outbound trunk Address. The Address field must point to the external SIP provider endpoint (the hostname or IP) that will actually carry your outbound calls. LiveKit’s
*.sip.livekit.cloud
hostnames are used for inbound routing into your LiveKit project (receiving calls to LiveKit), not as the destination for outbound INVITEs. What to put in the Address field • The SIP hostname or IP provided by your SIP trunk vendor (the provider you want LiveKit to send outbound calls through). Examples: ◦ Twilio:
<http://sjc.pstn.twilio.com|sjc.pstn.twilio.com>
◦ Telnyx:
<http://sip.telnyx.com|sip.telnyx.com>
◦ Plivo:
<http://media.plivo.com|media.plivo.com>
Why not use
*.sip.livekit.cloud
•
*.sip.livekit.cloud
is for inbound reachability into LiveKit (so carriers or providers send calls INTO LiveKit). It does not serve as the upstream outbound SIP gateway where LiveKit should route outgoing calls. If you want LiveKit to place outbound calls through a carrier, point the trunk Address to that carrier’s outbound SIP server and configure any required auth (username/password), port, and transport type. If you tell me which SIP provider you plan to use, I can point to the exact hostname to enter and any provider-specific settings you should include.