backup
[lcr.git] / message.h
index e95e8e7..c45867d 100644 (file)
--- a/message.h
+++ b/message.h
@@ -118,10 +118,11 @@ enum { /* diversion types */
 #define INFO_HLC_AUDIOVISUAL                           0xe0
 
 enum { /* isdnsignal */
-       mISDNSIGNAL_VOLUME,
-       mISDNSIGNAL_CONF,
-       mISDNSIGNAL_NODATA,             /* no data required */
-       mISDNSIGNAL_ECHO,
+       mISDNSIGNAL_VOLUME,             /* change volume */
+       mISDNSIGNAL_CONF,               /* joint/split conference */
+       mISDNSIGNAL_CALLDATA,           /* data required by call instance */
+       mISDNSIGNAL_ECHO,               /* enable/disable echoe */
+       mISDNSIGNAL_DELAY,              /* use delay or adaptive jitter */
 };
 
 /* call-info structure CALLER */
@@ -140,7 +141,7 @@ struct caller_info {
 
 /* call-info structure DIALING */
 struct dialing_info {
-       char number[256];               /* number dialing (so far) */
+       char id[256];                   /* number dialing (so far) */
        char interfaces[128];           /* interfaces for extenal calls */
        int itype;                      /* type of interface */
        int ntype;                      /* type of number */
@@ -150,11 +151,10 @@ struct dialing_info {
 /* call-info structure CONNECT */
 struct connect_info {
        char id[32];                    /* id of caller (user number) */
-       char voip[64];                  /* URI of voip (or gateway) */
-       char intern[32];                /* internal id */
+       char extension[32];             /* internal id */
        char name[16];
        int isdn_port;                  /* internal/external port (if call is isdn) */
-       char interfaces[128];           /* interfaces for extenal calls */
+       char interface[128];            /* interface for extenal calls */
        int itype;                      /* type of interface */
        int ntype;                      /* type of number */
        int present;                    /* presentation */
@@ -172,8 +172,7 @@ struct disconnect_info {
 /* call-info structure REDIR */
 struct redir_info {
        char id[32];                    /* id of caller (user number) */
-       char voip[64];                  /* host of voip (or gateway) */
-       char intern[32];                /* internal id */
+       char extension[32];             /* internal id */
        int isdn_port;                  /* internal/external port (if call is isdn) */
        int itype;                      /* type of interface */
        int ntype;                      /* type of number */
@@ -195,8 +194,7 @@ struct capa_info {
 struct notify_info {
        int notify;                     /* notifications (see INFO_NOTIFY_*) */
        char id[32];                    /* redirection id (user number) */
-       char voip[64];                  /* host of voip (or gateway) */
-       char intern[32];                /* internal id */
+       char extension[32];             /* internal id */
        int isdn_port;                  /* internal/external port (if call is isdn) */
        int itype;                      /* type of interface */
        int ntype;                      /* type of number */
@@ -241,9 +239,6 @@ struct park_info {
 struct param_data {
        unsigned char data[512]; /* audio/hdlc data */
        int len; /* audio/hdlc data */
-       int compressed; /* 0 for law-data, 1 for 16-bit data */
-       unsigned long port_id; /* to identify the source of this data */
-       int port_type; /* type of the source's port  */
 };
 
 struct param_play {
@@ -266,9 +261,10 @@ struct param_mISDNsignal {
        int rxvol;
        int txvol;
        int conf;
-       int nodata;
+       int calldata;
        int tone;
        int echo;
+       int delay;
 };
 
 /* encryption control structure CRYPT */
@@ -315,6 +311,7 @@ struct message {
        int flow; /* from where to where */
        unsigned long id_from; /* in case of flow==PORT_TO_EPOINT: id_from is the port's serial, id_to is the epoint's serial */
        unsigned long id_to;
+       int keep;
        union parameter param;
 };
 
@@ -352,7 +349,7 @@ enum { /* messages between entities */
        MESSAGE_VBOX_TONE,      /* set answering VBOX tone */
        MESSAGE_TONE_COUNTER,   /* tone counter (for VBOX tone use) */
        MESSAGE_TONE_EOF,       /* tone is end of file */
-       MESSAGE_VBOX_RECORD,    /* tell endpoint to start recording */
+       MESSAGE_HELLO,          /* hello message for asterisk */
 };
 
 #define MESSAGES static const char *messages_txt[] = { \
@@ -384,12 +381,13 @@ enum { /* messages between entities */
        "MESSAGE_VBOX_TONE", \
        "MESSAGE_TONE_COUNTER", \
        "MESSAGE_TONE_EOF", \
-       "MESSAGE_VBOX_RECORD", \
+       "MESSAGE_HELLO", \
 };
 
 
 struct message *message_create(int id_from, int id_to, int flow, int type);
 void message_put(struct message *message);
+void message_forward(int id_from, int id_to, int flow, union parameter *param);
 struct message *message_get(void);
 void message_free(struct message *message);