diff options
author | Seán C McCord <ulexus@gmail.com> | 2017-10-06 21:48:48 -0400 |
---|---|---|
committer | Seán C McCord <ulexus@gmail.com> | 2017-10-11 08:23:05 -0400 |
commit | e8bde6916ab0003e6737a320074b1c6ae1516db0 (patch) | |
tree | 6e08df9a01a8d0a5bfe3792730a79cf9051d9a78 /include | |
parent | 1505c1bb09987b36c4c55d1ab6d95e57d0fede16 (diff) |
ari/bridge: Add mute, dtmf suppression controls
Add bridge_features structure to bridge creation. Specifically, this
implements mute and DTMF suppression, but others should be able to be
easily added to the same structure.
ASTERISK-27322 #close
Reported by: Darren Sessions
Sponsored by: AVOXI
Change-Id: Id4002adfb65c9a8027ee9e1a5f477e0f01cf9d61
Diffstat (limited to 'include')
-rw-r--r-- | include/asterisk/stasis_app.h | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/include/asterisk/stasis_app.h b/include/asterisk/stasis_app.h index ca5c25111..8ef2bda1c 100644 --- a/include/asterisk/stasis_app.h +++ b/include/asterisk/stasis_app.h @@ -793,6 +793,38 @@ int stasis_app_control_remove_channel_from_bridge( struct stasis_app_control *control, struct ast_bridge *bridge); /*! + * \brief Initialize bridge features into a channel control + * + * \note Bridge features on a control are destroyed after each bridge session, + * so new features need to be initialized before each bridge add. + * + * \param control Control in which to store the features + * + * \return non-zero on failure + * \return zero on success + */ +int stasis_app_control_bridge_features_init( + struct stasis_app_control *control); + +/*! + * \brief Set whether DTMF from the channel is absorbed instead of passing through to the bridge + * + * \param control Control whose channel should have its DTMF absorbed when bridged + * \param absorb Whether DTMF should be absorbed (1) instead of passed through (0). + */ +void stasis_app_control_absorb_dtmf_in_bridge( + struct stasis_app_control *control, int absorb); + +/*! + * \brief Set whether audio from the channel is muted instead of passing through to the bridge + * + * \param control Control whose channel should have its audio muted when bridged + * \param mute Whether audio should be muted (1) instead of passed through (0). + */ +void stasis_app_control_mute_in_bridge( + struct stasis_app_control *control, int mute); + +/*! * \since 12 * \brief Gets the bridge currently associated with a control object. * |