Make a couple of changes to help AMI events to be more clear in what is occurring.

* BridgeEnter now contains the unique ID of the channel that is to be swapped out, if applicable.
* There is a ParkedCallSwap event that is sent when a parked channel has a new channel take its place.

(closes issue ASTERISK-22193)
reported by Mark Michelson

Review: https://reviewboard.asterisk.org/r/2712



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@396107 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This commit is contained in:
Mark Michelson
2013-08-02 14:13:04 +00:00
parent 41d6be2432
commit 328e99f41d
8 changed files with 37 additions and 6 deletions

View File

@@ -380,11 +380,20 @@ struct stasis_message *ast_bridge_blob_create(
return msg;
}
void ast_bridge_publish_enter(struct ast_bridge *bridge, struct ast_channel *chan)
void ast_bridge_publish_enter(struct ast_bridge *bridge, struct ast_channel *chan,
struct ast_channel *swap)
{
RAII_VAR(struct stasis_message *, msg, NULL, ao2_cleanup);
RAII_VAR(struct ast_json *, blob, NULL, ao2_cleanup);
msg = ast_bridge_blob_create(ast_channel_entered_bridge_type(), bridge, chan, NULL);
if (swap) {
blob = ast_json_pack("{s: s}", "swap", ast_channel_uniqueid(swap));
if (!blob) {
return;
}
}
msg = ast_bridge_blob_create(ast_channel_entered_bridge_type(), bridge, chan, blob);
if (!msg) {
return;
}