[asterisk-dev] [Code Review] Fix directed group pickup feature code *8 with pickupsounds enabled , deadlock and segfault, affects 1.8.0 and trunk
Alec Davis
reviewboard at asterisk.org
Wed May 11 17:42:17 CDT 2011
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviewboard.asterisk.org/r/1185/
-----------------------------------------------------------
(Updated 2011-05-11 17:42:17.424558)
Review request for Asterisk Developers.
Changes
-------
if sip_pickup(c) fails to create thread, missed the following
sip_alreadygone(p);
c->hangupcause = AST_CAUSE_FAILURE;
*nounlock = 1
and moved p->invitestate = INV_COMPLETED;
Summary
-------
Since 1.8, the new pickupsound and pickupfailsound in features.conf cause many issues.
1). chan_sip:handle_request_invite() shouldn't be playing out the fail/success audio, as it has 'netlock' locked.
2). dialplan applications for directed_pickups shouldn't beep.
3). feature code for directed pickup should beep on success/failure if configured.
Moved app_directed:pickup_do() to features:ast_do_pickup().
Functions below, all now use the new ast_do_pickup()
app_directed_pickup.c:
pickup_by_channel()
pickup_by_exten()
pickup_by_mark()
pickup_by_part()
features.c:
ast_pickup_call()
Created a sip_pickup() thread to handle the pickup and playout the audio, spawned from handle_request_invite.
This addresses bug 18654.
https://issues.asterisk.org/view.php?id=18654
Diffs (updated)
-----
trunk/apps/app_directed_pickup.c 317665
trunk/channels/chan_sip.c 317665
trunk/include/asterisk/features.h 317665
trunk/main/features.c 317665
Diff: https://reviewboard.asterisk.org/r/1185/diff
Testing
-------
pickup using *8 feature code, with pickup sounds enabled/disabled
exten => 71,1,Pickup() ; any ringing extension in same pickupgroup
exten => 72,1,Pickup(85 at phones) ; dahdi extension
exten => 73,1,Pickup(823 at phones) ; sip extension
Thanks,
Alec
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.digium.com/pipermail/asterisk-dev/attachments/20110511/9740d73f/attachment-0001.htm>
More information about the asterisk-dev
mailing list