Abstração do asterisk pelo manager (AMI).
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 

153 lines
5.3 KiB

Camada de permanência
Estruturas:
Relação das estruturas na camadas de permanência (CP).
.
struct s_peer ( s_peer )
├── unsigned long long id;
├── char *callerid_number;
├── char *callerid_name;
├── char *protocol;
├── char *status;
├── int exten_status;
├── char *exten_statustext;
├── char *address;
├── unsigned int trunk:1;
├── char *_time;
├── struct s_queue_member *queue_member;
│ ├── unsigned long long id;
│ ├── char *queue_name;
│ ├── char *membername;
│ ├── int _static;
│ ├── int penalty;
│ ├── int calls_taken;
│ ├── int last_call;
│ ├── int in_call;
│ ├── int status;
│ ├── int paused;
│ ├── char *paused_reason;
│ ├── int ringin_use;
│ ├── unsigned int action_update:1;
│ ├── strut s_list_agent; (não free)
│ ├── struct s_peer *node_up;
│ └── struct s_queue_member *next;
├── struct s_channel *channel;
│ ├── unsigned long long int cnl_id;
│ ├── char *name;
│ ├── int channel_state;
│ ├── char *channel_state_desc;
│ ├── char *caller_id_num;
│ ├── char *caller_id_name;
│ ├── char *connected_line_num;
│ ├── char *connected_line_name;
│ ├── char *account_code;
│ ├── char *context;
│ ├── char *uniqueid;
│ ├── char *linkedid;
│ ├── char *origin_dial;
│ ├── char *destination_dial;
│ ├── char *local_bridge;
│ ├── struct s_bridge_member *bridge_member;
│ │ ├── char *bridge_uniqueid;
│ │ ├── unsigned int call_active:1;
│ │ ├── struct s_channel *node_up;
│ │ └── struct s_bridge_member *next;
│ ├── struct s_variable *variable;
│ │ ├── char *context;
│ │ ├── char *key;
│ │ ├── char *value;
│ │ ├── struct s_channel *node_up;
│ │ └── struct s_variable *next;
│ ├── struct s_route *route;
│ │ ├── char *context;
│ │ ├── char *application;
│ │ ├── char *app_data;
│ │ ├── struct s_channel *node_up;
│ │ └── struct s_route *next;
│ ├── long long int call_duration_seconds;
│ ├── unsigned int localbridge:1;
│ ├── struct s_peer *node_up;
│ └── struct s_channel *next;
├── unsigned int action_update:1;
└── struct s_peer *next;
struct s_list_bridge
├── char *bridge_uniqueid;
├── char *bridge_type;
├── char *bridge_technology;
├── char *bridge_creator;
├── char *bridge_name;
├── int bridge_num_channels;
├── char *bridge_videosourcemode;
├── char *bridge_videosource;
├── unsigned int bool_transfer;
├── struct s_list_bridge_member *bridge_member;
│ ├── char *uniqueid;
│ ├── unsigned int action_update:1;
│ ├── struct s_list_bridge *node_up;
│ └── struct s_list_bridge_member *next;
└── struct s_bridge *next;
struct s_list_queue
├── char *queue_name;
├── char *strategy;
├── char *queue_number;
├── struct s_list_queue_member *queue_member; // não free
│ ├── struct s_peer *peer; // não dar free
│ ├── unsigned int action_update:1;
│ ├── struct s_list_queue *node_up;
│ └── struct s_list_queue_member *next;
├── unsigned int action_update;
└── struct s_list_queue *next;
struct s_list_agent
├── unsigned long long int id;
├── char *name;
├── char *matricula;
├── char *status;
├── unsigned int login_manual:1;
├── unsigned int login_auto:1;
├── unsigned int action_update:1;
└── struct s_agents *next;
struct s_list_call
├── char *call_uniqueid;
├── unisgned int num_member;
├── unsigned int bool_transfer:1;
├── unsigned int bool_login:1;
├── struct s_transfer *transfer; // free apenas se o hangup não for transferência
│ ├── char *origin;
│ ├── char *bridge_uniqueid_origin; // bridge
│ ├── char number[100];
│ ├── char *destination;
│ ├── unsigned int terminate_proccess:1; // processo de transferência acabou
│ ├── unsigned int sucess:1; // resultado da transferência
│ ├── unsigned int attended_transfer:1;
│ ├── unsigned int blind_transfer:1;
│ ├── unsigned int call_switch:1;
│ ├── struct s_list_call *node_up;
│ ├── char *time_init;
│ ├── char *transfer_call_uniqueid;
│ └── struct s_transfer *next;
├── struct s_list_call_member *call_member
│ ├── char *channel_uniqueid;
│ ├── char *peer_number;
│ ├── char *number;
│ ├── unsigned int button_transfer:1;
│ ├── unsigned int transfer:1;
│ ├── unsigned int calling_queue:1;
│ ├── unsigned int hold:1;
│ ├── unsigned int music_on_hold:1;
│ ├── unsigned int action_update:1;
│ ├── struct s_list_call *node_up;
│ └── struct s_call_member *next;
├── unsigned int background:1;
├── unsigned int action_update:1;
└── struct s_list_call *next;