[asterisk-bugs] [JIRA] (ASTERISK-30266) Voicemail aborts when playing caller ID that includes + before digits

Misha Vodsedalek (JIRA) noreply at issues.asterisk.org
Mon Oct 17 16:46:08 CDT 2022


Misha Vodsedalek created ASTERISK-30266:
-------------------------------------------

             Summary: Voicemail aborts when playing caller ID that includes + before digits
                 Key: ASTERISK-30266
                 URL: https://issues.asterisk.org/jira/browse/ASTERISK-30266
             Project: Asterisk
          Issue Type: Bug
      Security Level: None
          Components: Applications/app_voicemail
    Affects Versions: 18.14.0
            Reporter: Misha Vodsedalek


>From a SIP trunk provider, we receive caller ID that includes + before digits in the caller ID number.  The caller leaves a voicemail message.  In the msgXXXX.txt file, the caller ID field looks something like
callerid="Name of the caller" <+16135551234>
The mailbox option saycid for the extension with the mailbox is set to
saycid=yes

When the user attempts to listen to the message, the session is aborted and the following message are logged:
File  does not exist in any format
Unable to open  (format (ulaw|alaw|g729)): No such file or directory

I tracked the problem to say.c line 339.  Here, the assumption is made that the first character must be a valid digit.  When it is the plus sign, & is put at the end of the string and that causes the empty file name issue logged during this scenario.

The following patch solves the issue:
diff -Nru current/say.c new/say.c
--- current/say.c       2022-08-18 17:18:29.000000000 +0200
+++ new/say.c   2022-10-17 23:34:21.199137160 +0200
@@ -336,7 +336,7 @@
                        break;
                }
                if (fn && ast_fileexists(fn, NULL, lang) > 0) {
-                       ast_str_append(&filenames, 0, (num == 0 ? "%s" : "&%s"), fn);
+                       ast_str_append(&filenames, 0, (!ast_str_strlen(filenames) ? "%s" : "&%s"), fn);
                }
                num++;
        }




--
This message was sent by Atlassian JIRA
(v6.2#6252)



More information about the asterisk-bugs mailing list