Quick Diagnosis
Outbound calls not connecting
Outbound calls not connecting
Check in order:
- Verify credits balance in Console → Billing
- Check geo permissions for destination country
- Verify caller ID is a Plivo number or verified
- Review hangup cause in call logs
| Hangup Cause | Solution |
|---|---|
destination_country_barred | Enable country in Console → Voice → Geo Permissions |
unknown_caller_id | Use Plivo-rented number as caller ID |
insufficient_credits | Add credits to account |
invalid_destination | Use E.164 format (+14155551234) |
Inbound calls not reaching my app
Inbound calls not reaching my app
Check in order:
- Verify number is assigned to an application (Console → Phone Numbers)
- Check application Answer URL is accessible
- Verify Answer URL returns valid Plivo XML
- Check for firewall blocking Plivo IPs
- Go to Console → Voice → Logs → Calls
- Find the failed call
- Check the hangup cause and debug logs
- Test your Answer URL manually with curl
Calls connect but no audio (one-way or silent)
Calls connect but no audio (one-way or silent)
Common causes:
- Firewall blocking RTP/media ports
- NAT traversal issues
- Codec mismatch
- Whitelist Plivo IP ranges for UDP ports 10000-60000
- Enable STUN/TURN if behind NAT
- Use standard codecs (G.711, Opus)
Calls dropping mid-conversation
Calls dropping mid-conversation
Check hangup cause in call logs:
| Hangup Cause | Meaning | Solution |
|---|---|---|
scheduled_hangup | Max duration reached | Increase time_limit parameter |
media_timeout | No audio for 60 seconds | Check network stability |
xml_end | No more XML instructions | Add more XML or use <Wait> |
insufficient_credits | Ran out of credits mid-call | Enable auto-recharge |
Poor audio quality (echo, delay, choppy)
Poor audio quality (echo, delay, choppy)
| Issue | Likely Cause | Solution |
|---|---|---|
| Echo | Acoustic feedback | Use headset, reduce speaker volume |
| Delay/latency | Network distance | Use nearest Plivo region |
| Choppy audio | Packet loss | Check internet connection, reduce bandwidth usage |
| Robotic voice | Codec issues | Use G.711 codec |
Step-by-Step Debugging
1. Check Call Logs
- Go to Console → Voice → Logs → Calls
- Find the failed call by time or phone number
- Note the Hangup Cause and Hangup Source
- Click the call to view debug details
2. Verify Configuration
For outbound calls:- Verify number → application assignment in Console
- Test Answer URL returns valid XML
3. Test Answer URL
Your Answer URL must:- Return HTTP 200 status
- Return
Content-Type: application/xmlortext/xml - Return valid Plivo XML
4. Check Firewall Settings
Plivo requires these ports open:| Traffic | Protocol | Ports |
|---|---|---|
| SIP signaling | UDP/TCP | 5060, 5080 |
| Secure SIP | TLS | 5061 |
| RTP (audio) | UDP | 10000-60000 |
| HTTPS callbacks | TCP | 443 |
Common Error Scenarios
”Call immediately goes to voicemail”
Possible causes:- Carrier is blocking based on caller ID reputation
- Number flagged as spam
- Destination has call blocking enabled
- Register for STIR/SHAKEN attestation
- Use a different caller ID
- Contact carrier about spam flagging
”API returns 403 Forbidden”
Check:- Account is verified and active
- Geo permissions enabled for destination
- Caller ID is verified or Plivo-owned
- No outstanding balance issues
”Calls work sometimes but not always”
Debug steps:- Check if failures correlate with specific destinations
- Review call volume vs CPS limits
- Check for carrier-specific issues in logs
- Monitor for pattern (time of day, destination, etc.)
Debug Logs
For detailed debugging, enable debug logs:- Go to Console → Voice → Logs → Calls
- Click on the specific call
- View the Debug tab for:
- XML requests/responses
- SIP signaling details
- Timing information
When to Contact Support
Contact Plivo Support if:- Issue persists after following this guide
- You see
internal_errororrouting_errorhangup causes - Calls fail with no clear hangup cause
- You need PCAP analysis for audio issues
- Call UUID(s)
- Timestamp of failures
- Steps already tried
- Any error messages