X-Git-Url: http://git.eversberg.eu/gitweb.cgi?p=lcr.git;a=blobdiff_plain;f=mncc.h;h=998e91b1064e33201e13fb5c1453b0af9042b320;hp=9f0f7e3baf2e162747f0bbd77a0513121b6f7b8b;hb=fde8d821548b69c1005cab2a5c414b916348c023;hpb=b4987df679650609097a351aa6861aac11d6b1f1 diff --git a/mncc.h b/mncc.h index 9f0f7e3..998e91b 100644 --- a/mncc.h +++ b/mncc.h @@ -1,4 +1,6 @@ +#include + #define MNCC_SETUP_REQ 0x0101 #define MNCC_SETUP_IND 0x0102 #define MNCC_SETUP_RSP 0x0103 @@ -60,8 +62,11 @@ #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 @@ -185,6 +190,7 @@ enum gsm48_bcap_speech_ver { 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 */ @@ -262,13 +268,24 @@ enum { GSM_MNCC_BCAP_RESERVED = 7, }; +enum { + GSM_LCHAN_NONE, + GSM_LCHAN_SDCCH, + GSM_LCHAN_TCH_F, + GSM_LCHAN_TCH_H, + GSM_LCHAN_UNKNOWN, + GSM_LCHAN_CCCH, + GSM_LCHAN_PDTCH, + _GSM_LCHAN_MAX +}; + 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; @@ -300,8 +317,8 @@ struct gsm_mncc { }; struct gsm_data_frame { - u_int32_t msg_type; - u_int32_t callref; + uint32_t msg_type; + uint32_t callref; unsigned char data[0]; }; @@ -315,3 +332,18 @@ struct gsm_mncc_rtp { }; +#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; +};