From 87b40b4d1408dad28efb992e2a4582ab94cb4a76 Mon Sep 17 00:00:00 2001 From: Mark Spencer Date: Wed, 5 Jan 2005 22:38:07 +0000 Subject: [PATCH] Stream courtesy tone if appropriate git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4683 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- res/res_features.c | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/res/res_features.c b/res/res_features.c index 84e22cf0c4..04147cd20b 100755 --- a/res/res_features.c +++ b/res/res_features.c @@ -370,8 +370,10 @@ static int builtin_automonitor(struct ast_channel *chan, struct ast_channel *pee ast_verbose(VERBOSE_PREFIX_3 "User hit '%s' to record call.\n", code); if (monitor_ok) { if (!monitor_app) { - if (!(monitor_app = pbx_findapp("Monitor"))) + if (!(monitor_app = pbx_findapp("Monitor"))) { monitor_ok=0; + return -1; + } } /* Copy to local variable just in case one of the channels goes away */ args = pbx_builtin_getvar_helper(chan, "TOUCH_MONITOR"); @@ -381,6 +383,19 @@ static int builtin_automonitor(struct ast_channel *chan, struct ast_channel *pee args = "WAV||m"; pbx_exec(peer, monitor_app, args, 1); + if (!ast_strlen_zero(courtesytone)) { + if (ast_autoservice_start(peer)) + return -1; + if (!ast_streamfile(chan, courtesytone, chan->language)) { + if (ast_waitstream(chan, "") < 0) { + ast_log(LOG_WARNING, "Failed to play courtesy tone!\n"); + ast_autoservice_stop(peer); + return -1; + } + } + if (ast_autoservice_stop(peer)) + return -1; + } return FEATURE_RETURN_SUCCESS; }