[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