Problem with voicemail - can't log in to mailbox

Hi to all,
2 months of successful usage and than… something, don’t now why, going wrong.
We use FreePBX 2.4.1.0, 10 extensions, IVR etc…
three days ago, voicemail stops to work. When you call our inbound number, in a a case that we are all busy, IVR plays message (recorded by us) - say press 0 to leave voicemail , and than automated voice (built-in) says: I’m sorry, an error has occurred. Here is log:

– Executing [vmb535@ext-local:1] Macro(“IAX2/xxxxxxx”, “vm,535,BUSY”) in new stack
– Executing [s@macro-vm:1] Macro(“IAX2/xxxxxxxx-xxx”, “user-callerid,SKIPTTL”) in new stack
– Executing [s@macro-user-callerid:1] NoOp(“IAX2/xxxxxxxx-xxx”, “user-callerid:xxxxxxxxxxxxxxxx”) in new stack
– Executing [s@macro-user-callerid:2] Set(“IAX2/xxxxxxxx-xxx”, “AMPUSER=xxxxxxxxxxx”) in new stack
– Executing [s@macro-user-callerid:3] GotoIf(“IAX2/xxxxxxxx-xxx”, “0?report”) in new stack
– Executing [s@macro-user-callerid:4] ExecIf(“IAX2/xxxxxxxx-xxx”, “0?Set(REALCALLERIDNUM=xxxxxxxxxx)”) in new stack
– Executing [s@macro-user-callerid:5] NoOp(“IAX2/xxxxxxxx-xxx”, “REALCALLERIDNUM is xxxxxxxx”) in new stack
– Executing [s@macro-user-callerid:6] Set(“IAX2/xxxxxxxx-xxx”, “AMPUSER=”) in new stack
– Executing [s@macro-user-callerid:7] Set(“IAX2/xxxxxxxx-xxx”, “AMPUSERCIDNAME=”) in new stack
– Executing [s@macro-user-callerid:8] GotoIf(“IAX2/xxxxxxxx-xxx”, “1?report”) in new stack
– Goto (macro-user-callerid,s,13)
– Executing [s@macro-user-callerid:13] NoOp(“IAX2/xxxxxxxx-xxx”, “TTL: 64 ARG1: SKIPTTL”) in new stack
– Executing [s@macro-user-callerid:14] GotoIf(“IAX2/xxxxxxxx-xxx”, “1?continue”) in new stack
– Goto (macro-user-callerid,s,23)
– Executing [s@macro-user-callerid:23] NoOp(“IAX2/xxxxxxxx-xxx”, “Using CallerID “xxxxxxxx” “) in new stack
– Executing [s@macro-vm:2] Set(“IAX2/xxxxxxxx-xxx”, “VMGAIN=”””) in new stack
– Executing [s@macro-vm:3] GotoIf(“IAX2/xxxxxxxx-xxx”, “1?vmx,1”) in new stack
– Goto (macro-vm,vmx,1)
– Executing [vmx@macro-vm:1] GotoIf(“IAX2/xxxxxxxx-xxx”, “0?s-BUSY,1”) in new stack
– Executing [vmx@macro-vm:2] Set(“IAX2/xxxxxxxx-xxx”, “MODE=busy”) in new stack
– Executing [vmx@macro-vm:3] GotoIf(“IAX2/xxxxxxxx-xxx”, “1?notdirect”) in new stack
– Goto (macro-vm,vmx,5)
– Executing [vmx@macro-vm:5] NoOp(“IAX2/xxxxxxxx-xxx”, “Checking if ext 535 is enabled: “) in new stack
– Executing [vmx@macro-vm:6] GotoIf(“IAX2/xxxxxxxx-xxx”, “1?s-BUSY,1”) in new stack
– Goto (macro-vm,s-BUSY,1)
– Executing [s-BUSY@macro-vm:1] NoOp(“IAX2/xxxxxxxx-xxx”, “BUSY voicemail”) in new stack
– Executing [s-BUSY@macro-vm:2] Macro(“IAX2/xxxxxxxx-xxx”, “get-vmcontext,535”) in new stack
– Executing [s@macro-get-vmcontext:1] Set(“IAX2/xxxxxxxx-xxx”, “VMCONTEXT=default”) in new stack
– Executing [s@macro-get-vmcontext:2] GotoIf(“IAX2/xxxxxxxx-xxx”, “0?200:300”) in new stack
– Goto (macro-get-vmcontext,s,300)
– Executing [s@macro-get-vmcontext:300] NoOp(“IAX2/xxxxxxxx-xxx”, “”) in new stack
– Executing [s-BUSY@macro-vm:3] VoiceMail(“IAX2/xxxxxxxx-xxx”, “535@default,b”””) in new stack
– Executing [s-BUSY@macro-vm:4] Goto(“IAX2/xxxxxxxx-xxx”, “exit-FAILED,1”) in new stack
– Goto (macro-vm,exit-FAILED,1)
– Executing [exit-FAILED@macro-vm:1] Playback(“IAX2/xxxxxxxx-xxx”, “im-sorry&an-error-has-occured”) in new stack
– <IAX2/xxxxxxxx-xxx> Playing ‘im-sorry.gsm’ (language ‘en’)
– <IAX2/xxxxxxxx-xxx> Playing ‘an-error-has-occured.gsm’ (language ‘en’)
– Executing [exit-FAILED@macro-vm:2] GotoIf(“IAX2/xxxxxxxx-xxx”, “0?exit-RETURN,1”) in new stack
– Executing [exit-FAILED@macro-vm:3] Hangup(“IAX2/xxxxxxxx-xxx”, “”) in new stack
== Spawn extension (macro-vm, exit-FAILED, 3) exited non-zero on ‘IAX2/xxxxxxxx-xxx’ in macro ‘vm’
== Spawn extension (macro-vm, exit-FAILED, 3) exited non-zero on ‘IAX2/xxxxxxxx-xxx’

