diff --git a/main/cel.c b/main/cel.c index bb0f75051960180ab21782b5c40aab3f51c0ae47..69bb2649e1f9dda74608119b6bdcb051c901cff0 100644 --- a/main/cel.c +++ b/main/cel.c @@ -1367,11 +1367,12 @@ static void cel_blind_transfer_cb( 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); @@ -1407,24 +1408,30 @@ static void cel_attended_transfer_cb( 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; } @@ -1447,7 +1454,9 @@ static void cel_pickup_cb( 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; } @@ -1469,7 +1478,9 @@ static void cel_local_cb( 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; } diff --git a/tests/test_cel.c b/tests/test_cel.c index 2cde0978d873308e9047f189fed5fa535875fff5..b2a1fd3e58b966c4e7a8ea3393823c2d4f137537 100644 --- a/tests/test_cel.c +++ b/tests/test_cel.c @@ -169,22 +169,27 @@ static void do_sleep(void) #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) @@ -1572,7 +1577,8 @@ AST_TEST_DEFINE(test_cel_dial_pickup) 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); @@ -1645,7 +1651,8 @@ AST_TEST_DEFINE(test_cel_local_optimize) 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);