[asterisk-dev] [Code Review] Extended maximum number of pickupgroups (callgroup/pickupgroup)
Guenther Kelleter
reviewboard at asterisk.org
Fri Jul 13 08:18:36 CDT 2012
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviewboard.asterisk.org/r/2043/
-----------------------------------------------------------
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 370052
/trunk/channels/chan_dahdi.c 370052
/trunk/channels/chan_misdn.c 370052
/trunk/channels/chan_sip.c 370052
/trunk/channels/misdn/chan_misdn_config.h 370052
/trunk/channels/misdn_config.c 370052
/trunk/channels/sip/include/sip.h 370052
/trunk/configs/chan_dahdi.conf.sample 370052
/trunk/configs/misdn.conf.sample 370052
/trunk/configs/sip.conf.sample 370052
/trunk/include/asterisk/channel.h 370052
/trunk/main/channel.c 370052
/trunk/main/channel_internal_api.c 370052
/trunk/main/features.c 370052
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/20120713/b740c6f6/attachment.htm>
More information about the asterisk-dev
mailing list