Documentation Index
Fetch the complete documentation index at: https://plivo.com/docs/llms.txt
Use this file to discover all available pages before exploring further.
Connect Plivo SIP trunking to LiveKit to enable your voice AI applications to make and receive phone calls through Plivo’s global voice network.
Prerequisites
| Requirement | Description |
|---|
| Plivo Account | Sign up with SIP trunking enabled |
| Phone Number | Purchase a voice-enabled number |
| - India: Requires KYC verification. See Rent India Numbers. |
| LiveKit Cloud Account | Create account |
India regional requirement: If handling calls to/from India, you must select India as your LiveKit region. This is a regulatory requirement - calls will fail otherwise.
Optimize for latency: For best call quality, select a LiveKit region closest to your call traffic. This minimizes audio delay and improves conversation flow.
Part 1: Receive Incoming Calls
Route calls from your Plivo phone number to LiveKit.
Step 1: Create an Inbound Trunk in Plivo
- Go to SIP Trunking → Inbound Trunks
- Click Create New Inbound Trunk
- Enter a name (e.g.,
LiveKit-Inbound)
- Click Add New URI and configure:
| Field | Value |
|---|
| Name | LiveKit-Primary |
| SIP URI | your-project-SIP-URI;transport=tcp |
Replace your-project-SIP-URI with your LiveKit SIP URI from LiveKit Dashboard → Settings → Project.
For TLS, use ;transport=tls instead.
- Click Create Trunk
Step 2: Connect Your Phone Number
- Go to Your Numbers
- Click on your phone number
- Set Application Type to
Zentrunk
- Set Trunk to your inbound trunk
- Click Update Number
Set up an inbound trunk and dispatch rules in LiveKit. See LiveKit SIP documentation for detailed steps.
Part 2: Make Outgoing Calls
Enable LiveKit to make outbound calls through Plivo.
Step 1: Create an Outbound Trunk in Plivo
- Go to SIP Trunking → Outbound Trunks
- Click Create New Outbound Trunk
- Click Add New Credentials List and create credentials:
- Username:
livekit_trunk (or your preferred username)
- Password: Generate a strong password
- Enter a trunk name (e.g.,
LiveKit-Outbound)
- Enable Secure Trunking (recommended)
- Click Create Trunk
- Copy your Termination SIP Domain (e.g.,
XXXXXXXXXXXX.zt.plivo.com)
Use the credentials and termination domain from Plivo to configure outbound calling in LiveKit. See LiveKit outbound calls documentation for detailed steps.
Troubleshooting
| Issue | Solution |
|---|
| Call doesn’t connect | Verify SIP URI includes ;transport=tcp. Check phone number is mapped to correct trunk. |
| Authentication errors | Verify credentials match exactly in both Plivo and LiveKit. |
| India calls failing | Ensure LiveKit region is set to India. |
Debug logs:
- Inbound issues: Check Plivo logs first
- Outbound issues: Check LiveKit logs first
For error codes, see Plivo hangup codes.