Review Board 1.7.16

Fix *8 directed pickup locks system while sucessful pickupsound plays out.

Review Request #1232 - Created May 26, 2011 and submitted

Alec Davis
Asterisk finished off with the target channel requiring to be locked for the duration of the pickupsound, otherwise there was a clash between 2 threads trying to write data.

This simple change keeps the playout of the sucessful pickupsound in the same thread as the bridge, now played out by bridge_play_sounds().
yes, simple pickups with SIP and DAHDI, but to exaggerate the issue for testing purposes set pickupsound=tt_monkeys set in features.conf, and checking with 'core show locks' that no locks exist during playout. They do prior to this change.
Ship it!
Posted (May 26, 2011, 7:30 a.m.)
Looks like a good solution.  My only concern is that since there is a channel variable involved, someone's dialplan may be perverse enough to break.

How is the BRIDGE_PLAY_SOUND channel variable normally supposed to be used?
  1. My train of thought was that ast_pickup_call can now only ever be invoked with the directed_pickup feature code, where no dialplan would be running.
    Prior to the review 1185 changes dialplan "Pickup()" with pickupsounds enabled it would have beeped, if it ever worked.
    But as we know this has been broken for a long time. runs on a server provided by Digium, Inc. and uses bandwidth donated to the open source Asterisk community by API Digital Communications in Huntsville, AL USA.
Please report problems with this site to