[Asterisk-Users] If you know your party's extension # please dial it now ...

Mark Phillips kc2eni at nyc-ares.org
Sun Mar 21 06:37:25 MST 2004

Hi all,

I've built the usual "press one for sales, 2 for support" IVR which works
fine but I'm having difficulty in allowing callers to type in whole
extension numbers.

My internal extn ranges are 3xxx and 4xxx. I have pasted the IVR below
(just in case someone wants one). The welcome message states callers
should type in the extension number they want or choose from the options.
It seems though that one can only press one number before the IVR moves to
the next step.

I'm starting to think that if my extn's are 3xxx and 4xxx I can't have any
menu choices beginning with 3 or 4. Would this be correct? If so how does
the received DTMF break out of the IVR and get matched to the relevant
dialplan entry?

 exten => s,1,Answer
 exten => s,2,SetMusicOnHold(default)
 exten => s,3,DigitTimeout,3
 exten => s,4,ResponseTimeout,5
 ;SAI menu - 1 for tech support, 2 for voicemail, 3 for echo test
 exten => s,5,Background(welcomemsg)
 exten => s,6,Background(choosemsg)

 ; Sales
exten => 1,1,Dial,SIP/3400|20
exten => 1,2,Voicemail(3400)
exten => 1,3,Goto(mainmenu,s,60

 ; Tech support
exten => 2,1,Dial,SIP/3401|20
exten => 2,2,Voicemail(3401)
exten => 2,2,Goto(mainmenu,s,1)

 ; Echo Test
 exten => 3,1,Playback(demo-echotest)
 exten => 3,2,Echo
 exten => 3,3,Playback(demo-echodone)
 exten => 3,4,Goto(mainmenu,s,6)

 ; Parrot Test
 exten => 4,1,Goto(205,1)

 ; Access VoiceMail
 exten => 5,1,VoicemailMain
 exten => 5,2,Goto(mainmenu,s,6)

 ; Play the weasels
 exten => 6,1,Wait,3
 exten => 6,2,Playback(tt-somethingwrong)
 exten => 6,3,Playback(tt-weasels)
 exten => 6,4,Wait,2
 exten => 6,5,Goto(mainmenu,s,6)

; # to hangup
 exten => #,1,Playback(vm-goodbye)
 exten => #,2,Hangup

 exten => t,1,Goto(#,1)         ; If they take too long, give up
 exten => i,1,Playback(invalid) ; "That's not valid, try again"

Whilst writing this I've had a thought. What would happen if I had an
entry like this?

; transfer to regular extension #
exten => _3XXX,1,Dial(SIP/{EXTN}|20|T)
exten => _4XXX,1,Dial(SIP/{EXTN}|20|T)


Mark Phillips, G7LTT/KC2ENI
Randolph, NJ

More information about the asterisk-users mailing list