[asterisk-bugs] [Asterisk 0014739]: [patch] Voicemail(ARGS) is limtted to 1024 characters, large 'blast' groups are silently left off
Asterisk Bug Tracker
noreply at bugs.digium.com
Wed Apr 22 20:10:54 CDT 2009
A NOTE has been added to this issue.
======================================================================
http://bugs.digium.com/view.php?id=14739
======================================================================
Reported By: p_lindheimer
Assigned To: tilghman
======================================================================
Project: Asterisk
Issue ID: 14739
Category: Applications/app_voicemail
Reproducibility: have not tried
Severity: major
Priority: normal
Status: ready for testing
Target Version: 1.6.3.0
Asterisk Version: SVN
Regression: No
SVN Branch (only for SVN checkouts, not tarball releases): N/A
SVN Revision (number only!):
Request Review:
======================================================================
Date Submitted: 2009-03-24 16:53 CDT
Last Modified: 2009-04-22 20:10 CDT
======================================================================
Summary: [patch] Voicemail(ARGS) is limtted to 1024
characters, large 'blast' groups are silently left off
Description:
When sending voicemail to several users in the supported format:
Voicemail(200 at default&201 at default& ... 299 at default,s)
the app_voicemail truncates the resulting parameter to 1024 characters. In
FreePBX, there is a blast group that accumulates these into a channel
variable. Therefore, the size that should be allowed should be at least
equivalent to the max size of a channel variable. (Or larger if a command
line can be longer). Unless of course there are other limitations...
In FreePBX, this is called as:
exten => 1,1,VoiceMail(${GRPLIST:1},s)
where the list was previously accumulated in GRPLIST.
The following change reportedly fixes the issue until the new limitation
is met:
--- app_voicemail.c (revision 184036)
+++ app_voicemail.c (working copy)
@@ -4962,7 +4962,7 @@
char fmt[80];
char *context;
char ecodes[17] = "#";
- char tmp[1024] = "";
+ char tmp[2048] = "";
char *tmpptr;
struct ast_vm_user *vmu;
struct ast_vm_user svm;
So it would seem that either a much larger tmp variable should be created
to address very large lists, or it should be dynamically allocated based on
the sizeof the ext argument that is passed to it.
(note - I marked it 'major' because the dialplan is silently corrupting
the data, seemed like it was more than minor, less than major)...
======================================================================
----------------------------------------------------------------------
(0103673) p_lindheimer (reporter) - 2009-04-22 20:10
http://bugs.digium.com/view.php?id=14739#c103673
----------------------------------------------------------------------
got a chance to test. Using 8 digit extensions with the "default" vm
context, it was able to handle 77 extensions in a blast group.
The only question, shouldn't this be an ERROR in the log file vs. a
WARNING? Otherwise, looks good.
Issue History
Date Modified Username Field Change
======================================================================
2009-04-22 20:10 p_lindheimer Note Added: 0103673
======================================================================
More information about the asterisk-bugs
mailing list