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

rmudgett reviewboard at asterisk.org
Tue Jul 9 16:58:42 CDT 2013



> On July 8, 2013, 9:43 p.m., rmudgett wrote:
> > /trunk/main/bridging.c, lines 2599-2606
> > <https://reviewboard.asterisk.org/r/2636/diff/3/?file=40440#file40440line2599>
> >
> >     The chan_target channel needs COLP update here so the person connected to chan_bridged will get correct COLP information.  The chan_bridged channel is masquerading into an application channel like voicemail.
> 
> Joshua Colp wrote:
>     As this performs a masquerade internally the bridge will be notified a masquerade occurred, and as a result a COLP update is performed.

Wrong, chan_target is not in the bridging system since it is an application so a masquerade update to the old bridge will not help.

B1 -- bridge -- A
B2 -- Application C

B transfers A to application C
As a result, A masquerades into B2

A -- Application C

Party A needs the COLP update and is no longer in the bridging system.  The COLP update after the masquerade needs to come from the CONNECTEDLINE information of chan_target saved before the masquerade.  This case is also why the AST_CONTROL_READ_ACTION exists.


> On July 8, 2013, 9:43 p.m., rmudgett wrote:
> > /trunk/main/bridging.c, lines 2755-2762
> > <https://reviewboard.asterisk.org/r/2636/diff/3/?file=40440#file40440line2755>
> >
> >     This will work just fine if you don't use the interception macro/subroutines.  The point of the interception routines is to manipulate the COLP information.

This check has even more holes than I originally thought.  The AST_CONTROL_CONNECTED_LINE frame does not need to be a complete update.  It may update parts of the connected line information and as a result will never match the whole connected line frame you are generating here.


- rmudgett


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


On July 9, 2013, 5:03 p.m., Joshua Colp wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviewboard.asterisk.org/r/2636/
> -----------------------------------------------------------
> 
> (Updated July 9, 2013, 5:03 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 393869 
>   /trunk/main/bridging.c 393869 
>   /trunk/main/channel.c 393869 
> 
> 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/20130709/c52ebdd5/attachment.htm>


More information about the asterisk-dev mailing list