X-Git-Url: http://git.eversberg.eu/gitweb.cgi?p=lcr.git;a=blobdiff_plain;f=mncc.h;h=6e9a9dda955721bb7c02e7e436338bb24c26174b;hp=27c83646902bcd60c0f2ec7bbdbc88de3152b580;hb=4b57961e7cf60053147395695b0150d0c8ccb07e;hpb=97aa0881beacf536e3a2296381c055887583db8f diff --git a/mncc.h b/mncc.h index 27c8364..6e9a9dd 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 @@ -52,9 +54,17 @@ #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 @@ -144,11 +154,11 @@ enum { 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; @@ -175,12 +185,38 @@ struct gsm_mncc { int emergency; char imsi[16]; + unsigned char lchan_type; unsigned char lchan_mode; }; struct gsm_data_frame { + uint32_t msg_type; + uint32_t callref; + unsigned char data[0]; +}; + +struct gsm_mncc_rtp { u_int32_t msg_type; u_int32_t callref; - unsigned char data[0]; + u_int32_t ip; + u_int16_t port; + u_int32_t payload_type; + u_int32_t payload_msg_type; }; + +#define MNCC_SOCK_VERSION 2 +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; +};