LiveKit issue in new project: error creating SIP p...
# ask-ai
b
LiveKit issue in new project: error creating SIP participant: twirp error unknown: object cannot be found, SIP status: None None
✅ 1
t
Thanks for reaching out, Rohan. I'm an AI assistant and I'm here to help. Give me a moment while I research this topic.
Thanks — I can help with the SIP participant creation error. You're seeing: "twirp error unknown: object cannot be found, SIP status: None None." I’ll need a bit more information to diagnose and suggest the right next steps. Could you provide the following details? 1. Project and environment ◦ Is this a brand-new LiveKit project or an existing one you copied settings from? ◦ Project ID or cluster region (if available). 1. SIP configuration ◦ How are you creating the SIP participant? (REST API call, SDK, or server-side code) ◦ Share the exact request/parameters you're sending (mask any sensitive tokens/passwords). ◦ Are you using a configured SIP gateway/credentials (SIP URI, username, domain) and can you confirm those values are correct? 1. Logs and error details ◦ Complete error response (full JSON or string) if possible. ◦ Server logs around the time of the request (any additional Twirp or LiveKit logs). ◦ Any SIP gateway logs (if you control the gateway) showing incoming requests or rejections. 1. Room and participant state ◦ Room ID and whether the room already exists or is being created at the same time. ◦ Is the room empty or are other participants connected? ◦ Are you trying to create the SIP participant while another participant is already using the same identity? 1. Networking and access ◦ Is your LiveKit deployment self-hosted or using LiveKit cloud? ◦ If self-hosted, is the SIP gateway reachable from the LiveKit server (any firewall/NAT issues)? Quick troubleshooting steps you can try now • Verify the SIP credentials and SIP URI are valid at the SIP provider side. • Confirm the Room exists before creating the SIP participant. • Retry the request with increased logging enabled on the LiveKit server to capture Twirp transaction details. • If you’re using an SDK, try the equivalent REST call to isolate whether it’s an SDK vs server issue. If you share the request payload and the surrounding logs (sanitized), I can review them and point to the most likely root cause and next actionable steps. , with interactive elements
b
My LiveKit design is such that each env (local, staging, prod) is a different livekit project with different API keys and URLs and secrets. Should the SIP trunk also be different for each environment?
t
Thanks — great question. You're asking whether your SIP trunk should be separate for each LiveKit environment (local, staging, prod). Good design thinking here. Short answer • Yes. Each environment should have its own SIP trunk. Why • SIP trunks are project-scoped resources. Since you already isolate environments by creating separate LiveKit projects (with different API keys, URLs, and secrets), the SIP trunk must be created inside the matching project and cannot be shared across projects. • Separate trunks keep test traffic and production traffic isolated, preventing accidental call routing or policy overlap. • Environment-specific trunks let you apply different configuration per environment (phone numbers, dispatch rules, IP whitelists, provider credentials, logging/noise-cancellation settings, etc.), which is useful for testing and security. What to do • Create a SIP trunk for each LiveKit project/environment via the Cloud dashboard or the API (for example
create_sip_inbound_trunk
). • Ensure the SIP provider credentials and SIP URIs you provide are correct for that environment. • Apply environment-appropriate dispatch rules and network restrictions (staging can be more permissive for testing; prod should be locked down). • Keep separate logs and monitoring per environment to avoid mixing production and test data. If you want, I can help with next steps: • Walk through creating a SIP trunk via the API for one environment. • Review a sample request/body you plan to send and point out any required fields. • Suggest dispatch-rule patterns for dev vs prod. Which would be most helpful right now? Sources: Agents telephony integration | LiveKit Documentation | sip | livekit/livekit_composite | DeepWiki | Python SDKs | livekit/livekit_composite | DeepWiki | Creating SIP Inbound Trunks and Dispatch Rules with Python SDK | examples/voice_agents | livekit/livekit_composite | DeepWiki, with interactive elements