Overview
This guide walks you through configuring a Plivo SIP trunk to work with SubVerse AI for both inbound and outbound calls.Prerequisites
- Active Plivo account
- Purchase a Plivo phone number
- Access to Plivo Console
Step 1: Get Your SubVerse SIP URI
Before configuring Plivo, you need to obtain your SIP URI from SubVerse:- Log in to your SubVerse dashboard
- Navigate to Integrations → Telephony
- Copy your SIP URI (it will look like:
sip:xxxxx.sip.livekit.cloud)
Keep this SIP URI handy - you’ll need it in the next steps.
Step 2: Create SIP Endpoint (For Outbound)
Create Endpoint
- Log in to Plivo Console
- Navigate to Voice → SIP Endpoints
- Click Create New Endpoint
- Enter:
- Username: Your chosen username
- Password: Your chosen strong password
- Alias: Descriptive name (e.g., “SubVerse Endpoint”)
- Click Create Endpoint
Step 3: Configure Outbound Trunk (Termination)
Plivo uses the concept of “Trunks” for routing calls.Create Outbound Trunk
- In Plivo Console, navigate to Voice → Trunks
- Click Add New Trunk
- Select Termination (for outbound calls from SubVerse)
- Configure:
- Name: Descriptive name (e.g., “SubVerse Outbound”)
- Termination Type: IP Address or SIP Endpoint
- IP Address/SIP URI: Your Plivo SIP endpoint URI
- Click Create
Get Termination URI
After creating the trunk:- Note your Termination URI
- It will look like:
sip.plivo.comor your custom domain - Copy this URI - you’ll need it for SubVerse configuration
Step 4: Configure Inbound Trunk (Origination)
Configure the trunk to route incoming calls to SubVerse.Create Origination Trunk
- In Plivo Console, navigate to Voice → Trunks
- Click Add New Trunk
- Select Origination (for inbound calls to SubVerse)
- Configure:
- Name: Descriptive name (e.g., “SubVerse Inbound”)
- Origination Type: SIP URI
- SIP URI: Your SubVerse SIP URI (from Step 1)
- Priority: 1
- Enable Send SIP OPTIONS for health checks
- Click Create
Configure Authentication
- In your Origination trunk settings, go to Authentication
- Select authentication method:
- IP Authentication: Add IP ranges
0.0.0.0/1and128.0.0.0/1 - Credential Authentication: Use username/password (recommended)
- IP Authentication: Add IP ranges
- If using credentials:
- Username: Same as SIP endpoint username
- Password: Same as SIP endpoint password
- Click Save
Step 5: Associate Phone Number
Assign Number to Application
- Navigate to Phone Numbers → Your Numbers
- Click on your phone number
- Under Application Type, select XML Application or PHLO
- For XML Application:
- Create an application that forwards to your trunk
- Or use direct SIP forwarding
- For inbound calls, ensure the number routes through your Origination trunk
- Click Update Number
Alternative: Direct SIP Configuration
- In your phone number settings
- Set Answer URL to forward to your SubVerse SIP URI
- Or configure to use your Origination trunk
- Click Save
Step 6: Configure in SubVerse Dashboard
Now that Plivo is configured, add the trunk to SubVerse:For Outbound Calls
- Go to SubVerse Integrations → Telephony
- Click Add Outbound Trunk
- Enter:
- Name: Descriptive name (e.g., “Plivo Outbound”)
- Phone Number: Your Plivo number with country code (e.g., +1xxxxxxxxxx)
- SIP Address: Your Plivo termination URI (e.g.,
sip.plivo.com) - Auth Username: Username from Step 2
- Auth Password: Password from Step 2
- Click Save
For Inbound Calls
- Go to SubVerse Integrations → Telephony
- Click Add Inbound Trunk
- Enter:
- Name: Descriptive name (e.g., “Plivo Inbound”)
- Phone Number: Your Plivo number with country code (e.g., +1xxxxxxxxxx)
- Auth Username: Username from Step 2
- Auth Password: Password from Step 2
- Click Map Voicebot Usecase and select your voice agent
- Click Save
Testing Your Configuration
Test Inbound Calls
- Call your Plivo phone number
- The call should be routed to your SubVerse voice agent
- Check the call appears in SubVerse Call History
Test Outbound Calls
- Create a workflow or use the voice agent interface
- Make a test call using your configured Plivo number
- Verify the call connects successfully
- Check the call appears in SubVerse Call History
Troubleshooting
Inbound Calls Not Working
Check:- Origination trunk is correctly configured in Plivo
- SIP URI matches exactly what’s shown in SubVerse dashboard
- Phone number is associated with the correct application/trunk
- Voice agent is mapped to the inbound trunk in SubVerse
- Verify SIP URI in Plivo matches SubVerse
- Check Plivo call logs for errors
- Ensure phone number routing is correct
- Verify trunk status is “Active”
Outbound Calls Not Working
Check:- SIP endpoint credentials are correct
- Username and password match in both Plivo and SubVerse
- Termination URI is correctly configured
- SIP address in SubVerse matches Plivo endpoint
- Verify credentials are correct
- Check Plivo endpoint status
- Review call logs for authentication errors
- Ensure sufficient Plivo account balance
Call Quality Issues
Check:- Codec configuration
- Network connectivity
- Plivo service status
- Region-specific routing
- Verify codec settings (G.711 recommended)
- Use region-based SIP endpoints for better latency
- Check Plivo status page
- Contact SubVerse support for assistance
Authentication Failures
Check:- Credentials are entered correctly
- IP authentication ranges (if using IP auth)
- SIP endpoint is enabled
- Re-enter credentials carefully
- Verify IP ranges include required addresses
- Check endpoint status in Plivo console
Advanced Configuration
Codec Settings
For best call quality:- Enable
PCMU(G.711 μ-law) - Enable
PCMA(G.711 A-law) - Configure in both trunk and endpoint settings
DTMF Configuration
Configure DTMF for interactive voice response:- Recommended: RFC 2833
- Alternative: SIP INFO
- Ensure consistent configuration across Plivo and SubVerse
Call Recording
Enable call recording in Plivo:- In your application settings
- Enable Record option
- Configure recording format and storage
- Recordings will be available in Plivo dashboard
Failover Configuration
Set up multiple origination URIs for redundancy:- Create multiple origination trunks
- Set different priorities
- Enable health checks with SIP OPTIONS
- Plivo will automatically failover if primary fails
Monitoring and Analytics
Call Logs
Access detailed call logs:- Navigate to Voice → Call Logs
- Filter by date, number, or status
- View detailed call information
- Download logs for analysis
Real-time Monitoring
Monitor active calls:- Go to Voice → Live Calls
- View currently active calls
- Check call duration and status
- Identify any issues in real-time
Additional Resources
- Plivo SIP Trunking Documentation
- Plivo Inbound Trunks Guide
- Plivo Outbound Trunks Guide
- Plivo Console
- Plivo Support