Summary:ASTERISK-10315: [patch] Disable automatic move to Old from INBOX once 'heard'
Reporter:Russell Brown (ruffle)Labels:
Date Opened:2007-09-17 07:08:36Date Closed:2007-09-18 15:48:26
Versions:Frequency of
Environment:Attachments:( 0) 10739-moveheard.diff
( 1) app_voicemail.c.diff
Description:I'm getting a lot of flack from my users about Comedian Mail moving 'heard' messages to the Old folder automatically.... and I agree with them enough that I've generated a small patch to optionally disable this behaviour.

The complaint is roughly that should one have a number of messages in one's INBOX and one wants to skip through them to pick out any important stuff before dealing with the rest, the mere act of listening to any part of the messages causes it to be designated as 'heard' and therefore automatically moved to the Old folder even though you've only 'heard' part of it. This can be very annoying if there's already a load of messages in 'Old'.

This patch allows an 'ignoreheard' flag in voicemail.conf.
Comments:By: callguy (callguy) 2007-09-17 10:34:00

we've received many complaints about this as well. for people who receive a large number of messages it can also have the side-effect that certain messages appear "delayed" from their perspective - as they didn't realize that a message they didn't listen to ended up in the old messages folder (and asterisk only defaults to that if there are no new messages).

will this patch against the 1.4 branch as well?

By: Russell Brown (ruffle) 2007-09-17 10:44:21

Yes it should with the possible exception of the bit that reads the configuration.

I originally did the change for 1.4.11 and only redid the patch against svn trunk to ease the life of the developers.  It's actually pretty trivial and if you want to bodge it just comment out the three places in app_voicemail.c where it sets "vms->heard[xxxx] = 1;"

By: Jason Parker (jparker) 2007-09-17 11:21:03

This option should also be available at the per-user level.  I assigned this to myself, as I'm going to take a stab at a new patch based on this.

By: Jason Parker (jparker) 2007-09-17 12:33:23

Give this patch a shot.  Please try both on and off.

Note, I renamed the option "moveheard" (which defaults to on).

By: callguy (callguy) 2007-09-17 12:57:54

am testing now - one quick note, in the user specific entry of the config sample you still have "ignoreheard" instead of "moveheard".

By: Jason Parker (jparker) 2007-09-17 13:47:53


By: callguy (callguy) 2007-09-17 17:02:30

tested against 1.4 trunk, the patch appears to work as advertised, but the config options don't appear to be respected. regardless of whether i set moveheard=yes, moveheard=no, or comment it out to default it always produces the new behavior.

i'm setting the global option.

By: Russell Brown (ruffle) 2007-09-18 03:28:49

Thanks for tidying this up - looks good to me (I avoided using the VM_ flags after seeing the warnings about using the top bits but it's a lot cleaner using that way than a dedicated var).

By: callguy (callguy) 2007-09-18 13:08:22

ruffle - are you seeing the same issue with the config file directives not working?

By: Jason Parker (jparker) 2007-09-18 13:35:41

I'll have to test this locally.  I think I know what is causing the problem.

By: Jason Parker (jparker) 2007-09-18 14:16:15

I'm not able reproduce the issue you're having.

If I set moveheard in the general context to yes, the messages get moved to Old.  If I set it to no, the messages stay in INBOX.  If I don't set it, the messages get moved to Old.

By: callguy (callguy) 2007-09-18 15:09:57

qwell- in prior versions, if you hit 1 to listen to the first message, then repeatedly hit 6 to go to the next they would *all* be marked as read and put into old (i.e. - anything that was touched in any way).

with this patch set to moveheard=yes, you have to actually listen to the message before it will move it (i wasn't actually waiting until the end of the message at any point). this seems sensible to me.

with moveheard=no the message does not move, which is the desired behavior.

I agree that this is working properly.

By: Jason Parker (jparker) 2007-09-18 15:33:48

It only marks the message as heard once you actually listen to the message itself.  If you skip the message while the envelope ("Received at x:xx, on ...") is being played, the message is not marked.

You shouldn't have to listen to all of the message.

By: Digium Subversion (svnbot) 2007-09-18 15:48:26

Repository: asterisk
Revision: 82871

r82871 | qwell | 2007-09-18 15:48:25 -0500 (Tue, 18 Sep 2007) | 9 lines

(closes issue ASTERISK-10315)
Reported by: ruffle
     app_voicemail.c.diff uploaded by ruffle (license 201)
     10739-moveheard.diff uploaded by qwell (license 4)
Tested by: callguy, ruffle

Add an option to disable the automatic moving of "heard" messages to the Old folder.