From f87a6a3c5fde34491b7de2364b6835f080abf316 Mon Sep 17 00:00:00 2001
From: Matthew Fredrickson <creslin@digium.com>
Date: Tue, 10 Jan 2006 21:35:45 +0000
Subject: [PATCH] Allow a digitstream to contain a flash character ('f' or 'F')
 when sending dtmf string to a channel. (#4935)

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@7948 65c4cc65-6c06-0410-ace0-fbb531ad65f3
---
 app.c | 12 +++++++++---
 1 file changed, 9 insertions(+), 3 deletions(-)

diff --git a/app.c b/app.c
index f6eb18e95c..40dbc75afe 100644
--- a/app.c
+++ b/app.c
@@ -304,10 +304,16 @@ int ast_dtmf_stream(struct ast_channel *chan,struct ast_channel *peer,char *digi
 				f.frametype = AST_FRAME_DTMF;
 				f.subclass = *ptr;
 				f.src = "ast_dtmf_stream";
-				if (strchr("0123456789*#abcdABCD",*ptr)==NULL) {
-					ast_log(LOG_WARNING, "Illegal DTMF character '%c' in string. (0-9*#aAbBcCdD allowed)\n",*ptr);
+				if (strchr("0123456789*#abcdfABCDF",*ptr)==NULL) {
+					ast_log(LOG_WARNING, "Illegal DTMF character '%c' in string. (0-9*#aAbBcCdDfF allowed)\n",*ptr);
 				} else {
-					res = ast_write(chan, &f);
+					if (*ptr == 'f' || *ptr == 'F') {
+						/* ignore return values if not supported by channel */
+						ast_indicate(chan, AST_CONTROL_FLASH);
+						res = 0;
+					} else {
+						res = ast_write(chan, &f);
+					}
 					if (res) 
 						break;
 					/* pause between digits */
-- 
GitLab