I can’t see anything useful to debug, here… ???

And the second problem is that we can not listen to our voicemail… actually we can’t log in to mailbox from the phone (we use Linksys SPA942). Like ususal, we type *97, and password after that… but automated voice says: Login incorrect ??? Here is log file:

– Executing [*97@from-internal:1] Answer(“SIP/535-0a0c71e8”, “”) in new stack
– Executing [*97@from-internal:2] Wait(“SIP/535-0a0c71e8”, “1”) in new stack
== Manager ‘admin’ logged off from 127.0.0.1
– Executing [*97@from-internal:3] Macro(“SIP/535-0a0c71e8”, “user-callerid,”) in new stack
– Executing [s@macro-user-callerid:1] NoOp(“SIP/535-0a0c71e8”, “user-callerid: device 535”) in new stack
– Executing [s@macro-user-callerid:2] Set(“SIP/535-0a0c71e8”, “AMPUSER=535”) in new stack
– Executing [s@macro-user-callerid:3] GotoIf(“SIP/535-0a0c71e8”, “0?report”) in new stack
– Executing [s@macro-user-callerid:4] ExecIf(“SIP/535-0a0c71e8”, “1?Set(REALCALLERIDNUM=535)”) in new stack
– Executing [s@macro-user-callerid:5] NoOp(“SIP/535-0a0c71e8”, “REALCALLERIDNUM is 535”) in new stack
– Executing [s@macro-user-callerid:6] Set(“SIP/535-0a0c71e8”, “AMPUSER=535”) in new stack
– Executing [s@macro-user-callerid:7] Set(“SIP/535-0a0c71e8”, “AMPUSERCIDNAME=support1”) in new stack
– Executing [s@macro-user-callerid:8] GotoIf(“SIP/535-0a0c71e8”, “0?report”) in new stack
– Executing [s@macro-user-callerid:9] Set(“SIP/535-0a0c71e8”, “AMPUSERCID=535”) in new stack
– Executing [s@macro-user-callerid:10] Set(“SIP/535-0a0c71e8”, “CALLERID(all)=“support1” <535>”) in new stack
– Executing [s@macro-user-callerid:11] Set(“SIP/535-0a0c71e8”, “REALCALLERIDNUM=535”) in new stack
– Executing [s@macro-user-callerid:12] ExecIf(“SIP/535-0a0c71e8”, “0?Set(CHANNEL(language)=)”) in new stack
– Executing [s@macro-user-callerid:13] NoOp(“SIP/535-0a0c71e8”, "TTL: ARG1: ") in new stack
– Executing [s@macro-user-callerid:14] GotoIf(“SIP/535-0a0c71e8”, “0?continue”) in new stack
– Executing [s@macro-user-callerid:15] Set(“SIP/535-0a0c71e8”, “__TTL=64”) in new stack
– Executing [s@macro-user-callerid:16] GotoIf(“SIP/535-0a0c71e8”, “1?continue”) in new stack
– Goto (macro-user-callerid,s,23)
– Executing [s@macro-user-callerid:23] NoOp(“SIP/535-0a0c71e8”, “Using CallerID “support1” <535>”) in new stack
– Executing [*97@from-internal:4] Macro(“SIP/535-0a0c71e8”, “get-vmcontext,535”) in new stack
– Executing [s@macro-get-vmcontext:1] Set(“SIP/535-0a0c71e8”, “VMCONTEXT=default”) in new stack
– Executing [s@macro-get-vmcontext:2] GotoIf(“SIP/535-0a0c71e8”, “0?200:300”) in new stack
– Goto (macro-get-vmcontext,s,300)
– Executing [s@macro-get-vmcontext:300] NoOp(“SIP/535-0a0c71e8”, “”) in new stack
– Executing [*97@from-internal:5] MailboxExists(“SIP/535-0a0c71e8”, “535@default”) in new stack
– Executing [*97@from-internal:6] GotoIf(“SIP/535-0a0c71e8”, “0?mbexist”) in new stack
– Executing [*97@from-internal:7] VoiceMailMain(“SIP/535-0a0c71e8”, “”) in new stack
– <SIP/535-0a0c71e8> Playing ‘vm-login.gsm’ (language ‘en’)
– <SIP/535-0a0c71e8> Playing ‘vm-password.gsm’ (language ‘en’)
– Incorrect password ‘1234’ for user ‘535’ (context = default)
– <SIP/535-0a0c71e8> Playing ‘vm-incorrect-mailbox.gsm’ (language ‘en’)
– Executing [h@from-internal:1] Macro(“SIP/535-0a0c71e8”, “hangupcall”) in new stack
– Executing [s@macro-hangupcall:1] ResetCDR(“SIP/535-0a0c71e8”, “w”) in new stack
– Executing [s@macro-hangupcall:2] NoCDR(“SIP/535-0a0c71e8”, “”) in new stack
– Executing [s@macro-hangupcall:3] GotoIf(“SIP/535-0a0c71e8”, “1?skiprg”) in new stack
– Goto (macro-hangupcall,s,6)
– Executing [s@macro-hangupcall:6] GotoIf(“SIP/535-0a0c71e8”, “1?skipblkvm”) in new stack
– Goto (macro-hangupcall,s,9)
– Executing [s@macro-hangupcall:9] GotoIf(“SIP/535-0a0c71e8”, “1?theend”) in new stack
– Goto (macro-hangupcall,s,11)
– Executing [s@macro-hangupcall:11] Hangup(“SIP/535-0a0c71e8”, “”) in new stack
== Spawn extension (macro-hangupcall, s, 11) exited non-zero on ‘SIP/535-0a0c71e8’ in macro ‘hangupcall’
== Spawn extension (macro-hangupcall, s, 11) exited non-zero on ‘SIP/535-0a0c71e8’

