GSM: Add audio frame type for uncompressed 16 bit frame
[lcr.git] / message.h
index 82df9d5..9b8833a 100644 (file)
--- a/message.h
+++ b/message.h
@@ -126,23 +126,13 @@ enum { /* isdnsignal */
        mISDNSIGNAL_DELAY,              /* use delay or adaptive jitter */
 };
 
-enum { /* bchannel assignment */
-       BCHANNEL_REQUEST,               /* application requests bchannel */
-       BCHANNEL_RELEASE,               /* application releases bchannel */
-       BCHANNEL_ASSIGN,                /* bchannel assigned by LCR */
-       BCHANNEL_ASSIGN_ACK,            /* application acknowledges */
-       BCHANNEL_REMOVE,                /* bchannel removed by LCR */
-       BCHANNEL_REMOVE_ACK,            /* application acknowledges */
-};
 enum {
        B_STATE_IDLE,           /* not open */
        B_STATE_ACTIVATING,     /* DL_ESTABLISH sent */
        B_STATE_ACTIVE,         /* channel active */
        B_STATE_DEACTIVATING,   /* DL_RELEASE sent */
-       B_STATE_EXPORTING,      /* BCHANNEL_ASSIGN sent */
-       B_STATE_REMOTE,         /* bchannel assigned to remote application */
-       B_STATE_IMPORTING,      /* BCHANNEL_REMOVE sent */
 };
+
 enum {
        B_MODE_TRANSPARENT,     /* normal transparent audio */
        B_MODE_HDLC,            /* hdlc data mode */
@@ -155,6 +145,7 @@ enum {
        MEDIA_TYPE_GSM_EFR,
        MEDIA_TYPE_AMR,
        MEDIA_TYPE_GSM_HR,
+       MEDIA_TYPE_ANALOG,      /* just send analog data via MNCC */
 };
 
 /* rtp-info structure */
@@ -194,6 +185,8 @@ struct dialing_info {
        int sending_complete;           /* end of dialing */
        char display[84];               /* display information */
        char keypad[33];                /* send keypad facility */
+       char context[32];               /* asterisk context */
+       int flash;                      /* flash key caused setup of call */
 };
 
 /* call-info structure CONNECT */
@@ -288,7 +281,6 @@ struct message_setup {
        struct useruser_info useruser;          /* user-user */
        struct progress_info progress;          /* info on call progress */
        struct rtp_info rtpinfo;                /* info about RTP peer */
-       char context[128];                      /* asterisk context */
 };
 
 /* call-info structure PARK */
@@ -346,7 +338,31 @@ struct param_bchannel {
 
 struct param_newref {
         int direction; /* who requests a refe? */
-       int mode; /* 0 = direct-mode, 1 = PBX mode */
+       char interface[32]; /* interface name for selecting remote interface */
+};
+
+struct param_traffic {
+       int len;        /* how much data */
+       unsigned char data[160];        /* 20ms */
+};
+
+struct param_3pty {
+       int begin, end;
+       int invoke, result, error;
+       unsigned char invoke_id;
+};
+
+struct param_vootp {
+       int enable;
+       int failed;
+       char id[32];
+};
+
+struct param_dov {
+       int type; /* dov_type coding */
+       int level; /* volume of sending signals */
+       int length;
+       unsigned char data[255];
 };
 
 /* structure of message parameter */
@@ -374,6 +390,11 @@ union parameter {
        struct param_bchannel bchannel; /* MESSAGE_BCHANNEL */
        struct param_newref newref; /* MESSAGE_NEWREF */
        unsigned int bridge_id; /* MESSAGE_BRIDGE */
+       struct param_traffic traffic; /* MESSAGE_TRAFFIC */
+       struct param_3pty threepty; /* MESSAGE_TRAFFIC */
+       struct param_dov dov; /* MESSAGE_DOV */
+       unsigned int queue; /* MESSAGE_DISABLE_DEJITTER */
+       struct param_vootp vootp; /* MESSAGE_VOOTP */
 };
 
 enum { /* message flow */
@@ -427,6 +448,15 @@ enum { /* messages between entities */
        MESSAGE_HELLO,          /* hello message for remote application */
        MESSAGE_NEWREF,         /* special message to create and inform ref */
        MESSAGE_BRIDGE,         /* control port bridge */
+       MESSAGE_TRAFFIC,        /* exchange bchannel traffic */
+       MESSAGE_3PTY,           /* 3PTY call invoke */
+       MESSAGE_TRANSFER,       /* call transfer invoke */
+       MESSAGE_DISABLE_DEJITTER,/* tell (mISDN) port not to dejitter */
+       MESSAGE_UPDATEBRIDGE,   /* tell join to update bridge. (sent by mISDN port) */
+       MESSAGE_VOOTP,          /* enable/disable VoOTP */
+       MESSAGE_DOV_INDICATION, /* data over voice message received */
+       MESSAGE_DOV_REQUEST,    /* sending data over voice message */
+       MESSAGE_DOV_LISTEN,     /* listen order to data over voice message */
 };
 
 #define MESSAGES static const char *messages_txt[] = { \
@@ -462,9 +492,19 @@ enum { /* messages between entities */
        "MESSAGE_HELLO", \
        "MESSAGE_NEWREF", \
        "MESSAGE_BRIDGE", \
+       "MESSAGE_TRAFFIC", \
+       "MESSAGE_3PTY", \
+       "MESSAGE_TRANSFER", \
+       "MESSAGE_DISABLE_DEJITTER", \
+       "MESSAGE_UPDATEBRIDGE", \
+       "MESSAGE_VOOTP", \
+       "MESSAGE_DOV_INDIVATION", \
+       "MESSAGE_DOV_REQUEST", \
+       "MESSAGE_DOV_LISTEN", \
 };
 
 
+extern unsigned int lcr_random;
 struct lcr_msg *message_create(int id_from, int id_to, int flow, int type);
 #define message_put(m) _message_put(m, __FILE__, __LINE__)
 void _message_put(struct lcr_msg *message, const char *file, int line);