Steve Gladden
2005-Aug-18 19:34 UTC
[Asterisk-Users] Newbie Trying to make 'catch all extension' but is catching voicemail exit!
Greetings, Running CVS HEAD about 3 weeks old, I have been beating my head trying to get this to work properly.. Or at least figure out what's going on. Maybe I have done things wrong... I have created a 'catch all' extension at the end of our last context where all phones & voicemail extension exist. This catch all is included in all and works quite nicely except when voicemail is normally exited after leaving a message. The catch-all is intended to play an error message when someone dials a wrong extension. Which it does just fine and that works perfectly! What does not work is that when someone goes to leave a voice message and presses # to end and then 1 to save the message.... as the voicemail exits, it does not find hangup (h,1) or hangup but goes and finds the catchall message! The catch all extension I use is _. (match everything). and also tried _X. (match any numeric) don't match special extensions. I put this at the very end of the last context in my dialplan and it does show up at the end as expected when you do a show dialplan I've tried matching h t and i to no avail... when voicemail terminates it still always plays my fatfingers catchall that is intended only for misdialed numbers. It's like voicemail is trying to go somewhere that is invalid as it terminates I just do not know what that somewhere is! I must be missing some really simple point here :-) Thanks! Steve ;normal extension & voicemail exten => 4102,1,Dial(SIP/4102,44,tT) exten => 4102,2,Voicemail(u4102) ; of course putting a (exten => 4102,3,hangup) ; fixes the problem... ; but I'm trying to learn where the heck it's trying to go when voicemail ; terminates! ; if there is no 4102,3 in the context why is it not finding ; the h, that is!? [last] ;(included at end of all contexts) with an include statement exten => t,1,hangup exten => h,1,hangup exten => #,1,hangup exten => i,1,hangup; also have tried only the h,1 of course ;-) exten => _X.,1,answer exten => _X.,2,wait(1) exten => _X.,3,playback(vm-extension) exten => _X.,4,sayalpha(${EXTEN}) ;reads back invalid # exten => _X.,5,wait(1) exten => _X.,6,playback(fatfingers) ;lets them know it was incorrect exten => _X.,7,Wait,2 exten => _X.,8,playback(fatfingers) exten => _X.,9,Wait,2 exten => _X.,10,playback(fatfingers) exten => _X.,11,hangup ;exten => h,1,playback(goodbye) and a lookie from the prompt: show dialplan last [ Context 'last' created by 'pbx_config' ] '#' => 1. hangup() [pbx_config] 'h' => 1. hangup() [pbx_config] 'i' => 1. hangup() [pbx_config] 't' => 1. hangup() [pbx_config] '_X.' => 1. answer() [pbx_config] 2. wait(1) [pbx_config] 3. playback(vm-extension) [pbx_config] 4. sayalpha(${EXTEN}) [pbx_config] 5. wait(1) [pbx_config] 6. playback(fatfingers) [pbx_config] 7. Wait(2) [pbx_config] 8. playback(fatfingers) [pbx_config] 9. Wait(2) [pbx_config] 10. playback(fatfingers) [pbx_config] 11. hangup() [pbx_config]
Benjamin Lawetz
2005-Aug-19 05:47 UTC
[Asterisk-Users] Newbie Trying to make 'catch all extension' but is catching voicemail exit!
> The catch all extension I use is _. (match everything).That's a nono, but that is not the problem :-)> and also tried _X. (match any numeric) don't match special extensions.Much better!>From voip-info.org on the "cmd VoiceMail" page:If, during the recording the caller presses: '#' - or the defined silence limit is exceeded, recording is stopped and the call continues at priority n+1. So when the user presses "#" it tries to find a match of 4102,3 It searches through you're whole dialplan and gets no pattern that matches 4102,3 except for the last thing _X.,3 which matches, therefore it continues on there. The best thing, as you mentionned is to add the 4102,3 and do what needs to be done. -----Original Message----- From: asterisk-users-bounces@lists.digium.com [mailto:asterisk-users-bounces@lists.digium.com] On Behalf Of Steve Gladden Sent: August 18, 2005 10:34 PM To: asterisk-users@lists.digium.com Subject: [Asterisk-Users] Newbie Trying to make 'catch all extension' but is catching voicemail exit! Greetings, Running CVS HEAD about 3 weeks old, I have been beating my head trying to get this to work properly.. Or at least figure out what's going on. Maybe I have done things wrong... I have created a 'catch all' extension at the end of our last context where all phones & voicemail extension exist. This catch all is included in all and works quite nicely except when voicemail is normally exited after leaving a message. The catch-all is intended to play an error message when someone dials a wrong extension. Which it does just fine and that works perfectly! What does not work is that when someone goes to leave a voice message and presses # to end and then 1 to save the message.... as the voicemail exits, it does not find hangup (h,1) or hangup but goes and finds the catchall message! The catch all extension I use is _. (match everything). and also tried _X. (match any numeric) don't match special extensions. I put this at the very end of the last context in my dialplan and it does show up at the end as expected when you do a show dialplan I've tried matching h t and i to no avail... when voicemail terminates it still always plays my fatfingers catchall that is intended only for misdialed numbers. It's like voicemail is trying to go somewhere that is invalid as it terminates I just do not know what that somewhere is! I must be missing some really simple point here :-) Thanks! Steve ;normal extension & voicemail exten => 4102,1,Dial(SIP/4102,44,tT) exten => 4102,2,Voicemail(u4102) ; of course putting a (exten => 4102,3,hangup) ; fixes the problem... ; but I'm trying to learn where the heck it's trying to go when voicemail ; terminates! ; if there is no 4102,3 in the context why is it not finding ; the h, that is!? [last] ;(included at end of all contexts) with an include statement exten => t,1,hangup exten => h,1,hangup exten => #,1,hangup exten => i,1,hangup; also have tried only the h,1 of course ;-) exten => _X.,1,answer exten => _X.,2,wait(1) exten => _X.,3,playback(vm-extension) exten => _X.,4,sayalpha(${EXTEN}) ;reads back invalid # exten => _X.,5,wait(1) exten => _X.,6,playback(fatfingers) ;lets them know it was incorrect exten => _X.,7,Wait,2 exten => _X.,8,playback(fatfingers) exten => _X.,9,Wait,2 exten => _X.,10,playback(fatfingers) exten => _X.,11,hangup ;exten => h,1,playback(goodbye) and a lookie from the prompt: show dialplan last [ Context 'last' created by 'pbx_config' ] '#' => 1. hangup() [pbx_config] 'h' => 1. hangup() [pbx_config] 'i' => 1. hangup() [pbx_config] 't' => 1. hangup() [pbx_config] '_X.' => 1. answer() [pbx_config] 2. wait(1) [pbx_config] 3. playback(vm-extension) [pbx_config] 4. sayalpha(${EXTEN}) [pbx_config] 5. wait(1) [pbx_config] 6. playback(fatfingers) [pbx_config] 7. Wait(2) [pbx_config] 8. playback(fatfingers) [pbx_config] 9. Wait(2) [pbx_config] 10. playback(fatfingers) [pbx_config] 11. hangup() [pbx_config] _______________________________________________ Asterisk-Users mailing list Asterisk-Users@lists.digium.com http://lists.digium.com/mailman/listinfo/asterisk-users To UNSUBSCRIBE or update options visit: http://lists.digium.com/mailman/listinfo/asterisk-users