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

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 412320 
  /branches/12/res/parking/parking_manager.c 412320 
  /branches/12/res/parking/parking_bridge_features.c 412320 

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

-- 
_____________________________________________________________________
-- Bandwidth and Colocation Provided by http://www.api-digital.com --

asterisk-dev mailing list
To UNSUBSCRIBE or update options visit:
   http://lists.digium.com/mailman/listinfo/asterisk-dev

Reply via email to