correct-apricot•3d ago
DTMF Tool Response Too Late — Call Ends Prematurely
@Duckie I’m encountering an issue where the DTMF tool is successfully triggered, but the response seems to arrive too late for the IVR system to process -resulting in the call being terminated before any connection is made.
- DTMF is enabled in predefined functions.
- I’m using the following prompt logic:
[When navigating an IVR tree]
- WAIT for all options to be spoken before proceeding
- Once you have heard all options, use the dtmf tool with an input digit that matches the option you want to select
- Avoid saying anything if using the dtmf tool at the same time
[When waiting]
- Reply with an empty string like " " to ensure nothing is spoken
[Call Flow]
1. Navigate IVR tree (if needed)
- In order to get connected with a live representative that can handle your request, you may need to navigate an IVR tree.
- This might sound like "Press 1 for..."
- Look for options that indicate operator assistance
- As soon as you get connected to a human, proceed to the next step
Call Log Snippet:
{
"role": "tool_calls",
"time": 1764766963010,
"toolCalls": [
{
"id": "call_6yzvunWJDZmhqCpnQurAAkcA",
"type": "function",
"function": {
"name": "dtmf",
"arguments": "{"keys": "1"}"
}
}
],
"secondsFromStart": 16.587
}
{
"name": "dtmf",
"role": "tool_call_result",
"time": 1764766963012,
"result": "Success.",
"toolCallId": "call_6yzvunWJDZmhqCpnQurAAkcA",
"secondsFromStart": 16.589
}
As seen in the attached scrreenshot, the assistant correctly prompts for Janet Gergis, the IVR responds with “To proceed with this call, please press 1,” and the DTMF tool completes successfully. However, the call immediately ends with “Customer ended the call” - even though the customer never picked up.
Here is the call id: 019ae44e-8dd1-788a-aa84-e87906d33607
Start time: Dec 3, 2025, 18:02
Can you pinpoint what the actual issue might be?

9 Replies
To address DTMF timing issues, try adding short pauses between digits when sending DTMF tones. For example, if using Twilio, Telnyx, or Vapi Numbers, use
Start with 0.5s pauses and increase if digits are still missed. This gives the IVR more time to register each tone and can prevent premature call termination due to missed inputs (see documentation for provider-specific pause characters) information. Source: - IVR Navigation
w for a 0.5s pause:Start with 0.5s pauses and increase if digits are still missed. This gives the IVR more time to register each tone and can prevent premature call termination due to missed inputs (see documentation for provider-specific pause characters) information. Source: - IVR Navigation
⤵️ Mention @Vapi Support Bot for follow-ups 🐥
correct-apricotOP•3d ago
Right now, only a single digit is being sent, not multiple. @Duckie
Thank you for clarifying that only a single digit is being sent. To help pinpoint the issue, could you confirm which telephony provider (e.g., Twilio, Telnyx, Vonage, etc.) you are using for this call? This will help determine if there are any provider-specific DTMF or call control behaviors that might be affecting the call flow.
If you are unsure, you can check your call configuration or share the relevant section here. Sources: - IVR Navigation - Debug call forwarding drops
If you are unsure, you can check your call configuration or share the relevant section here. Sources: - IVR Navigation - Debug call forwarding drops
correct-apricotOP•3d ago
I am using Twilio @Duckie
To address the issue with single-digit DTMF and Twilio, try retrying the DTMF input with a slight delay if the first attempt fails. For example, send the digit with a 0.5s pause:
If the IVR still does not respond, use a spoken fallback (e.g., say "one" aloud). This approach is recommended for IVR systems that may miss quick or single-tone inputs see documentation. Source: - IVR Navigation
If the IVR still does not respond, use a spoken fallback (e.g., say "one" aloud). This approach is recommended for IVR systems that may miss quick or single-tone inputs see documentation. Source: - IVR Navigation
correct-apricotOP•3d ago
It’s best to add pauses when the IVR requires multiple digits to be entered at a lower pace. @Duckie
If you encounter issues with single-digit DTMF on Twilio, try sending the digit with a short pause in front to improve reliability. For example:
This adds a 0.5s pause before the digit, giving the IVR more time to process the input. If the IVR still does not respond, consider retrying or using a spoken fallback as the next step.
Source: IVR Navigation
Source: IVR Navigation
correct-apricotOP•3d ago
Still encountering the same issue @Duckie
Since pause and retry strategies haven't resolved the issue, the next recommended step is to test your IVR flow using a different telephony provider (such as Telnyx or Vonage) to determine if the DTMF timing problem is specific to Twilio. This can help isolate whether the issue is provider-related. If the problem disappears with another provider, you may want to consider switching or contacting Twilio support for further investigation.
Example:
- Try the same DTMF flow using a Telnyx or Vonage number and compare the results.
For more details, see the IVR Navigation documentation.
Source:
- IVR Navigation