Make AMI BridgeInfo action more verbose

Ensure that the BridgeInfo command provides adequate state information
about channels by publishing the full channel snapshot for
BridgeInfoChannel subevents. This prevents a two-stage lookup since
most consumers will be keying on channel names instead of uniqueids.

(closes issue ASTERISK-22140)


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@395270 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This commit is contained in:
Kinsey Moore
2013-07-24 17:49:56 +00:00
parent 5f98c6bf84
commit bd10c86c64

View File

@@ -381,6 +381,7 @@ static int send_bridge_info_item_cb(void *obj, void *arg, void *data, int flags)
char *id_text = data;
RAII_VAR(struct stasis_message *, msg, NULL, ao2_cleanup);
struct ast_channel_snapshot *snapshot;
RAII_VAR(struct ast_str *, channel_text, NULL, ast_free);
msg = stasis_cache_get(ast_channel_topic_all_cached(),
ast_channel_snapshot_type(), uniqueid);
@@ -393,12 +394,17 @@ static int send_bridge_info_item_cb(void *obj, void *arg, void *data, int flags)
return 0;
}
channel_text = ast_manager_build_channel_state_string(snapshot);
if (!channel_text) {
return 0;
}
astman_append(s,
"Event: BridgeInfoChannel\r\n"
"Uniqueid: %s\r\n"
"%s"
"%s"
"\r\n",
uniqueid,
ast_str_buffer(channel_text),
id_text);
return 0;
}