Summary:ASTERISK-12680: '*' escape from VoiceMail no longer works
Reporter:Dan Swartzendruber (dswartz)Labels:
Date Opened:2008-09-03 15:53:55Date Closed:2008-09-03 17:44:34
Versions:Frequency of
Description:At some point between 1.4 and 1.6 a regression was introduced.  If vmu->exit is not defined (we are in a macro?), although '*' was detected, it is not processed at all.


Proposed fix:

--- app_voicemail.c.orig        2008-04-25 12:26:08.000000000 -0400
+++ app_voicemail.c     2008-09-03 16:49:29.000000000 -0400
@@ -3150,7 +3150,8 @@
       /* Check for a '*' here in case the caller wants to escape from voicemail to something
        other than the operator -- an automated attendant or mailbox login for example */
-       if (!ast_strlen_zero(vmu->exit) && (res == '*')) {
+       if (res == '*') {
               chan->exten[0] = 'a';
               chan->exten[1] = '\0';
               if (!ast_strlen_zero(vmu->exit)) {

Note that this is exactly what the 1.4 code does...

Comments:By: Mark Michelson (mmichelson) 2008-09-03 17:38:26

I did an svn blame on this and strangely enough, this exact problem was fixed in trunk in May but apparently did not get merged to the 1.6.0 branch. I'll correct this. Thanks!

By: Mark Michelson (mmichelson) 2008-09-03 17:44:31

Okay, nevermind what I said. This was merged into the 1.6.0 branch, but it's just been that long since beta 9 was released. Luckily, just today, asterisk-1.6.0-rc4 was released and I have double-checked to be sure that this fix is in there. Since this is fixed, I'm going to close this.

I'm also adding a link to the originally-reported issue since it turns out that this is a duplicate of that issue.