Summary:ASTERISK-01096: duration= written to new file if calling channel hangs up after message deletion
Reporter:hmodes (hmodes)Labels:
Date Opened:2004-02-25 01:47:28.000-0600Date Closed:2008-01-15 14:45:01.000-0600
Versions:Frequency of
Environment:Attachments:( 0) vmail_duration_2.patch
( 1) vmail_duration.patch
Description:If a message is still being left by callee when it is deleted from vm ui the duration= line is written to the already deleted msg*.txt when the callee hangs up.  This creates a phantom mwi and the erronious msg.txt cannot be deleted in voicemail ui


Patch checks for existence of msg.txt file before writing duration= line.  I'm sure this can be done more gracefully, but it proves the concept at least.
Comments:By: hmodes (hmodes) 2004-02-27 01:41:10.000-0600

Mark pointed out my first patch leaves an open fd and lent some c-foo.  _2 should be much more solid.

By: hmodes (hmodes) 2004-02-27 02:25:41.000-0600

damn, i reversed the patch..  just use -R ;p

also, there's no close() to the open() when the msg file isn't there, but it looks like that's okay.  the fclose takes care of the fd when the file is there and a couple test calls don't turn up any orphans when it's not...  the man page seems to confirm this is okay per mark.

By: Mark Spencer (markster) 2004-02-27 19:44:44.000-0600

Fixed in CVS

By: Digium Subversion (svnbot) 2008-01-15 14:45:00.000-0600

Repository: asterisk
Revision: 2275

U   trunk/apps/app_voicemail.c

r2275 | markster | 2008-01-15 14:45:00 -0600 (Tue, 15 Jan 2008) | 2 lines

Don't write duration if file disappears (bug ASTERISK-1096 -- thanks hmodes)



By: Digium Subversion (svnbot) 2008-01-15 14:45:01.000-0600

Repository: asterisk
Revision: 2276

U   branches/v1-0_stable/apps/app_voicemail.c

r2276 | markster | 2008-01-15 14:45:01 -0600 (Tue, 15 Jan 2008) | 2 lines

Don't write duration if file disappears (bug ASTERISK-1096 -- thanks hmodes)