apps/app_voicemail: Trigger MWI notification with MixMonitor m() option
authorMatthew Jordan <mjordan@digium.com>
Thu, 22 Jan 2015 14:23:41 +0000 (14:23 +0000)
committerMatthew Jordan <mjordan@digium.com>
Thu, 22 Jan 2015 14:23:41 +0000 (14:23 +0000)
The MixMonitor m() option allows a recording to be pushed to a specific
voicemail mailbox. If the message is delivered to the mailbox's INBOX, however,
no MWI notification is currently raised.

This patch corrects the issue by properly calling notify_new_state from the
msg_create_from_file function. This will cause MWI to be triggered if the
message was placed in the mailbox's INBOX.

ASTERISK-24709 #close
Reported by: Gareth Palmer
patches:
  app_voicemail-430919.patch uploaded by Gareth Palmer (License 5169)
........

Merged revisions 430920 from http://svn.asterisk.org/svn/asterisk/branches/11
........

Merged revisions 430921 from http://svn.asterisk.org/svn/asterisk/branches/13

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@430922 65c4cc65-6c06-0410-ace0-fbb531ad65f3

apps/app_voicemail.c

index 86724f3..ad99232 100644 (file)
@@ -1098,6 +1098,8 @@ static void read_password_from_file(const char *secretfn, char *password, int pa
 static int write_password_to_file(const char *secretfn, const char *password);
 static const char *substitute_escapes(const char *value);
 static int message_range_and_existence_check(struct vm_state *vms, const char *msg_ids [], size_t num_msgs, int *msg_nums, struct ast_vm_user *vmu);
+static void notify_new_state(struct ast_vm_user *vmu);
+
 /*!
  * Place a message in the indicated folder
  *
@@ -6373,6 +6375,7 @@ static int msg_create_from_file(struct ast_vm_recording_data *recdata)
                }
 
                STORE(dir, recipient->mailbox, recipient->context, msgnum, NULL, recipient, fmt, 0, vms, "", msg_id);
+               notify_new_state(recipient);
        }
 
        free_user(recipient);