[asterisk-commits] rmudgett: branch rmudgett/bridge_phase r398800 - in /team/rmudgett/bridge_pha...
SVN commits to the Asterisk project
asterisk-commits at lists.digium.com
Tue Sep 10 16:32:35 CDT 2013
Author: rmudgett
Date: Tue Sep 10 16:32:33 2013
New Revision: 398800
URL: http://svnview.digium.com/svn/asterisk?view=rev&rev=398800
Log:
Bridge API: Make AST_BRIDGE_JOIN_INHIBIT_JOIN_COLP and AST_BRIDGE_IMPART_INHIBIT_JOIN_COLP do something.
Modified:
team/rmudgett/bridge_phase/include/asterisk/bridge_channel.h
team/rmudgett/bridge_phase/main/bridge.c
team/rmudgett/bridge_phase/main/bridge_channel.c
Modified: team/rmudgett/bridge_phase/include/asterisk/bridge_channel.h
URL: http://svnview.digium.com/svn/asterisk/team/rmudgett/bridge_phase/include/asterisk/bridge_channel.h?view=diff&rev=398800&r1=398799&r2=398800
==============================================================================
--- team/rmudgett/bridge_phase/include/asterisk/bridge_channel.h (original)
+++ team/rmudgett/bridge_phase/include/asterisk/bridge_channel.h Tue Sep 10 16:32:33 2013
@@ -122,6 +122,8 @@
unsigned int just_joined:1;
/*! TRUE if the channel is suspended from the bridge. */
unsigned int suspended:1;
+ /*! TRUE if the COLP update on initial join is inhibited. */
+ unsigned int inhibit_colp:1;
/*! TRUE if the channel must wait for an ast_bridge_depart to reclaim the channel. */
unsigned int depart_wait:1;
/* ^-- These flags change while the bridge is locked or before the channel is in the bridge. */
Modified: team/rmudgett/bridge_phase/main/bridge.c
URL: http://svnview.digium.com/svn/asterisk/team/rmudgett/bridge_phase/main/bridge.c?view=diff&rev=398800&r1=398799&r2=398800
==============================================================================
--- team/rmudgett/bridge_phase/main/bridge.c (original)
+++ team/rmudgett/bridge_phase/main/bridge.c Tue Sep 10 16:32:33 2013
@@ -1468,6 +1468,7 @@
bridge_channel->chan = chan;
bridge_channel->swap = swap;
bridge_channel->features = features;
+ bridge_channel->inhibit_colp = !!(flags & AST_BRIDGE_JOIN_INHIBIT_JOIN_COLP);
if (!res) {
res = bridge_channel_internal_join(bridge_channel);
@@ -1589,7 +1590,8 @@
bridge_channel->chan = chan;
bridge_channel->swap = swap;
bridge_channel->features = features;
- bridge_channel->depart_wait = (flags & AST_BRIDGE_IMPART_INDEPENDENT) ? 0 : 1;
+ bridge_channel->inhibit_colp = !!(flags & AST_BRIDGE_IMPART_INHIBIT_JOIN_COLP);
+ bridge_channel->depart_wait = !(flags & AST_BRIDGE_IMPART_INDEPENDENT);
bridge_channel->callid = ast_read_threadstorage_callid();
/* Actually create the thread that will handle the channel */
Modified: team/rmudgett/bridge_phase/main/bridge_channel.c
URL: http://svnview.digium.com/svn/asterisk/team/rmudgett/bridge_phase/main/bridge_channel.c?view=diff&rev=398800&r1=398799&r2=398800
==============================================================================
--- team/rmudgett/bridge_phase/main/bridge_channel.c (original)
+++ team/rmudgett/bridge_phase/main/bridge_channel.c Tue Sep 10 16:32:33 2013
@@ -2000,7 +2000,7 @@
BRIDGE_CHANNEL_STATE_END_NO_DISSOLVE, bridge_channel->bridge->cause);
res = -1;
}
- bridge_reconfigured(bridge_channel->bridge, 1);
+ bridge_reconfigured(bridge_channel->bridge, !bridge_channel->inhibit_colp);
if (bridge_channel->state == BRIDGE_CHANNEL_STATE_WAIT) {
/*
More information about the asterisk-commits
mailing list