From 9296a728a97a90cd0631a83e846868a91128e0d7 Mon Sep 17 00:00:00 2001 From: rrittgarn Date: Wed, 25 Jan 2017 16:25:21 -0600 Subject: [PATCH] app_voicemail: VoiceMailPlayMsg did not play database stored messages When attempting to use VoiceMailPlayMsg with a realtime data backend the message is located, but never retrieved. This patch adds the required RETRIEVE and DISPOSE calls that will fetch the message from the database (and IMAP storage as well for that matter). Also, removed extraneous make_file call. ASTERISK-26723 #close Change-Id: I1e122dd53c0f3d7faa10f3c2b7e7e76a47d51b8c --- apps/app_voicemail.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/apps/app_voicemail.c b/apps/app_voicemail.c index fe76bc0e3c..cc3e6faf6e 100644 --- a/apps/app_voicemail.c +++ b/apps/app_voicemail.c @@ -11206,7 +11206,6 @@ static int play_message_by_id_helper(struct ast_channel *chan, /* Found the msg, so play it back */ make_file(vms->fn, sizeof(vms->fn), vms->curdir, vms->curmsg); - make_file(vms->fn, sizeof(vms->fn), vms->curdir, vms->curmsg); #ifdef IMAP_STORAGE /*IMAP storage stores any prepended message from a forward @@ -11216,6 +11215,8 @@ static int play_message_by_id_helper(struct ast_channel *chan, wait_file(chan, vms, vms->introfn); } #endif + RETRIEVE(vms->curdir,vms->curmsg,vmu->mailbox, vmu->context); + if ((wait_file(chan, vms, vms->fn)) < 0) { ast_log(AST_LOG_WARNING, "Playback of message %s failed\n", vms->fn); } else { @@ -11227,7 +11228,7 @@ static int play_message_by_id_helper(struct ast_channel *chan, ast_mutex_unlock(&vms->lock); #endif } - + DISPOSE(vms->curdir, vms->curmsg); return 0; } -- 2.47.2