fixes
[lcr.git] / admin.h
diff --git a/admin.h b/admin.h
index da3b069..a34820d 100644 (file)
--- a/admin.h
+++ b/admin.h
@@ -1,6 +1,6 @@
 /*****************************************************************************\
 **                                                                           **
-** PBX4Linux                                                                 **
+** Linux Call Router                                                         **
 **                                                                           **
 **---------------------------------------------------------------------------**
 ** Copyright: Andreas Eversberg                                              **
@@ -9,7 +9,7 @@
 **                                                                           **
 \*****************************************************************************/
 
-#define SOCKET_NAME "/var/run/PBX4Linux.socket"
+#define SOCKET_NAME "/var/run/LCR.socket"
 
 /* structures that define message between admin-tool and pbx */
 
@@ -22,12 +22,15 @@ enum { /* messages */
        ADMIN_RESPONSE_CMD_DIAL,
        ADMIN_REQUEST_CMD_RELEASE,
        ADMIN_RESPONSE_CMD_RELEASE,
+       ADMIN_REQUEST_CMD_BLOCK,
+       ADMIN_RESPONSE_CMD_BLOCK,
        ADMIN_REQUEST_STATE,
        ADMIN_RESPONSE_STATE,
+       ADMIN_RESPONSE_S_REMOTE,
        ADMIN_RESPONSE_S_INTERFACE,
        ADMIN_RESPONSE_S_PORT,
        ADMIN_RESPONSE_S_EPOINT,
-       ADMIN_RESPONSE_S_CALL,
+       ADMIN_RESPONSE_S_JOIN,
        ADMIN_CALL_SETUP,
        ADMIN_CALL_SETUP_ACK,
        ADMIN_CALL_PROCEEDING,
@@ -36,12 +39,16 @@ enum { /* messages */
        ADMIN_CALL_DISCONNECT,
        ADMIN_CALL_RELEASE,
        ADMIN_CALL_NOTIFY,
+       ADMIN_TRACE_REQUEST,
+       ADMIN_TRACE_RESPONSE,
        ADMIN_MESSAGE,
 };
 
 struct admin_response_cmd {
        int             error;          /* error code 0 = ok*/
        char            message[256];   /* info / response text */
+       int             block;
+       int             portnum;
 };
 
 struct admin_response_state {
@@ -49,36 +56,43 @@ struct admin_response_state {
        struct tm       tm;
        char            logfile[128];
        int             interfaces;
-       int             calls;
+       int             remotes;
+       int             joins;
        int             epoints;
        int             ports;
 };
 
 struct admin_response_interface {
-       int             portnum;
        char            interface_name[32];
+       int             portnum;
+       int             block;
        int             ntmode;
        int             ptp;
        int             pri;
-       int             iftype;
+       int             extension;
        int             use; /* number of ports that use this interface */
        int             l1link; /* down(0) or up(1) */
        int             l2link; /* down(0) or up(1) */
        int             channels;
-       int             busy[256]; /* if port is idle(0) busy(1) */
+       char            busy[256]; /* if port is idle(0) busy(1) */
        unsigned long   port[256]; /* current port */
 };
 
-struct admin_response_call {
-       unsigned long   serial; /* call serial number */
+struct admin_response_remote {
+       char            name[32]; /* name of remote application */
+};
+
+struct admin_response_join {
+       unsigned long   serial; /* join serial number */
+       char            remote[32]; /* remote application name */
        unsigned long   partyline;
 };
 
 struct admin_response_epoint {
        unsigned long   serial;
-       unsigned long   call; /* link to call */
-//     int             call_notify; /* if relation notified on hold */
-//     int             call_hold; /* if relation on hold */
+       unsigned long   join; /* link to join */
+//     int             join_notify; /* if relation notified on hold */
+//     int             join_hold; /* if relation on hold */
        int             rx_state;
        int             tx_state;
        int             state;
@@ -118,7 +132,20 @@ struct admin_call {
        int             exthlc;
 };
 
-struct admin_message {
+struct admin_trace_req {
+       int             detail;
+       char            category;
+       int             port;
+       char            interface[64];
+       char            caller[34];
+       char            dialing[64];
+};
+
+struct admin_trace_rsp {
+       char            text[1024];
+};
+
+struct admin_msg {
        int             type; /* type of message */
        unsigned long   ref; /* reference to individual endpoints */
        union parameter param; /* parameter union */
@@ -132,9 +159,12 @@ struct admin_message {
                struct admin_response_interface i;
                struct admin_response_port      p;
                struct admin_response_epoint    e;
-               struct admin_response_call      c;
+               struct admin_response_join      j;
+               struct admin_response_remote    r;
                struct admin_call               call;
-               struct admin_message            message;
+               struct admin_msg                msg;
+               struct admin_trace_req          trace_req;
+               struct admin_trace_rsp          trace_rsp;
        } u;
 };