[asterisk-users] Need help/suggestions for DialPlan
Myles Wakeham
myles at techsol.org
Wed Dec 9 11:53:23 CST 2009
I am revising our DialPlan strategy for our Asterisk system (1.4.2) and
looking for some info on 'best practices' for this. Here's what I'm
trying to do:
I have an ACD menu that gives the caller the options as follows:
- Press 1 for sales
- Press 2 for support
- Press 3 for customer service
- Press 8 for a 'Dial by Name' list
or enter the extension number at anytime to directly dial that extension.
I am setting up extensions to be 3 digits long, all starting with 6 (ie.
601, 602, 603, etc.)
My current setup requires a single digit to be pressed before going to
that context in the Dialplan. Its all working fine with the exception
of direct employee extension dialing.
What I have done is to create a context for '6'. In other words, I wait
for a single keypress at the main menu and if I get a 6, I then transfer
to get the next 2 digits which represents the employee ID and then
transfer to that person.
But what is happening is that the speed in which Asterisk is picking up
the digits from the caller isn't fast enough for some reason, and is
often missing the first digit (6) and then processing on some other
digit that it picks up on. I don't want to have to change our recorded
audio menu since that was done professionally and was expensive, but
just want it so that the incoming keys pressed are processed instantly.
I'm using a TDM400 from an analog line for the incoming menu, and then
transferring to our internal LAN once the extension is chosen via SIP.
This is the context of my 'main menu':
; Calls during business hours
exten => s,1,Set(TIMEOUT(digit)=1)
exten => s,n,Wait(1)
exten => s,n,Background(1-MainMenu)
exten => s,n,WaitExten(3)
exten => s,n,Goto(ts_operator,s,1)
I have the context for extensions handled like this:
; User pressed 6 - start of extensions
[ts_extensions]
exten => s,1,Set(TIMEOUT(digit)=2)
exten => s,n,WaitExten(10)
exten => s,n,Hangup()
exten => t,1,Hangup()
exten => i,1,Goto(ts_start,s,1)
exten => 01,1,VoiceMail(6000 at edgeneering)
exten => 01,n,Hangup()
exten => 02,1,VoiceMail(6000 at edgeneering)
exten => 02,n,Hangup()
exten => 03,1,VoiceMail(6000 at edgeneering)
exten => 03,n,Hangup()
(I'm dummying out the transfer to SIP phone parts with VoiceMails here
for demo purposes)
What am I doing wrong that is stopping correct identification of the
digits entered by the caller?
Thanks in advance for any assistance.
Myles
More information about the asterisk-users
mailing list