I’ve tried to change password, to change extensions (create new ones… etc) but result is always the same.

I’m just thinking, there must be something wrong with some conf file, but I don’t have a backup :frowning: from time when it worked fine…
Is there something that is missing ??? Almost sure…

;!
;! Automatically generated configuration file
;! Filename: voicemail.conf (/etc/asterisk/voicemail.conf)
;! Generator: AppVoicemail
;! Creation Date: Wed Aug 20 10:19:15 2008
;!

[general]
#include “vm_email.inc”
#include “vm_general.inc”

[default]

Thank you for any help.
Cheers.

Is that your entire voicemail.conf? You may need to re-set the voicemail for your users… Go to each extensions and re-enable voicemail for that extension. If there is more in the file - please post it

Actually that is my full voicemail.conf !!! But, nobody has ever touched configuration…
I’ve tried already to re-enable voicemail for every extension. Also, I’ve tried to create new extension. Same problem. Strange is that I can log in to every mailbox through Recordings tab in FreePBX interface.
Please anyone, can you put example of voicemail.conf here to see what is missing.
Who should be owner of that file? in my instalation user is asterisk, group is asterisk… think it should be like that.

each and every extension that should have voice mail enabled for it should be listed. So something either overwrote the voicemail.conf file or they were disabled. What was changed/happened 3 or 4 days ago?

