Skip to main content
Use this guide to diagnose and fix common voice call issues. Start with the symptom you’re experiencing.

Quick Diagnosis

Check in order:
  1. Verify credits balance in Console → Billing
  2. Check geo permissions for destination country
  3. Verify caller ID is a Plivo number or verified
  4. Review hangup cause in call logs
Common causes:
Hangup CauseSolution
destination_country_barredEnable country in Console → Voice → Geo Permissions
unknown_caller_idUse Plivo-rented number as caller ID
insufficient_creditsAdd credits to account
invalid_destinationUse E.164 format (+14155551234)
Check in order:
  1. Verify number is assigned to an application (Console → Phone Numbers)
  2. Check application Answer URL is accessible
  3. Verify Answer URL returns valid Plivo XML
  4. Check for firewall blocking Plivo IPs
Debug steps:
  1. Go to Console → Voice → Logs → Calls
  2. Find the failed call
  3. Check the hangup cause and debug logs
  4. Test your Answer URL manually with curl
Common causes:
  • Firewall blocking RTP/media ports
  • NAT traversal issues
  • Codec mismatch
Solutions:
  1. Whitelist Plivo IP ranges for UDP ports 10000-60000
  2. Enable STUN/TURN if behind NAT
  3. Use standard codecs (G.711, Opus)
See Plivo IP Ranges for whitelisting.
Check hangup cause in call logs:
Hangup CauseMeaningSolution
scheduled_hangupMax duration reachedIncrease time_limit parameter
media_timeoutNo audio for 60 secondsCheck network stability
xml_endNo more XML instructionsAdd more XML or use <Wait>
insufficient_creditsRan out of credits mid-callEnable auto-recharge
IssueLikely CauseSolution
EchoAcoustic feedbackUse headset, reduce speaker volume
Delay/latencyNetwork distanceUse nearest Plivo region
Choppy audioPacket lossCheck internet connection, reduce bandwidth usage
Robotic voiceCodec issuesUse G.711 codec
For persistent issues, capture a PCAP and contact Plivo Support.

Step-by-Step Debugging

1. Check Call Logs

  1. Go to Console → Voice → Logs → Calls
  2. Find the failed call by time or phone number
  3. Note the Hangup Cause and Hangup Source
  4. Click the call to view debug details

2. Verify Configuration

For outbound calls:
# Test your setup with curl
curl -i --user AUTH_ID:AUTH_TOKEN \
  -H "Content-Type: application/json" \
  -d '{"from": "+14155551234", "to": "+14155559876", "answer_url": "https://example.com/answer"}' \
  https://api.plivo.com/v1/Account/{auth_id}/Call/
For inbound 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/xml or text/xml
  • Return valid Plivo XML
Example valid response:
<?xml version="1.0" encoding="UTF-8"?>
<Response>
  <Speak>Hello, this is a test call.</Speak>
</Response>

4. Check Firewall Settings

Plivo requires these ports open:
TrafficProtocolPorts
SIP signalingUDP/TCP5060, 5080
Secure SIPTLS5061
RTP (audio)UDP10000-60000
HTTPS callbacksTCP443
See IP Addresses for ranges to whitelist.

Common Error Scenarios

”Call immediately goes to voicemail”

Possible causes:
  1. Carrier is blocking based on caller ID reputation
  2. Number flagged as spam
  3. Destination has call blocking enabled
Solutions:
  • Register for STIR/SHAKEN attestation
  • Use a different caller ID
  • Contact carrier about spam flagging

”API returns 403 Forbidden”

Check:
  1. Account is verified and active
  2. Geo permissions enabled for destination
  3. Caller ID is verified or Plivo-owned
  4. No outstanding balance issues

”Calls work sometimes but not always”

Debug steps:
  1. Check if failures correlate with specific destinations
  2. Review call volume vs CPS limits
  3. Check for carrier-specific issues in logs
  4. Monitor for pattern (time of day, destination, etc.)

Debug Logs

For detailed debugging, enable debug logs:
  1. Go to Console → Voice → Logs → Calls
  2. Click on the specific call
  3. 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_error or routing_error hangup causes
  • Calls fail with no clear hangup cause
  • You need PCAP analysis for audio issues
Include in your support request:
  • Call UUID(s)
  • Timestamp of failures
  • Steps already tried
  • Any error messages