1 /*****************************************************************************\
5 **---------------------------------------------------------------------------**
6 ** Copyright: Andreas Eversberg **
8 ** Administration tool header file **
10 \*****************************************************************************/
12 #define SOCKET_NAME "/var/run/PBX4Linux.socket"
14 /* structures that define message between admin-tool and pbx */
17 ADMIN_REQUEST_CMD_INTERFACE,
18 ADMIN_RESPONSE_CMD_INTERFACE,
19 ADMIN_REQUEST_CMD_ROUTE,
20 ADMIN_RESPONSE_CMD_ROUTE,
21 ADMIN_REQUEST_CMD_DIAL,
22 ADMIN_RESPONSE_CMD_DIAL,
23 ADMIN_REQUEST_CMD_RELEASE,
24 ADMIN_RESPONSE_CMD_RELEASE,
27 ADMIN_RESPONSE_S_INTERFACE,
28 ADMIN_RESPONSE_S_PORT,
29 ADMIN_RESPONSE_S_EPOINT,
30 ADMIN_RESPONSE_S_CALL,
33 ADMIN_CALL_PROCEEDING,
36 ADMIN_CALL_DISCONNECT,
44 struct admin_response_cmd {
45 int error; /* error code 0 = ok*/
46 char message[256]; /* info / response text */
49 struct admin_response_state {
50 char version_string[64];
59 struct admin_response_interface {
61 char interface_name[32];
66 int use; /* number of ports that use this interface */
67 int l1link; /* down(0) or up(1) */
68 int l2link; /* down(0) or up(1) */
70 int busy[256]; /* if port is idle(0) busy(1) */
71 unsigned long port[256]; /* current port */
74 struct admin_response_call {
75 unsigned long serial; /* call serial number */
76 unsigned long partyline;
79 struct admin_response_epoint {
81 unsigned long call; /* link to call */
82 // int call_notify; /* if relation notified on hold */
83 // int call_hold; /* if relation on hold */
91 int park; /* if parked */
93 unsigned char park_callid[8];
94 int crypt; /* crypt state */
97 struct admin_response_port {
98 unsigned long serial; /* port serial number */
99 char name[64]; /* name of port */
100 unsigned long epoint; /* link to epoint */
102 int isdn; /* if port is isdn */
103 int isdn_chan; /* bchannel number */
104 int isdn_hold; /* on hold */
105 int isdn_ces; /* ces to use (>=0)*/
109 char interface[64]; /* name of port */
110 char callerid[64]; /* use caller id */
111 char dialing[64]; /* number to dial */
112 int present; /* presentation */
113 int cause; /* cause to send */
123 struct admin_trace_req {
133 struct admin_trace_rsp {
138 // int type; /* type of message */
139 // unsigned long ref; /* reference to individual endpoints */
140 // union parameter param; /* parameter union */
143 struct admin_message {
144 int message; /* type of admin message */
146 struct admin_response_cmd x;
147 struct admin_response_state s;
148 struct admin_response_interface i;
149 struct admin_response_port p;
150 struct admin_response_epoint e;
151 struct admin_response_call c;
152 struct admin_call call;
153 // struct admin_msg msg;
154 struct admin_trace_req trace_req;
155 struct admin_trace_rsp trace_rsp;
162 ADMIN_STATE_IN_SETUP,
163 ADMIN_STATE_OUT_SETUP,
164 ADMIN_STATE_IN_OVERLAP,
165 ADMIN_STATE_OUT_OVERLAP,
166 ADMIN_STATE_IN_PROCEEDING,
167 ADMIN_STATE_OUT_PROCEEDING,
168 ADMIN_STATE_IN_ALERTING,
169 ADMIN_STATE_OUT_ALERTING,
171 ADMIN_STATE_IN_DISCONNECT,
172 ADMIN_STATE_OUT_DISCONNECT,