[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
Fri May 13 18:09:59 CDT 2011


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

(Updated 2011-05-13 18:09:58.723239)


Review request for Asterisk Developers and rmudgett.


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

  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/20110513/7b99df2c/attachment.htm>


More information about the asterisk-dev mailing list