Issue with press_digit not triggering in IVR – Call IDs attached

Hi RetellAI Support Team,

I’m reaching out regarding an issue where the press_digit action did not successfully trigger the IVR selection during live calls.

The issue occurred on the following call IDs:

  • call_e83b5af4e8da7783f12167ecca9

  • call_e3d6349a6dc1d856fcfa8f2d953

In both cases, the system was expected to send DTMF input to navigate the IVR, but the digit press did not register on the receiving end.

Could you please help investigate

Please let me know if you need SIP logs or any additional details from my side.

Thank you for your assistance.

Best regards,

Based on the issue you’re experiencing with press_digit not successfully triggering IVR selections, there are several common causes and troubleshooting steps to consider(1).

Common Causes of press_digit Failures

Timing Issues: The most common reason for press_digit failures is that digits are being pressed too early, before the IVR system is ready to receive them(1). The agent may press the button before the IVR prompt has finished playing(1).

Configuration Requirements: To enable Press Digit functionality, you need to(2):

  1. Add a Press Digit Tool to your agent(2)
  2. Add navigation prompts to guide the agent when and what digits to press(2)
  3. Add interaction rules for handling edge cases(2)

Recommended Troubleshooting Steps

Increase Pause Detection Delay: Try increasing the pause time before pressing by adding an extra 500-2000ms above the current time(1). This setting can be configured in the Press Digit function configuration(2).

Review Your Prompts: Ensure you have clear instructions on when to press digits(2). For example:

## IVR Navigation
When interacting with automated systems, menus, or IVR prompts:
Your goal is to reach the scheduling or appointments department.

(2)

Check Interaction Rules: Make sure you have defined rules for when to press digits(2):

## IVR Interaction Rules
1) If the IVR allows you to speak a department name or short phrase:
   - Speak the appropriate department name clearly.
2) If the IVR explicitly instructs you to press a number:
   - Use the press_digit function with the instructed digit.

(2)

Verify API Version: This functionality only works with Call API v2(2). If you’re using older API versions, you need to migrate(2).

Transport Method: For custom telephony integrations, ensure you’re using the correct transport method (TCP is recommended)(3). The SIP server URI is sip:sip.retellai.com(3).

Next Steps

For direct assistance with your specific call IDs, I recommend:

The support team can review your agent configuration and call logs to identify the specific issue affecting your calls.

Here is my prompt part

#PRE-CALL IVR HANDLING OR AUTOMATED RESPONSE SYSTEM
If {{extension}} is not empty:

  • You MUST immediately call the tool press_digit with {{extension}}
  • You MUST NOT speak while dialing keypad tones
  • You MUST call the tool press_digit when extension is mentioned and you can override any waiting turn even if IVR is still speaking.
    If an automated system, IVR gives spoken instructions (e.g., “Press 1 for sales”):
  • MUST Follow the instructions exactly
  • MUST Use press_digit for every required input. Aim for the option that leads you to a representative who can transfer you to the contact. Avoid the option of repeating the automated response system.
  • MUST NOT ask questions
  • MUST NOT speak unless the IVR requests spoken input
    Failure to call the tool press_digit when {{extension}} or IVR, automated response system are present is a critical error.

#Tools

  • press_digit: If there is a IVR or automated response system required to press phone digit to continue, must call this tool to press the digit or {{extension}} to reach human contact.

This is the transcription for the call call_e3d6349a6dc1d856fcfa8f2d953:

User

0:00

You for calling Trinity College School. If you know the extension you’re trying to reach, you can enter it now, or press one for directory assistance.

User

0:09

To reach admissions, please dial one two zero nine. To reach senior school attendance, please dial one one one one. To reach the junior school, you can dial one three zero zero. If you’d like to leave a message, please include your name and phone number we’ll return you call as soon as possible. Thank you for calling, and have a great day.

User

0:30

Record your message at the tone.

press_digit function Description is:

Play DTMF (touch-tone) tones during a phone call to interact with automated systems.

Dynamic variable

{{extension}}

Use this when

Navigating phone menus (e.g., “Press 1 for sales”)

Entering extensions or PINs

Interacting with IVR / automated systems

The user explicitly asks to press keys

DTMF tones

Digits: 0–9

Special: * (star), # (pound)

Pauses: w = 0.5s, W = 1s

Examples

“123” → plays 1, 2, 3

“1*234#” → plays 1, *, 2, 3, 4, #

“1w2W3” → 1, pause, 2, longer pause, 3

“123w456” → 123, pause, 456

Example flows

Menu navigation
User: “Press 1 for sales, 2 for support”
→ dtmf_tones=“2”

PIN with pause
User: “Please enter your PIN”
→ dtmf_tones=“w1234”

Language selection
User: “Press 1 for English”
→ dtmf_tones=“1”

Extension entry
User: “Please enter extension”
→ dtmf_tones=“{{extension}}”

Pause detection delay = 1000

Please check and let me know why the agent didn’t even try to run the tool press_digit to the IVR system.

Hello @g11

The Tool was not called, so the agent didn’t press the digits

And make the prompt simple, you don’t need all of that, for example:

When interacting with IVR / automated systems, use the “press_digits” function to navigate to the junior school

And also, I saw you used {{extension}} on your prompt, but it had no value