[asterisk-commits] rmudgett: branch rmudgett/bridge_phase r385499 - /team/rmudgett/bridge_phase/...

SVN commits to the Asterisk project asterisk-commits at lists.digium.com
Fri Apr 12 11:16:25 CDT 2013


Author: rmudgett
Date: Fri Apr 12 11:16:21 2013
New Revision: 385499

URL: http://svnview.digium.com/svn/asterisk?view=rev&rev=385499
Log:
Add some BUGBUG notes.

Modified:
    team/rmudgett/bridge_phase/main/bridging.c

Modified: team/rmudgett/bridge_phase/main/bridging.c
URL: http://svnview.digium.com/svn/asterisk/team/rmudgett/bridge_phase/main/bridging.c?view=diff&rev=385499&r1=385498&r2=385499
==============================================================================
--- team/rmudgett/bridge_phase/main/bridging.c (original)
+++ team/rmudgett/bridge_phase/main/bridging.c Fri Apr 12 11:16:21 2013
@@ -4201,6 +4201,7 @@
 		return NULL;
 	}
 
+/* BUGBUG this command may need to be changed to look at the stasis cache. */
 	ast_cli(a->fd, FORMAT_HDR, "Bridge-ID", "Chans", "Type", "Technology");
 	iter = ao2_iterator_init(bridges, 0);
 	for (; (bridge = ao2_iterator_next(&iter)); ao2_ref(bridge, -1)) {
@@ -4238,6 +4239,7 @@
 		return NULL;
 	}
 
+/* BUGBUG this command may need to be changed to look at the stasis cache. */
 	if (a->argc != 3) {
 		return CLI_SHOWUSAGE;
 	}
@@ -4363,6 +4365,22 @@
 		return CLI_SUCCESS;
 	}
 
+/*
+ * BUGBUG the CLI kick needs to get the bridge to decide if it should dissolve.
+ *
+ * Likely the best way to do this is to add a kick method.  The
+ * basic bridge class can then decide to dissolve the bridge if
+ * one of two channels is kicked.
+ *
+ * SIP/foo -- Local;1==Local;2 -- .... -- Local;1==Local;2 -- SIP/bar
+ * Kick a ;1 channel and the chain toward SIP/foo goes away.
+ * Kick a ;2 channel and the chain toward SIP/bar goes away.
+ *
+ * This can leave a local channel chain between the kicked ;1
+ * and ;2 channels that are orphaned until you manually request
+ * one of those channels to hangup or request the bridge to
+ * dissolve.
+ */
 	ast_cli(a->fd, "Kicking channel '%s' from bridge '%s'\n",
 		ast_channel_name(chan), a->argv[2]);
 	ast_bridge_remove(bridge, chan);




More information about the asterisk-commits mailing list