From 2d47f4530684e842974500517bce70df31d6a0d9 Mon Sep 17 00:00:00 2001 From: Diego Nakaniwa Date: Wed, 14 Aug 2024 08:35:27 -0400 Subject: [PATCH] logs para calls de transferencia --- src/call/call.c | 15 +++++++++++---- src/frame/call_frame.c | 2 ++ src/frame/frame_asterisk.h | 4 +++- 3 files changed, 16 insertions(+), 5 deletions(-) diff --git a/src/call/call.c b/src/call/call.c index 9968bdd..f01bc3a 100644 --- a/src/call/call.c +++ b/src/call/call.c @@ -67,21 +67,28 @@ fail: int parse_update_call( const char *call_uniqueid, const char *caller_uniqueid, const char *callee_uniqueid ){ RESPONSE_MARIADB *rmdb_update_call = NULL; + struct s_channel *caller_channel = NULL, *callee_channel = NULL; // Atualiza a call no banco de dados. rmdb_update_call = update_call_db( Update_call, call_uniqueid, caller_uniqueid, callee_uniqueid ); if( !rmdb_update_call->success ){ FAIL( "FAIL update_call_db - function %s", __func__ ); } // Atualiza a call na frame. + caller_channel = get_channel(caller_uniqueid); + callee_channel = get_channel(callee_uniqueid); struct s_list_call *call = get_call( call_uniqueid ); if( call ){ - if (caller_uniqueid){ + if (caller_channel){ free(call->caller_uniqueid); - newstrncpy(&call->caller_uniqueid, caller_uniqueid); + newstrncpy(&call->caller_uniqueid, caller_channel->uniqueid); + free(call->caller_name); + newstrncpy(&call->caller_name, caller_channel->name); } - if (callee_uniqueid){ + if (callee_channel){ free(call->callee_uniqueid); - newstrncpy(&call->callee_uniqueid, callee_uniqueid); + newstrncpy(&call->callee_uniqueid, callee_channel->uniqueid); + free(call->callee_name); + newstrncpy(&call->callee_name, callee_channel->name); } } else { _WARNING("%s - Não foi encontrada call com o uniqueid %s na frame", __func__, call_uniqueid); } diff --git a/src/frame/call_frame.c b/src/frame/call_frame.c index 62a788f..05562de 100644 --- a/src/frame/call_frame.c +++ b/src/frame/call_frame.c @@ -437,6 +437,8 @@ int explore_possible_call_of_bridge_members(const char *bridge_uniqueid){ if (call->num_member < 2){ parse_create_call_member( call_uniqueid, callee_channel->uniqueid); parse_update_call (call_uniqueid, caller_channel->uniqueid, callee_channel->uniqueid); + _LOG("Membro %s adicionado a call: %s", callee_channel->name, call_uniqueid); + _LOG("Membros da call de transferencia: %s e %s", call->caller_name, call->callee_name ); } // registra a chamada na estrutura dos canais diff --git a/src/frame/frame_asterisk.h b/src/frame/frame_asterisk.h index 073f122..7df3ddf 100644 --- a/src/frame/frame_asterisk.h +++ b/src/frame/frame_asterisk.h @@ -246,7 +246,9 @@ struct s_list_call_member { struct s_list_call { // free apenas se não houver membros na chamada char *call_uniqueid; char *caller_uniqueid; - char* callee_uniqueid; + char *caller_name; + char *callee_uniqueid; + char *callee_name; unsigned int num_member; unsigned int bool_transfer:1; unsigned int bool_login:1;