From: Steve Murphy Date: Tue, 7 Nov 2006 18:22:01 +0000 (+0000) Subject: This mod for bug_7506, to make the manager code output the proper event X-Git-Tag: 1.2.14~78 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=e301bc352f77051f6561ba8026c8d71fd04dcdd8;p=thirdparty%2Fasterisk.git This mod for bug_7506, to make the manager code output the proper event git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.2@47274 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- diff --git a/channel.c b/channel.c index ae5d5f79c3..9a54db0598 100644 --- a/channel.c +++ b/channel.c @@ -2590,6 +2590,7 @@ struct ast_channel *ast_request(const char *type, int format, void *data, int *c c->cid.cid_num ? c->cid.cid_num : "", c->cid.cid_name ? c->cid.cid_name : "", c->uniqueid); + ast_set_flag(c, AST_FLAG_NOTNEW); } return c; } @@ -3253,7 +3254,7 @@ int ast_setstate(struct ast_channel *chan, int state) chan->_state = state; ast_device_state_changed_literal(chan->name); manager_event(EVENT_FLAG_CALL, - (oldstate == AST_STATE_DOWN) ? "Newchannel" : "Newstate", + (oldstate == AST_STATE_DOWN && !ast_test_flag(chan, AST_FLAG_NOTNEW)) ? "Newchannel" : "Newstate", "Channel: %s\r\n" "State: %s\r\n" "CallerID: %s\r\n" diff --git a/include/asterisk/channel.h b/include/asterisk/channel.h index 38b33ed2d3..dd78844c98 100644 --- a/include/asterisk/channel.h +++ b/include/asterisk/channel.h @@ -435,6 +435,7 @@ struct ast_channel { so when ->priority is set, it will get incremented before finding the next priority to run */ +#define AST_FLAG_NOTNEW (1 << 10) /*!< see bug:7855 incorrect Newchannel event generation */ /* @} */ #define AST_FEATURE_PLAY_WARNING (1 << 0)