Browse Source

pequenas renomeações e mudanças na tabela do banco

pull/35/head
Diego Nakaniwa 2 months ago
parent
commit
a3abed6b72
  1. 4
      sql/ami_mariadb.sql
  2. 23
      sql/queries_for_visual_debugging.sql
  3. 8
      src/frame/bridge_frame.c
  4. 4
      src/frame/bridge_frame.h
  5. 10
      src/parse_events.h

4
sql/ami_mariadb.sql

@ -140,6 +140,8 @@ CREATE TABLE `channel` (
`peer_id` bigint(20) DEFAULT NULL,
`queue_id` bigint(20) DEFAULT NULL,
`name` varchar(128) NOT NULL,
`uniqueid` varchar(160) NOT NULL,
`linkedid` varchar(160) NOT NULL,
`channel_state` int(11) NOT NULL DEFAULT 0,
`channel_state_desc` varchar(16) DEFAULT NULL,
`caller_id_num` varchar(64) DEFAULT NULL,
@ -149,8 +151,6 @@ CREATE TABLE `channel` (
`account_code` varchar(32) DEFAULT NULL,
`context` varchar(100) DEFAULT NULL,
`priority` int(10) unsigned DEFAULT NULL,
`uniqueid` varchar(160) NOT NULL,
`linkedid` varchar(160) NOT NULL,
`chn_id_ref` bigint(20) DEFAULT NULL,
`follow_ch_id` bigint(20) unsigned DEFAULT NULL,
`transfer_from_chn_id` bigint(20) unsigned DEFAULT NULL,

23
sql/queries_for_visual_debugging.sql

@ -4,18 +4,17 @@
-- Informações das calls
SELECT
c.call_uniqueid AS call_name,
p.callerid_number AS peer_name,
ch.name AS channel_name,
cm.number,
cm.calling_queue
FROM
call_member cm
LEFT JOIN
`call` c ON cm.call_id = c.id
LEFT JOIN
peer p ON cm.peer_id = p.id
LEFT JOIN
channel ch ON cm.channel_id = ch.id;
c.call_type,
c.init_date,
ch1.name AS caller_channel,
ch2.name AS callee_channel,
p1.callerid_number AS caller_peer,
p2.callerid_number AS callee_peer
FROM `call` AS c
LEFT JOIN channel AS ch1 ON c.caller_channel_id = ch1.id
LEFT JOIN channel AS ch2 ON c.callee_channel_id = ch2.id
LEFT JOIN peer AS p1 ON ch1.peer_id = p1.id
LEFT JOIN peer AS p2 ON ch2.peer_id = p2.id
-- Visualizar bridges e pontes
SELECT

8
src/frame/bridge_frame.c

@ -177,23 +177,23 @@ struct s_list_bridge_member *create_bridge_member(){
return bridge_member;
}
int insert_bridge_member( const char *bridge_uniqueid, struct s_list_bridge_member *next ){
int insert_bridge_member( const char *bridge_uniqueid, struct s_list_bridge_member *bridge_member ){
struct s_list_bridge *bridge = get_bridge( bridge_uniqueid );
if(!bridge){ return -1;}
struct s_list_bridge_member **BM = &bridge->bridge_member ;
LAST_NODE( BM, next );
LAST_NODE( BM, bridge_member );
return 0;
}
struct s_list_bridge_member *get_bridge_member( const char *bridge_uniqueid, const char *uniqueid ){
struct s_list_bridge_member *get_bridge_member( const char *bridge_uniqueid, const char *channel_uniqueid ){
struct s_list_bridge *bridge = get_bridge( bridge_uniqueid );
if(!bridge){ return NULL; }
struct s_list_bridge_member **BM = &bridge->bridge_member ;
SEARCH_NODE( BM, uniqueid, uniqueid );
SEARCH_NODE( BM, uniqueid, channel_uniqueid );
return NULL;
}

4
src/frame/bridge_frame.h

@ -98,9 +98,9 @@ int verify_bridge_transfer( const char *bridge_uniqueid );
struct s_list_bridge_member *create_bridge_member();
int insert_bridge_member( const char *bridge_uniqueid, struct s_list_bridge_member *next );
int insert_bridge_member( const char *bridge_uniqueid, struct s_list_bridge_member *bridge_member );
struct s_list_bridge_member *get_bridge_member( const char *bridge_uniqueid, const char *uniqueid );
struct s_list_bridge_member *get_bridge_member( const char *bridge_uniqueid, const char *channel_uniqueid );
int remove_bridge_member( const char *bridge_uniqueid, const char *uniqueid );

10
src/parse_events.h

@ -25,7 +25,7 @@
#include <main.h>
#include <ami_c.h>
/* Obtém o valor do "argumento" em um evento.
/* Obtém o valor de um "argumento" que sempre existirá em um evento.
* Requer as estruturas s_manager e EVENT
* Deve-se ter um fail: na função
* Formato: ("NomeDoArgumentoNoAMI", variavel) */
@ -33,7 +33,13 @@
value = ami_get_value(smanager->ami, event->args, argument); \
if(!value){ FAIL("Erro na função %s na obtenção do valor do argumento "argument" do evento", __func__);}
/* Obtém o valor inteiro do "argumento" em um evento.
/* Obtém o valor de um "argumento" que nem sempre existirá em um evento.
* Requer as estruturas s_manager e EVENT
* Formato: ("NomeDoArgumentoNoAMI", variavel) */
#define GET_EVENT_OPTIONAL_ARGUMENT_VALUE(argument, value) \
value = ami_get_value(smanager->ami, event->args, argument); \
/* Obtém o valor de um "argumento" em um evento e o converte para um integer.
* Requer as estruturas s_manager e EVENT
* Formato: ("NomeDoArgumentoNoAMI", variavel) */
#define GET_EVENT_ARGUMENT_INTEGER_VALUE(argument, value) \

Loading…
Cancel
Save