How to increase timeout between dtmf tones?

I’m working on a dial plan where a user is prompted for a 4 digit number the below dialplan works fine for what I need under normal conditions. The problem occurs when a user takes longer than 5 seconds to hit the next dtmf tone.

Example user presses 111(waits > 5 seconds) I am prompted to the invalid audio track and repeat the process. Is there a way to increase the timeout to say 10 seconds? I’ve tried SET(TIMEOUT(digit)=10) but no luck? is this configurable outside the dialplan?

Asterisk v13.8

[Example_IVR_Start]
exten => s,1,Verbose(1, Starting the IVR example)
        same => n,Set(CORRECTNUM=1111)    
        same => n(menu),Background(example_start)
        same => n,WaitExten(5)
        same => n,Background(long_silence)
        same => n,Goto(Timeout_hangup,s,1)
exten => _XXXX,1,GotoIf($[${EXTEN}=${CORRECTNUM}]?Example_IVR_TWO,s,1:i,invalid)
exten => *,1,Goto(s,menu)
exten => i,1(invalid),Playback(invalid)
exten => i,n,Goto(s,menu)
exten => t,1,Goto(Timeout_hangup,s,1)

This has been resolved. Set(TIMEOUT(digit)=10) needed to come before Background.

I’d suggest providing the console output so we can see precisely what is going on. The TIMEOUT(digit) should have worked though.

You’ve overridden this with a 5 second timeout on WaitExten.

You were correct TIMEOUT(digit) should have worked. I added it after Background originally. I just tried it again by moving it before Background and all worked. Thanks.

[Example_IVR_Start]
exten => s,1,Verbose(1, Starting the IVR example)
        same => n,Set(CORRECTNUM=1111)    
        same => n,Set(TIMEOUT(digit)=10) 
        same => n(menu),Background(example_start)
1 Like