Debug Guide
How to locate and address issues while developing with Retell.
During the development of your Retell agents, you may encounter issues that prevent your agents from working as expected. Sometimes it’s telecommunication, sometimes it’s the prompts need improvement, sometimes it’s connection issue. This guide will provide you with useful tips to locate and address these issues.
This guide assume you have already setup your agent and have a basic understanding of how to use Retell.
Disconnection Reason
Find the Disconnection Reason through Dashboard or get-call.
dial_failed
.Disconnection Reason | Description |
---|---|
user_hangup | Expected behavior, user hangup the call. |
agent_hangup | Expected behavior, AI agent hangup the call. |
call_transfer | Expected behavior, AI agent transferred the call. |
voicemail_reached | Expected behavior, if AI agent configured voicemail settings, and reached voicemail. |
inactivity | Expected behavior, call was terminated due to the “end_call_after_silence_ms” setting reached after long inactivity. |
machine_detected | Expected behavior, call was terminated due to the “drop_call_if_machine_detected” setting triggering when an voicemail or similar is detected. |
max_duration_reached | Expected behavior, call was terminated due to maximum duration reached. |
concurrency_limit_reached | Error, concurrency limit reached, add a retry with exponential backoff. Or consider enterprise plan. |
no_valid_payment | Error, no valid payment registered on file, or service shut down due to bill overdue. |
scam_detected | Error, scam detected for that particular agent. |
error_inbound_webhook | Error, failed to retrieve dynamic variables for inbound phone call. |
dial_busy | The number dialed in busy. |
dial_failed | Dailing failed, might be due to callee number is non existent, or the agent number is marked as spam and got blocked. |
dial_no_answer | The number dialed did not answer. |
error_llm_websocket_open | Error, 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_connection | Error, LLM websocket connection broke during the call. |
error_llm_websocket_runtime | Error, LLM websocket received a closing signal other than 1000 from your server. |
error_llm_websocket_corrupt_payload | Error, LLM websocket received unspecified payload. |
error_frontend_corrupted_payload | Error, frontend audio websocket received unspecified payload. |
error_twilio | Error, Twilio websocket connection between Retell server encountered an error. |
error_no_audio_received | Error, has not received audio from Twilio or web frontend for a while after connection has established. |
error_asr | Error, Retell’s ASR encountered a problem. |
error_retell | Error, unspecified Retell side problem. |
error_unknown | Error, unknown error. |
error_user_not_joined | Error, user did not join web call within 30s after calling startWebCall. |
registered_call_timeout | Error, phone call is 30s or more apart from registering. |
Problem: Call is not Connecting
Here are a couple common possible causes for this issue, and you can see a more detailed error message when you are using Dashboard (will show up as a pop up when you click web call button):
- You have ran out of credit, and have not added payment account. To check your credit balance, go to the Dashboard and click on the “Billing” tab.
- You have been rate limited. Check Concurrency Guide for more info.
Apart from these common causes, there are other possible causes for this issue for different scenarios.
Phone Call with Custom Twilio
There’re a couple possible causes for this issue:
- Check if your Twilio account has enough balance to make the call.
- Check if your voice webhook for Twilio is correctly set up. You can add logging to see if that’s being called.
- Check if in voice webhook you returned the correct audio websocket url.
- Check if your Register Call API is correctly called and returned the correct response.
Web Call
There’re a couple possible causes for this issue:
- Check if your Register Call API is correctly called and returned the correct response.
- Check if your frontend is connecting to the right audio websocket url.
Custom LLM
For troubleshooting custom LLM, check Custom LLM Troubleshooting Guide.
Problem During the call
This refers to the broad category of issues that occur during the call, such as:
- call dropped during the call
- agent not responding
- function calling not working (for Retell LLM)
To debug, take a look at the public_log_url
in Get Call API. This contains
all the requests, responses between Retell and LLM, contains the error message if there’s any,
and contains all function calling requests sand responses.
To address these issues, you might need to:
- Prompt engineering
- Check message format sent in LLM websocket (for custom LLM)
Was this page helpful?