[Asterisk-Users] IVR dial by extension option..
Time Bandit
timebandit001 at gmail.com
Sat Mar 11 06:20:38 MST 2006
> When going option 5 you can dial some extensions such as 2802, it goes to the extension (all extens start with 28 on the
> system). However, just dialing something random like 2929 sends the caller to option 2 of the main menu or 1010 sends
> the caller to menu option 1 from the main menu. Dialing something like 8080 returns the user to the top of the main
> menu as defined by the exten => i of the main menu.
>
> How can I ensure that only valid extensions can be dialed and anything except a number starting with say 28 can be dialed?
Remove your include of extensions definition from you main menu
(include => lcl-extensions)
Change your option 5 to something like this:
exten => 5,1,Goto(lcl-ivr-dialext,s,1)
exten => 5,2,Hangup
Now, create a new context to dial by extension
[lcl-ivr-dialext]
include => lcl-extensions
exten => s,1,Set(TIMEOUT(digit)=5) ; Dial Extension
exten => s,2,Set(TIMEOUT(response)=10)
exten => s,3,Background(LCL/prompt-60) ; This prompt should tell to
press * to return to the main menu
exten => s,4,WaitExten(15)
exten => *,1,Goto(lcl-ivr-main,s,7) ; Return
to main menu
exten => i,1,Playback(pbx-invalid) ; invalid exten
exten => i,2,Wait(1)
exten => i,3,Goto(s,3) ; Return to menu after
a time out
exten => t,1,Goto(lcl-ivr-main,s,7) ; Return
to main menu after a time out
hth
More information about the asterisk-users
mailing list