--- asterisk-1.6.0.last/include/asterisk/manager.h	(revision 179738)
+++ asterisk-1.6.0.last/include/asterisk/manager.h	(working copy)
@@ -70,6 +70,7 @@
 #define EVENT_FLAG_CDR			(1 << 10) /* CDR events */
 #define EVENT_FLAG_DIALPLAN		(1 << 11) /* Dialplan events (VarSet, NewExten) */
 #define EVENT_FLAG_ORIGINATE	(1 << 12) /* Originate a call to an extension */
+#define EVENT_FLAG_BRIDGE		(1 << 13) /* Bridge events (Bridge, UnLink */
 /*@} */
 
 /*! \brief Export manager structures */
Index: asterisk-1.6.0.last/main/channel.c
===================================================================
--- asterisk-1.6.0.last/main/channel.c	(revision 179738)
+++ asterisk-1.6.0.last/main/channel.c	(working copy)
@@ -4503,15 +4503,15 @@
 */
 static void manager_bridge_event(int onoff, int type, struct ast_channel *c0, struct ast_channel *c1)
 {
-	manager_event(EVENT_FLAG_CALL, "Bridge",
+	manager_event(EVENT_FLAG_BRIDGE, "Bridge",
 			"Bridgestate: %s\r\n"
-		     "Bridgetype: %s\r\n"
-		      "Channel1: %s\r\n"
-		      "Channel2: %s\r\n"
-		      "Uniqueid1: %s\r\n"
-		      "Uniqueid2: %s\r\n"
-		      "CallerID1: %s\r\n"
-		      "CallerID2: %s\r\n",
+			"Bridgetype: %s\r\n"
+			"Channel1: %s\r\n"
+			"Channel2: %s\r\n"
+			"Uniqueid1: %s\r\n"
+			"Uniqueid2: %s\r\n"
+			"CallerID1: %s\r\n"
+			"CallerID2: %s\r\n",
 			onoff ? "Link" : "Unlink",
 			type == 1 ? "core" : "native",
 			c0->name, c1->name, c0->uniqueid, c1->uniqueid, 
@@ -4691,7 +4691,7 @@
 			ast_set_flag(c1, AST_FLAG_NBRIDGE);
 			if ((res = c0->tech->bridge(c0, c1, config->flags, fo, rc, to)) == AST_BRIDGE_COMPLETE) {
 				/* \todo  XXX here should check that cid_num is not NULL */
-				manager_event(EVENT_FLAG_CALL, "Unlink",
+				manager_event(EVENT_FLAG_BRIDGE, "Unlink",
 					      "Channel1: %s\r\n"
 					      "Channel2: %s\r\n"
 					      "Uniqueid1: %s\r\n"
@@ -4764,7 +4764,7 @@
 	c1->_bridge = NULL;
 
 	/* \todo  XXX here should check that cid_num is not NULL */
-	manager_event(EVENT_FLAG_CALL, "Unlink",
+	manager_event(EVENT_FLAG_BRIDGE, "Unlink",
 		      "Channel1: %s\r\n"
 		      "Channel2: %s\r\n"
 		      "Uniqueid1: %s\r\n"
Index: asterisk-1.6.0.last/main/manager.c
===================================================================
--- asterisk-1.6.0.last/main/manager.c	(revision 179738)
+++ asterisk-1.6.0.last/main/manager.c	(working copy)
@@ -373,6 +373,7 @@
 	{ EVENT_FLAG_CDR, "cdr" },
 	{ EVENT_FLAG_DIALPLAN, "dialplan" },
 	{ EVENT_FLAG_ORIGINATE, "originate" },
+	{ EVENT_FLAG_BRIDGE, "bridge" },
 	{ -1, "all" },
 	{ 0, "none" },
 };
 
Index: asterisk-1.6.0.last/main/features.c
===================================================================
--- asterisk-1.6.0.last/main/features.c	(revision 179738)
+++ asterisk-1.6.0.last/main/features.c	(working copy)
@@ -3874,7 +3874,7 @@
 		strlen(chan->name) < strlen(args.dest_chan) ? 
 		strlen(chan->name) : strlen(args.dest_chan))) {
 		ast_log(LOG_WARNING, "Unable to bridge channel %s with itself\n", chan->name);
-		manager_event(EVENT_FLAG_CALL, "BridgeExec",
+		manager_event(EVENT_FLAG_BRIDGE, "BridgeExec",
 					"Response: Failed\r\n"
 					"Reason: Unable to bridge channel to itself\r\n"
 					"Channel1: %s\r\n"
@@ -3889,7 +3889,7 @@
 		strlen(args.dest_chan)))) {
 		ast_log(LOG_WARNING, "Bridge failed because channel %s does not exists or we "
 			"cannot get its lock\n", args.dest_chan);
-		manager_event(EVENT_FLAG_CALL, "BridgeExec",
+		manager_event(EVENT_FLAG_BRIDGE, "BridgeExec",
 					"Response: Failed\r\n"
 					"Reason: Cannot grab end point\r\n"
 					"Channel1: %s\r\n"
@@ -3906,7 +3906,7 @@
 	if (!(final_dest_chan = ast_channel_alloc(0, AST_STATE_DOWN, NULL, NULL, NULL, 
 		NULL, NULL, 0, "Bridge/%s", current_dest_chan->name))) {
 		ast_log(LOG_WARNING, "Cannot create placeholder channel for chan %s\n", args.dest_chan);
-		manager_event(EVENT_FLAG_CALL, "BridgeExec",
+		manager_event(EVENT_FLAG_BRIDGE, "BridgeExec",
 					"Response: Failed\r\n"
 					"Reason: cannot create placeholder\r\n"
 					"Channel1: %s\r\n"
@@ -3920,7 +3920,7 @@
 	/* try to make compatible, send error if we fail */
 	if (ast_channel_make_compatible(chan, final_dest_chan) < 0) {
 		ast_log(LOG_WARNING, "Could not make channels %s and %s compatible for bridge\n", chan->name, final_dest_chan->name);
-		manager_event(EVENT_FLAG_CALL, "BridgeExec",
+		manager_event(EVENT_FLAG_BRIDGE, "BridgeExec",
 					"Response: Failed\r\n"
 					"Reason: Could not make channels compatible for bridge\r\n"
 					"Channel1: %s\r\n"
@@ -3931,7 +3931,7 @@
 	}
 
 	/* Report that the bridge will be successfull */
-	manager_event(EVENT_FLAG_CALL, "BridgeExec",
+	manager_event(EVENT_FLAG_BRIDGE, "BridgeExec",
 				"Response: Success\r\n"
 				"Channel1: %s\r\n"
 				"Channel2: %s\r\n", chan->name, final_dest_chan->name);
@@ -3987,7 +3987,7 @@
 		ast_manager_register("ParkedCalls", 0, manager_parking_status, "List parked calls");
 		ast_manager_register2("Park", EVENT_FLAG_CALL, manager_park,
 			"Park a channel", mandescr_park); 
-		ast_manager_register2("Bridge", EVENT_FLAG_CALL, action_bridge, "Bridge two channels already in the PBX", mandescr_bridge);
+		ast_manager_register2("Bridge", EVENT_FLAG_CALL | EVENT_FLAG_BRIDGE, action_bridge, "Bridge two channels already in the PBX", mandescr_bridge);
 	}
 
 	res |= ast_devstate_prov_add("Park", metermaidstate);
[dickensn@asterisk-16-1 src]# 
