gsm: Verify the MNCC_VERSION of the BSC/MS and close the socket on mismatch
[lcr.git] / mncc.h
diff --git a/mncc.h b/mncc.h
index 27c8364..16509bd 100644 (file)
--- a/mncc.h
+++ b/mncc.h
 #define MNCC_FRAME_RECV                0x0201
 #define MNCC_FRAME_DROP                0x0202
 #define MNCC_LCHAN_MODIFY      0x0203
+#define MNCC_RTP_CREATE                0x0204
+#define MNCC_RTP_CONNECT       0x0205
+#define MNCC_RTP_FREE          0x0206
 
 #define GSM_TCHF_FRAME         0x0300
 #define GSM_TCHF_FRAME_EFR     0x0301
+#define GSM_TCHH_FRAME         0x0302
+#define GSM_TCH_FRAME_AMR      0x0303
+#define GSM_BAD_FRAME          0x03ff
+
+#define MNCC_SOCKET_HELLO      0x0400
 
 #define GSM_MAX_FACILITY       128
 #define GSM_MAX_SSVERSION      128
@@ -175,6 +183,7 @@ struct gsm_mncc {
        int             emergency;
        char            imsi[16];
 
+       unsigned char   lchan_type;
        unsigned char   lchan_mode;
 };
 
@@ -184,3 +193,18 @@ struct gsm_data_frame {
        unsigned char   data[0];
 };
 
+struct gsm_mncc_rtp {
+       u_int32_t       msg_type;
+       u_int32_t       callref;
+       u_int32_t       ip;
+       u_int16_t       port;
+       u_int32_t       payload_type;
+       u_int32_t       payload_msg_type;
+};
+
+
+#define MNCC_SOCK_VERSION      1
+struct gsm_mncc_hello {
+       u_int32_t       msg_type;
+       u_int32_t       version;
+};