From bd10c86c64b770137ee196742ab0977103c8dce3 Mon Sep 17 00:00:00 2001 From: Kinsey Moore <kmoore@digium.com> Date: Wed, 24 Jul 2013 17:49:56 +0000 Subject: [PATCH] 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 --- main/manager_bridging.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/main/manager_bridging.c b/main/manager_bridging.c index c24567eaa3..0bc086d5b3 100644 --- a/main/manager_bridging.c +++ b/main/manager_bridging.c @@ -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; } -- GitLab