diff --git a/channel.c b/channel.c index 5cc58d0f9acafb29f412047cafb5aceb562ee705..a97f0e8450b27fa69e9ea467ca4814e8ddabef0e 100755 --- a/channel.c +++ b/channel.c @@ -1540,12 +1540,14 @@ struct ast_channel *ast_request(char *type, int format, void *data) c = chan->requester(type, capabilities, data); if (c) { // ast_device_state_changed(c->name); - manager_event(EVENT_FLAG_CALL, "Newchannel", - "Channel: %s\r\n" - "State: %s\r\n" - "Callerid: %s\r\n" - "Uniqueid: %s\r\n", - c->name, ast_state2str(c->_state), c->callerid ? c->callerid : "<unknown>", c->uniqueid); + if (c->_state == AST_STATE_DOWN) { + manager_event(EVENT_FLAG_CALL, "Newchannel", + "Channel: %s\r\n" + "State: %s\r\n" + "Callerid: %s\r\n" + "Uniqueid: %s\r\n", + c->name, ast_state2str(c->_state), c->callerid ? c->callerid : "<unknown>", c->uniqueid); + } } return c; }