From 892b7a2efd3ed0f30850caa399f96530120db3dd Mon Sep 17 00:00:00 2001 From: Alec L Davis Date: Thu, 12 May 2011 22:56:43 +0000 Subject: Merged revisions 318671 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.8 ........ r318671 | alecdavis | 2011-05-13 10:52:08 +1200 (Fri, 13 May 2011) | 30 lines Fix directed group pickup feature code *8 with pickupsounds enabled Since 1.6.2, 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. Created a sip_pickup() thread to handle the pickup and playout the audio, spawned from handle_request_invite. 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() (closes issue #18654) Reported by: Docent Patches: ast_do_pickup_1.8_trunk.diff.txt uploaded by alecdavis (license 585) Tested by: lmadsen, francesco_r, amilcar, isis242, alecdavis, irroot, rymkus, loloski, rmudgett Review: https://reviewboard.asterisk.org/r/1185/ ........ git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@318672 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- include/asterisk/features.h | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'include/asterisk') diff --git a/include/asterisk/features.h b/include/asterisk/features.h index 7a55ff7cf..4ea941383 100644 --- a/include/asterisk/features.h +++ b/include/asterisk/features.h @@ -122,6 +122,14 @@ int ast_bridge_call(struct ast_channel *chan, struct ast_channel *peer,struct as /*! \brief Pickup a call */ int ast_pickup_call(struct ast_channel *chan); +/*! + * \brief Pickup a call target + * \note This function assumes that target is locked + * \retval 0 on success. + * \retval -1 on failure. + */ +int ast_do_pickup(struct ast_channel *chan, struct ast_channel *target); + /*! * \brief register new feature into feature_set * \param feature an ast_call_feature object which contains a keysequence -- cgit v1.2.3