Browse Source

logs para calls de transferencia

dev
Diego Nakaniwa 2 months ago
parent
commit
2d47f45306
  1. 15
      src/call/call.c
  2. 2
      src/frame/call_frame.c
  3. 4
      src/frame/frame_asterisk.h

15
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); }

2
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

4
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;

Loading…
Cancel
Save