From 2b245b12d920e319bdb8112c00c76cc54b0485a4 Mon Sep 17 00:00:00 2001 From: rrittgarn <rrittgarn@techpro.com> 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 37f8aa96f5..39cdf6af3f 100644 --- a/apps/app_voicemail.c +++ b/apps/app_voicemail.c @@ -11204,7 +11204,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 @@ -11214,6 +11213,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 { @@ -11225,7 +11226,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; } -- GitLab