[svn-commits] mjordan: branch 12 r421037 - in /branches/12: main/cel.c tests/test_cel.c
SVN commits to the Digium repositories
svn-commits at lists.digium.com
Thu Aug 14 14:09:38 CDT 2014
Author: mjordan
Date: Thu Aug 14 14:09:32 2014
New Revision: 421037
URL: http://svnview.digium.com/svn/asterisk?view=rev&rev=421037
Log:
cel: Make sure channels in extra fields include their unique IDs as well
CEL typically tracks a lot of information using the unique ID of the channel.
This is typically needed due to tying events together using the linked ID of
the various channels involved in a "call", which is derived from the channel ID
of the oldest channel involved in a bridge (or in the case of a Dial, the
parent channel).
Previously, we had updated the extra fields to include the involved channel
names, but forgot to put in the unique ID. This patch corrects that error.
Modified:
branches/12/main/cel.c
branches/12/tests/test_cel.c
Modified: branches/12/main/cel.c
URL: http://svnview.digium.com/svn/asterisk/branches/12/main/cel.c?view=diff&rev=421037&r1=421036&r2=421037
==============================================================================
--- branches/12/main/cel.c (original)
+++ branches/12/main/cel.c Thu Aug 14 14:09:32 2014
@@ -1363,11 +1363,12 @@
return;
}
- extra = ast_json_pack("{s: s, s: s, s: s}",
+ extra = ast_json_pack("{s: s, s: s, s: s, s: s, s: s}",
"extension", transfer_msg->exten,
"context", transfer_msg->context,
"bridge_id", bridge_snapshot->uniqueid,
- "transferee_channel_name", transfer_msg->transferee ? transfer_msg->transferee->name: "N/A");
+ "transferee_channel_name", transfer_msg->transferee ? transfer_msg->transferee->name : "N/A",
+ "transferee_channel_uniqueid", transfer_msg->transferee ? transfer_msg->transferee->uniqueid : "N/A");
if (extra) {
cel_report_event(chan_snapshot, AST_CEL_BLINDTRANSFER, NULL, extra, NULL);
ast_json_unref(extra);
@@ -1403,24 +1404,30 @@
case AST_ATTENDED_TRANSFER_DEST_BRIDGE_MERGE:
case AST_ATTENDED_TRANSFER_DEST_LINK:
case AST_ATTENDED_TRANSFER_DEST_THREEWAY:
- extra = ast_json_pack("{s: s, s: s, s: s, s: s, s: s}",
+ extra = ast_json_pack("{s: s, s: s, s: s, s: s, s: s, s: s, s: s, s: s}",
"bridge1_id", bridge1->uniqueid,
"channel2_name", channel2->name,
+ "channel2_uniqueid", channel2->uniqueid,
"bridge2_id", bridge2->uniqueid,
"transferee_channel_name", xfer->transferee ? xfer->transferee->name : "N/A",
- "transfer_target_channel_name", xfer->target ? xfer->target->name : "N/A");
+ "transferee_channel_uniqueid", xfer->transferee ? xfer->transferee->uniqueid : "N/A",
+ "transfer_target_channel_name", xfer->target ? xfer->target->name : "N/A",
+ "transfer_target_channel_uniqueid", xfer->target ? xfer->target->uniqueid : "N/A");
if (!extra) {
return;
}
break;
case AST_ATTENDED_TRANSFER_DEST_APP:
case AST_ATTENDED_TRANSFER_DEST_LOCAL_APP:
- extra = ast_json_pack("{s: s, s: s, s: s, s: s, s: s}",
+ extra = ast_json_pack("{s: s, s: s, s: s, s: s, s: s, s: s, s: s, s: s}",
"bridge1_id", bridge1->uniqueid,
"channel2_name", channel2->name,
+ "channel2_uniqueid", channel2->uniqueid,
"app", xfer->dest.app,
"transferee_channel_name", xfer->transferee ? xfer->transferee->name : "N/A",
- "transfer_target_channel_name", xfer->target ? xfer->target->name : "N/A");
+ "transferee_channel_uniqueid", xfer->transferee ? xfer->transferee->uniqueid : "N/A",
+ "transfer_target_channel_name", xfer->target ? xfer->target->name : "N/A",
+ "transfer_target_channel_uniqueid", xfer->target ? xfer->target->uniqueid : "N/A");
if (!extra) {
return;
}
@@ -1443,7 +1450,9 @@
return;
}
- extra = ast_json_pack("{s: s}", "pickup_channel", channel->name);
+ extra = ast_json_pack("{s: s, s: s}",
+ "pickup_channel", channel->name,
+ "pickup_channel_uniqueid", channel->uniqueid);
if (!extra) {
return;
}
@@ -1465,7 +1474,9 @@
return;
}
- extra = ast_json_pack("{s: s}", "local_two", localtwo->name);
+ extra = ast_json_pack("{s: s, s: s}",
+ "local_two", localtwo->name,
+ "local_two_uniqueid", localtwo->uniqueid);
if (!extra) {
return;
}
Modified: branches/12/tests/test_cel.c
URL: http://svnview.digium.com/svn/asterisk/branches/12/tests/test_cel.c?view=diff&rev=421037&r1=421036&r2=421037
==============================================================================
--- branches/12/tests/test_cel.c (original)
+++ branches/12/tests/test_cel.c Thu Aug 14 14:09:32 2014
@@ -168,22 +168,27 @@
#define BLINDTRANSFER_EVENT(channel, bridge, extension, context) do { \
RAII_VAR(struct ast_json *, extra, NULL, ast_json_unref); \
- extra = ast_json_pack("{s: s, s: s, s: s}", \
+ extra = ast_json_pack("{s: s, s: s, s: s, s: s, s: s}", \
"extension", extension, \
"context", context, \
- "bridge_id", bridge->uniqueid); \
+ "bridge_id", bridge->uniqueid, \
+ "transferee_channel_name", "N/A", \
+ "transferee_channel_uniqueid", "N/A"); \
ast_test_validate(test, extra != NULL); \
APPEND_EVENT(channel, AST_CEL_BLINDTRANSFER, NULL, extra); \
} while (0)
#define ATTENDEDTRANSFER_BRIDGE(channel1, bridge1, channel2, bridge2, channel3, channel4) do { \
RAII_VAR(struct ast_json *, extra, NULL, ast_json_unref); \
- extra = ast_json_pack("{s: s, s: s, s: s, s: s, s: s}", \
+ extra = ast_json_pack("{s: s, s: s, s: s, s: s, s: s, s: s, s: s, s: s}", \
"bridge1_id", bridge1->uniqueid, \
"channel2_name", ast_channel_name(channel2), \
+ "channel2_uniqueid", ast_channel_uniqueid(channel2), \
"bridge2_id", bridge2->uniqueid, \
"transferee_channel_name", ast_channel_name(channel4), \
- "transfer_target_channel_name", ast_channel_name(channel3)); \
+ "transferee_channel_uniqueid", ast_channel_uniqueid(channel4), \
+ "transfer_target_channel_name", ast_channel_name(channel3), \
+ "transfer_target_channel_uniqueid", ast_channel_uniqueid(channel3)); \
ast_test_validate(test, extra != NULL); \
APPEND_EVENT(channel1, AST_CEL_ATTENDEDTRANSFER, NULL, extra); \
} while (0)
@@ -1565,7 +1570,8 @@
RAII_VAR(struct ast_json *, extra, NULL, ast_json_unref);
SCOPED_CHANNELLOCK(lock, chan_callee);
- extra = ast_json_pack("{s: s}", "pickup_channel", ast_channel_name(chan_charlie));
+ extra = ast_json_pack("{s: s, s: s}", "pickup_channel", ast_channel_name(chan_charlie),
+ "pickup_channel_uniqueid", ast_channel_uniqueid(chan_charlie));
ast_test_validate(test, extra != NULL);
APPEND_EVENT(chan_callee, AST_CEL_PICKUP, NULL, extra);
@@ -1638,7 +1644,8 @@
stasis_publish(ast_channel_topic(chan_alice), local_opt_begin);
stasis_publish(ast_channel_topic(chan_alice), local_opt_end);
- extra = ast_json_pack("{s: s}", "local_two", bob_snapshot->name);
+ extra = ast_json_pack("{s: s, s: s}", "local_two", bob_snapshot->name,
+ "local_two_uniqueid", bob_snapshot->uniqueid);
ast_test_validate(test, extra != NULL);
APPEND_EVENT_SNAPSHOT(alice_snapshot, AST_CEL_LOCAL_OPTIMIZE, NULL, extra, NULL);
More information about the svn-commits
mailing list