[asterisk-bugs] [Asterisk 0016271]: [patch] message limit (maxmsg) can be exceeded in 1.6.x creating orphan voicemail

Asterisk Bug Tracker noreply at bugs.digium.com
Mon Jan 4 14:36:46 CST 2010


A NOTE has been added to this issue. 
====================================================================== 
https://issues.asterisk.org/view.php?id=16271 
====================================================================== 
Reported By:                sohosys
Assigned To:                mnick
====================================================================== 
Project:                    Asterisk
Issue ID:                   16271
Category:                   Applications/app_voicemail
Reproducibility:            always
Severity:                   major
Priority:                   normal
Status:                     feedback
Asterisk Version:           SVN 
JIRA:                       SWP-432 
Regression:                 No 
Reviewboard Link:            
SVN Branch (only for SVN checkouts, not tarball releases): N/A 
SVN Revision (number only!):  
Request Review:              
====================================================================== 
Date Submitted:             2009-11-18 08:27 CST
Last Modified:              2010-01-04 14:36 CST
====================================================================== 
Summary:                    [patch] message limit (maxmsg) can be exceeded in
1.6.x creating orphan voicemail
Description: 
If two are more users are in the process of leaving a voicemail message,
and the count of messages in the mailbox was maxmsg-1 when they started
leaving the message, the application will record all new messages.

Messages will be numbered in the order they were completed, and all
messages over the limit will be inaccessible to the end user. We have
tested up to 5 callers in voicemail resulting in maxmsg+4 messages and 4
inaccessible messages. I assume there is no limit based on the code.

We run some high volume asterisk servers where this has become common. In
the 1.6 series the message is not reported and not accessible by the end
user, although the caller that left the last messages(s) had no indication
of the full mailbox.

I guess this could be classified as minor or major depending on the
content of the messages in the black hole and the job title of the mailbox
owner.

In the 1.2.x series a crash is the result when the end user tries to
access the last messages in the mailbox, and we fixed that by simply adding
10 to our desired maxmsg count in voicemail.conf and changing the code to
test for msgcount <= maxmsg - 10 before accepting a new message, but the
1.6 code is more complex, and our 1.2 solution is too primitive for a
current version, although transparently buffering the variables might be a
good simple solution.
======================================================================
Relationships       ID      Summary
----------------------------------------------------------------------
related to          0015117 crash in voicemail when more than maxms...
====================================================================== 

---------------------------------------------------------------------- 
 (0115998) lmadsen (administrator) - 2010-01-04 14:36
 https://issues.asterisk.org/view.php?id=16271#c115998 
---------------------------------------------------------------------- 
I have to agree with sohosys here. Callers should be alerted prior to
recording a message, and not be left with the impression a voicemail was
left, but was then discarded.

I'd prefer there to be some elasticity with leaving the voicemails in
these rare circumstances that you can only leave maxmsg +
current_active_recordings in the cases where the recording has been started
prior to current_msg being evaluated to maxmsg >= current_msg counts.

If the patch does not already do so, it should document this elastic
situation, or perhaps have a new option added for trunk:

;maxmsg=50,hard    ; hard mode will cause messages to be discarded after
                   ; being recorded in the situation where multiple
active
                   ; recordings would cause the max message limit to be
                   ; exceeded. Note that the user will not be prompted if
                   ; their message is to be discarded.

;maxmsg=50,elastic ; elastic mode allows the situation where multiple
                   ; messages are being left, causing any of the active
                   ; recordings to exceed the max message limit, that
those
                   ; recordings will be allowed to be saved beyond the
maxmsg
                   ; limit. The elastic setting is enabled by default. 

Issue History 
Date Modified    Username       Field                    Change               
====================================================================== 
2010-01-04 14:36 lmadsen        Note Added: 0115998                          
======================================================================




More information about the asterisk-bugs mailing list