[asterisk-bugs] [Asterisk 0018998]: [patch] Voicemail doesn't read/delete messages in one case

Asterisk Bug Tracker noreply at bugs.digium.com
Sat Apr 2 15:32:46 CDT 2011


A NOTE has been added to this issue. 
====================================================================== 
https://issues.asterisk.org/view.php?id=18998 
====================================================================== 
Reported By:                tootai
Assigned To:                
====================================================================== 
Project:                    Asterisk
Issue ID:                   18998
Category:                   Applications/app_voicemail
Reproducibility:            always
Severity:                   major
Priority:                   normal
Status:                     ready for testing
Asterisk Version:           1.4.40 
JIRA:                        
Regression:                 No 
Reviewboard Link:           https://reviewboard.asterisk.org/r/1153/ 
SVN Branch (only for SVN checkouts, not tarball releases): N/A 
SVN Revision (number only!):  
Request Review:              
====================================================================== 
Date Submitted:             2011-03-19 05:57 CDT
Last Modified:              2011-04-02 15:32 CDT
====================================================================== 
Summary:                    [patch] Voicemail doesn't read/delete messages in
one case
Description: 
When listening the voicemailbox and new callers leave a new message
something goes wrong: after the user has read and deleted all messages, the
last one is not destroyed and the new incoming recorded messages are lost.

Below the relevant logs of an user reading his mailbox with 16 messages
waiting (#<b></b>0 to #<b></b>15). During his reading, a new message was
left while reading message #<b></b>5. All 16 messages where destroyed,
voicemailbox should and has one message, number #<b></b>16. But when
calling Voicemailmain, I get:
 
[2011-03-19 11:15:28] NOTICE[28981] app_voicemail.c: Resequencing Mailbox:
/var/spool/asterisk/voicemail/default/100/INBOX, expected 0 but found 1
message(s) in box with max threshold of 100.

app_voicemail.c:5917 play_message: No message attribute file?!!
(/var/spool/asterisk/voicemail/default/100/INBOX/msg0000.txt)

dh at chacomx:/var/spool/asterisk/voicemail/default/100/INBOX$ ls -al
total 532
drwxr-xr-x 2 root root   4096 2011-03-19 11:15 .
drwxr-xr-x 8 root root   4096 2011-03-19 11:14 ..
-rwxr-xr-x 1 root root  45144 2011-03-18 22:00 msg0016.gsm
-rw-r--r-- 1 root root    264 2011-03-18 22:00 msg0016.txt
-rwxr-xr-x 1 root root 437804 2011-03-18 22:00 msg0016.wav
-rwxr-xr-x 1 root root  44520 2011-03-18 22:00 msg0016.WAV

So Asterisk is looking for msg0000 but found msg0016. There is no
possibility to treat this message, only rename the file as msg0000.* give
the possibility to listen and delete it.
====================================================================== 

---------------------------------------------------------------------- 
 (0133314) alecdavis (manager) - 2011-04-02 15:32
 https://issues.asterisk.org/view.php?id=18998#c133314 
---------------------------------------------------------------------- 
Looks like the declaration for 'last_msg_index' got missed some how,
although it's in the diff????

The beginning of close_mailbox should look like this:<pre>
static int close_mailbox(struct vm_state *vms, struct ast_vm_user *vmu)
{
        int x = 0;
#ifndef IMAP_STORAGE
        int last_msg_index;    <<<<<<< Here is themissing bit <<<<<
        int res = 0, nummsg;
#endif
</pre> 

Issue History 
Date Modified    Username       Field                    Change               
====================================================================== 
2011-04-02 15:32 alecdavis      Note Added: 0133314                          
======================================================================




More information about the asterisk-bugs mailing list