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
Next Steps
Configure with Twilio
Set up Twilio SIP trunk
Configure with Telnyx
Set up Telnyx SIP trunk
Create Voice Agent
Build your first AI voice agent
Call History
Monitor your calls