[asterisk-users] Voicemail not working with vm boxes named with a star

Karsten Wemheuer kwem at gmx.de
Thu Sep 20 06:40:48 CDT 2012

Hi list,

Am Donnerstag, den 20.09.2012, 09:28 +0200 schrieb Karsten Wemheuer:
> Hi list,
> in asterisk 1.4 and maybe earlier it was possible to use voicemail
> system with mailboxes starting with some special characters like *. The
> line in voicemail.conf was like this:
>         *123 => , AB,,,tz=cet|attach=no|
> Calling exten => s,n,Voicemail(*123,su) is working in asterisk 1.4.
> In Asterisk 1.8 the above scenario is not working any more. The
> Voicemail application reports an error message:
> WARNING: app_voicemail.c: leave_voicemail: No entry in voicemail config
> file for '*123'
> Is this a known bug, fixed in newer versions (I currently use 1.8.11) or
> should I file a bug report?

After looking at log files and source code, I found out, that in
function "find_or_create" in app_voicemail.c there is a statement:
        if (!ast_strlen_zero(box) && box[0] == '*') {
right at the beginning of that function. This leads to not setting up a
mailbox *123, whereas "123*" is allowed. The logging says:
        The '*' character, when it is the first character in a mailbox
        or password, is used to jump to a predefined extension 'a'. A
        mailbox or password beginning with '*' is not valid and will be

I do not see, why a mailbox should not be valid starting with '*'. The
feature to jump to a predefined extension by pressing * exists in
Asterisk 1.4 but you can create a mailbox starting with '*' in 1.4. If
for some reason the feature to jump to an predefined extension by
pressing some key forbids using that key as first part of a mailbox,
than the above code should prevent using '0' as first part too, I think.
Pressing '0' is analog to pressing '*' according to the documentation.

Does anybody know, why the "if"-statement is put in the code?



More information about the asterisk-users mailing list