Skip to main content
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

RequirementDescription
Plivo AccountSign up with SIP trunking enabled
Phone NumberPurchase a voice-enabled number
- India: Requires KYC verification. See Rent India Numbers.
LiveKit Cloud AccountCreate 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

  1. Go to SIP Trunking → Inbound Trunks
  2. Click Create New Inbound Trunk
  3. Enter a name (e.g., LiveKit-Inbound)
  4. Click Add New URI and configure:
FieldValue
NameLiveKit-Primary
SIP URIyour-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.
  1. Click Create Trunk

Step 2: Connect Your Phone Number

  1. Go to Your Numbers
  2. Click on your phone number
  3. Set Application Type to Zentrunk
  4. Set Trunk to your inbound trunk
  5. Click Update Number

Step 3: Configure LiveKit

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

  1. Go to SIP Trunking → Outbound Trunks
  2. Click Create New Outbound Trunk
  3. Click Add New Credentials List and create credentials:
    • Username: livekit_trunk (or your preferred username)
    • Password: Generate a strong password
  4. Enter a trunk name (e.g., LiveKit-Outbound)
  5. Enable Secure Trunking (recommended)
  6. Click Create Trunk
  7. Copy your Termination SIP Domain (e.g., XXXXXXXXXXXX.zt.plivo.com)

Step 2: Configure LiveKit

Use the credentials and termination domain from Plivo to configure outbound calling in LiveKit. See LiveKit outbound calls documentation for detailed steps.

Troubleshooting

IssueSolution
Call doesn’t connectVerify SIP URI includes ;transport=tcp. Check phone number is mapped to correct trunk.
Authentication errorsVerify credentials match exactly in both Plivo and LiveKit.
India calls failingEnsure 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.