+#include <stdint.h>
+
#define MNCC_SETUP_REQ 0x0101
#define MNCC_SETUP_IND 0x0102
#define MNCC_SETUP_RSP 0x0103
#define GSM_TCHF_FRAME_EFR 0x0301
#define GSM_TCHH_FRAME 0x0302
#define GSM_TCH_FRAME_AMR 0x0303
+#define ANALOG_8000HZ 0x0380
#define GSM_BAD_FRAME 0x03ff
+#define MNCC_SOCKET_HELLO 0x0400
+
#define GSM_MAX_FACILITY 128
#define GSM_MAX_SSVERSION 128
#define GSM_MAX_USERUSER 128
GSM48_BCAP_SV_EFR = 2,
GSM48_BCAP_SV_AMR_F = 4,
GSM48_BCAP_SV_AMR_H = 5,
+ BCAP_SV_ANALOG_8000HZ = 0x80,
};
/* Expanded fields from GSM TS 04.08, Table 10.5.102 */
struct gsm_mncc {
/* context based information */
- u_int32_t msg_type;
- u_int32_t callref;
+ uint32_t msg_type;
+ uint32_t callref;
/* which fields are present */
- u_int32_t fields;
+ uint32_t fields;
/* data derived informations (MNCC_F_ based) */
struct gsm_mncc_bearer_cap bearer_cap;
};
struct gsm_data_frame {
- u_int32_t msg_type;
- u_int32_t callref;
+ uint32_t msg_type;
+ uint32_t callref;
unsigned char data[0];
};
};
+#define MNCC_SOCK_VERSION 5
+struct gsm_mncc_hello {
+ uint32_t msg_type;
+ uint32_t version;
+
+ /* send the sizes of the structs */
+ uint32_t mncc_size;
+ uint32_t data_frame_size;
+
+ /* send some offsets */
+ uint32_t called_offset;
+ uint32_t signal_offset;
+ uint32_t emergency_offset;
+ uint32_t lchan_type_offset;
+};