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

Ship it!


Ship It!

- Joshua Colp


On July 14, 2014, 12:17 a.m., Matt Jordan wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviewboard.asterisk.org/r/3771/
> -----------------------------------------------------------
> 
> (Updated July 14, 2014, 12:17 a.m.)
> 
> 
> Review request for Asterisk Developers.
> 
> 
> Bugs: ASTERISK-24038
>     https://issues.asterisk.org/jira/browse/ASTERISK-24038
> 
> 
> Repository: Asterisk
> 
> 
> Description
> -------
> 
> In Asterisk, it is possible for a device to have a status of ONHOLD. This is 
> not typically an easy thing to determine, as a channel being on hold is not a 
> direct channel state. Typically, this has to be calculated outside of the 
> core independently in channel drivers, notably, chan_sip and chan_pjsip. Both 
> of these channel drivers already have to calculate device state in a fashion 
> more complex than the core can handle, as they aggregate all state of all 
> channels associated with a peer/endpoint; they also independently track 
> whether or not one of those channels is currently on hold and mark the device 
> state appropriately.
> 
> In 12+, we now have the ability to report a AST_DEVICE_ONHOLD state for all 
> channels that defer their device state to the core. This is due to channel 
> hold state actually now being tracked on the channel itself. If a channel 
> driver defers its device state to the core (which many, such as DAHDI, IAX2, 
> and others do in most situations), the device state core already goes out to 
> get a channel associated with the device. As such, it can now also factor the 
> channel hold state in its calculation.
> 
> This patch adds this logic to the device state core. It also uses an existing 
> mapping between device state and channel state to handle more channel states. 
> chan_pjsip has been updated slightly as well to make use of this (as it was, 
> for some reason, reporting a channel state of BUSY as a device state of 
> INUSE, which feels slightly wrong).
> 
> 
> Diffs
> -----
> 
>   /trunk/main/devicestate.c 418565 
>   /trunk/channels/chan_pjsip.c 418565 
> 
> Diff: https://reviewboard.asterisk.org/r/3771/diff/
> 
> 
> Testing
> -------
> 
> Some manual testing was done. Additionally, the pjsip hold test was modified 
> to report back the device state using the DEVICE_STATE function which 
> verified the correct hold state coming back from that channel driver.
> 
> New tests should be added to check the core logic; this review will be 
> updated when those tests are added.
> 
> 
> Thanks,
> 
> Matt Jordan
> 
>

-- 
_____________________________________________________________________
-- 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