aboutsummaryrefslogtreecommitdiffstats
path: root/app.c
diff options
context:
space:
mode:
authormattf <mattf@f38db490-d61c-443f-a65b-d21fe96a405b>2006-01-10 21:35:45 +0000
committermattf <mattf@f38db490-d61c-443f-a65b-d21fe96a405b>2006-01-10 21:35:45 +0000
commitdd867393028e4fa923e46c6b75033c7a8ca16c2f (patch)
tree2eeb79dc29bdb06a175d79e23743cac3b1bfc288 /app.c
parent26887439297279dec0edd3d4f238ccebe8253ade (diff)
Allow a digitstream to contain a flash character ('f' or 'F') when sending dtmf string to a channel. (#4935)
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@7948 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'app.c')
-rw-r--r--app.c12
1 files changed, 9 insertions, 3 deletions
diff --git a/app.c b/app.c
index f6eb18e95..40dbc75af 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 */