voip – Issabel-Asterisk- How to handle multi-digit inputs

I have an Issable server running and integrated with Cisco Call Manager correctly.
I am using Issabel server as my IVR system to answer calls without any direct extension callings.

My Scenario is as below:
When callers call my DID number I have defined IVR which plays fine and ask the user to enter ‘0’ for the operator.

Here is the configuration for the main ivr.

(ivr-4) ; Main-Menu
include => ivr-4-custom
include => from-did-direct-ivr
exten => s,1,Set(TIMEOUT_LOOPCOUNT=0)
exten => s,n,Set(INVALID_LOOPCOUNT=0)
exten => s,n,Set(_IVR_CONTEXT_${CONTEXT}=${IVR_CONTEXT})
exten => s,n,Set(_IVR_CONTEXT=${CONTEXT})
exten => s,n,Set(__IVR_RETVM=)
exten => s,n,GotoIf($("${CDR(disposition)}" = "ANSWERED")?skip)
exten => s,n,Answer
exten => s,n,Wait(1)
exten => s,n(skip),Set(IVR_MSG=custom/WelcomeMessage)
exten => s,n(start),Set(TIMEOUT(digit)=3)
exten => s,n,ExecIf($("${IVR_MSG}" != "")?Background(${IVR_MSG}))
exten => s,n,WaitExten(5,)
exten => 291,1,Set(__IVR_DIGIT_PRESSED=291)
exten => 291,n(ivrsel-291),Goto(ext-miscdests,4,1)

exten => 0,1,Set(__IVR_DIGIT_PRESSED=0)
exten => 0,n(ivrsel-0),Goto(ext-miscdests,3,1)

The above works fine if the caller enters only one digit, and in my case, this is ‘0’ which works correctly. if the caller enters ‘291’ although the “Direct Dial” option is enabled, the call is not passed to CUCM. In other words, the IVR is only able to understand one digit & if there is more than one digit dialed by the caller, the call drops.

I hope you understand my problem since I am new to VOIP services.

Many thanks and best regards