[asterisk-dev] [Code Review] app_directed_pickup Implement the ability to remove a channel group on bridged channel

irroot reviewboard at asterisk.org
Wed Apr 27 06:22:44 CDT 2011


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

(Updated 2011-04-27 06:22:44.296436)


Review request for Asterisk Developers.


Changes
-------

Ok moved the macro bits into core this is much cleaner ... perhaps make it more generic ??
instead of PICKUP_BRIDGE_MACRO GENERIC_BRIDGE_MACRO ?? as its not limited to pickup any longer ...

The patch also fixes a deadlock and avoids it [just incase] the problem was introduced using pickup_by_group and is related to 1185

there is also a critical logic flaw in can_pickup we CANNOT mess with channels that are about to be masqed or channels that are DOWN [only RING/RINGING]

im all for r1185 moving / merging the pickup code from here and features.


Summary
-------

as a companion to 0018825 to aid with the move from call-limits to channel group variables. the problem with pickup and queue is that they manage channels outside the dialplan and need "helpers" to deal with channel groups.

in the case of pickup when a call is placed to a extension with say a "<EXTEN>@called" channel group when it is picked up this needs to be cleared to allow further calls when call waiting is disabled.

exten => s,n,GotoIf($[$[${ GROUP_COUNT(${ARG1}@called)} >= 1] | $[${GROUP_COUNT(${ARG1}@caller)} >= 1] | $[${GROUP_COUNT(${ARG1}@pickup)} >= 1] | $[${GROUP_COUNT(${ARG1}@qagent)} >= 1]]?s-BUSY,1)

where
caller is set when a call is placed.
called is set when a call is received
pickup is set when before calling pickup in the dialplan
qagent is set with patch to queue

Hope this is found to be useful and finds a home in trunk. 

not sure what time to put in the "wait for bridge" perhaps there is a better method ?? 


This addresses bug 18830.
    https://issues.asterisk.org/view.php?id=18830


Diffs (updated)
-----

  /trunk/apps/app_directed_pickup.c 315724 
  /trunk/main/channel.c 315724 

Diff: https://reviewboard.asterisk.org/r/1118/diff


Testing
-------


Thanks,

irroot

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.digium.com/pipermail/asterisk-dev/attachments/20110427/323a055e/attachment.htm>


More information about the asterisk-dev mailing list