[asterisk-dev] [Code Review] Extended maximum number of pickupgroups (callgroup/pickupgroup)
Tilghman Lesher
reviewboard at asterisk.org
Thu Jul 26 17:09:09 CDT 2012
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviewboard.asterisk.org/r/2043/#review6824
-----------------------------------------------------------
/trunk/main/channel_internal_api.c
<https://reviewboard.asterisk.org/r/2043/#comment13139>
This appears to treat the channel as a storage mechanism, instead of abstracting out the API functionality. The purpose of the channel abstraction layer was so that we could change the internals of how particular values are stored without changing the API. That is not what this does. See how dialled causes are stored within the channel for an example of the proper abstraction.
- Tilghman
On July 20, 2012, 9:16 a.m., Guenther Kelleter wrote:
>
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviewboard.asterisk.org/r/2043/
> -----------------------------------------------------------
>
> (Updated July 20, 2012, 9:16 a.m.)
>
>
> Review request for Asterisk Developers, Mark Michelson, Matt Jordan, and Thomas Arimont.
>
>
> Summary
> -------
>
> This patch adds the feature "Extended maximum number of pickupgroups (callgroup/pickupgroup)".
>
> The feature is implemented as named pickup/call groups which can be used in parallel to but independent from the already known numbered call/pickup groups. Named groups will allow an unlimited number of pickup/call groups.
> Named groups are configured with the keywords "namedcallgroup" and "namedpickupgroup" (conforming to "callgroup" and "pickupgroup").
> A namedpickupgroup "4" does not match the callgroup number 4.
>
> Additionally the behavior of the undirected pickup is changed so that the oldest ringing channel (creation time of the channel) is picked up when more than one channel could be picked up. This will be required by another new feature which is yet to be posted.
>
> A few words to describe the implementation:
> Names of named groups are collected in a container at configuration time of a user. This container will be copied (in fact referenced) around to the channels in parallel with the numbered groups bitfield.
> When an undirected pickup is executed, the pickup and call groups are matched against each other, and the oldest target channel which matches is chosen. Notably there is almost no overhead for the named group handling when no pickup is executed, except referencing of the containers.
>
>
> Diffs
> -----
>
> /trunk/CHANGES 370245
> /trunk/channels/chan_dahdi.c 370245
> /trunk/channels/chan_misdn.c 370245
> /trunk/channels/chan_sip.c 370245
> /trunk/channels/misdn/chan_misdn_config.h 370245
> /trunk/channels/misdn_config.c 370245
> /trunk/channels/sip/include/sip.h 370245
> /trunk/configs/chan_dahdi.conf.sample 370245
> /trunk/configs/misdn.conf.sample 370245
> /trunk/configs/sip.conf.sample 370245
> /trunk/include/asterisk/channel.h 370245
> /trunk/main/channel.c 370245
> /trunk/main/channel_internal_api.c 370245
> /trunk/main/features.c 370245
>
> Diff: https://reviewboard.asterisk.org/r/2043/diff
>
>
> Testing
> -------
>
> Call pickup tested for sip, dahdi and misdn channels. Reference counter handling of ao2_container (which includes the group names) checked with additional debug output.
>
>
> Thanks,
>
> Guenther
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.digium.com/pipermail/asterisk-dev/attachments/20120726/007c3cf2/attachment-0001.htm>
More information about the asterisk-dev
mailing list