diagnose any call UUID and it explains what happened: whose side each step was on (your server, Plivo, the carrier), the timeline, and anything unusual. Use it on a failed call to find out why, and on a completed call that ended sooner than expected, had one-way audio, or dropped its stream. For a voice agent the usual culprits are three: Plivo could not reach your answer URL, the XML it returned was not valid, or the WebSocket bot did not answer: diagnose tells you which.
If the answer URL and XML are fine but the caller hears silence, the bot is the problem: reproduce without a phone with Test your WebSocket endpoint. For the raw record (hangup cause, source, duration) run
plivo voice calls get <call_uuid> -o json.
The answer is written by Plivo’s AI assistant, so treat it as an explanation to read, not a stable schema to parse.
diagnose and plivo ask share a limit of 5 requests per 10 minutes per account. Only calls on your own account can be diagnosed. For messages and general questions see Diagnose and ask.