You can check the reason why a call is disconnected through the Retell Dashboard or by using the get-call API endpoint.

Understanding Disconnection Reasons

Please note that when phone numbers enagage in a lot of short calls in a short period, it might be marked as spam at carrier level, which in turn leads to number being blocked and show up as dial_failed.
Disconnection ReasonCall StatusDescription
user_hangupendedExpected behavior, user hangup the call.
agent_hangupendedExpected behavior, AI agent hangup the call.
call_transferendedExpected behavior, AI agent transferred the call.
voicemail_reachedendedExpected behavior, if AI agent configured voicemail settings, and reached voicemail.
inactivityendedExpected behavior, call was terminated due to the “end_call_after_silence_ms” setting reached after long inactivity.
max_duration_reachedendedExpected behavior, call was terminated due to maximum duration reached.
dial_busynot_connectedOutbound call not connected, the number dialed in busy.
dial_failednot_connectedOutbound call not connected, dailing failed with no or unknown sip error code.
dial_no_answernot_connectedOutbound call not connected, the number dialed did not answer.
invalid_destinationnot_connectedOutbound call not connected, the number dialed is invalid.
telephony_provider_permission_deniednot_connectedOutbound call not connected, the sip trunk credentials are not authenticated.
telephony_provider_unavailablenot_connectedOutbound call not connected, the telephony provider is not available.
sip_routing_errornot_connectedOutbound call not connected, the sip routing is going over too many hops or is in a loop.
marked_as_spamnot_connectedOutbound call not connected, the number dialed is marked as spam. See Spam Likely Overview.
user_declinednot_connectedOutbound call not connected, user declined the call.
concurrency_limit_reachederrorError, concurrency limit reached, add a retry with exponential backoff. Or consider enterprise plan.
no_valid_paymenterrorError, no valid payment registered on file, or service shut down due to bill overdue.
scam_detectederrorError, scam detected for that particular agent.
error_llm_websocket_openerrorError, LLM websocket did not open between Retell server and your backend. Likely because the Custom LLM URL is incorrect or your LLM server is not reachable.
error_llm_websocket_lost_connectionerrorError, LLM websocket connection broke during the call.
error_llm_websocket_runtimeerrorError, LLM websocket received a closing signal other than 1000 from your server.
error_llm_websocket_corrupt_payloaderrorError, LLM websocket received unspecified payload.
error_no_audio_receivederrorError, has not received audio from Twilio or web frontend for a while after connection has established.
error_asrerrorError, Retell’s ASR encountered a problem.
error_retellerrorError, unspecified Retell side problem.
error_unknownerrorError, unknown error.
error_user_not_joinederrorError, user did not join web call within 30s after calling startWebCall.
registered_call_timeouterrorError, phone call is 30s or more apart from registering.