Skip to main content
Common voice issues, their causes, and how to resolve them. For detailed hangup codes, see Hangup Causes Reference.
Tip: When contacting Plivo Support, include: Call UUID, timestamp (with timezone), phone numbers involved, and hangup cause. Find these in Voice > Logs > Calls.

Why are my outbound calls failing?

Hangup CauseMeaningSolution
destination_country_barredCountry not enabledEnable in Voice > Geo Permissions
unknown_caller_idNon-Plivo caller IDUse a Plivo-rented number
dno_caller_idNumber on DNO listUse a different caller ID
out_of_creditsInsufficient balanceAdd credits to account
For all hangup causes, see Hangup Causes Reference.

Why are inbound calls not reaching my application?

Checklist:
  1. Number not assigned - Verify the number is linked to an application in Phone Numbers > Active
  2. Answer URL misconfigured - Check URL is correct in application settings
  3. Server unreachable - Ensure your answer URL is publicly accessible (not localhost)
  4. SSL certificate invalid - Use valid HTTPS certificate
  5. Server timeout - Server must respond within 15 seconds
Test your answer URL:
curl -X POST "https://your-server.com/answer" \
  -d "From=14151234567&To=14157654321&CallUUID=test"
Should return valid Plivo XML with HTTP 200 status.

Why do I have one-way audio on calls?

One-way audio typically indicates a firewall or NAT issue. Checklist:
  1. Open firewall ports - RTP media uses UDP ports 10000-30000
  2. Whitelist Plivo IPs - See Plivo IP Addresses
  3. Check NAT settings - Symmetric NAT may require TURN server
  4. Test from different network - Isolate if issue is network-specific
Required ports:
TypePorts
SIP Signaling5060 (UDP/TCP), 5061 (TLS)
Media (RTP)10000-30000 (UDP)

Why are my recordings missing?

Checklist:
  1. Recording enabled? - Verify record=true in API call or <Record> XML element
  2. Call too short - Very short calls may not produce recordings
  3. Check callback - Recording URL is sent to recording_callback_url
  4. Still processing - Recordings may take a few minutes after call ends
  5. Storage location - Check Voice > Logs > Recordings in console
Common causes:
IssueSolution
Recording not enabledAdd record=true parameter or <Record> XML
Callback URL failingVerify your server returns HTTP 200
Recording URL expiredDownload promptly or use Recording API
Call had no audioCheck for one-way audio issues
Use the Recording API to fetch recordings programmatically.

Why do I get “Invalid Answer XML” or “Error Reaching Answer URL”?

Error Reaching Answer URL - Your server returned non-2xx HTTP response:
  1. Server not running or crashed
  2. URL not publicly accessible (localhost won’t work)
  3. Firewall blocking Plivo requests
  4. SSL certificate invalid
  5. Response timeout (must respond within 15 seconds)
Invalid Answer XML - Your server returned malformed XML:
  1. XML syntax error (missing closing tags, invalid characters)
  2. Missing <Response> root element
  3. Using unsupported XML elements
  4. Wrong content-type header
Valid XML example:
<?xml version="1.0" encoding="UTF-8"?>
<Response>
  <Speak>Hello, this is valid XML.</Speak>
</Response>
Debug: View exact XML received in Voice > Logs > Calls > click call > Debug Logs.

Why do I get “Violates Media Anchoring” error for India calls?

India PSTN regulations require both call legs to originate and terminate within India. Requirements:
Call TypeRequirement
OutboundYour application server must be hosted in India
InboundAnswer URL server must be in India
ConferenceAll participants must be in India; no mixing PSTN with WebRTC
This error occurs when:
  • Your server is outside India
  • Call bridges to international destination
  • Conference mixes India PSTN with non-India participants
See India Calling FAQ for compliance requirements.

Why are my calls to [country] failing with “destination_country_barred”?

Geo permissions control which countries you can call. By default, only US or India is enabled (based on account currency). To enable a country:
  1. Navigate to Voice > Geo Permissions in console
  2. Find the country and toggle to enable
  3. For high-risk destinations, additional approval may be required
Note: Enabling countries other than US/India requires an Enterprise account. To manage programmatically, use the Geo Permissions API.

How do I find call logs and debug information?

  1. Navigate to Voice > Logs > Calls in Plivo Console
  2. Filter by date, number, or Call UUID
  3. Click on a specific call to view:
    • Hangup cause and code
    • Call flow timeline
    • Debug logs (XML requests/responses)
    • Error messages
Via API: Use the Get Call Details API with the Call UUID. Tip: Enable Voice Alerts in Voice > Settings > Alerts to get notified of issues proactively.

Why is my caller ID not displaying correctly?

Common causes:
IssueCauseSolution
Caller ID blank or “Unknown”Using non-Plivo numberUse Plivo-rented number as from
Caller ID shows wrong numberCall transfer not preserving CLISet callerName in Dial XML
International caller ID not showingCarrier doesn’t supportVaries by destination carrier
For CNAM (caller name display) in US, see CNAM FAQ.

Why do I get “Endpoint Not Registered” errors?

This means the SIP endpoint or Browser SDK client is not connected. Checklist:
  1. Endpoint online? - Check status in Voice > Endpoints
  2. Correct credentials - Verify username/password in SIP client
  3. Internet connectivity - Confirm device has stable connection
  4. Multiple registrations - Same endpoint can register on multiple devices
For Browser SDK:
  • HTTPS required (secure context)
  • Microphone permission granted
  • Use endpoint credentials, not Auth ID/Token
See SDK Documentation for setup guides.