Reetam
12/25/2025, 2:54 AMAI Evy
12/25/2025, 2:54 AMAI Evy
12/25/2025, 2:54 AMdisconnection_reason field in your call history—common errors include error_no_audio_received (Retell hasn't received audio from the telephony side) . [(1) ]()
- If using custom SIP trunking, verify your SIP configuration is correct.
Agent not using knowledge base on inbound calls (but works on web calls) :
- Ensure your agent is published. [(2) ]()
- Try setting the agent to "draft" mode in the Phone Numbers tab to ensure both web and phone use the same agent version.
Webhook-related issues:
- If you have an inbound webhook configured and it fails (after 3 retries) , the system checks if the number has an inbound agent ID set—if not, the call disconnects. [(3) ]()
Call not connecting properly:
- Verify your phone number configuration and that an inbound agent is assigned.
Please share more details (e.g., call ID, error messages, or the specific behavior) so I can help pinpoint the issue.AI Evy
12/25/2025, 2:55 AMAI Evy
12/25/2025, 2:55 AMReetam
12/25/2025, 2:55 AMAI Evy
12/25/2025, 2:55 AMuser_hangup disconnection reason is actually **expected behavior**—it simply means the caller (user) hung up the call. [(1) ]()
This is not an error or webhook issue. According to the documentation, user_hangup falls under the "ended" call status and is a normal way for a call to conclude.
If you're concerned about why users are hanging up quickly on inbound calls, that's typically a user experience or agent behavior question rather than a technical issue. Some things to investigate:
- **Call duration**: Check the duration_ms field via the [Get Call]() API to see how long the call lasted before hangup. [(2) ]()
- **Transcript review**: Look at the transcript or transcript_object to understand what happened during the conversation.
- **Agent begin message**: If there's a long delay before the agent speaks, users might hang up thinking no one answered.
The webhook itself wouldn't cause a `user_hangup`—that's purely the caller ending the call on their end.
Is there something specific about these calls that seems unusual (e.g., very short duration, no agent response) ?AI Evy
12/25/2025, 2:55 AMAI Evy
12/25/2025, 2:55 AMAI Evy
12/25/2025, 2:55 AMReetam
12/25/2025, 2:56 AMAI Evy
12/25/2025, 2:56 AMAI Evy
12/25/2025, 2:56 AMuser_hangup as the disconnection reason is unusual. While user_hangup normally indicates the user ended the call (expected behavior) , a duration of zero seconds suggests the call may not have fully connected or the user hung up immediately.
[(1) ]()
A few things to check:
1. Verify call status:
Use the [Get Call]() API to check the call_status field. If it shows ended with zero duration, the call technically connected but ended instantly.
[(2) ]()
2. Check for call_started webhook:
When a call does not connect (e.g., dial_failed, dial_no_answer, dial_busy) , the call_started webhook event will not be triggered—only call_ended and call_analyzed will fire.
[(3) ]()
3. Similar reported issue:
There's a known scenario where calls made via Twilio are marked as user_hangup but disconnect while the agent is speaking. This was reported as not occurring with web calls from the Retell app.
[(4) ]()
Possible causes:
- The caller hung up before the agent could respond
- A telephony/SIP configuration issue on the carrier side
- The agent's first message had a delay, causing the user to hang up
I'd recommend sharing the specific call_id with Retell support if this is happening consistently, as the pattern described in may require investigation on the telephony side.AI Evy
12/25/2025, 2:56 AMAI Evy
12/25/2025, 2:56 AMAI Evy
12/25/2025, 2:59 AMAI Evy
12/25/2025, 2:59 AMuser_hangup as the disconnection reason.
Key points from the documentation:
When a call does not connect (like calls with dial_failed, dial_no_answer, dial_busy disconnection reason) , the call_started webhook will not be triggered—but call_ended and call_analyzed webhooks will still fire. [(1) ]()
To investigate further, retrieve the full call details:
javascript
import Retell from 'retell-sdk';
const client = new Retell({
apiKey: 'YOUR_RETELL_API_KEY',
}) ;
const callResponse = await client.call.retrieve('119c3f8e47135a29e65947eeb34cf12d') ;
console.log(callResponse) ;
[(2) ]()
Fields to check in the response:
- call_status — verify if it shows ended or not_connected
- start_timestamp and end_timestamp — compare these to confirm zero duration
- transcript or transcript_object — see if any audio was exchanged
If call_started webhook wasn't triggered but call_ended was, this indicates the call never fully connected on the telephony side—even though the disconnection reason shows user_hangup. [(1) ]()
Since this appears to be a recurring pattern, I'd recommend reaching out to Retell support with your specific call_id values for investigation:
- Visit [Contact Sales]()
- Visit [)AI Evy
12/25/2025, 2:59 AMAI Evy
12/25/2025, 2:59 AM