[asterisk-dev] [Code Review] 2636: bridging: COLP updates on push/pull

Joshua Colp reviewboard at asterisk.org
Fri Jun 21 17:27:39 CDT 2013



> On June 21, 2013, 9:50 p.m., rmudgett wrote:
> > I think you need to look at changing the calls to bridge_reconfigured() with a candidate for COLP update flag.  Pushing/Pulling can cause the bridge technology to need changing which will not happen until the bridge_reconfigured() call.  When you need to update COLP after a bridge reconfiguration, two party bridge peers need to exchange COLP unless it was an optimization.  Also the COLP exchange needs to run interception macros which will happen automatically if you write the control frame into the bridge for the peer.
> > 
> > I also don't see the necessary COLP exchange after an attended transfer to an application.
> 
> Joshua Colp wrote:
>     Due to the Mark did the attended transfer code a pull still happens which causes the COLP update to occur. Why would bridge reconfiguration require COLP to update?
> 
> rmudgett wrote:
>     A -- B1
>     C -- B2
>     
>     An external attended transfer is going to pull C from the bridge with B2 and push/swap it with B1.  Just updating on push/pull will leave C not having A's COLP.  The bridge_reconfigured() calls happen on a bridge when the bridge channel push/pull's have completed.  Push/pull's cannot look at the bridge technology because they can cause the technology to change.
>

So on the pull from C it gets an updated COLP with nothing.
On the push/swap it gets an updated COLP from A, and A gets an updated COLP from C.

If a push/pull can cause the technology to change... then yeah. What case would that happen?


- Joshua


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviewboard.asterisk.org/r/2636/#review8935
-----------------------------------------------------------


On June 20, 2013, 3:13 p.m., Joshua Colp wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviewboard.asterisk.org/r/2636/
> -----------------------------------------------------------
> 
> (Updated June 20, 2013, 3:13 p.m.)
> 
> 
> Review request for Asterisk Developers.
> 
> 
> Bugs: ASTERISK-21829
>     https://issues.asterisk.org/jira/browse/ASTERISK-21829
> 
> 
> Repository: Asterisk
> 
> 
> Description
> -------
> 
> The attached change adds COLP updates on bridging push/pull operations and passes information down so it can do it semi-intelligently (ie: only when it really should).
> 
> Old code which is no longer required has also been removed.
> 
> 
> Diffs
> -----
> 
>   /trunk/include/asterisk/channel.h 392315 
>   /trunk/main/bridging.c 392315 
>   /trunk/main/channel.c 392315 
> 
> Diff: https://reviewboard.asterisk.org/r/2636/diff/
> 
> 
> Testing
> -------
> 
> Tested the various scenarios to make sure that connected line information is updated when it should be (and not more than it needs to be).
> 
> Calling, transfers, etc.
> 
> 
> Thanks,
> 
> Joshua Colp
> 
>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.digium.com/pipermail/asterisk-dev/attachments/20130621/47d2ecc4/attachment.htm>


More information about the asterisk-dev mailing list