Summary:ASTERISK-06772: [patch] Skip recording, just play a message
Reporter:Michael Molbech (molbech)Labels:
Date Opened:2006-04-13 09:48:03Date Closed:2011-06-07 14:02:46
Versions:Frequency of
Description:I have made a little (ugly goto) patch that makes it possible to just play a message, not record anything.

It's used for playing short operation messages to users etc. Easy for our supporters to change the message etc.

The patch makes i possible to make the decision per mailbox.

Hopefully it's usable for others.


--- asterisk-1.2.7/apps/app_voicemail.c 2006-04-12 00:24:46.000000000 +0200
+++ ../asterisk-1.2.7/apps/app_voicemail.c      2006-04-13 16:37:05.000000000 +0200
@@ -113,6 +113,7 @@
#define VM_DELETE              (1 << 12)
#define VM_ALLOCED             (1 << 13)
#define VM_SEARCH              (1 << 14)
+#define VM_NOMSG                (1 << 15)

#define ERROR_LOCK_PATH                -100

@@ -477,6 +478,8 @@
               ast_copy_string(vmu->dialout, value, sizeof(vmu->dialout));
       } else if (!strcasecmp(var, "exitcontext")) {
               ast_copy_string(vmu->exit, value, sizeof(vmu->exit));
+       } else if (!strcasecmp(var, "nomsg")){
+               ast_set2_flag(vmu, ast_true(value), VM_NOMSG);
       } else if (!strcasecmp(var, "maxmsg")) {
               vmu->maxmsg = atoi(value);
               if (vmu->maxmsg <= 0) {
@@ -2531,6 +2534,11 @@
       /* The meat of recording the message...  All the announcements and beeps have been played*/
       ast_copy_string(fmt, vmfmts, sizeof(fmt));
+       if (ast_test_flag(vmu, VM_NOMSG))
+         goto leave_vm_out;
       if (!ast_strlen_zero(fmt)) {
               msgnum = 0;

Comments:By: Tilghman Lesher (tilghman) 2006-04-14 00:01:14

Why not just use the Playback app?

By: Michael Molbech (molbech) 2006-04-14 05:26:24

Because, it's used for users e.g users have the possiblity to change there messages from the phone. They can record a message that "i'm a lunch at... will be back ....". Without taking a message.

By: Joshua C. Colp (jcolp) 2006-04-15 14:48:17

Can you get a disclaimer in so I can look at this?

By: Russell Bryant (russell) 2006-04-15 14:53:36

I would also like to see this implemented as a global option, as well, and not just a user specific option in the configuration.

By: Tilghman Lesher (tilghman) 2006-04-16 01:25:46

I still don't think it's a terribly good idea to prohibit someone from leaving a message in the voicemail system.  We have a temporary greeting already in voicemail, and there are other apps available simply to playback a message.  If you're looking for authentication to change a message, simply use the VMAuthenticate and Record apps, with Playback for the actual message.

By: Michael Molbech (molbech) 2006-04-16 07:46:56

I see the point with using the existing things, but from a users point - they use the same application for voicemail or just a message. They will be familiar with the (voice)userinterface (vui).

From admin point, i don't have to setup to different setups, for voicemail, and one for message only voicemail.

The further extension to this little patch would be to implement a user selectable option, so the user can decide if the it should be possible to leave message or not.

As i recall, the global option exist ?

By: Tilghman Lesher (tilghman) 2006-04-19 12:54:05

You can also playback the message directly with the Playback app, whether it is saved in Voicemail or not.  For example:


This preserves your interface to change the message, while making it quite clear that you're just playing a message, not recording a voicemail.

By: Michael Molbech (molbech) 2006-04-19 13:46:34

Correct if i'm not using ODBC Storage :)

I think i misunderstand you, i'm not sure.

My point is the phoneuser has one number (voicemail) , one interface (voicemailmain) to use or a webapplication (for my part) -  
On this number it's possible to set the a message as playing, and with the option to  receive a message or not.

As i see it - the user has to have two numbers one for "voicemail" and one for "VoicePlay". I want to avoid that by give the user a simple way to do it.

By: Serge Vecher (serge-v) 2006-05-04 13:52:32

molbech: did you file the disclaimer?

By: Jeffrey C. Ollie (jcollie) 2006-05-04 14:05:30

Also, is this something that the user can configure from inside VoiceMailMain?  That is, allow each user to toggle record message/don't record message on the fly?

By: Michael Molbech (molbech) 2006-05-05 03:46:52

Discaler: Now i have - and faxed it :)

Mainmenu; I have not patched it  - but it's a simple case i think :)

By: Serge Vecher (serge-v) 2006-05-05 09:07:59

molbech: thanks for sending the disclaimer.

can you please upload a patch file, including a change to VoiceMailMain?


By: Michael Molbech (molbech) 2006-05-05 10:16:15

I can fix a patch file of course for what i have done.

The voicemail main feature - as i see it - should be under advanced -
I will come up with a patch....

By: Serge Vecher (serge-v) 2006-05-22 15:55:17

also, since this is a new feature, it needs to be against trunk. Please attach a new patch. Thanks.

By: Matt O'Gorman (mogorman) 2006-05-23 14:21:00

i think this will require kevin or mark's response but i feel this is a pointless patch and only adds more complexity to voicemail and is very easy to replicate in dial plan logic, leaving a note for kevin.

By: Michael Molbech (molbech) 2006-05-25 09:41:55

Correct - if you have access to the dialplan, but if you are (sorry! :)) a stupid user - who just uses the "PABX" and want to say : 'I'm out for a biiig lunch' nothing else, it's possible to do this, and user may disable the "leave message" function.

My view is from the users perspective, and the user is not able to "change" the dialplan. It's correct it gives more complexity.

By: op (op) 2006-05-26 18:50:32

I also think this would be a nice feature.

I've seen this function in the voicemail system of a well-known French PBX manufacturer - ordinary users can switch between voicemail and announcement-only mode, both of them having their own announcements. This is quite useful if you're on vacation and don't want to take care of dozens of voice messages when you return.

By: Tilghman Lesher (tilghman) 2006-07-03 08:30:33

Housekeeping... Do we have a new patch against trunk or has the reporter lost interest?

By: Tilghman Lesher (tilghman) 2006-07-05 23:19:27

Reporter appears to have lost interest.  Reopen or get a bug marshal to reopen, if you have a new patch against trunk to post.