[asterisk-commits] dvossel: trunk r184389 - in /trunk: ./ apps/app_test.c
SVN commits to the Asterisk project
asterisk-commits at lists.digium.com
Thu Mar 26 16:09:39 CDT 2009
Author: dvossel
Date: Thu Mar 26 16:09:37 2009
New Revision: 184389
URL: http://svn.digium.com/svn-view/asterisk?view=rev&rev=184389
Log:
Merged revisions 184388 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4
........
r184388 | dvossel | 2009-03-26 16:07:32 -0500 (Thu, 26 Mar 2009) | 8 lines
pri loop TestClient/TestServer fails: server SEND DTMF 8
app_test was failing when sending the last DTMF digit, 8, because of the 100ms pause issued after DTMF is sent. During this pause the other side would hang up causing the test to look like it failed. Now the other side waits a second before hanging up.
(closes issue #12442)
Reported by: tzafrir
........
Modified:
trunk/ (props changed)
trunk/apps/app_test.c
Propchange: trunk/
------------------------------------------------------------------------------
Binary property 'branch-1.4-merged' - no diff available.
Modified: trunk/apps/app_test.c
URL: http://svn.digium.com/svn-view/asterisk/trunk/apps/app_test.c?view=diff&rev=184389&r1=184388&r2=184389
==============================================================================
--- trunk/apps/app_test.c (original)
+++ trunk/apps/app_test.c Thu Mar 26 16:09:37 2009
@@ -132,7 +132,7 @@
return (noise / samples);
}
-static int sendnoise(struct ast_channel *chan, int ms)
+static int sendnoise(struct ast_channel *chan, int ms)
{
int res;
res = ast_tonepair_start(chan, 1537, 2195, ms, 8192);
@@ -140,7 +140,7 @@
res = ast_waitfordigit(chan, ms);
ast_tonepair_stop(chan);
}
- return res;
+ return res;
}
static int testclient_exec(struct ast_channel *chan, void *data)
@@ -150,41 +150,41 @@
char fn[80];
char serverver[80];
FILE *f;
-
+
/* Check for test id */
if (ast_strlen_zero(testid)) {
ast_log(LOG_WARNING, "TestClient requires an argument - the test id\n");
return -1;
}
-
+
if (chan->_state != AST_STATE_UP)
res = ast_answer(chan);
-
+
/* Wait a few just to be sure things get started */
res = ast_safe_sleep(chan, 3000);
/* Transmit client version */
if (!res)
res = ast_dtmf_stream(chan, NULL, "8378*1#", 0, 0);
ast_debug(1, "Transmit client version\n");
-
+
/* Read server version */
ast_debug(1, "Read server version\n");
- if (!res)
+ if (!res)
res = ast_app_getdata(chan, NULL, serverver, sizeof(serverver) - 1, 0);
if (res > 0)
res = 0;
ast_debug(1, "server version: %s\n", serverver);
-
+
if (res > 0)
res = 0;
if (!res)
res = ast_safe_sleep(chan, 1000);
/* Send test id */
- if (!res)
- res = ast_dtmf_stream(chan, NULL, testid, 0, 0);
- if (!res)
- res = ast_dtmf_stream(chan, NULL, "#", 0, 0);
+ if (!res)
+ res = ast_dtmf_stream(chan, NULL, testid, 0, 0);
+ if (!res)
+ 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 @@
fprintf(f, "CLIENTTEST ID: %s\n", testid);
fprintf(f, "ANSWER: PASS\n");
res = 0;
-
+
if (!res) {
/* Step 1: Wait for "1" */
ast_debug(1, "TestClient: 2. Wait DTMF 1\n");
@@ -209,8 +209,9 @@
else
res = -1;
}
- if (!res)
- res = ast_safe_sleep(chan, 1000);
+ if (!res) {
+ res = ast_safe_sleep(chan, 1000);
+ }
if (!res) {
/* Step 2: Send "2" */
ast_debug(1, "TestClient: 2. Send DTMF 2\n");
@@ -226,7 +227,7 @@
fprintf(f, "WAIT 1 SEC: %s\n", (res < 0) ? "FAIL" : "PASS");
if (res > 0)
res = 0;
- }
+ }
if (!res) {
/* Step 4: Measure noise */
ast_debug(1, "TestClient: 4. Measure noise\n");
@@ -272,7 +273,7 @@
}
if (!res) {
/* Step 9: Measure noise */
- ast_debug(1, "TestClient: 6. Measure tone\n");
+ ast_debug(1, "TestClient: 9. Measure tone\n");
res = measurenoise(chan, 4000, "TestClient");
fprintf(f, "MEASURETONE: %s (%d)\n", (res < 0) ? "FAIL" : "PASS", res);
if (res > 0)
@@ -280,7 +281,7 @@
}
if (!res) {
/* Step 10: Send "7" */
- ast_debug(1, "TestClient: 7. Send DTMF 7\n");
+ ast_debug(1, "TestClient: 10. Send DTMF 7\n");
res = ast_dtmf_stream(chan, NULL, "7", 0, 0);
fprintf(f, "SEND DTMF 7: %s\n", (res < 0) ? "FAIL" : "PASS");
if (res > 0)
@@ -295,6 +296,9 @@
res = 0;
else
res = -1;
+ }
+ if (!res) {
+ res = ast_safe_sleep(chan, 1000);
}
if (!res) {
/* Step 12: Hangup! */
@@ -324,7 +328,7 @@
res = ast_answer(chan);
/* Read version */
ast_debug(1, "Read client version\n");
- if (!res)
+ if (!res)
res = ast_app_getdata(chan, NULL, testid, sizeof(testid) - 1, 0);
if (res > 0)
res = 0;
@@ -338,8 +342,8 @@
if (res > 0)
res = 0;
- if (!res)
- res = ast_app_getdata(chan, NULL, testid, sizeof(testid) - 1, 0);
+ if (!res)
+ res = ast_app_getdata(chan, NULL, testid, sizeof(testid) - 1, 0);
ast_debug(1, "read test identifier: %s\n", testid);
/* Check for sneakyness */
if (strchr(testid, '/'))
@@ -391,7 +395,6 @@
if (res > 0)
res = 0;
}
-
if (!res) {
/* Step 5: Wait one second */
ast_debug(1, "TestServer: 5. Wait one second\n");
@@ -400,7 +403,6 @@
if (res > 0)
res = 0;
}
-
if (!res) {
/* Step 6: Measure noise */
ast_debug(1, "TestServer: 6. Measure tone\n");
@@ -409,7 +411,6 @@
if (res > 0)
res = 0;
}
-
if (!res) {
/* Step 7: Send "5" */
ast_debug(1, "TestServer: 7. Send DTMF 5\n");
@@ -418,14 +419,13 @@
if (res > 0)
res = 0;
}
-
if (!res) {
/* Step 8: Transmit tone noise */
ast_debug(1, "TestServer: 8. Transmit tone\n");
res = sendnoise(chan, 6000);
fprintf(f, "SENDTONE: %s\n", (res < 0) ? "FAIL" : "PASS");
}
-
+
if (!res || (res == '7')) {
/* Step 9: Wait for "7" */
ast_debug(1, "TestServer: 9. Wait DTMF 7\n");
@@ -437,8 +437,9 @@
else
res = -1;
}
- if (!res)
- res = ast_safe_sleep(chan, 1000);
+ if (!res) {
+ res = ast_safe_sleep(chan, 1000);
+ }
if (!res) {
/* Step 10: Send "8" */
ast_debug(1, "TestServer: 10. Send DTMF 8\n");
@@ -474,7 +475,7 @@
res = ast_unregister_application(testc_app);
res |= ast_unregister_application(tests_app);
- return res;
+ return res;
}
static int load_module(void)
More information about the asterisk-commits
mailing list