[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