diff options
Diffstat (limited to 'apps/app_queue.c')
-rw-r--r-- | apps/app_queue.c | 21 |
1 files changed, 6 insertions, 15 deletions
diff --git a/apps/app_queue.c b/apps/app_queue.c index 012f04a71..ef547df60 100644 --- a/apps/app_queue.c +++ b/apps/app_queue.c @@ -5551,6 +5551,7 @@ static void log_attended_transfer(struct queue_stasis_data *queue_data, struct a ast_str_set(&transfer_str, 0, "BRIDGE|%s", atxfer_msg->dest.bridge); break; case AST_ATTENDED_TRANSFER_DEST_APP: + case AST_ATTENDED_TRANSFER_DEST_LOCAL_APP: ast_str_set(&transfer_str, 0, "APP|%s", atxfer_msg->dest.app); break; case AST_ATTENDED_TRANSFER_DEST_LINK: @@ -5619,10 +5620,7 @@ static void handle_blind_transfer(void *userdata, struct stasis_subscription *su struct stasis_message *msg) { struct queue_stasis_data *queue_data = userdata; - struct ast_bridge_blob *blind_blob = stasis_message_data(msg); - struct ast_json *result_blob; - struct ast_json *exten_blob; - struct ast_json *context_blob; + struct ast_blind_transfer_message *transfer_msg = stasis_message_data(msg); const char *exten; const char *context; RAII_VAR(struct ast_channel_snapshot *, caller_snapshot, NULL, ao2_cleanup); @@ -5632,19 +5630,14 @@ static void handle_blind_transfer(void *userdata, struct stasis_subscription *su return; } - result_blob = ast_json_object_get(blind_blob->blob, "result"); - if (!result_blob) { - return; - } - - if (ast_json_integer_get(result_blob) != AST_BRIDGE_TRANSFER_SUCCESS) { + if (transfer_msg->result != AST_BRIDGE_TRANSFER_SUCCESS) { return; } ao2_lock(queue_data); if (ast_strlen_zero(queue_data->bridge_uniqueid) || - strcmp(queue_data->bridge_uniqueid, blind_blob->bridge->uniqueid)) { + strcmp(queue_data->bridge_uniqueid, transfer_msg->to_transferee.bridge_snapshot->uniqueid)) { ao2_unlock(queue_data); return; } @@ -5654,10 +5647,8 @@ static void handle_blind_transfer(void *userdata, struct stasis_subscription *su ao2_unlock(queue_data); - exten_blob = ast_json_object_get(blind_blob->blob, "exten"); - exten = exten_blob ? ast_json_string_get(exten_blob) : "<unknown>"; - context_blob = ast_json_object_get(blind_blob->blob, "context"); - context = context_blob ? ast_json_string_get(context_blob) : "<unknown>"; + exten = transfer_msg->exten; + context = transfer_msg->context; ast_debug(3, "Detected blind transfer in queue %s\n", queue_data->queue->name); ast_queue_log(queue_data->queue->name, caller_snapshot->uniqueid, queue_data->member->membername, |