From 104974cdb4c57f697e78e4073e68ecb88ecea12c Mon Sep 17 00:00:00 2001
From: Russell Bryant <russell@russellbryant.com>
Date: Sat, 1 Aug 2009 11:02:07 +0000
Subject: [PATCH] Merged revisions 209838 via svnmerge from
 https://origsvn.digium.com/svn/asterisk/branches/1.4

........
  r209838 | russell | 2009-08-01 05:59:05 -0500 (Sat, 01 Aug 2009) | 13 lines

  Modify how Playtones() is used in Milliwatt() to resolve gain issue.

  When Milliwatt() was changed internally to use Playtones() so that the proper
  tone was used, it introduced a drop in gain in the output signal.  So, use
  the playtones API directly and specify a volume argument such that the output
  matches the gain of the original Milliwatt() code.

  (closes issue #15386)
  Reported by: rue_mohr
  Patches:
        issue_15386.rev2.diff uploaded by russell (license 2)
  Tested by: rue_mohr
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@209839 65c4cc65-6c06-0410-ace0-fbb531ad65f3
---
 apps/app_milliwatt.c | 9 ++-------
 1 file changed, 2 insertions(+), 7 deletions(-)

diff --git a/apps/app_milliwatt.c b/apps/app_milliwatt.c
index aa7a118a04..b6d940384b 100644
--- a/apps/app_milliwatt.c
+++ b/apps/app_milliwatt.c
@@ -32,6 +32,7 @@ ASTERISK_FILE_VERSION(__FILE__, "$Revision$")
 #include "asterisk/module.h"
 #include "asterisk/channel.h"
 #include "asterisk/pbx.h"
+#include "asterisk/indications.h"
 
 /*** DOCUMENTATION
 	<application name="Milliwatt" language="en_US">
@@ -142,19 +143,13 @@ static int old_milliwatt_exec(struct ast_channel *chan)
 static int milliwatt_exec(struct ast_channel *chan, const char *data)
 {
 	const char *options = data;
-	struct ast_app *playtones_app;
 	int res = -1;
 
 	if (!ast_strlen_zero(options) && strchr(options, 'o')) {
 		return old_milliwatt_exec(chan);
 	}
 
-	if (!(playtones_app = pbx_findapp("Playtones"))) {
-		ast_log(LOG_ERROR, "The Playtones application is required to run Milliwatt()\n");
-		return -1;
-	}
-
-	res = pbx_exec(chan, playtones_app, "1004/1000");
+	res = ast_playtones_start(chan, 23255, "1004/1000", 0);
 
 	while (!res) {
 		res = ast_safe_sleep(chan, 10000);
-- 
GitLab