mirror of
https://github.com/asterisk/asterisk.git
synced 2025-10-07 22:05:25 +00:00
Restore Dial, Queue, and FollowMe 'I' option support.
The Dial, Queue, and FollowMe applications need to inhibit the bridging initial connected line exchange in order to support the 'I' option. * Replaced the pass_reference flag on ast_bridge_join() with a flags parameter to pass other flags defined by enum ast_bridge_join_flags. * Replaced the independent flag on ast_bridge_impart() with a flags parameter to pass other flags defined by enum ast_bridge_impart_flags. * Since the Dial, Queue, and FollowMe applications are now the only callers of ast_bridge_call() and ast_bridge_call_with_flags(), changed the calling contract to require the initial COLP exchange to already have been done by the caller. * Made all callers of ast_bridge_impart() check the return value. It is important. As a precaution, I also made the compiler complain now if it is not checked. * Did some cleanup in parking_tests.c as a result of checking the ast_bridge_impart() return value. An independent, but associated change is: * Reduce stack usage in ast_indicate_data() and add a dropping redundant connected line verbose message. (closes issue ASTERISK-22072) Reported by: Joshua Colp Review: https://reviewboard.asterisk.org/r/2845/ ........ Merged revisions 399136 from http://svn.asterisk.org/svn/asterisk/branches/12 git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@399138 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This commit is contained in:
@@ -39,8 +39,14 @@ enum {
|
||||
AST_FEATURE_FLAG_BYBOTH = (3 << 3),
|
||||
};
|
||||
|
||||
/*! \brief Bridge a call, optionally allowing redirection */
|
||||
int ast_bridge_call(struct ast_channel *chan, struct ast_channel *peer,struct ast_bridge_config *config);
|
||||
/*!
|
||||
* \brief Bridge a call, optionally allowing redirection
|
||||
*
|
||||
* \note The function caller is assumed to have already done the
|
||||
* COLP exchange for the initial bridging of the two channels if
|
||||
* it was desired.
|
||||
*/
|
||||
int ast_bridge_call(struct ast_channel *chan, struct ast_channel *peer, struct ast_bridge_config *config);
|
||||
|
||||
/*!
|
||||
* \brief Bridge a call, and add additional flags to the bridge
|
||||
@@ -53,6 +59,10 @@ int ast_bridge_call(struct ast_channel *chan, struct ast_channel *peer,struct as
|
||||
* \param peer The called channel
|
||||
* \param config Bridge configuration for the channels
|
||||
* \param flags Additional flags to set on the created bridge
|
||||
*
|
||||
* \note The function caller is assumed to have already done the
|
||||
* COLP exchange for the initial bridging of the two channels if
|
||||
* it was desired.
|
||||
*/
|
||||
int ast_bridge_call_with_flags(struct ast_channel *chan, struct ast_channel *peer, struct ast_bridge_config *config, unsigned int flags);
|
||||
|
||||
|
Reference in New Issue
Block a user