mirror of
https://github.com/asterisk/asterisk.git
synced 2025-10-09 06:28:14 +00:00
Merged revisions 294349 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8 ........ r294349 | rmudgett | 2010-11-09 10:55:32 -0600 (Tue, 09 Nov 2010) | 17 lines Analog lines do not transfer CONNECTED LINE or execute the interception macros. Add connected line update for sig_analog transfers and simplify the corresponding sig_pri and chan_misdn transfer code. Note that if you create a three-way call in sig_analog before transferring the call, the distinction of the caller/callee interception macros make little sense. The interception macro writer needs to be prepared for either caller/callee macro to be executed. The current implementation swaps which caller/callee interception macro is executed after a three-way call is created. Review: https://reviewboard.asterisk.org/r/996/ JIRA ABE-2589 JIRA SWP-2372 ........ git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@294351 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This commit is contained in:
@@ -1874,6 +1874,52 @@ int ast_channel_bridge(struct ast_channel *c0,struct ast_channel *c1,
|
||||
*/
|
||||
int ast_channel_masquerade(struct ast_channel *original, struct ast_channel *clone);
|
||||
|
||||
/*!
|
||||
* \brief Setup a masquerade to transfer a call.
|
||||
* \since 1.8
|
||||
*
|
||||
* \param target_chan Target of the call transfer. (Masquerade original channel)
|
||||
* \param target_id New connected line information for the target channel.
|
||||
* \param target_held TRUE if the target call is on hold.
|
||||
* \param transferee_chan Transferee of the call transfer. (Masquerade clone channel)
|
||||
* \param transferee_id New connected line information for the transferee channel.
|
||||
* \param transferee_held TRUE if the transferee call is on hold.
|
||||
*
|
||||
* \details
|
||||
* Party A - Transferee
|
||||
* Party B - Transferer
|
||||
* Party C - Target of transfer
|
||||
*
|
||||
* Party B transfers A to C.
|
||||
*
|
||||
* Party A is connected to bridged channel B1.
|
||||
* Party B is connected to channels C1 and C2.
|
||||
* Party C is connected to bridged channel B2.
|
||||
*
|
||||
* Party B -- C1 == B1 -- Party A
|
||||
* __/
|
||||
* /
|
||||
* Party B -- C2 == B2 -- Party C
|
||||
*
|
||||
* Bridged channel B1 is masqueraded into channel C2. Where B1
|
||||
* is the masquerade clone channel and C2 is the masquerade
|
||||
* original channel.
|
||||
*
|
||||
* \see ast_channel_masquerade()
|
||||
*
|
||||
* \note Has the same locking requirements as ast_channel_masquerade().
|
||||
*
|
||||
* \retval 0 on success.
|
||||
* \retval -1 on error.
|
||||
*/
|
||||
int ast_channel_transfer_masquerade(
|
||||
struct ast_channel *target_chan,
|
||||
const struct ast_party_connected_line *target_id,
|
||||
int target_held,
|
||||
struct ast_channel *transferee_chan,
|
||||
const struct ast_party_connected_line *transferee_id,
|
||||
int transferee_held);
|
||||
|
||||
/*!
|
||||
* \brief Gives the string form of a given cause code.
|
||||
*
|
||||
|
Reference in New Issue
Block a user