app_confbridge: Attended transfer event fixup

When a channel already in a conference bridge is attended transfered
to another extension, or when an existing call is attended
transferred into a conference bridge, we now generate ConfbridgeJoin
and ConfbridgeLeave events for the entering and departing channels.

Change-Id: Id7709cfbceb26fbcb828b2d0d2a6b2fbeaf028e1
This commit is contained in:
George Joseph
2019-06-10 15:58:59 -06:00
parent 93ccff25c6
commit f3e5419d41
5 changed files with 254 additions and 0 deletions

View File

@@ -28,6 +28,7 @@
#include "asterisk/channel.h"
#include "asterisk/bridge.h"
#include "asterisk/bridge_features.h"
#include "asterisk/stasis_bridges.h"
#include "conf_state.h"
/*! Maximum length of a conference bridge name */
@@ -714,4 +715,14 @@ struct confbridge_conference *conf_find_bridge(const char *conference_name);
void conf_send_event_to_participants(struct confbridge_conference *conference,
struct ast_channel *chan, struct stasis_message *msg);
/*!
* \brief Create join/leave events for attended transfers
* \since 13.28
* \since 16.5
*
* \param msg The attended transfer stasis message
*
*/
void confbridge_handle_atxfer(struct ast_attended_transfer_message *msg);
#endif