1 /*****************************************************************************\
5 **---------------------------------------------------------------------------**
6 ** Copyright: Andreas Eversberg **
8 ** Administration tool header file **
10 \*****************************************************************************/
12 #define SOCKET_NAME "/var/run/LCR.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,
25 ADMIN_REQUEST_CMD_BLOCK,
26 ADMIN_RESPONSE_CMD_BLOCK,
29 ADMIN_RESPONSE_S_INTERFACE,
30 ADMIN_RESPONSE_S_PORT,
31 ADMIN_RESPONSE_S_EPOINT,
32 ADMIN_RESPONSE_S_CALL,
35 ADMIN_CALL_PROCEEDING,
38 ADMIN_CALL_DISCONNECT,
46 struct admin_response_cmd {
47 int error; /* error code 0 = ok*/
48 char message[256]; /* info / response text */
53 struct admin_response_state {
54 char version_string[64];
63 struct admin_response_interface {
64 char interface_name[32];
71 int use; /* number of ports that use this interface */
72 int l1link; /* down(0) or up(1) */
73 int l2link; /* down(0) or up(1) */
75 char busy[256]; /* if port is idle(0) busy(1) */
76 unsigned long port[256]; /* current port */
79 struct admin_response_call {
80 unsigned long serial; /* call serial number */
81 unsigned long partyline;
84 struct admin_response_epoint {
86 unsigned long call; /* link to call */
87 // int call_notify; /* if relation notified on hold */
88 // int call_hold; /* if relation on hold */
96 int park; /* if parked */
98 unsigned char park_callid[8];
99 int crypt; /* crypt state */
102 struct admin_response_port {
103 unsigned long serial; /* port serial number */
104 char name[64]; /* name of port */
105 unsigned long epoint; /* link to epoint */
107 int isdn; /* if port is isdn */
108 int isdn_chan; /* bchannel number */
109 int isdn_hold; /* on hold */
110 int isdn_ces; /* ces to use (>=0)*/
114 char interface[64]; /* name of port */
115 char callerid[64]; /* use caller id */
116 char dialing[64]; /* number to dial */
117 int present; /* presentation */
118 int cause; /* cause to send */
128 struct admin_trace_req {
137 struct admin_trace_rsp {
142 int type; /* type of message */
143 unsigned long ref; /* reference to individual endpoints */
144 union parameter param; /* parameter union */
147 struct admin_message {
148 int message; /* type of admin message */
150 struct admin_response_cmd x;
151 struct admin_response_state s;
152 struct admin_response_interface i;
153 struct admin_response_port p;
154 struct admin_response_epoint e;
155 struct admin_response_call c;
156 struct admin_call call;
157 struct admin_msg msg;
158 struct admin_trace_req trace_req;
159 struct admin_trace_rsp trace_rsp;
166 ADMIN_STATE_IN_SETUP,
167 ADMIN_STATE_OUT_SETUP,
168 ADMIN_STATE_IN_OVERLAP,
169 ADMIN_STATE_OUT_OVERLAP,
170 ADMIN_STATE_IN_PROCEEDING,
171 ADMIN_STATE_OUT_PROCEEDING,
172 ADMIN_STATE_IN_ALERTING,
173 ADMIN_STATE_OUT_ALERTING,
175 ADMIN_STATE_IN_DISCONNECT,
176 ADMIN_STATE_OUT_DISCONNECT,