diff options
author | file <file@f38db490-d61c-443f-a65b-d21fe96a405b> | 2007-08-06 21:52:30 +0000 |
---|---|---|
committer | file <file@f38db490-d61c-443f-a65b-d21fe96a405b> | 2007-08-06 21:52:30 +0000 |
commit | e8820a04915e9c541e5330eef7435d68c6215327 (patch) | |
tree | b89adfb31308894d6ab44ad8b7232a763dfee84f /apps | |
parent | 6f3cf2396f0d88b7a9dcba22aa39b969b107da2c (diff) |
Extend the ast_senddigit and ast_dtmf_stream API calls to allow the duration of the DTMF digit(s) to be specified and make the SendDTMF application have the capability to use it.
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@78278 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'apps')
-rw-r--r-- | apps/app_dial.c | 6 | ||||
-rw-r--r-- | apps/app_senddtmf.c | 8 | ||||
-rw-r--r-- | apps/app_test.c | 20 |
3 files changed, 18 insertions, 16 deletions
diff --git a/apps/app_dial.c b/apps/app_dial.c index c7928116a..758426f6d 100644 --- a/apps/app_dial.c +++ b/apps/app_dial.c @@ -1527,7 +1527,7 @@ static int dial_exec_full(struct ast_channel *chan, void *data, struct ast_flags /* Ok, done. stop autoservice */ res = ast_autoservice_stop(chan); if (digit > 0 && !res) - res = ast_senddigit(chan, digit); + res = ast_senddigit(chan, digit, 0); else res = digit; @@ -1696,12 +1696,12 @@ static int dial_exec_full(struct ast_channel *chan, void *data, struct ast_flags if (!ast_strlen_zero(dtmfcalled)) { if (option_verbose > 2) ast_verbose(VERBOSE_PREFIX_3 "Sending DTMF '%s' to the called party.\n", dtmfcalled); - res = ast_dtmf_stream(peer,chan,dtmfcalled,250); + res = ast_dtmf_stream(peer,chan,dtmfcalled,250,0); } if (!ast_strlen_zero(dtmfcalling)) { if (option_verbose > 2) ast_verbose(VERBOSE_PREFIX_3 "Sending DTMF '%s' to the calling party.\n", dtmfcalling); - res = ast_dtmf_stream(chan,peer,dtmfcalling,250); + res = ast_dtmf_stream(chan,peer,dtmfcalling,250,0); } } diff --git a/apps/app_senddtmf.c b/apps/app_senddtmf.c index 81651ec6b..fab83360e 100644 --- a/apps/app_senddtmf.c +++ b/apps/app_senddtmf.c @@ -60,10 +60,11 @@ static int senddtmf_exec(struct ast_channel *chan, void *vdata) { int res = 0; char *data; - int timeout; + int timeout, duration; AST_DECLARE_APP_ARGS(args, AST_APP_ARG(digits); AST_APP_ARG(timeout); + AST_APP_ARG(duration); ); if (ast_strlen_zero(vdata)) { @@ -75,7 +76,8 @@ static int senddtmf_exec(struct ast_channel *chan, void *vdata) AST_STANDARD_APP_ARGS(args, data); timeout = atoi(args.timeout); - res = ast_dtmf_stream(chan, NULL, args.digits, timeout <= 0 ? 250 : timeout); + duration = atoi(args.duration); + res = ast_dtmf_stream(chan, NULL, args.digits, timeout <= 0 ? 250 : timeout, duration); return res; } @@ -102,7 +104,7 @@ static int manager_play_dtmf(struct mansession *s, const struct message *m) return 0; } - ast_senddigit(chan, *digit); + ast_senddigit(chan, *digit, 0); ast_mutex_unlock(&chan->lock); astman_send_ack(s, m, "DTMF successfully queued"); diff --git a/apps/app_test.c b/apps/app_test.c index df221f326..c4a10ba25 100644 --- a/apps/app_test.c +++ b/apps/app_test.c @@ -148,7 +148,7 @@ static int testclient_exec(struct ast_channel *chan, void *data) res = ast_safe_sleep(chan, 3000); /* Transmit client version */ if (!res) - res = ast_dtmf_stream(chan, NULL, "8378*1#", 0); + res = ast_dtmf_stream(chan, NULL, "8378*1#", 0, 0); ast_debug(1, "Transmit client version\n"); /* Read server version */ @@ -166,9 +166,9 @@ static int testclient_exec(struct ast_channel *chan, void *data) res = ast_safe_sleep(chan, 1000); /* Send test id */ if (!res) - res = ast_dtmf_stream(chan, NULL, testid, 0); + res = ast_dtmf_stream(chan, NULL, testid, 0, 0); if (!res) - res = ast_dtmf_stream(chan, NULL, "#", 0); + res = ast_dtmf_stream(chan, NULL, "#", 0, 0); ast_debug(1, "send test identifier: %s\n", testid); if ((res >=0) && (!ast_strlen_zero(testid))) { @@ -198,7 +198,7 @@ static int testclient_exec(struct ast_channel *chan, void *data) if (!res) { /* Step 2: Send "2" */ ast_debug(1, "TestClient: 2. Send DTMF 2\n"); - res = ast_dtmf_stream(chan, NULL, "2", 0); + res = ast_dtmf_stream(chan, NULL, "2", 0, 0); fprintf(f, "SEND DTMF 2: %s\n", (res < 0) ? "FAIL" : "PASS"); if (res > 0) res = 0; @@ -265,7 +265,7 @@ static int testclient_exec(struct ast_channel *chan, void *data) if (!res) { /* Step 10: Send "7" */ ast_debug(1, "TestClient: 7. Send DTMF 7\n"); - res = ast_dtmf_stream(chan, NULL, "7", 0); + res = ast_dtmf_stream(chan, NULL, "7", 0, 0); fprintf(f, "SEND DTMF 7: %s\n", (res < 0) ? "FAIL" : "PASS"); if (res > 0) res =0; @@ -318,7 +318,7 @@ static int testserver_exec(struct ast_channel *chan, void *data) res = ast_safe_sleep(chan, 1000); if (!res) - res = ast_dtmf_stream(chan, NULL, "8378*1#", 0); + res = ast_dtmf_stream(chan, NULL, "8378*1#", 0, 0); if (res > 0) res = 0; @@ -344,7 +344,7 @@ static int testserver_exec(struct ast_channel *chan, void *data) if (!res) { /* Step 1: Send "1" */ ast_debug(1, "TestServer: 1. Send DTMF 1\n"); - res = ast_dtmf_stream(chan, NULL, "1", 0); + res = ast_dtmf_stream(chan, NULL, "1", 0,0 ); fprintf(f, "SEND DTMF 1: %s\n", (res < 0) ? "FAIL" : "PASS"); if (res > 0) res = 0; @@ -370,7 +370,7 @@ static int testserver_exec(struct ast_channel *chan, void *data) if (!res) { /* Step 4: Send "4" */ ast_debug(1, "TestServer: 4. Send DTMF 4\n"); - res = ast_dtmf_stream(chan, NULL, "4", 0); + res = ast_dtmf_stream(chan, NULL, "4", 0, 0); fprintf(f, "SEND DTMF 4: %s\n", (res < 0) ? "FAIL" : "PASS"); if (res > 0) res = 0; @@ -397,7 +397,7 @@ static int testserver_exec(struct ast_channel *chan, void *data) if (!res) { /* Step 7: Send "5" */ ast_debug(1, "TestServer: 7. Send DTMF 5\n"); - res = ast_dtmf_stream(chan, NULL, "5", 0); + res = ast_dtmf_stream(chan, NULL, "5", 0, 0); fprintf(f, "SEND DTMF 5: %s\n", (res < 0) ? "FAIL" : "PASS"); if (res > 0) res = 0; @@ -426,7 +426,7 @@ static int testserver_exec(struct ast_channel *chan, void *data) if (!res) { /* Step 10: Send "8" */ ast_debug(1, "TestServer: 10. Send DTMF 8\n"); - res = ast_dtmf_stream(chan, NULL, "8", 0); + res = ast_dtmf_stream(chan, NULL, "8", 0, 0); fprintf(f, "SEND DTMF 8: %s\n", (res < 0) ? "FAIL" : "PASS"); if (res > 0) res = 0; |