Moved trigger for BRIDGE_END CEL event so that it is more accurate.
authorMatthew Nicholson <mnicholson@digium.com>
Thu, 2 Jul 2009 20:37:16 +0000 (20:37 +0000)
committerMatthew Nicholson <mnicholson@digium.com>
Thu, 2 Jul 2009 20:37:16 +0000 (20:37 +0000)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@204807 65c4cc65-6c06-0410-ace0-fbb531ad65f3

main/channel.c
main/features.c

index a95e8f2..b04dcd0 100644 (file)
@@ -5837,7 +5837,6 @@ enum ast_bridge_result ast_channel_bridge(struct ast_channel *c0, struct ast_cha
                                              "CallerID1: %s\r\n"
                                              "CallerID2: %s\r\n",
                                              c0->name, c1->name, c0->uniqueid, c1->uniqueid, S_OR(c0->cid.cid_num, "<unknown>"), S_OR(c1->cid.cid_num, "<unknown>"));
-                               ast_cel_report_event(c0, AST_CEL_BRIDGE_END, NULL, NULL, NULL);
 
                                ast_debug(1, "Returning from native bridge, channels: %s, %s\n", c0->name, c1->name);
 
@@ -5875,7 +5874,6 @@ enum ast_bridge_result ast_channel_bridge(struct ast_channel *c0, struct ast_cha
                        if (ast_channel_make_compatible(c0, c1)) {
                                ast_log(LOG_WARNING, "Can't make %s and %s compatible\n", c0->name, c1->name);
                                manager_bridge_event(0, 1, c0, c1);
-                               /* ast_cel_report_event(c0, AST_CEL_BRIDGE_END, NULL, NULL, NULL); */
                                return AST_BRIDGE_FAILED;
                        }
                        o0nativeformats = c0->nativeformats;
@@ -5903,7 +5901,6 @@ enum ast_bridge_result ast_channel_bridge(struct ast_channel *c0, struct ast_cha
        c0->_bridge = NULL;
        c1->_bridge = NULL;
 
-       ast_cel_report_event(c0, AST_CEL_BRIDGE_END, NULL, NULL, NULL);
        manager_event(EVENT_FLAG_CALL, "Unlink",
                      "Channel1: %s\r\n"
                      "Channel2: %s\r\n"
index bb716fa..12de34f 100644 (file)
@@ -2945,6 +2945,7 @@ int ast_bridge_call(struct ast_channel *chan,struct ast_channel *peer,struct ast
                        ast_frfree(f);
 
        }
+       ast_cel_report_event(chan, AST_CEL_BRIDGE_END, NULL, NULL, NULL);
    before_you_go:
 
        if (ast_test_flag(chan,AST_FLAG_BRIDGE_HANGUP_DONT)) {