[asterisk-dev] [Code Review] 3446: Parking: Add 'AnnounceChannel' to Park manager action. Change some announcement behavior for Park manager action.
Jonathan Rose
reviewboard at asterisk.org
Fri Apr 25 11:54:58 CDT 2014
> On April 24, 2014, 5:21 p.m., rmudgett wrote:
> > /branches/12/res/parking/parking_manager.c, lines 461-463
> > <https://reviewboard.asterisk.org/r/3446/diff/3/?file=57809#file57809line461>
> >
> > Moving this to where you test bridge_channel for NULL only leaves two places where bridge_channel needs to be cleaned up instead of the current five. RAII_VAR usage could then be easily eliminated.
eliminated
- Jonathan
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviewboard.asterisk.org/r/3446/#review11736
-----------------------------------------------------------
On April 25, 2014, 11:54 a.m., Jonathan Rose wrote:
>
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviewboard.asterisk.org/r/3446/
> -----------------------------------------------------------
>
> (Updated April 25, 2014, 11:54 a.m.)
>
>
> Review request for Asterisk Developers, Matt Jordan and rmudgett.
>
>
> Bugs: ASTERISK-23397
> https://issues.asterisk.org/jira/browse/ASTERISK-23397
>
>
> Repository: Asterisk
>
>
> Description
> -------
>
> r334840 removed announcements from Park manager actions back in 2011 from all of the actively supported Asterisk versions. Asterisk 12 has provided an opportunity to bring this functionality back.
>
> TimeoutChannel will now receive announcements under the strict condition that it is in a one to one bridge with Channel (the channel being parked) at the time the Park action was invoked. In this case, TimeoutChannel will be treated more or less entirely as the channel responsible for parking the call instead of just as a return point for when the call times out.
>
> Parking behavior in cases where TimeoutChannel isn't directly bridged with Channel remains mostly unchanged. The channel being parked will no longer receive announcements, but it will still be treated as having more or less self-parked. Timeout Channel will still work just as a comeback override at that point (Will be used to dial when the call times out if it's specified).
>
> AnnounceChannel field has been added to the Park action. If the AnnounceChannel field is specified and maps to an active channel, a parking announcement listener stasis subscription will be applied to that channel. When Channel is parked, that listener will trip and apply the announcement bridge feature to the AnnounceChannel. Provided that AnnounceChannel is in some kind of bridge that can use features at that point (tested with two party bridges and holding bridges), the AnnounceChannel will receive the parking announcement while staying on the bridge.
>
> If AnnounceChannel and TimeoutChannel are the same channel and that channel is bridged with Channel, a safeguard is in place to make sure multiple announcements aren't queued. In that case, AnnounceChannel is just ignored.
>
>
> Diffs
> -----
>
> /branches/12/res/parking/res_parking.h 412989
> /branches/12/res/parking/parking_manager.c 412989
> /branches/12/res/parking/parking_bridge_features.c 412989
> /branches/12/CHANGES 412989
>
> Diff: https://reviewboard.asterisk.org/r/3446/diff/
>
>
> Testing
> -------
>
> Tested Parking with the park action using different parking lot and timeout settings under the following scenarios:
> _______________________________________
>
> Channel: SIP channel in a holding bridge
> TimeoutChannel: SIP channel in another holding bridge
> AnnounceChannel: same as TimeoutChannel
>
> Results: Timeout Channel received announcements, remained in holding bridge, and was set as the comeback dial channel. Channel gets dialed upon timeout.
>
> ---
>
> Channel: SIP channel talking to TimeoutChannel
> TimeoutChannel: SIP channel talking to Channel
> AnnounceChannel: both unspecified and the same as TimeoutChannel
>
> Results: TimeoutChannel received announcements and then hung up... treated as the Parker of the call. Gets dialed after timeout.
>
> ---
>
> Channel: Local channel in a Holding Bridge
> TimeoutChannel: SIP channel talking to another, unrelated SIP channel
> AnnounceChannel: Same as TimeoutChannel
>
> Results: TimeoutChannel receives announcements, acts as comeback dial channel.
>
> ---
>
> Channel: Local channel in a Holding Bridge
> TimeoutChannel: SIP channel talking to another, unrelated SIP channel
> AnnounceChannel: Unspecified
>
> Results: SIP channel acts as comeback dial channel, but does not receive announcements
>
>
> Thanks,
>
> Jonathan Rose
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.digium.com/pipermail/asterisk-dev/attachments/20140425/92025523/attachment.html>
More information about the asterisk-dev
mailing list