Summary:ASTERISK-20496: Patch to app_voicemail.c for large vmblasts
Reporter:Bob Roswell (broswell)Labels:
Date Opened:2012-09-30 19:20:43Date Closed:2012-10-19 11:02:10
Versions: Frequency of
Environment:PIAF Installed Version = under *HARDWARE* │ │ FreePBX Version = │ │ Running Asterisk Version = │ │ Asterisk Source Version = *MODIFIED* │ │ Dahdi Source Version = 2.6.1+2.6.1 │ │ Libpri Source Version = 1.4.12 │ │ IP Address = on eth0 │ │ Operating System = CentOS release 6.2 (Final) │ │ Kernel Version = 2.6.32-220.17.1.el6.x86_64 - 64 Bit Attachments:
Description:Sending Voice Mail Blast to large number (>150) of users crushes system performance.  Calls get dropped, go unanswered etc.  Load Average goes from 0.1 to over 20.

I found that adding a sleep(2) in the routine copy_message fixed my issue.

I added just before return

Additional information:

1)  Calling VMBLAST from standard FreePBX implementation
2)  Should be patched even though there are workarounds.  All the API's should work.
3)  Found that I had to add a dummy mailbox.  Staggering the voicemails creates a new problem.  If the first person deletes the voicemail, later people in the chain do not get it since code inserts voicemail into first person's box, and then copies from there.
Comments:By: Rusty Newton (rnewton) 2012-10-02 09:57:21.561-0500

How are you performing a "voice mail blast"? Are you using a script to drop files into the voicemail folders?

By: Matt Jordan (mjordan) 2012-10-19 11:02:10.875-0500

A few reasons I'm going to close this out.

1) No response to Rusty's comment
2) No attached patch
3) Workaround is available by not dropping all 100 voicemails into the VoiceMail mailboxes at a time.  An external script managing this process could schedule the voicemails at periodic times such that the load is distributed in a sane fashion.

If you feel this is worth modifying {{app_voicemail}} for, please sign a license contributor agreement, attach patch, and notify a bug marshal in #asterisk-bugs or on the asterisk-bugs mailing list.  Thanks!