LiveKit Cloud vs self-hosted LiveKit for Indian phone calls
The differences that matter when a LiveKit deployment carries Indian phone calls through RingTrunk. Endpoint, firewall, region, operations, and which to pick for a voice agent serving Indian customers.
Updated 6 September 2026
In short: both LiveKit Cloud and self-hosted LiveKit connect to RingTrunk with the same three objects, an outbound trunk, an inbound trunk and a dispatch rule; they differ in who runs the SIP service, what you have to open on your network, and how you keep the audio in India.
What is identical
- The trunk objects and their JSON.
address: pstn.ringtrunk.com, transport pinned to TCP, your Indian number innumbers, the trunk id asauth_username. - The inbound trunk with no credentials and our source IP in
allowed_addresses, the number listed in four forms. - Placing a call with
create_sip_participant, and the rules on the phone leg: Indian mobile destinations only, caller ID from your attached numbers, G.711 A-law.
What differs
| LiveKit Cloud | Self-hosted LiveKit | |
|---|---|---|
| Origination URI you give RingTrunk | <project-id>.sip.livekit.cloud:5060;transport=tcp | your SIP service host and port |
| Network work on your side | none; LiveKit Cloud accepts our INVITE because of allowed_addresses | allow our source IP to your SIP port and RTP range in your firewall or security group |
| Keeping rooms in India | use <project-id>.india.sip.livekit.cloud | deploy the SIP service and media servers in an Indian region yourself |
| Who upgrades the SIP service | LiveKit | you |
| Where to look when inbound never arrives | the trunk configuration, almost always credentials on the inbound trunk or a missing number form | the same, plus the firewall and the SIP service logs |
Which to pick
Pick LiveKit Cloud if you want a working Indian number this afternoon and do not want to operate a SIP service. Use the India SIP endpoint so the phone leg and the room stay in Mumbai.
Pick self-hosted if you already run LiveKit for other reasons, need the media servers inside your own network, or have a compliance requirement to keep audio on infrastructure you control. Budget an hour for the firewall and expect to own the SIP service's upgrades.
RingTrunk does not care which you choose, and a project can run both: trunks are selected per call by sip_trunk_id.
Guides: LiveKit Cloud · Self-hosted LiveKit.