forked from bruno/amid
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
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; |
|
|
|
|