Minor fix for GSM HR codec negotiation: Add missing 'break'.
[lcr.git] / message.h
index 76adfdb..fb11384 100644 (file)
--- a/message.h
+++ b/message.h
@@ -156,6 +156,11 @@ struct rtp_info {
        unsigned short port;            /* peer's port */
 };
 
+struct param_transfer {
+       int invoke, result, error;
+       unsigned char invoke_id;
+};
+
 /* call-info structure CALLER */
 struct caller_info {
        char id[32];                    /* id of caller (user number) */
@@ -185,6 +190,7 @@ struct dialing_info {
        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 */
@@ -209,6 +215,7 @@ struct disconnect_info {
        int location;                   /* disconnect location */
        char display[84];               /* optional display information */
        int force;                      /* special flag to release imediately */
+       struct param_transfer transfer; /* used to return result to the invoking endpoint */
 };
 
 /* call-info structure REDIR */
@@ -350,6 +357,19 @@ struct param_3pty {
        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 */
 union parameter {
        struct param_tone tone; /* MESSAGE_TONE */
@@ -377,7 +397,10 @@ union parameter {
        unsigned int bridge_id; /* MESSAGE_BRIDGE */
        struct param_traffic traffic; /* MESSAGE_TRAFFIC */
        struct param_3pty threepty; /* MESSAGE_TRAFFIC */
+       struct param_dov dov; /* MESSAGE_DOV */
+       struct param_transfer transfer; /* MESSAGE_TRANSFER (ECT in case of ISDN) */
        unsigned int queue; /* MESSAGE_DISABLE_DEJITTER */
+       struct param_vootp vootp; /* MESSAGE_VOOTP */
 };
 
 enum { /* message flow */
@@ -433,7 +456,13 @@ enum { /* messages between entities */
        MESSAGE_BRIDGE,         /* control port bridge */
        MESSAGE_TRAFFIC,        /* exchange bchannel traffic */
        MESSAGE_3PTY,           /* 3PTY call invoke */
-       MESSAGE_DISABLE_DEJITTER/* tell (mISDN) port not to dejitter */
+       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[] = { \
@@ -471,10 +500,17 @@ enum { /* messages between entities */
        "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);