Connecting LiveKit Cloud to Your Phone Number
Click2Call has a built-in LiveKit Cloud connection profile: give it your project subdomain and region and calls to your Australian number land in a LiveKit room. The work is mostly at the LiveKit end — a trunk, a dispatch rule, and an agent to answer.
Last reviewed: September 2026
Before you start: this one needs code
LiveKit Cloud is real-time media infrastructure, not a hosted agent. Once the call lands in a LiveKit room, something has to join that room and speak to the caller — normally a LiveKit Agents worker you write and deploy. If you want an agent you configure in a dashboard with no server of your own, ElevenLabs, Retell or Synthflow are the simpler choices.
At a glance
- Mandatory Click2Call fields
- LiveKit Subdomain and Region
- Where Click2Call sends calls
- sip:<subdomain>.<region>.sip.livekit.cloud:5060;transport=tcp
- Subdomain
- Your project ID without the p_ prefix
- Region
- e.g. us1, eu1
- Also needed in LiveKit
- An inbound trunk and a dispatch rule
- Code required
- Yes — an agent must join the room
- Provider documentation
- LiveKit inbound SIP trunks
Connecting LiveKit Cloud, Step by Step
Find your subdomain and region
Your SIP subdomain is the LiveKit project ID with the p_ prefix stripped off. Run lk project list --json and read the ProjectId field — a project ID of p_vjnxecm0tjk gives a subdomain of vjnxecm0tjk.
The region is the LiveKit region your project runs in. Region values look like us1 and eu1.
Create an inbound trunk
In the LiveKit Cloud dashboard open Telephony → SIP trunks and create a trunk with direction Inbound. List your Click2Call number in E.164 format.
If you leave the numbers list empty, LiveKit requires you to set either a username and password or an allowed-addresses list instead — it will not accept an unauthenticated trunk that matches everything.
Click2Call cannot present a username and password on an outbound INVITE, so the provider has to trust us by IP allowlist. Allowlist 103.212.52.19 — that is the address our switch sends INVITEs from. If a provider will only accept authenticated INVITEs, the connection has to run the other way round — the provider registers to Click2Call as the number, which is the generic method in connecting an AI voice agent.
Create a dispatch rule
LiveKit will not accept an inbound call without at least one dispatch rule, which decides which room the caller is placed into. Putting each caller in their own room is the usual starting point.
Make sure an agent is running
A LiveKit room with nobody in it is silence. Deploy a LiveKit Agents worker that joins the room and handles the conversation before you test.
Create the profile in Click2Call
In the Click2Call portal open Voice → Profiles and set Connection Type to LiveKit Cloud.
Enter the subdomain in the first field and the region in the second — both are mandatory and the profile will not save without them. Click2Call joins them into sip:<subdomain>.<region>.sip.livekit.cloud:5060;transport=tcp, shown under the fields.
Assign your number, then check the time zone
Open Voice → Line Manager and set the Profile column for your number to the profile you just created.
The Default profile applies to every line with no profile assigned, and new numbers land on it automatically — a number left on Default will ignore everything you just configured. While you are in the profile, set the Time Zone to where the business operates: business hours, after-hours routing and queue schedules all read it.
Test the call
Ring the number from a mobile. The call should appear as a participant in a LiveKit room, and your agent should answer it.
Troubleshooting
The provider replies 407 Proxy Authentication Required
The provider is challenging our INVITE for a username and password, which means our signalling address is not on their allowlist. Click2Call cannot answer that challenge on an outbound call, so the fix is always at the provider end — allowlist 103.212.52.19 rather than issuing credentials. While this is happening, callers hear “the number you have called is not available from this service”.
The profile will not save
Both the Subdomain and Region fields are mandatory. Fill in both, without the p_ prefix on the subdomain and without .sip.livekit.cloud on either.
LiveKit rejects the call
Either the inbound trunk does not match — the number is not listed and no authentication is configured — or there is no dispatch rule. LiveKit needs both before it will accept a call.
The call connects to silence
The room was created and the caller joined it, but no agent joined. Check that your LiveKit Agents worker is running and registered to the right room pattern.
Calls go to Click2Call voicemail instead
The number is still on the Default profile rather than the provider profile, so the call never leaves for the provider at all. Check the Profile column in Line Manager.
Frequently Asked Questions
Where is my subdomain?
It is the project ID minus the p_ prefix. lk project list --json shows it, and so does the dashboard.
What region should I use?
Whichever region your LiveKit project runs in — values look like us1 and eu1. Click2Call shows the finished route once both fields are filled.
Do I need to write code?
Yes. LiveKit is media infrastructure, so you deploy an agent that joins the room. For a dashboard-only agent use ElevenLabs, Retell or Synthflow instead.
Are calls still recorded and transcribed?
Yes, provided Recording Enabled is ticked on the profile. Recording, transcription, summaries and sentiment all work as normal on the Click2Call side, stored in Australia and New Zealand. See AI voice tools.
Can I use my existing business number?
Yes — port it across first, then assign it to the profile. Local and mobile numbers typically port in 5 to 10 business days.
Related Guides
Still need help?
Our Australian support team is available to assist you.