The voicemail.conf file is used to store the voice mail settings that the directory, *97, *98, and any call that is transferred to voice mail reads this file to determine what extensions have voice mail and use those parameters.

This is a example of what one line should look like (you’d have one for each voice mail enabled account):
123 => 1234,Bob Smith,[email protected],attach=yes|saycid=no|envelope=no|delete=no

So one trick to force it to re-generate a line for a extension is to change a parameter in the line, so enable and/or disable playing of the envelope, delete message after e-mail, etc. you’ll need to then save it, and then change it back as the system is smart to know if a change was make or not and only updates for actual changes.

THANK YOU ALL!
something is wrong when I try to configure voicemail through GUI.
If I wrote 123 => 1234,Bob Smith,[email protected],attach=yes|saycid=no|envelope=no|delete=no and reload voicemail pbx*CLI> voicemail reload - then it works.
In a case that I try to modify voicemail in GUI everything is wrong…
hmmm…
thank you very much!

that would seem to imply that either the permissions on the file and/or user that things are running under are not correct.

hmmm… can you tell me what permissions voicemail.conf should have?

-rw-rw-r-- 1 asterisk asterisk 686 Sep 4 16:45 /etc/asterisk/voicemail.conf

is this correct?

And why GUI make such a mess? where I can see what’s happened? I presume somewhere in /var/log/ ?

Those are the correct permissions. Asterisk is running under the correct user, asterisk correct?

Back to the important question that you have not answered from above “What was changed/happened 3 or 4 days ago”? Think, something changed and you probably consider it irrelevant but it seems that it is not. That or something just before that time that didn’t get applied or reloaded until 3 or 4 days ago. For example you change a name on a extension? At one point there used to be a problem with certain symbols being used in a name like ’ I’m not sure if that was ever addressed or not, but at the time I had the issue our new employee suddenly decided that they didn’t like the job and left so my issue went away.

sorry not to answer. :wink: lot of other things to do…
believe me, I didn’t changed anything like extension names, etc… Every extension that I create doesn’t have any special characters, just letters and numbers . . .
Stil, there is a problem - I can’t change extensions through GUI, only by editing voicemail.conf
It doesn’t bother me anymore, but I said it just to keep you informed.

Cheers :wink:

The other thing that could have happened is that somehow your database has been corrupted. One way to fix that is go in to each extension and just click on the submit button (might want to check to be sure everything looks ok). It will rewrite the records correctly then apply and see if that fixes it.

But what you are describing is not something that is happening to tens of thousands of others.