Cannot transfer voice mail due to "Mailbox is full with capacity of 100" even though the mailbox has less than 100 messages

Hello, I ran into this puzzling situation with FreePBX Distro 1.814.210.58-1.

  • The user tries to transfer a voice mail from extension 10 to extension 14. The transfer fails with the voice mail system reporting the target extension 14 mailbox is full.

This is what is in full.log:

[2012-10-19 11:31:01] VERBOSE[32172] file.c: -- Playing 'vm-password.ulaw' (language 'en') [2012-10-19 11:31:05] VERBOSE[32172] file.c: -- Playing 'vm-youhave.ulaw' (language 'en') [2012-10-19 11:31:06] VERBOSE[32172] file.c: -- Playing 'digits/1.ulaw' (language 'en') [2012-10-19 11:31:07] VERBOSE[32172] file.c: -- Playing 'vm-INBOX.ulaw' (language 'en') [2012-10-19 11:31:07] VERBOSE[32172] file.c: -- Playing 'vm-first.ulaw' (language 'en') [2012-10-19 11:31:08] VERBOSE[32172] config.c: == Parsing '/var/spool/asterisk/voicemail/default/10/INBOX/msg0000.txt': [2012-10-19 11:31:08] VERBOSE[32172] config.c: == Found [2012-10-19 11:31:08] VERBOSE[32172] file.c: -- Playing 'vm-message.ulaw' (language 'en') [2012-10-19 11:31:09] VERBOSE[32172] file.c: -- Playing '/var/spool/asterisk/voicemail/default/10/INBOX/msg0000.slin' (language 'en') [2012-10-19 11:31:12] VERBOSE[32172] file.c: -- Playing 'vm-advopts.ulaw' (language 'en') [2012-10-19 11:31:13] VERBOSE[32172] file.c: -- Playing 'vm-forward.ulaw' (language 'en') [2012-10-19 11:31:14] VERBOSE[32172] file.c: -- Playing 'vm-extension.ulaw' (language 'en') [2012-10-19 11:31:18] NOTICE[32172] app_voicemail.c: Mailbox '14' is full with capacity of 100, prompting for another extension. [2012-10-19 11:31:18] VERBOSE[32172] file.c: -- Playing 'vm-mailboxfull.ulaw' (language 'en') [2012-10-19 11:31:22] VERBOSE[32172] file.c: -- Playing 'vm-forward.ulaw' (language 'en') [2012-10-19 11:31:22] VERBOSE[32172] file.c: -- Playing 'vm-forward.ulaw' (language 'en') [2012-10-19 11:31:27] VERBOSE[32172] file.c: -- Playing 'vm-forward.ulaw' (language 'en') [2012-10-19 11:31:28] VERBOSE[32172] file.c: -- Playing 'vm-forward.ulaw' (language 'en') [2012-10-19 11:31:29] VERBOSE[32172] file.c: -- Playing 'vm-forward.ulaw' (language 'en') [2012-10-19 11:31:29] VERBOSE[32172] file.c: -- Playing 'vm-forward.ulaw' (language 'en') [2012-10-19 11:31:30] VERBOSE[32172] file.c: -- Playing 'vm-forward.ulaw' (language 'en') [2012-10-19 11:31:31] WARNING[32172] file.c: Failed to write frame [2012-10-19 11:31:31] VERBOSE[32172] file.c: -- Playing 'vm-advopts.ulaw' (language 'en') [2012-10-19 11:31:31] VERBOSE[32172] pbx.c: == Spawn extension (from-internal, *98, 11) exited non-zero on 'SIP/10-00000140' [2012-10-19 11:31:31] VERBOSE[32172] pbx.c: -- Executing [[email protected]:1] Hangup("SIP/10-00000140", "") in new stack [2012-10-19 11:31:31] VERBOSE[32172] pbx.c: == Spawn extension (from-internal, h, 1) exited non-zero on 'SIP/10-00000140'

However, when I looked in each voicemail folder in /var/spool/asterisk/voicemail/default/14/… (INBOX, Old, etc.), the highest message count was 80 or so.

I also logged into the web user portal to view message counts there, and these were all under 100 as well, matching the count of files found on the file system.

I then restarted Asterisk with “amportal restart” and tried to transfer the message again using the voicemail interface. I got the same error stating that the destination box was full.

As a workaround, I changed the maxmsg voicemail parameter from 100 to a higher value, and that allowed the voice mail forward to work.

However, it is a mystery why the voicemail system was thinking the box was full in the first place.

Does anyone know if there is some other place the voicemail system stores the number of messages in each voice mail folder, such that this value could get out-of-sync with what is actually on disk?

Thanks,
Tim Miller Dyck

Examining the app_voicemail.c code shows that a voice mail forward uses the sum of the message count of the INBOX and Old folders in the target mailbox rather than counting each folder individually.

This has been classified as a regression on the Asterisk JIRA bug tracker.

See Asterisk JIRA ticket 20597 for more:

https://issues.asterisk.org/jira/browse/ASTERISK-20597

Regards,
Tim Miller Dyck

Voice mails are all saved automatically in the mail box. Whenever the user wants to check those mail he or she can check those mails.
Virtual Office London