I have no idea why this is happening. I was under the impression that by default the # key would end the waiting for input. i.e.
“Please enter the extension followed by the pound sign”
user enters 200#
instead of transferring it hangs up immediately.
Any help would be GREAT
Please post the part of your extensions.conf that relates to this.
And please post what happens in the cli (asterisk -vvvvvr) when you execute the call.
Then we can help you.
I use mysql to maintain my extensions. Here it is for extensions involved.
id context exten priority app appdata
391 6477236086 200 1 Dial SIP/a200|20
392 6477236086 200 2 Dial SIP/55 (edited)
393 6477236086 200 3 Dial SIP/55 (edited)
394 6477236086 200 4 Voicemail u200
395 6477236086 200 5 Hangup (null)
2 6477236086 s 1 Noop ${CALLERIDNUM}
239 6477236086 s 2 ResponseTimeout 12
3 6477236086 s 3 Wait 5
4 6477236086 s 4 Playback silence/2
5 6477236086 s 5 Background tyfcvm
6 6477236086 s 6 Wait 2
here is the CLI output. It just stops
– Executing Goto(“SIP/64.26.157.242-00732c40”, “6477236086|s|1”) in new stack
– Goto (6477236086,s,1)
– Executing Noop(“SIP/64.26.157.242-00732c40”, “anonymous”)
– Executing ResponseTimeout(“SIP/64.26.157.242-00732c40”, “12”)
– Set Response Timeout to 12
– Executing Wait(“SIP/64.26.157.242-00732c40”, “5”)
– Executing Playback(“SIP/64.26.157.242-00732c40”, “silence/2”)
– Playing ‘silence/2’ (language ‘en’)
– Executing Background(“SIP/64.26.157.242-00732c40”, “tyfcvm”)
– Playing ‘tyfcvm’ (language ‘en’)
If I don’t hit the pound sign this is what happens (works)
– Executing Goto(“SIP/64.26.157.242-00732c40”, “6477236086|s|1”) in new stack
– Goto (6477236086,s,1)
– Executing Noop(“SIP/64.26.157.242-00732c40”, “anonymous”)
– Executing ResponseTimeout(“SIP/64.26.157.242-00732c40”, “12”)
– Set Response Timeout to 12
– Executing Wait(“SIP/64.26.157.242-00732c40”, “5”)
– Executing Playback(“SIP/64.26.157.242-00732c40”, “silence/2”)
– Playing ‘silence/2’ (language ‘en’)
– Executing Background(“SIP/64.26.157.242-00732c40”, “tyfcvm”)
– Playing ‘tyfcvm’ (language ‘en’)g or any
== CDR updated on SIP/64.26.157.242-00732c40y
– Executing Dial(“SIP/64.26.157.242-00732c40”, “SIP/a200|20”)
[quote]-- Executing Goto(“SIP/64.26.157.242-00732c40”, “6477236086|s|1”) in new stack
– Goto (6477236086,s,1)
– Executing Noop(“SIP/64.26.157.242-00732c40”, “anonymous”)
– Executing ResponseTimeout(“SIP/64.26.157.242-00732c40”, “12”)
– Set Response Timeout to 12
– Executing Wait(“SIP/64.26.157.242-00732c40”, “5”)
– Executing Playback(“SIP/64.26.157.242-00732c40”, “silence/2”)
– Playing ‘silence/2’ (language ‘en’)
– Executing Background(“SIP/64.26.157.242-00732c40”, “tyfcvm”)
– Playing ‘tyfcvm’ (language ‘en’)
[/quote]
So after it plays tyfcvm your hitting 200# on your phone, and it goes no where? But if you hit 200 on your phone it would go ahead and dial SIP/200 corrently.
Im assuming tyfcvm is something you recorded.
Instead of:
“Please enter the extension followed by the pound sign”
just record
“Please enter the extension you wish to dial”
Ive used the # on transfering calls, or ending a phrase recording.
After dialing an extension though it should have a response timeout period where it will start dialing the extension if it is in the dial plan. (i assume thier is a default timeout period because ive never specified one.)
Also is 2 seconds enough wait time, and also you said it hangups.
I would have thought it would have executed
before it hung up…
when you hit the # key the call instantly hangs up. the ‘tyfcvmp’ sound file is quite long and is backgrounded so the user can enter the extension at any point. Also if it times out it goes to the timeout extension, plays a message then the welcome again. My confusion here is that when the # is pushed the call just drops. I can record a new message but don’t want users booted if they hit the # key.
Ok.
During the playing of background cmd if a user hits a key not specified anywhere it is looking for the invalid extension, or 'i’
If you do not have this, it will hang them up immediately.
But it should show in the cli "Invalid extension ‘key entered here’, but no rule ‘i’ in context ‘context here’.
This is on the newest version of Asterisk, im not sure what version your on.
So just add this in the same context that your using.
exten => i,1,Answer
exten => i,2,Playback(pbx-invalid)
exten => i,3,Hangup
Of course instead of the Hangup line, you could do a GoTo s,1 or start them over at the Background sound file.
To have it just keep playing after an invalid key and not do anything, I dont know how that could be done…it should be a feature tho if it isnt.
Does that help you?
Yes that does help. Thank you very much!!
[quote]391 6477236086 200 1 Dial SIP/a200|20
392 6477236086 200 2 Dial SIP/55 (edited)
393 6477236086 200 3 Dial SIP/55 (edited)
394 6477236086 200 4 Voicemail u200
395 6477236086 200 5 Hangup (null) [/quote]
glad to help.
Im curious on what is going on in your dial plan here, why are you dialing SIP/55 if you already dialed SIP/a200?
(then next question why are you dialing SIP/55 twice?)
I guess my next question then would be then on option 4 that would force them to voicemail after option 3 hungup…
lol im curious thanks
it shows up as SIP/55 twice because I had to shorten it to keep it clean in this little window. They are actually 10 digit numbers. It does that because I created a little follow me application so it calls your extension first then other phone numbers you define through a web interface I created. You are right, if none answer it comes back to voicemail. It’s running on version 1.2 (I think 1.4 added some follow me feature but not sure).
Cheers.
oh so that is just another way of doing
exten => 200,1,Dial(SIP/a200|20&SIP/55&SIP/55)
basicly…?
Except it would ring each phone on your setup one at a time until it timed out, then it would go to the next line in your dialplan…
Im curious on your web interface. Which method did you use (like astman, etc…), I tried all of them and would like to hear your thoughts.
Thanks!