diff options
Diffstat (limited to 'include/asterisk/channel.h')
-rw-r--r-- | include/asterisk/channel.h | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/include/asterisk/channel.h b/include/asterisk/channel.h index d12d478d3..172f69b03 100644 --- a/include/asterisk/channel.h +++ b/include/asterisk/channel.h @@ -1875,6 +1875,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. * * \param state cause to get the description of |