From: Kinsey Moore Date: Tue, 18 Dec 2012 17:35:18 +0000 (+0000) Subject: Add test events for time limit-related hangups X-Git-Tag: 1.8.21.0-rc1~50 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=16983cf3b5bb5eceebbfde665bd584084273ea84;p=thirdparty%2Fasterisk.git Add test events for time limit-related hangups This patch adds hangup-related test events in order to support testing of time-limited bridges. This aids in testing the S() and L() bridge options. (issue SWP-4713) git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@378119 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- diff --git a/main/channel.c b/main/channel.c index 42c9267c33..839397640e 100644 --- a/main/channel.c +++ b/main/channel.c @@ -72,6 +72,7 @@ ASTERISK_FILE_VERSION(__FILE__, "$Revision$") #include "asterisk/global_datastores.h" #include "asterisk/data.h" #include "asterisk/features.h" +#include "asterisk/test.h" #ifdef HAVE_EPOLL #include @@ -3212,6 +3213,7 @@ struct ast_channel *ast_waitfor_nandfds(struct ast_channel **c, int n, int *fds, now = ast_tvnow(); diff = ast_tvsub(c[x]->whentohangup, now); if (diff.tv_sec < 0 || ast_tvzero(diff)) { + ast_test_suite_event_notify("HANGUP_TIME", "Channel: %s", c[x]->name); /* Should already be hungup */ c[x]->_softhangup |= AST_SOFTHANGUP_TIMEOUT; ast_channel_unlock(c[x]); @@ -3280,6 +3282,7 @@ struct ast_channel *ast_waitfor_nandfds(struct ast_channel **c, int n, int *fds, now = ast_tvnow(); for (x = 0; x < n; x++) { if (!ast_tvzero(c[x]->whentohangup) && ast_tvcmp(c[x]->whentohangup, now) <= 0) { + ast_test_suite_event_notify("HANGUP_TIME", "Channel: %s", c[x]->name); c[x]->_softhangup |= AST_SOFTHANGUP_TIMEOUT; if (winner == NULL) winner = c[x]; @@ -7533,6 +7536,7 @@ enum ast_bridge_result ast_channel_bridge(struct ast_channel *c0, struct ast_cha bridge_playfile(c1, c0, config->end_sound, 0); *fo = NULL; res = 0; + ast_test_suite_event_notify("BRIDGE_TIMELIMIT", "Channel1: %s\r\nChannel2: %s", c0->name, c1->name); break; }