[asterisk-dev] [Code Review] Fix directed group pickup feature code *8 with pickupsounds enabled , deadlock and segfault, affects 1.8.0 and trunk

rmudgett reviewboard at asterisk.org
Wed May 18 10:38:27 CDT 2011



> On 2011-05-13 18:10:22, Alec Davis wrote:
> > trunk/main/features.c, lines 5740-5742
> > <https://reviewboard.asterisk.org/r/1185/diff/16/?file=16493#file16493line5740>
> >
> >     the locks around this stream_and_wait need to go. They stopped the choppy audio, which happens with DAHDI and SIP, seems as though it's an unrelated issue, induced by Pickup.
> >     
> >     Using tt_monkeys to exagerate to problem, no other channels are able to dial out.
> 
> rmudgett wrote:
>     The locks are needed because we are injecting the pickupsound outside the thread running the bridge.  Without the locks on my setup, the calls got disconnected because chan_dahdi complained about incompatible audio frames.  We need to get the bridge to inject the pickupsound for us somehow.
>     
>     A follow-up patch is needed.

This review needs to be closed.  It has been submitted.  Another issue needs to be created for the held lock problem identified above.


- rmudgett


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


On 2011-05-13 18:09:58, Alec Davis wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviewboard.asterisk.org/r/1185/
> -----------------------------------------------------------
> 
> (Updated 2011-05-13 18:09:58)
> 
> 
> 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/20110518/f5f77446/attachment-0001.htm>


More information about the asterisk-dev mailing list