libosmogsm 1.13.1.1-afb4 Osmocom GSM library

Data Structures | Macros | Enumerations | Functions | Variables
gsm_04_08.h File Reference

GSM TS 04.08 definitions. More...

`#include <stdint.h>`
`#include <stdbool.h>`
`#include <osmocom/core/utils.h>`
`#include <osmocom/core/endian.h>`
`#include <osmocom/gsm/gsm_utils.h>`

Go to the source code of this file.

## Data Structures
struct | gsm48_classmark1
struct | gsm48_classmark2
struct | gsm48_classmark3
struct | osmo_gsm48_classmark
struct | gsm48_range_1024
struct | gsm48_range_512
struct | gsm48_range_256
struct | gsm48_range_128
struct | gsm48_var_bit
struct | gsm48_chan_desc
struct | gsm48_meas_res
struct | gsm48_multi_rate_conf
struct | gsm48_power_cmd
struct | gsm48_rach_control
struct | gsm48_req_ref
struct | gsm48_start_time
struct | gsm48_sync_ind
struct | gsm48_chan_mode_modify
struct | gsm48_ass_cmd
struct | gsm48_frq_redef
struct | gsm48_gprs_susp_req
struct | gsm48_cell_desc
struct | gsm48_ho_cmd
struct | gsm48_imm_ass
struct | gsm48_pag_resp
struct | gsm48_loc_area_id
struct | gsm48_auth_req
struct | gsm48_auth_resp
struct | gsm48_loc_upd_req
struct | gsm48_hdr
struct | gsm48_hdr_sh
struct | gsm48_system_information_type_header
struct | gsm48_cell_sel_par
struct | gsm48_control_channel_descr
struct | gsm48_cell_options
struct | gsm48_service_request
struct | gsm48_system_information_type_1
struct | gsm48_system_information_type_2
struct | gsm48_system_information_type_2bis
struct | gsm48_system_information_type_2ter
struct | gsm48_system_information_type_2quater
struct | gsm48_system_information_type_3
struct | gsm48_system_information_type_4
struct | gsm48_system_information_type_5
struct | gsm48_system_information_type_5bis
struct | gsm48_system_information_type_5ter
struct | gsm48_system_information_type_6
struct | gsm48_system_information_type_10
struct | gsm0408_vgcs_ul_grant
struct | gsm48_system_information_type_13
struct | gsm48_imsi_detach_ind
struct | gsm48_add_ass
struct | gsm48_ass_cpl
struct | gsm48_ass_fail
struct | gsm48_ho_cpl
struct | gsm48_ho_fail
struct | gsm48_chan_rel
struct | gsm48_cip_mode_cmd
struct | gsm48_cm_change
struct | gsm48_imm_ass_ext
struct | gsm48_imm_ass_rej
struct | gsm48_notification_nch
struct | gsm48_paging1
struct | gsm48_paging2
struct | gsm48_paging3
struct | gsm48_pag_rsp
struct | gsm48_rr_status
struct | gsm48_talker_indication
struct | gsm48_uplink_release
struct | gsm48_ra_id

## Macros
#define | GSM48_PDISC_GROUP_CC 0x00
#define | GSM48_PDISC_BCAST_CC 0x01
#define | GSM48_PDISC_PDSS1 0x02 /* 04.07 only */
#define | GSM48_PDISC_CC 0x03
#define | GSM48_PDISC_PDSS2 0x04 /* 04.07 only */
#define | GSM48_PDISC_GTTP 0x04 /* 24.007 only */
#define | GSM48_PDISC_MM 0x05
#define | GSM48_PDISC_RR 0x06
#define | GSM48_PDISC_MM_GPRS 0x08
#define | GSM48_PDISC_SMS 0x09
#define | GSM48_PDISC_SM_GPRS 0x0a
#define | GSM48_PDISC_NC_SS 0x0b
#define | GSM48_PDISC_LOC 0x0c
#define | GSM48_PDISC_EXTEND 0x0e
#define | GSM48_PDISC_TEST 0x0f /* as per 11.10, 04.14 */
#define | GSM48_PDISC_MASK 0x0f
#define | GSM48_PDISC_SH_RR 0
#define | GSM48_TA_INVALID 220
#define | gsm48_hdr_msg_type gsm48_hdr_msg_type_r99
#define | GSM48_MT_RR_INIT_REQ 0x3c
#define | GSM48_MT_RR_ADD_ASS 0x3b
#define | GSM48_MT_RR_IMM_ASS 0x3f
#define | GSM48_MT_RR_IMM_ASS_EXT 0x39
#define | GSM48_MT_RR_IMM_ASS_REJ 0x3a
#define | GSM48_MT_RR_DTM_ASS_FAIL 0x48
#define | GSM48_MT_RR_DTM_REJECT 0x49
#define | GSM48_MT_RR_DTM_REQUEST 0x4A
#define | GSM48_MT_RR_PACKET_ASS 0x4B
#define | GSM48_MT_RR_CIPH_M_CMD 0x35
#define | GSM48_MT_RR_CIPH_M_COMPL 0x32
#define | GSM48_MT_RR_CFG_CHG_CMD 0x30
#define | GSM48_MT_RR_CFG_CHG_ACK 0x31
#define | GSM48_MT_RR_CFG_CHG_REJ 0x33
#define | GSM48_MT_RR_ASS_CMD 0x2e
#define | GSM48_MT_RR_ASS_COMPL 0x29
#define | GSM48_MT_RR_ASS_FAIL 0x2f
#define | GSM48_MT_RR_HANDO_CMD 0x2b
#define | GSM48_MT_RR_HANDO_COMPL 0x2c
#define | GSM48_MT_RR_HANDO_FAIL 0x28
#define | GSM48_MT_RR_HANDO_INFO 0x2d
#define | GSM48_MT_RR_DTM_ASS_CMD 0x4c
#define | GSM48_MT_RR_CELL_CHG_ORDER 0x08
#define | GSM48_MT_RR_PDCH_ASS_CMD 0x23
#define | GSM48_MT_RR_CHAN_REL 0x0d
#define | GSM48_MT_RR_PART_REL 0x0a
#define | GSM48_MT_RR_PART_REL_COMP 0x0f
#define | GSM48_MT_RR_PAG_REQ_1 0x21
#define | GSM48_MT_RR_PAG_REQ_2 0x22
#define | GSM48_MT_RR_PAG_REQ_3 0x24
#define | GSM48_MT_RR_PAG_RESP 0x27
#define | GSM48_MT_RR_NOTIF_NCH 0x20
#define | GSM48_MT_RR_NOTIF_FACCH 0x25 /* (Reserved) */
#define | GSM48_MT_RR_NOTIF_RESP 0x26
#define | GSM48_MT_RR_PACKET_NOTIF 0x4e
#define | GSM48_MT_RR_UTRAN_CLSM_CHG 0x60
#define | GSM48_MT_RR_CDMA2K_CLSM_CHG 0x62
#define | GSM48_MT_RR_IS_TO_UTRAN_HANDO 0x63
#define | GSM48_MT_RR_IS_TO_CDMA2K_HANDO 0x64
#define | GSM48_MT_RR_SYSINFO_8 0x18
#define | GSM48_MT_RR_SYSINFO_1 0x19
#define | GSM48_MT_RR_SYSINFO_2 0x1a
#define | GSM48_MT_RR_SYSINFO_3 0x1b
#define | GSM48_MT_RR_SYSINFO_4 0x1c
#define | GSM48_MT_RR_SYSINFO_5 0x1d
#define | GSM48_MT_RR_SYSINFO_6 0x1e
#define | GSM48_MT_RR_SYSINFO_7 0x1f
#define | GSM48_MT_RR_SYSINFO_2bis 0x02
#define | GSM48_MT_RR_SYSINFO_2ter 0x03
#define | GSM48_MT_RR_SYSINFO_2quater 0x07
#define | GSM48_MT_RR_SYSINFO_5bis 0x05
#define | GSM48_MT_RR_SYSINFO_5ter 0x06
#define | GSM48_MT_RR_SYSINFO_9 0x04
#define | GSM48_MT_RR_SYSINFO_13 0x00
#define | GSM48_MT_RR_SYSINFO_16 0x3d
#define | GSM48_MT_RR_SYSINFO_17 0x3e
#define | GSM48_MT_RR_SYSINFO_18 0x40
#define | GSM48_MT_RR_SYSINFO_19 0x41
#define | GSM48_MT_RR_SYSINFO_20 0x42
#define | GSM48_MT_RR_SYSINFO_13alt 0x44
#define | GSM48_MT_RR_SYSINFO_2n 0x45
#define | GSM48_MT_RR_SYSINFO_21 0x46
#define | GSM48_MT_RR_SYSINFO_22 0x47
#define | GSM48_MT_RR_SYSINFO_23 0x4f
#define | GSM48_MT_RR_CHAN_MODE_MODIF 0x10
#define | GSM48_MT_RR_STATUS 0x12
#define | GSM48_MT_RR_CHAN_MODE_MODIF_ACK 0x17
#define | GSM48_MT_RR_FREQ_REDEF 0x14
#define | GSM48_MT_RR_MEAS_REP 0x15
#define | GSM48_MT_RR_CLSM_CHG 0x16
#define | GSM48_MT_RR_CLSM_ENQ 0x13
#define | GSM48_MT_RR_EXT_MEAS_REP 0x36
#define | GSM48_MT_RR_EXT_MEAS_REP_ORD 0x37
#define | GSM48_MT_RR_GPRS_SUSP_REQ 0x34
#define | GSM48_MT_RR_DTM_INFO 0x4d
#define | GSM48_MT_RR_VGCS_UPL_GRANT 0x09
#define | GSM48_MT_RR_UPLINK_RELEASE 0x0e
#define | GSM48_MT_RR_UPLINK_FREE 0x0c
#define | GSM48_MT_RR_UPLINK_BUSY 0x2a
#define | GSM48_MT_RR_TALKER_IND 0x11
#define | GSM48_MT_RR_APP_INFO 0x38
#define | GSM48_MT_RR_SH_SI10 0x0
#define | GSM48_MT_RR_SH_FACCH 0x1
#define | GSM48_MT_RR_SH_UL_FREE 0x2
#define | GSM48_MT_RR_SH_MEAS_REP 0x4
#define | GSM48_MT_RR_SH_MEAS_INFO 0x5
#define | GSM48_MT_RR_SH_VGCS_RECON 0x6
#define | GSM48_MT_RR_SH_VGCS_RECON2 0x7
#define | GSM48_MT_RR_SH_VGCS_INFO 0x8
#define | GSM48_MT_RR_SH_VGCS_SMS 0x9
#define | GSM48_MT_RR_SH_SI10bis 0xA
#define | GSM48_MT_RR_SH_SI10ter 0xB
#define | GSM48_MT_RR_SH_VGCS_NEIGH 0xC
#define | GSM48_MT_RR_SH_APP_DATA 0xD
#define | GSM48_MT_MM_IMSI_DETACH_IND 0x01
#define | GSM48_MT_MM_LOC_UPD_ACCEPT 0x02
#define | GSM48_MT_MM_LOC_UPD_REJECT 0x04
#define | GSM48_MT_MM_LOC_UPD_REQUEST 0x08
#define | GSM48_MT_MM_AUTH_REJ 0x11
#define | GSM48_MT_MM_AUTH_REQ 0x12
#define | GSM48_MT_MM_AUTH_RESP 0x14
#define | GSM48_MT_MM_AUTH_FAIL 0x1c
#define | GSM48_MT_MM_ID_REQ 0x18
#define | GSM48_MT_MM_ID_RESP 0x19
#define | GSM48_MT_MM_TMSI_REALL_CMD 0x1a
#define | GSM48_MT_MM_TMSI_REALL_COMPL 0x1b
#define | GSM48_MT_MM_CM_SERV_ACC 0x21
#define | GSM48_MT_MM_CM_SERV_REJ 0x22
#define | GSM48_MT_MM_CM_SERV_ABORT 0x23
#define | GSM48_MT_MM_CM_SERV_REQ 0x24
#define | GSM48_MT_MM_CM_SERV_PROMPT 0x25
#define | GSM48_MT_MM_CM_REEST_REQ 0x28
#define | GSM48_MT_MM_ABORT 0x29
#define | GSM48_MT_MM_NULL 0x30
#define | GSM48_MT_MM_STATUS 0x31
#define | GSM48_MT_MM_INFO 0x32
#define | GSM48_MT_CC_ALERTING 0x01
#define | GSM48_MT_CC_CALL_CONF 0x08
#define | GSM48_MT_CC_CALL_PROC 0x02
#define | GSM48_MT_CC_CONNECT 0x07
#define | GSM48_MT_CC_CONNECT_ACK 0x0f
#define | GSM48_MT_CC_EMERG_SETUP 0x0e
#define | GSM48_MT_CC_PROGRESS 0x03
#define | GSM48_MT_CC_ESTAB 0x04
#define | GSM48_MT_CC_ESTAB_CONF 0x06
#define | GSM48_MT_CC_RECALL 0x0b
#define | GSM48_MT_CC_START_CC 0x09
#define | GSM48_MT_CC_SETUP 0x05
#define | GSM48_MT_CC_MODIFY 0x17
#define | GSM48_MT_CC_MODIFY_COMPL 0x1f
#define | GSM48_MT_CC_MODIFY_REJECT 0x13
#define | GSM48_MT_CC_USER_INFO 0x10
#define | GSM48_MT_CC_HOLD 0x18
#define | GSM48_MT_CC_HOLD_ACK 0x19
#define | GSM48_MT_CC_HOLD_REJ 0x1a
#define | GSM48_MT_CC_RETR 0x1c
#define | GSM48_MT_CC_RETR_ACK 0x1d
#define | GSM48_MT_CC_RETR_REJ 0x1e
#define | GSM48_MT_CC_DISCONNECT 0x25
#define | GSM48_MT_CC_RELEASE 0x2d
#define | GSM48_MT_CC_RELEASE_COMPL 0x2a
#define | GSM48_MT_CC_CONG_CTRL 0x39
#define | GSM48_MT_CC_NOTIFY 0x3e
#define | GSM48_MT_CC_STATUS 0x3d
#define | GSM48_MT_CC_STATUS_ENQ 0x34
#define | GSM48_MT_CC_START_DTMF 0x35
#define | GSM48_MT_CC_STOP_DTMF 0x31
#define | GSM48_MT_CC_STOP_DTMF_ACK 0x32
#define | GSM48_MT_CC_START_DTMF_ACK 0x36
#define | GSM48_MT_CC_START_DTMF_REJ 0x37
#define | GSM48_MT_CC_FACILITY 0x3a
#define | GSM48_PM_MASK 0x03
#define | GSM48_PM_NORMAL 0x00
#define | GSM48_PM_EXTENDED 0x01
#define | GSM48_PM_REORG 0x02
#define | GSM48_PM_SAME 0x03
#define | GSM48_LUPD_NORMAL 0x0
#define | GSM48_LUPD_PERIODIC 0x1
#define | GSM48_LUPD_IMSI_ATT 0x2
#define | GSM48_LUPD_RESERVED 0x3
#define | GSM_MI_TYPE_MASK 0x07
#define | GSM_MI_TYPE_NONE 0x00
#define | GSM_MI_TYPE_IMSI 0x01
#define | GSM_MI_TYPE_IMEI 0x02
#define | GSM_MI_TYPE_IMEISV 0x03
#define | GSM_MI_TYPE_TMSI 0x04
#define | GSM_MI_ODD 0x08
#define | GSM48_IE_MOBILE_ID 0x17 /* 10.5.1.4 */
#define | GSM48_IE_NAME_LONG 0x43 /* 10.5.3.5a */
#define | GSM48_IE_NAME_SHORT 0x45 /* 10.5.3.5a */
#define | GSM48_IE_UTC 0x46 /* 10.5.3.8 */
#define | GSM48_IE_NET_TIME_TZ 0x47 /* 10.5.3.9 */
#define | GSM48_IE_LSA_IDENT 0x48 /* 10.5.3.11 */
#define | GSM48_IE_NET_DST 0x49 /* 10.5.3.12 [24.008] */
#define | GSM48_IE_BEARER_CAP 0x04 /* 10.5.4.5 */
#define | GSM48_IE_CAUSE 0x08 /* 10.5.4.11 */
#define | GSM48_IE_CC_CAP 0x15 /* 10.5.4.5a */
#define | GSM48_IE_ALERT 0x19 /* 10.5.4.26 */
#define | GSM48_IE_FACILITY 0x1c /* 10.5.4.15 */
#define | GSM48_IE_PROGR_IND 0x1e /* 10.5.4.21 */
#define | GSM48_IE_AUX_STATUS 0x24 /* 10.5.4.4 */
#define | GSM48_IE_NOTIFY 0x27 /* 10.5.4.20 */
#define | GSM48_IE_KPD_FACILITY 0x2c /* 10.5.4.17 */
#define | GSM48_IE_SIGNAL 0x34 /* 10.5.4.23 */
#define | GSM48_IE_CONN_BCD 0x4c /* 10.5.4.13 */
#define | GSM48_IE_CONN_SUB 0x4d /* 10.5.4.14 */
#define | GSM48_IE_CALLING_BCD 0x5c /* 10.5.4.9 */
#define | GSM48_IE_CALLING_SUB 0x5d /* 10.5.4.10 */
#define | GSM48_IE_CALLED_BCD 0x5e /* 10.5.4.7 */
#define | GSM48_IE_CALLED_SUB 0x6d /* 10.5.4.8 */
#define | GSM48_IE_REDIR_BCD 0x74 /* 10.5.4.21a */
#define | GSM48_IE_REDIR_SUB 0x75 /* 10.5.4.21b */
#define | GSM48_IE_LOWL_COMPAT 0x7c /* 10.5.4.18 */
#define | GSM48_IE_HIGHL_COMPAT 0x7d /* 10.5.4.16 */
#define | GSM48_IE_USER_USER 0x7e /* 10.5.4.25 */
#define | GSM48_IE_SS_VERS 0x7f /* 10.5.4.24 */
#define | GSM48_IE_MORE_DATA 0xa0 /* 10.5.4.19 */
#define | GSM48_IE_CLIR_SUPP 0xa1 /* 10.5.4.11a */
#define | GSM48_IE_CLIR_INVOC 0xa2 /* 10.5.4.11b */
#define | GSM48_IE_REV_C_SETUP 0xa3 /* 10.5.4.22a */
#define | GSM48_IE_REPEAT_CIR 0xd1 /* 10.5.4.22 */
#define | GSM48_IE_REPEAT_SEQ 0xd3 /* 10.5.4.22 */
#define | GSM48_CAUSE_CS_GSM 0x60
#define | GSM48_IE_VGCS_TARGET 0x01
#define | GSM48_IE_FRQSHORT_AFTER 0x02
#define | GSM48_IE_MUL_RATE_CFG 0x03 /* 10.5.2.21aa */
#define | GSM48_IE_FREQ_L_AFTER 0x05
#define | GSM48_IE_GROUP_CIP_SEQ_HO 0x08 /* HO = Half Octet Tag */
#define | GSM48_IE_CIP_MODE_SET_HO 0x09 /* HO = Half Octet Tag */
#define | GSM48_IE_GPRS_RESUMPT_HO 0xc0 /* HO = Half Octet Tag */
#define | GSM48_IE_SYNC_IND_HO 0x0d /* HO = Half Octet Tag */
#define | GSM48_IE_MSLOT_DESC 0x10
#define | GSM48_IE_CHANMODE_2 0x11
#define | GSM48_IE_FRQSHORT_BEFORE 0x12
#define | GSM48_IE_CHANMODE_3 0x13
#define | GSM48_IE_CHANMODE_4 0x14
#define | GSM48_IE_CHANMODE_5 0x15
#define | GSM48_IE_CHANMODE_6 0x16
#define | GSM48_IE_CHANMODE_7 0x17
#define | GSM48_IE_CHANMODE_8 0x18
#define | GSM48_IE_CHANDESC_2 0x64
#define | GSM48_IE_MA_AFTER 0x72
#define | GSM48_IE_START_TIME 0x7c
#define | GSM48_IE_FREQ_L_BEFORE 0x19
#define | GSM48_IE_CH_DESC_1_BEFORE 0x1c
#define | GSM48_IE_CH_DESC_2_BEFORE 0x1d
#define | GSM48_IE_F_CH_SEQ_BEFORE 0x1e
#define | GSM48_IE_CLASSMARK3 0x20
#define | GSM48_IE_MA_BEFORE 0x21
#define | GSM48_IE_RR_PACKET_UL 0x22
#define | GSM48_IE_RR_PACKET_DL 0x23
#define | GSM48_IE_CELL_CH_DESC 0x62
#define | GSM48_IE_CHANMODE_1 0x63
#define | GSM48_IE_CHDES_2_AFTER 0x64
#define | GSM48_IE_MODE_SEC_CH 0x66
#define | GSM48_IE_F_CH_SEQ_AFTER 0x69
#define | GSM48_IE_EXTENDED_TSC_SET 0x6d
#define | GSM48_IE_MA_AFTER 0x72
#define | GSM48_IE_BA_RANGE 0x73
#define | GSM48_IE_GROUP_CHDES 0x74
#define | GSM48_IE_BA_LIST_PREF 0x75
#define | GSM48_IE_MOB_OVSERV_DIF 0x77
#define | GSM48_IE_CELL_SEL_IND_AFTER_REL 0x77 /* 44.018 Section 9.1.7 */
#define | GSM48_IE_REALTIME_DIFF 0x7b
#define | GSM48_IE_START_TIME 0x7c
#define | GSM48_IE_INDIVIDUAL_PRIORITIES 0x7c /* 44.018 Section 9.1.7 */
#define | GSM48_IE_TIMING_ADVANCE 0x7d
#define | GSM48_IE_GROUP_CIP_SEQ 0x80 /* DEPRECATED, use GSM48_IE_GROUP_CIP_SEQ_HO instead */
#define | GSM48_IE_CIP_MODE_SET 0x90 /* DEPRECATED, use GSM48_IE_CIP_MODE_SET_HO instead */
#define | GSM48_IE_GPRS_RESUMPT 0xc0 /* DEPRECATED, use GSM48_IE_GPRS_RESUMPT_HO instead */
#define | GSM48_IE_SYNC_IND 0xd0 /* DEPRECATED, use GSM48_IE_SYNC_IND_HO instead */
#define | GSM48_IE_CBCH_CHAN_DESC 0x64
#define | GSM48_IE_CBCH_MOB_AL 0x72
#define | GSM48_IE_PRIORITY_LEV_HO 0x08 /* HO = Half Octet Tag */
#define | GSM48_IE_LOCATION_AREA 0x13
#define | GSM48_IE_AUTN 0x20
#define | GSM48_IE_AUTH_RES_EXT 0x21
#define | GSM48_IE_AUTS 0x22
#define | GSM48_IE_PRIORITY_LEV 0x80 /* DEPRECATED, use GSM48_IE_PRIORITY_LEV_HO instead */
#define | GSM48_IE_FOLLOW_ON_PROC 0xa1
#define | GSM48_IE_CTS_PERMISSION 0xa2
#define | GSM48_T301 180, 0
#define | GSM48_T303 30, 0
#define | GSM48_T305 30, 0
#define | GSM48_T306 30, 0
#define | GSM48_T308 10, 0 /* no spec default */
#define | GSM48_T310 30, 0 /* no spec default */
#define | GSM48_T313 30, 0 /* no spec default */
#define | GSM48_T323 30, 0
#define | GSM48_T331 30, 0 /* no spec default */
#define | GSM48_T333 30, 0 /* no spec default */
#define | GSM48_T334 25, 0 /* min 15s */
#define | GSM48_T338 30, 0 /* no spec default */
#define | GSM48_T303_MS 30, 0
#define | GSM48_T305_MS 30, 0
#define | GSM48_T308_MS 30, 0
#define | GSM48_T310_MS 30, 0
#define | GSM48_T313_MS 30, 0
#define | GSM48_T323_MS 30, 0
#define | GSM48_T332_MS 30, 0
#define | GSM48_T335_MS 30, 0
#define | GSM_CSTATE_NULL 0
#define | GSM_CSTATE_INITIATED 1
#define | GSM_CSTATE_MM_CONNECTION_PEND 2 /* see 10.5.4.6 */
#define | GSM_CSTATE_MO_CALL_PROC 3
#define | GSM_CSTATE_CALL_DELIVERED 4
#define | GSM_CSTATE_CALL_PRESENT 6
#define | GSM_CSTATE_CALL_RECEIVED 7
#define | GSM_CSTATE_CONNECT_REQUEST 8
#define | GSM_CSTATE_MO_TERM_CALL_CONF 9
#define | GSM_CSTATE_ACTIVE 10
#define | GSM_CSTATE_DISCONNECT_REQ 12
#define | GSM_CSTATE_DISCONNECT_IND 12
#define | GSM_CSTATE_RELEASE_REQ 19
#define | GSM_CSTATE_MO_ORIG_MODIFY 26
#define | GSM_CSTATE_MO_TERM_MODIFY 27
#define | GSM_CSTATE_CONNECT_IND 28
#define | SBIT(a) (1 << a)
#define | ALL_STATES 0xffffffff
#define | GSM_LAC_RESERVED_DETACHED 0x0
#define | GSM_LAC_RESERVED_ALL_BTS 0xfffe
#define | GSM48_BCAP_RRQ_SPARE_NETWORK_TO_MS GSM48_BCAP_RRQ_FR_ONLY
#define | GSM48_TMSI_LEN 5
#define | GSM48_MID_TMSI_LEN (GSM48_TMSI_LEN + 2)
#define | GSM48_MI_SIZE 32
#define | GSM48_CELL_CHAN_DESC_SIZE 16
#define | GSM_MACBLOCK_LEN 23
#define | GSM_MACBLOCK_PADDING 0x2b

## Enumerations
enum | gsm48_chan_mode { GSM48_CMODE_SIGN = 0x00 , GSM48_CMODE_SPEECH_V1 = 0x01 , GSM48_CMODE_SPEECH_EFR = 0x21 , GSM48_CMODE_SPEECH_AMR = 0x41 , GSM48_CMODE_SPEECH_V4 = 0x81 , GSM48_CMODE_SPEECH_V5 = 0x82 , GSM48_CMODE_SPEECH_V6 = 0x83 , GSM48_CMODE_DATA_43k5_14k5 = 0x61 , GSM48_CMODE_DATA_29k0_14k5 = 0x62 , GSM48_CMODE_DATA_43k5_29k0 = 0x64 , GSM48_CMODE_DATA_14k5_43k5 = 0x67 , GSM48_CMODE_DATA_14k5_29k0 = 0x65 , GSM48_CMODE_DATA_29k0_43k5 = 0x66 , GSM48_CMODE_DATA_43k5 = 0x27 , GSM48_CMODE_DATA_32k0 = 0x63 , GSM48_CMODE_DATA_29k0 = 0x43 , GSM48_CMODE_DATA_14k5 = 0x0f , GSM48_CMODE_DATA_12k0 = 0x03 , GSM48_CMODE_DATA_6k0 = 0x0b , GSM48_CMODE_DATA_3k6 = 0x13 , GSM48_CMODE_SPEECH_V1_VAMOS = 0xc1 , GSM48_CMODE_SPEECH_V2_VAMOS = 0xc2 , GSM48_CMODE_SPEECH_V3_VAMOS = 0xc3 , GSM48_CMODE_SPEECH_V5_VAMOS = 0xc5 }
| 10.5.2.6 Channel Mode value More...
enum | gsm48_dtx_mode { GSM48_DTX_MAY_BE_USED , GSM48_DTX_SHALL_BE_USED , GSM48_DTX_SHALL_NOT_BE_USED }
enum | osmo_cm_service_type { GSM48_CMSERV_MO_CALL_PACKET = 1 , GSM48_CMSERV_EMERGENCY = 2 , GSM48_CMSERV_SMS = 4 , GSM48_CMSERV_SUP_SERV = 8 , GSM48_CMSERV_VGCS = 9 , GSM48_CMSERV_VBS = 10 , GSM48_CMSERV_LOC_SERV = 11 , GSM48_CMSERV_MAX_VAL = GSM48_CMSERV_LOC_SERV }
enum | gsm48_progress_desc { GSM48_PROGR_NOT_E2E = 0x00 , GSM48_PROGR_DEST_NOT_PLMN = 0x02 , GSM48_PROGR_ORIG_NOT_PLMN = 0x03 , GSM48_PROGR_RETURNED = 0x04 , GSM48_PROGR_IN_BAND_AVAIL = 0x08 , GSM48_PROGR_CALL_E2E = 0x20 , GSM48_PROGR_QUEUEING = 0x40 }
enum | gsm48_signal_val { GSM48_SIGNAL_DIALTONE = 0x00 , GSM48_SIGNAL_RINGBACK = 0x01 , GSM48_SIGNAL_INTERCEPT = 0x02 , GSM48_SIGNAL_NET_CONG = 0x03 , GSM48_SIGNAL_BUSY = 0x04 , GSM48_SIGNAL_CONFIRM = 0x05 , GSM48_SIGNAL_ANSWER = 0x06 , GSM48_SIGNAL_CALL_WAIT = 0x07 , GSM48_SIGNAL_OFF_HOOK = 0x08 , GSM48_SIGNAL_OFF = 0x3f , GSM48_SIGNAL_ALERT_OFF = 0x4f }
enum | gsm48_cause_coding { GSM48_CAUSE_CODING_CCITT_Q931 = 0x00 , GSM48_CAUSE_CODING_RESERVED = 0x01 , GSM48_CAUSE_CODING_NATIONAL = 0x02 , GSM48_CAUSE_CODING_GSM = 0x03 }
enum | gsm48_cause_loc { GSM48_CAUSE_LOC_USER = 0x00 , GSM48_CAUSE_LOC_PRN_S_LU = 0x01 , GSM48_CAUSE_LOC_PUN_S_LU = 0x02 , GSM48_CAUSE_LOC_TRANS_NET = 0x03 , GSM48_CAUSE_LOC_PUN_S_RU = 0x04 , GSM48_CAUSE_LOC_PRN_S_RU = 0x05 , GSM48_CAUSE_LOC_INN_NET = 0x07 , GSM48_CAUSE_LOC_NET_BEYOND = 0x0a }
enum | gsm48_rr_cause { GSM48_RR_CAUSE_NORMAL = 0x00 , GSM48_RR_CAUSE_ABNORMAL_UNSPEC = 0x01 , GSM48_RR_CAUSE_ABNORMAL_UNACCT = 0x02 , GSM48_RR_CAUSE_ABNORMAL_TIMER = 0x03 , GSM48_RR_CAUSE_ABNORMAL_NOACT = 0x04 , GSM48_RR_CAUSE_PREMPTIVE_REL = 0x05 , GSM48_RR_CAUSE_UTRAN_CFG_UNK = 0x06 , GSM48_RR_CAUSE_HNDOVER_IMP = 0x08 , GSM48_RR_CAUSE_CHAN_MODE_UNACCT = 0x09 , GSM48_RR_CAUSE_FREQ_NOT_IMPL = 0x0a , GSM48_RR_CAUSE_LEAVE_GROUP_CA = 0x0b , GSM48_RR_CAUSE_LOW_LEVEL_FAIL = 0x0c , GSM48_RR_CAUSE_CALL_CLEARED = 0x41 , GSM48_RR_CAUSE_SEMANT_INCORR = 0x5f , GSM48_RR_CAUSE_INVALID_MAND_INF = 0x60 , GSM48_RR_CAUSE_MSG_TYPE_N = 0x61 , GSM48_RR_CAUSE_MSG_TYPE_N_COMPAT = 0x62 , GSM48_RR_CAUSE_COND_IE_ERROR = 0x64 , GSM48_RR_CAUSE_NO_CELL_ALLOC_A = 0x65 , GSM48_RR_CAUSE_PROT_ERROR_UNSPC = 0x6f }
enum | gsm48_cc_cause { GSM48_CC_CAUSE_UNASSIGNED_NR = 1 , GSM48_CC_CAUSE_NO_ROUTE = 3 , GSM48_CC_CAUSE_CHAN_UNACCEPT = 6 , GSM48_CC_CAUSE_OP_DET_BARRING = 8 , GSM48_CC_CAUSE_NORM_CALL_CLEAR = 16 , GSM48_CC_CAUSE_USER_BUSY = 17 , GSM48_CC_CAUSE_USER_NOTRESPOND = 18 , GSM48_CC_CAUSE_USER_ALERTING_NA = 19 , GSM48_CC_CAUSE_CALL_REJECTED = 21 , GSM48_CC_CAUSE_NUMBER_CHANGED = 22 , GSM48_CC_CAUSE_PRE_EMPTION = 25 , GSM48_CC_CAUSE_NONSE_USER_CLR = 26 , GSM48_CC_CAUSE_DEST_OOO = 27 , GSM48_CC_CAUSE_INV_NR_FORMAT = 28 , GSM48_CC_CAUSE_FACILITY_REJ = 29 , GSM48_CC_CAUSE_RESP_STATUS_INQ = 30 , GSM48_CC_CAUSE_NORMAL_UNSPEC = 31 , GSM48_CC_CAUSE_NO_CIRCUIT_CHAN = 34 , GSM48_CC_CAUSE_NETWORK_OOO = 38 , GSM48_CC_CAUSE_TEMP_FAILURE = 41 , GSM48_CC_CAUSE_SWITCH_CONG = 42 , GSM48_CC_CAUSE_ACC_INF_DISCARD = 43 , GSM48_CC_CAUSE_REQ_CHAN_UNAVAIL = 44 , GSM48_CC_CAUSE_RESOURCE_UNAVAIL = 47 , GSM48_CC_CAUSE_QOS_UNAVAIL = 49 , GSM48_CC_CAUSE_REQ_FAC_NOT_SUBSC = 50 , GSM48_CC_CAUSE_INC_BARRED_CUG = 55 , GSM48_CC_CAUSE_BEARER_CAP_UNAUTH = 57 , GSM48_CC_CAUSE_BEARER_CA_UNAVAIL = 58 , GSM48_CC_CAUSE_SERV_OPT_UNAVAIL = 63 , GSM48_CC_CAUSE_BEARERSERV_UNIMPL = 65 , GSM48_CC_CAUSE_ACM_GE_ACM_MAX = 68 , GSM48_CC_CAUSE_REQ_FAC_NOTIMPL = 69 , GSM48_CC_CAUSE_RESTR_BCAP_AVAIL = 70 , GSM48_CC_CAUSE_SERV_OPT_UNIMPL = 79 , GSM48_CC_CAUSE_INVAL_TRANS_ID = 81 , GSM48_CC_CAUSE_USER_NOT_IN_CUG = 87 , GSM48_CC_CAUSE_INCOMPAT_DEST = 88 , GSM48_CC_CAUSE_INVAL_TRANS_NET = 91 , GSM48_CC_CAUSE_SEMANTIC_INCORR = 95 , GSM48_CC_CAUSE_INVAL_MAND_INF = 96 , GSM48_CC_CAUSE_MSGTYPE_NOTEXIST = 97 , GSM48_CC_CAUSE_MSGTYPE_INCOMPAT = 98 , GSM48_CC_CAUSE_IE_NOTEXIST = 99 , GSM48_CC_CAUSE_COND_IE_ERR = 100 , GSM48_CC_CAUSE_MSG_INCOMP_STATE = 101 , GSM48_CC_CAUSE_RECOVERY_TIMER = 102 , GSM48_CC_CAUSE_PROTO_ERR = 111 , GSM48_CC_CAUSE_INTERWORKING = 127 }
enum | gsm48_reject_value { GSM48_REJECT_IMSI_UNKNOWN_IN_HLR = 2 , GSM48_REJECT_ILLEGAL_MS = 3 , GSM48_REJECT_IMSI_UNKNOWN_IN_VLR = 4 , GSM48_REJECT_IMEI_NOT_ACCEPTED = 5 , GSM48_REJECT_ILLEGAL_ME = 6 , GSM48_REJECT_PLMN_NOT_ALLOWED = 11 , GSM48_REJECT_LOC_NOT_ALLOWED = 12 , GSM48_REJECT_ROAMING_NOT_ALLOWED = 13 , GSM48_REJECT_NO_SUIT_CELL_IN_LA = 15 , GSM48_REJECT_NETWORK_FAILURE = 17 , GSM48_REJECT_MAC_FAILURE = 20 , GSM48_REJECT_SYNCH_FAILURE = 21 , GSM48_REJECT_CONGESTION = 22 , GSM48_REJECT_GSM_AUTH_UNACCEPTABLE = 23 , GSM48_REJECT_NOT_AUTH_FOR_CSG = 25 , GSM48_REJECT_SRV_OPT_NOT_SUPPORTED = 32 , GSM48_REJECT_RQD_SRV_OPT_NOT_SUPPORTED = 33 , GSM48_REJECT_SRV_OPT_TMP_OUT_OF_ORDER = 34 , GSM48_REJECT_CALL_CAN_NOT_BE_IDENTIFIED = 38 , GSM48_REJECT_INCORRECT_MESSAGE = 95 , GSM48_REJECT_INVALID_MANDANTORY_INF = 96 , GSM48_REJECT_MSG_TYPE_NOT_IMPLEMENTED = 97 , GSM48_REJECT_MSG_TYPE_NOT_COMPATIBLE = 98 , GSM48_REJECT_INF_ELEME_NOT_IMPLEMENTED = 99 , GSM48_REJECT_CONDTIONAL_IE_ERROR = 100 , GSM48_REJECT_MSG_NOT_COMPATIBLE = 101 , GSM48_REJECT_PROTOCOL_ERROR = 111 , GSM48_REJECT_GPRS_NOT_ALLOWED = 7 , GSM48_REJECT_SERVICES_NOT_ALLOWED = 8 , GSM48_REJECT_MS_IDENTITY_NOT_DERVIVABLE = 9 , GSM48_REJECT_IMPLICITLY_DETACHED = 10 , GSM48_REJECT_GPRS_NOT_ALLOWED_IN_PLMN = 14 , GSM48_REJECT_MSC_TMP_NOT_REACHABLE = 16 , GSM48_REJECT_SMS_PROV_VIA_GPRS_IN_RA = 28 , GSM48_REJECT_NO_PDP_CONTEXT_ACTIVATED = 40 }
enum | chreq_type { CHREQ_T_EMERG_CALL , CHREQ_T_CALL_REEST_TCH_F , CHREQ_T_CALL_REEST_TCH_H , CHREQ_T_CALL_REEST_TCH_H_DBL , CHREQ_T_SDCCH , CHREQ_T_TCH_F , CHREQ_T_VOICE_CALL_TCH_H , CHREQ_T_DATA_CALL_TCH_H , CHREQ_T_LOCATION_UPD , CHREQ_T_PAG_R_ANY_NECI0 , CHREQ_T_PAG_R_ANY_NECI1 , CHREQ_T_PAG_R_TCH_F , CHREQ_T_PAG_R_TCH_FH , CHREQ_T_LMU , CHREQ_T_RESERVED_SDCCH , CHREQ_T_RESERVED_IGNORE , CHREQ_T_PDCH_ONE_PHASE , CHREQ_T_PDCH_TWO_PHASE , _NUM_CHREQ_T }
enum | gsm48_bcap_itcap { GSM48_BCAP_ITCAP_SPEECH = 0 , GSM48_BCAP_ITCAP_UNR_DIG_INF = 1 , GSM48_BCAP_ITCAP_3k1_AUDIO = 2 , GSM48_BCAP_ITCAP_FAX_G3 = 3 , GSM48_BCAP_ITCAP_OTHER = 5 , GSM48_BCAP_ITCAP_RESERVED = 7 }
enum | gsm48_bcap_tmod { GSM48_BCAP_TMOD_CIRCUIT = 0 , GSM48_BCAP_TMOD_PACKET = 1 }
enum | gsm48_bcap_coding { GSM48_BCAP_CODING_GSM_STD = 0 }
enum | gsm48_bcap_rrq { GSM48_BCAP_RRQ_FR_ONLY = 1 , GSM48_BCAP_RRQ_DUAL_HR = 2 , GSM48_BCAP_RRQ_DUAL_FR = 3 }
enum | gsm48_bcap_ra { GSM48_BCAP_RA_NONE = 0 , GSM48_BCAP_RA_V110_X30 = 1 , GSM48_BCAP_RA_X31 = 2 , GSM48_BCAP_RA_OTHER = 3 }
enum | gsm48_bcap_sig_access { GSM48_BCAP_SA_I440_I450 = 1 , GSM48_BCAP_SA_X21 = 2 , GSM48_BCAP_SA_X28_DP_IN = 3 , GSM48_BCAP_SA_X28_DP_UN = 4 , GSM48_BCAP_SA_X28_NDP = 5 , GSM48_BCAP_SA_X32 = 6 }
enum | gsm48_bcap_user_rate { GSM48_BCAP_UR_300 = 1 , GSM48_BCAP_UR_1200 = 2 , GSM48_BCAP_UR_2400 = 3 , GSM48_BCAP_UR_4800 = 4 , GSM48_BCAP_UR_9600 = 5 , GSM48_BCAP_UR_12000 = 6 , GSM48_BCAP_UR_1200_75 = 7 }
enum | gsm48_bcap_parity { GSM48_BCAP_PAR_ODD = 0 , GSM48_BCAP_PAR_EVEN = 2 , GSM48_BCAP_PAR_NONE = 3 , GSM48_BCAP_PAR_ZERO = 4 , GSM48_BCAP_PAR_ONE = 5 }
enum | gsm48_bcap_interm_rate { GSM48_BCAP_IR_8k = 2 , GSM48_BCAP_IR_16k = 3 }
enum | gsm48_bcap_transp { GSM48_BCAP_TR_TRANSP = 0 , GSM48_BCAP_TR_RLP = 1 , GSM48_BCAP_TR_TR_PREF = 2 , GSM48_BCAP_TR_RLP_PREF = 3 }
enum | gsm48_bcap_modem_type { GSM48_BCAP_MT_NONE = 0 , GSM48_BCAP_MT_V21 = 1 , GSM48_BCAP_MT_V22 = 2 , GSM48_BCAP_MT_V22bis = 3 , GSM48_BCAP_MT_V23 = 4 , GSM48_BCAP_MT_V26ter = 5 , GSM48_BCAP_MT_V32 = 6 , GSM48_BCAP_MT_UNDEF = 7 , GSM48_BCAP_MT_AUTO_1 = 8 }
enum | gsm48_bcap_other_modem_type { GSM48_BCAP_OTHER_MT_NONE = 0 , GSM48_BCAP_OTHER_MT_V34 = 2 }
| Table 10.5.112/3GPP TS 24.008: Other modem type (octet 6d) More...
enum | gsm48_bcap_fixed_net_user_rate { GSM48_BCAP_FNUR_NONE = 0 , GSM48_BCAP_FNUR_X1_V110_9600 = 1 , GSM48_BCAP_FNUR_X1_V110_14400 = 2 , GSM48_BCAP_FNUR_X1_V110_19200 = 3 , GSM48_BCAP_FNUR_X1_V110_28800 = 4 , GSM48_BCAP_FNUR_X1_V110_38400 = 5 , GSM48_BCAP_FNUR_X1_V110_48000 = 6 , GSM48_BCAP_FNUR_X1_V110_56000 = 7 , GSM48_BCAP_FNUR_BT_64000 = 8 , GSM48_BCAP_FNUR_BT_33600 = 9 , GSM48_BCAP_FNUR_I460_32000 = 10 , GSM48_BCAP_FNUR_V34_31200 = 11 }
| Table 10.5.112/3GPP TS 24.008: Fixed network user rate (octet 6d) More...
enum | gsm48_bcap_speech_ver { GSM48_BCAP_SV_FR = 0 , GSM48_BCAP_SV_HR = 1 , GSM48_BCAP_SV_EFR = 2 , GSM48_BCAP_SV_AMR_F = 4 , GSM48_BCAP_SV_AMR_H = 5 , GSM48_BCAP_SV_AMR_OFW = 6 , GSM48_BCAP_SV_AMR_OHW = 7 , GSM48_BCAP_SV_AMR_FW = 8 , GSM48_BCAP_SV_AMR_OH = 11 }
| GSM 04.08 Bearer Capability: Speech Version Indication (See also 3GPP TS 24.008, Table 10.5.103 and 3GPP TS 26.103, Table 4.1 "Support of Codec Types in Radio Access Technologies") More...
enum | gsm48_type_of_number { GSM48_TON_UNKNOWN = 0 , GSM48_TON_INTERNATIONAL = 1 , GSM48_TON_NATIONAL = 2 , GSM48_TON_NET_SPEC = 3 , GSM48_TON_SHORT_CODE = 4 }
enum | gsm48_numbering_plan { GSM48_NPI_UNKNOWN = 0 , GSM48_NPI_ISDN_E164 = 1 , GSM48_NPI_DATA_X121 = 3 , GSM48_NPI_TELEX_F69 = 4 , GSM48_NPI_NATIONAL = 8 , GSM48_NPI_PRIVATE = 9 , GSM48_NPI_CTS = 11 }

## Functions
struct gsm48_classmark1 | __attribute__ ((packed))
bool | osmo_gsm48_classmark_is_r99 (const struct osmo_gsm48_classmark *cm)
| Return true if any of Classmark 1 or Classmark 2 are present and indicate R99 capability. More...
bool | osmo_gsm48_classmark1_is_r99 (const struct gsm48_classmark1 *cm1)
bool | osmo_gsm48_classmark2_is_r99 (const struct gsm48_classmark2 *cm2, uint8_t cm2_len)
int | osmo_gsm48_classmark_supports_a5 (const struct osmo_gsm48_classmark *cm, uint8_t a5)
| Determine if the given Classmark (1/2/3) value permits a given A5/n cipher. More...
const char * | osmo_gsm48_classmark_a5_name (const struct osmo_gsm48_classmark *cm)
| Return a string representation of A5 cipher algorithms indicated by Classmark 1, 2 and 3. More...
char * | osmo_gsm48_classmark_a5_name_buf (char *buf, size_t buf_len, const struct osmo_gsm48_classmark *cm)
| Return a string representation of A5 cipher algorithms indicated by Classmark 1, 2 and 3. More...
char * | osmo_gsm48_classmark_a5_name_c (const void *ctx, const struct osmo_gsm48_classmark *cm)
| Return a string representation of A5 cipher algorithms indicated by Classmark 1, 2 and 3. More...
void | osmo_gsm48_classmark_update (struct osmo_gsm48_classmark *dst, const struct osmo_gsm48_classmark *src)
| Overwrite dst with the Classmark information present in src. More...
int8_t | osmo_gsm48_rfpowercap2powerclass (enum gsm_band band, uint8_t rf_power_cap)
| Decode power class from Classmark1/2 RF power capability field. More...
static bool | gsm48_meas_res_is_valid (const struct gsm48_meas_res *mr)
| Check if the given mr contains valid measurement results. More...
static void | gsm48_barr_acc (struct gsm48_rach_control *rach_control, unsigned int acc)
static void | gsm48_allow_acc (struct gsm48_rach_control *rach_control, unsigned int acc)
static bool | gsm48_acc_is_barred (struct gsm48_rach_control *rach_control, unsigned int acc)
static const char * | gsm48_chan_mode_name (enum gsm48_chan_mode val)
static const char * | gsm48_pdisc_name (uint8_t val)
bool | gsm48_hdr_gmm_cipherable (const struct gsm48_hdr *hdr)
| Checks is particular message is cipherable in A/Gb mode according to 3GPP TS 24.008 § 4.7.1.2. More...
static uint8_t | gsm48_hdr_pdisc (const struct gsm48_hdr *hdr)
static uint8_t | gsm48_hdr_trans_id (const struct gsm48_hdr *hdr)
static bool | gsm48_ta_is_valid (uint8_t ta)
| Check if TA is valid according to 3GPP TS 44.018 § 10.5.2.40. More...
static uint8_t | gsm48_hdr_trans_id_flip_ti (const struct gsm48_hdr *hdr)
static uint8_t | gsm48_hdr_trans_id_no_ti (const struct gsm48_hdr *hdr)
static uint8_t | gsm48_hdr_msg_type_r98 (const struct gsm48_hdr *hdr)
static uint8_t | gsm48_hdr_msg_type_r99 (const struct gsm48_hdr *hdr)
void | gsm48_set_dtx (struct gsm48_cell_options *op, enum gsm48_dtx_mode full, enum gsm48_dtx_mode half, bool is_bcch)
| Set DTX mode in Cell Options IE (3GPP TS 44.018) More...
const char * | gsm48_pdisc_msgtype_name (uint8_t pdisc, uint8_t msg_type)
| Compose a string naming the message type for given protocol, in a static buffer. More...
char * | gsm48_pdisc_msgtype_name_buf (char *buf, size_t buf_len, uint8_t pdisc, uint8_t msg_type)
| Compose a string naming the message type for given protocol, in a caller-provided buffer. More...
char * | gsm48_pdisc_msgtype_name_c (const void *ctx, uint8_t pdisc, uint8_t msg_type)
| Compose a string naming the message type for given protocol, in a dynamically-allocated buffer. More...
static const char * | osmo_cm_service_type_name (enum osmo_cm_service_type val)
static const char * | osmo_lu_type_name (uint8_t lu_type)
static const char * | gsm48_cc_cause_name (enum gsm48_cc_cause val)
static const char * | gsm48_reject_value_name (enum gsm48_reject_value val)

## Variables
struct gsm48_classmark3 | __attribute__
uint8_t | chan_nr
struct gsm48_chan_desc | chan_desc
uint8_t | mode
const struct value_string | gsm48_chan_mode_names []
uint8_t | power_command
uint8_t | data [0]
uint8_t | mob_alloc_len
uint8_t | mob_alloc [0]
uint32_t | tlli
uint8_t | ra_id [6]
uint8_t | cause
uint8_t | options [0]
struct gsm48_cell_desc | cell_desc
uint8_t | ho_ref
uint8_t | l2_plen
uint8_t | proto_discr
uint8_t | msg_type
uint8_t | page_mode
struct gsm48_req_ref | req_ref
uint8_t | timing_advance
uint8_t | digits [3]
uint16_t | lac
uint8_t | sres [4]
struct gsm48_system_information_type_header | header
uint8_t | cell_channel_description [16]
struct gsm48_rach_control | rach_control
uint8_t | rest_octets [0]
uint8_t | bcch_frequency_list [16]
uint8_t | ncc_permitted
uint8_t | ext_bcch_frequency_list [16]
uint16_t | cell_identity
struct gsm48_loc_area_id | lai
struct gsm48_control_channel_descr | control_channel_desc
struct gsm48_cell_options | cell_options
struct gsm48_cell_sel_par | cell_sel_par
struct gsm48_hdr | hdr
uint8_t | ta
struct gsm48_classmark1 | classmark1
uint8_t | mi_len
uint8_t | mi [0]
uint8_t | rr_cause
uint8_t | cm2_len
struct gsm48_classmark2 | cm2
struct gsm48_chan_desc | chan_desc1
struct gsm48_req_ref | req_ref1
uint8_t | timing_advance1
struct gsm48_chan_desc | chan_desc2
struct gsm48_req_ref | req_ref2
uint8_t | timing_advance2
uint8_t | wait_ind1
uint8_t | wait_ind2
struct gsm48_req_ref | req_ref3
uint8_t | wait_ind3
struct gsm48_req_ref | req_ref4
uint8_t | wait_ind4
uint8_t | rest [0]
const struct value_string | gsm48_pdisc_names []
| TS 04.08 Protocol Descriptor names. More...
const struct value_string | gsm48_rr_msgtype_names []
| TS 04.08 RR Message Type names. More...
const struct value_string | gsm48_mm_msgtype_names []
| TS 04.08 MM Message Type names. More...
const struct value_string | gsm48_cc_msgtype_names []
| TS 04.08 CC Message Type names. More...
const struct value_string | osmo_cm_service_type_names []
const struct value_string | osmo_lu_type_names []
const struct value_string | gsm48_cc_cause_names []
| TS 04.08 10.5..4.11 Call Control Cause Values. More...
const struct value_string | gsm48_reject_value_names []
uint8_t | rac

## Detailed Description

GSM TS 04.08 definitions.

## Macro Definition Documentation

## ◆ ALL_STATES

#define ALL_STATES 0xffffffff

## ◆ GSM48_BCAP_RRQ_SPARE_NETWORK_TO_MS

#define GSM48_BCAP_RRQ_SPARE_NETWORK_TO_MS GSM48_BCAP_RRQ_FR_ONLY

## ◆ GSM48_CAUSE_CS_GSM

#define GSM48_CAUSE_CS_GSM 0x60

## ◆ GSM48_CELL_CHAN_DESC_SIZE

#define GSM48_CELL_CHAN_DESC_SIZE 16

## ◆ gsm48_hdr_msg_type

#define gsm48_hdr_msg_type gsm48_hdr_msg_type_r99

## ◆ GSM48_IE_ALERT

#define GSM48_IE_ALERT 0x19 /* 10.5.4.26 */

## ◆ GSM48_IE_AUTH_RES_EXT

#define GSM48_IE_AUTH_RES_EXT 0x21

## ◆ GSM48_IE_AUTN

#define GSM48_IE_AUTN 0x20

## ◆ GSM48_IE_AUTS

#define GSM48_IE_AUTS 0x22

## ◆ GSM48_IE_AUX_STATUS

#define GSM48_IE_AUX_STATUS 0x24 /* 10.5.4.4 */

## ◆ GSM48_IE_BA_LIST_PREF

#define GSM48_IE_BA_LIST_PREF 0x75

## ◆ GSM48_IE_BA_RANGE

#define GSM48_IE_BA_RANGE 0x73

## ◆ GSM48_IE_BEARER_CAP

#define GSM48_IE_BEARER_CAP 0x04 /* 10.5.4.5 */

## ◆ GSM48_IE_CALLED_BCD

#define GSM48_IE_CALLED_BCD 0x5e /* 10.5.4.7 */

## ◆ GSM48_IE_CALLED_SUB

#define GSM48_IE_CALLED_SUB 0x6d /* 10.5.4.8 */

## ◆ GSM48_IE_CALLING_BCD

#define GSM48_IE_CALLING_BCD 0x5c /* 10.5.4.9 */

## ◆ GSM48_IE_CALLING_SUB

#define GSM48_IE_CALLING_SUB 0x5d /* 10.5.4.10 */

## ◆ GSM48_IE_CAUSE

#define GSM48_IE_CAUSE 0x08 /* 10.5.4.11 */

## ◆ GSM48_IE_CBCH_CHAN_DESC

#define GSM48_IE_CBCH_CHAN_DESC 0x64

## ◆ GSM48_IE_CBCH_MOB_AL

#define GSM48_IE_CBCH_MOB_AL 0x72

## ◆ GSM48_IE_CC_CAP

#define GSM48_IE_CC_CAP 0x15 /* 10.5.4.5a */

## ◆ GSM48_IE_CELL_CH_DESC

#define GSM48_IE_CELL_CH_DESC 0x62

## ◆ GSM48_IE_CELL_SEL_IND_AFTER_REL

#define GSM48_IE_CELL_SEL_IND_AFTER_REL 0x77 /* 44.018 Section 9.1.7 */

## ◆ GSM48_IE_CH_DESC_1_BEFORE

#define GSM48_IE_CH_DESC_1_BEFORE 0x1c

## ◆ GSM48_IE_CH_DESC_2_BEFORE

#define GSM48_IE_CH_DESC_2_BEFORE 0x1d

## ◆ GSM48_IE_CHANDESC_2

#define GSM48_IE_CHANDESC_2 0x64

## ◆ GSM48_IE_CHANMODE_1

#define GSM48_IE_CHANMODE_1 0x63

## ◆ GSM48_IE_CHANMODE_2

#define GSM48_IE_CHANMODE_2 0x11

## ◆ GSM48_IE_CHANMODE_3

#define GSM48_IE_CHANMODE_3 0x13

## ◆ GSM48_IE_CHANMODE_4

#define GSM48_IE_CHANMODE_4 0x14

## ◆ GSM48_IE_CHANMODE_5

#define GSM48_IE_CHANMODE_5 0x15

## ◆ GSM48_IE_CHANMODE_6

#define GSM48_IE_CHANMODE_6 0x16

## ◆ GSM48_IE_CHANMODE_7

#define GSM48_IE_CHANMODE_7 0x17

## ◆ GSM48_IE_CHANMODE_8

#define GSM48_IE_CHANMODE_8 0x18

## ◆ GSM48_IE_CHDES_2_AFTER

#define GSM48_IE_CHDES_2_AFTER 0x64

## ◆ GSM48_IE_CIP_MODE_SET

#define GSM48_IE_CIP_MODE_SET 0x90 /* DEPRECATED, use GSM48_IE_CIP_MODE_SET_HO instead */

## ◆ GSM48_IE_CIP_MODE_SET_HO

#define GSM48_IE_CIP_MODE_SET_HO 0x09 /* HO = Half Octet Tag */

## ◆ GSM48_IE_CLASSMARK3

#define GSM48_IE_CLASSMARK3 0x20

## ◆ GSM48_IE_CLIR_INVOC

#define GSM48_IE_CLIR_INVOC 0xa2 /* 10.5.4.11b */

## ◆ GSM48_IE_CLIR_SUPP

#define GSM48_IE_CLIR_SUPP 0xa1 /* 10.5.4.11a */

## ◆ GSM48_IE_CONN_BCD

#define GSM48_IE_CONN_BCD 0x4c /* 10.5.4.13 */

## ◆ GSM48_IE_CONN_SUB

#define GSM48_IE_CONN_SUB 0x4d /* 10.5.4.14 */

## ◆ GSM48_IE_CTS_PERMISSION

#define GSM48_IE_CTS_PERMISSION 0xa2

## ◆ GSM48_IE_EXTENDED_TSC_SET

#define GSM48_IE_EXTENDED_TSC_SET 0x6d

## ◆ GSM48_IE_F_CH_SEQ_AFTER

#define GSM48_IE_F_CH_SEQ_AFTER 0x69

## ◆ GSM48_IE_F_CH_SEQ_BEFORE

#define GSM48_IE_F_CH_SEQ_BEFORE 0x1e

## ◆ GSM48_IE_FACILITY

#define GSM48_IE_FACILITY 0x1c /* 10.5.4.15 */

## ◆ GSM48_IE_FOLLOW_ON_PROC

#define GSM48_IE_FOLLOW_ON_PROC 0xa1

## ◆ GSM48_IE_FREQ_L_AFTER

#define GSM48_IE_FREQ_L_AFTER 0x05

## ◆ GSM48_IE_FREQ_L_BEFORE

#define GSM48_IE_FREQ_L_BEFORE 0x19

## ◆ GSM48_IE_FRQSHORT_AFTER

#define GSM48_IE_FRQSHORT_AFTER 0x02

## ◆ GSM48_IE_FRQSHORT_BEFORE

#define GSM48_IE_FRQSHORT_BEFORE 0x12

## ◆ GSM48_IE_GPRS_RESUMPT

#define GSM48_IE_GPRS_RESUMPT 0xc0 /* DEPRECATED, use GSM48_IE_GPRS_RESUMPT_HO instead */

## ◆ GSM48_IE_GPRS_RESUMPT_HO

#define GSM48_IE_GPRS_RESUMPT_HO 0xc0 /* HO = Half Octet Tag */

## ◆ GSM48_IE_GROUP_CHDES

#define GSM48_IE_GROUP_CHDES 0x74

## ◆ GSM48_IE_GROUP_CIP_SEQ

#define GSM48_IE_GROUP_CIP_SEQ 0x80 /* DEPRECATED, use GSM48_IE_GROUP_CIP_SEQ_HO instead */

## ◆ GSM48_IE_GROUP_CIP_SEQ_HO

#define GSM48_IE_GROUP_CIP_SEQ_HO 0x08 /* HO = Half Octet Tag */

## ◆ GSM48_IE_HIGHL_COMPAT

#define GSM48_IE_HIGHL_COMPAT 0x7d /* 10.5.4.16 */

## ◆ GSM48_IE_INDIVIDUAL_PRIORITIES

#define GSM48_IE_INDIVIDUAL_PRIORITIES 0x7c /* 44.018 Section 9.1.7 */

## ◆ GSM48_IE_KPD_FACILITY

#define GSM48_IE_KPD_FACILITY 0x2c /* 10.5.4.17 */

## ◆ GSM48_IE_LOCATION_AREA

#define GSM48_IE_LOCATION_AREA 0x13

## ◆ GSM48_IE_LOWL_COMPAT

#define GSM48_IE_LOWL_COMPAT 0x7c /* 10.5.4.18 */

## ◆ GSM48_IE_LSA_IDENT

#define GSM48_IE_LSA_IDENT 0x48 /* 10.5.3.11 */

## ◆ GSM48_IE_MA_AFTER [1/2]

#define GSM48_IE_MA_AFTER 0x72

## ◆ GSM48_IE_MA_AFTER [2/2]

#define GSM48_IE_MA_AFTER 0x72

## ◆ GSM48_IE_MA_BEFORE

#define GSM48_IE_MA_BEFORE 0x21

## ◆ GSM48_IE_MOB_OVSERV_DIF

#define GSM48_IE_MOB_OVSERV_DIF 0x77

## ◆ GSM48_IE_MOBILE_ID

#define GSM48_IE_MOBILE_ID 0x17 /* 10.5.1.4 */

## ◆ GSM48_IE_MODE_SEC_CH

#define GSM48_IE_MODE_SEC_CH 0x66

## ◆ GSM48_IE_MORE_DATA

#define GSM48_IE_MORE_DATA 0xa0 /* 10.5.4.19 */

## ◆ GSM48_IE_MSLOT_DESC

#define GSM48_IE_MSLOT_DESC 0x10

## ◆ GSM48_IE_MUL_RATE_CFG

#define GSM48_IE_MUL_RATE_CFG 0x03 /* 10.5.2.21aa */

## ◆ GSM48_IE_NAME_LONG

#define GSM48_IE_NAME_LONG 0x43 /* 10.5.3.5a */

## ◆ GSM48_IE_NAME_SHORT

#define GSM48_IE_NAME_SHORT 0x45 /* 10.5.3.5a */

## ◆ GSM48_IE_NET_DST

#define GSM48_IE_NET_DST 0x49 /* 10.5.3.12 [24.008] */

## ◆ GSM48_IE_NET_TIME_TZ

#define GSM48_IE_NET_TIME_TZ 0x47 /* 10.5.3.9 */

## ◆ GSM48_IE_NOTIFY

#define GSM48_IE_NOTIFY 0x27 /* 10.5.4.20 */

## ◆ GSM48_IE_PRIORITY_LEV

#define GSM48_IE_PRIORITY_LEV 0x80 /* DEPRECATED, use GSM48_IE_PRIORITY_LEV_HO instead */

## ◆ GSM48_IE_PRIORITY_LEV_HO

#define GSM48_IE_PRIORITY_LEV_HO 0x08 /* HO = Half Octet Tag */

## ◆ GSM48_IE_PROGR_IND

#define GSM48_IE_PROGR_IND 0x1e /* 10.5.4.21 */

## ◆ GSM48_IE_REALTIME_DIFF

#define GSM48_IE_REALTIME_DIFF 0x7b

## ◆ GSM48_IE_REDIR_BCD

#define GSM48_IE_REDIR_BCD 0x74 /* 10.5.4.21a */

## ◆ GSM48_IE_REDIR_SUB

#define GSM48_IE_REDIR_SUB 0x75 /* 10.5.4.21b */

## ◆ GSM48_IE_REPEAT_CIR

#define GSM48_IE_REPEAT_CIR 0xd1 /* 10.5.4.22 */

## ◆ GSM48_IE_REPEAT_SEQ

#define GSM48_IE_REPEAT_SEQ 0xd3 /* 10.5.4.22 */

## ◆ GSM48_IE_REV_C_SETUP

#define GSM48_IE_REV_C_SETUP 0xa3 /* 10.5.4.22a */

## ◆ GSM48_IE_RR_PACKET_DL

#define GSM48_IE_RR_PACKET_DL 0x23

## ◆ GSM48_IE_RR_PACKET_UL

#define GSM48_IE_RR_PACKET_UL 0x22

## ◆ GSM48_IE_SIGNAL

#define GSM48_IE_SIGNAL 0x34 /* 10.5.4.23 */

## ◆ GSM48_IE_SS_VERS

#define GSM48_IE_SS_VERS 0x7f /* 10.5.4.24 */

## ◆ GSM48_IE_START_TIME [1/2]

#define GSM48_IE_START_TIME 0x7c

## ◆ GSM48_IE_START_TIME [2/2]

#define GSM48_IE_START_TIME 0x7c

## ◆ GSM48_IE_SYNC_IND

#define GSM48_IE_SYNC_IND 0xd0 /* DEPRECATED, use GSM48_IE_SYNC_IND_HO instead */

## ◆ GSM48_IE_SYNC_IND_HO

#define GSM48_IE_SYNC_IND_HO 0x0d /* HO = Half Octet Tag */

## ◆ GSM48_IE_TIMING_ADVANCE

#define GSM48_IE_TIMING_ADVANCE 0x7d

## ◆ GSM48_IE_USER_USER

#define GSM48_IE_USER_USER 0x7e /* 10.5.4.25 */

## ◆ GSM48_IE_UTC

#define GSM48_IE_UTC 0x46 /* 10.5.3.8 */

## ◆ GSM48_IE_VGCS_TARGET

#define GSM48_IE_VGCS_TARGET 0x01

## ◆ GSM48_LUPD_IMSI_ATT

#define GSM48_LUPD_IMSI_ATT 0x2

## ◆ GSM48_LUPD_NORMAL

#define GSM48_LUPD_NORMAL 0x0

## ◆ GSM48_LUPD_PERIODIC

#define GSM48_LUPD_PERIODIC 0x1

## ◆ GSM48_LUPD_RESERVED

#define GSM48_LUPD_RESERVED 0x3

## ◆ GSM48_MI_SIZE

#define GSM48_MI_SIZE 32

## ◆ GSM48_MID_TMSI_LEN

#define GSM48_MID_TMSI_LEN (GSM48_TMSI_LEN + 2)

## ◆ GSM48_MT_CC_ALERTING

#define GSM48_MT_CC_ALERTING 0x01

## ◆ GSM48_MT_CC_CALL_CONF

#define GSM48_MT_CC_CALL_CONF 0x08

## ◆ GSM48_MT_CC_CALL_PROC

#define GSM48_MT_CC_CALL_PROC 0x02

## ◆ GSM48_MT_CC_CONG_CTRL

#define GSM48_MT_CC_CONG_CTRL 0x39

## ◆ GSM48_MT_CC_CONNECT

#define GSM48_MT_CC_CONNECT 0x07

## ◆ GSM48_MT_CC_CONNECT_ACK

#define GSM48_MT_CC_CONNECT_ACK 0x0f

## ◆ GSM48_MT_CC_DISCONNECT

#define GSM48_MT_CC_DISCONNECT 0x25

## ◆ GSM48_MT_CC_EMERG_SETUP

#define GSM48_MT_CC_EMERG_SETUP 0x0e

## ◆ GSM48_MT_CC_ESTAB

#define GSM48_MT_CC_ESTAB 0x04

## ◆ GSM48_MT_CC_ESTAB_CONF

#define GSM48_MT_CC_ESTAB_CONF 0x06

## ◆ GSM48_MT_CC_FACILITY

#define GSM48_MT_CC_FACILITY 0x3a

## ◆ GSM48_MT_CC_HOLD

#define GSM48_MT_CC_HOLD 0x18

## ◆ GSM48_MT_CC_HOLD_ACK

#define GSM48_MT_CC_HOLD_ACK 0x19

## ◆ GSM48_MT_CC_HOLD_REJ

#define GSM48_MT_CC_HOLD_REJ 0x1a

## ◆ GSM48_MT_CC_MODIFY

#define GSM48_MT_CC_MODIFY 0x17

## ◆ GSM48_MT_CC_MODIFY_COMPL

#define GSM48_MT_CC_MODIFY_COMPL 0x1f

## ◆ GSM48_MT_CC_MODIFY_REJECT

#define GSM48_MT_CC_MODIFY_REJECT 0x13

## ◆ GSM48_MT_CC_NOTIFY

#define GSM48_MT_CC_NOTIFY 0x3e

## ◆ GSM48_MT_CC_PROGRESS

#define GSM48_MT_CC_PROGRESS 0x03

## ◆ GSM48_MT_CC_RECALL

#define GSM48_MT_CC_RECALL 0x0b

## ◆ GSM48_MT_CC_RELEASE

#define GSM48_MT_CC_RELEASE 0x2d

## ◆ GSM48_MT_CC_RELEASE_COMPL

#define GSM48_MT_CC_RELEASE_COMPL 0x2a

## ◆ GSM48_MT_CC_RETR

#define GSM48_MT_CC_RETR 0x1c

## ◆ GSM48_MT_CC_RETR_ACK

#define GSM48_MT_CC_RETR_ACK 0x1d

## ◆ GSM48_MT_CC_RETR_REJ

#define GSM48_MT_CC_RETR_REJ 0x1e

## ◆ GSM48_MT_CC_SETUP

#define GSM48_MT_CC_SETUP 0x05

## ◆ GSM48_MT_CC_START_CC

#define GSM48_MT_CC_START_CC 0x09

## ◆ GSM48_MT_CC_START_DTMF

#define GSM48_MT_CC_START_DTMF 0x35

## ◆ GSM48_MT_CC_START_DTMF_ACK

#define GSM48_MT_CC_START_DTMF_ACK 0x36

## ◆ GSM48_MT_CC_START_DTMF_REJ

#define GSM48_MT_CC_START_DTMF_REJ 0x37

## ◆ GSM48_MT_CC_STATUS

#define GSM48_MT_CC_STATUS 0x3d

## ◆ GSM48_MT_CC_STATUS_ENQ

#define GSM48_MT_CC_STATUS_ENQ 0x34

## ◆ GSM48_MT_CC_STOP_DTMF

#define GSM48_MT_CC_STOP_DTMF 0x31

## ◆ GSM48_MT_CC_STOP_DTMF_ACK

#define GSM48_MT_CC_STOP_DTMF_ACK 0x32

## ◆ GSM48_MT_CC_USER_INFO

#define GSM48_MT_CC_USER_INFO 0x10

## ◆ GSM48_MT_MM_ABORT

#define GSM48_MT_MM_ABORT 0x29

## ◆ GSM48_MT_MM_AUTH_FAIL

#define GSM48_MT_MM_AUTH_FAIL 0x1c

## ◆ GSM48_MT_MM_AUTH_REJ

#define GSM48_MT_MM_AUTH_REJ 0x11

## ◆ GSM48_MT_MM_AUTH_REQ

#define GSM48_MT_MM_AUTH_REQ 0x12

## ◆ GSM48_MT_MM_AUTH_RESP

#define GSM48_MT_MM_AUTH_RESP 0x14

## ◆ GSM48_MT_MM_CM_REEST_REQ

#define GSM48_MT_MM_CM_REEST_REQ 0x28

## ◆ GSM48_MT_MM_CM_SERV_ABORT

#define GSM48_MT_MM_CM_SERV_ABORT 0x23

## ◆ GSM48_MT_MM_CM_SERV_ACC

#define GSM48_MT_MM_CM_SERV_ACC 0x21

## ◆ GSM48_MT_MM_CM_SERV_PROMPT

#define GSM48_MT_MM_CM_SERV_PROMPT 0x25

## ◆ GSM48_MT_MM_CM_SERV_REJ

#define GSM48_MT_MM_CM_SERV_REJ 0x22

## ◆ GSM48_MT_MM_CM_SERV_REQ

#define GSM48_MT_MM_CM_SERV_REQ 0x24

## ◆ GSM48_MT_MM_ID_REQ

#define GSM48_MT_MM_ID_REQ 0x18

## ◆ GSM48_MT_MM_ID_RESP

#define GSM48_MT_MM_ID_RESP 0x19

## ◆ GSM48_MT_MM_IMSI_DETACH_IND

#define GSM48_MT_MM_IMSI_DETACH_IND 0x01

## ◆ GSM48_MT_MM_INFO

#define GSM48_MT_MM_INFO 0x32

## ◆ GSM48_MT_MM_LOC_UPD_ACCEPT

#define GSM48_MT_MM_LOC_UPD_ACCEPT 0x02

## ◆ GSM48_MT_MM_LOC_UPD_REJECT

#define GSM48_MT_MM_LOC_UPD_REJECT 0x04

## ◆ GSM48_MT_MM_LOC_UPD_REQUEST

#define GSM48_MT_MM_LOC_UPD_REQUEST 0x08

## ◆ GSM48_MT_MM_NULL

#define GSM48_MT_MM_NULL 0x30

## ◆ GSM48_MT_MM_STATUS

#define GSM48_MT_MM_STATUS 0x31

## ◆ GSM48_MT_MM_TMSI_REALL_CMD

#define GSM48_MT_MM_TMSI_REALL_CMD 0x1a

## ◆ GSM48_MT_MM_TMSI_REALL_COMPL

#define GSM48_MT_MM_TMSI_REALL_COMPL 0x1b

## ◆ GSM48_MT_RR_ADD_ASS

#define GSM48_MT_RR_ADD_ASS 0x3b

## ◆ GSM48_MT_RR_APP_INFO

#define GSM48_MT_RR_APP_INFO 0x38

## ◆ GSM48_MT_RR_ASS_CMD

#define GSM48_MT_RR_ASS_CMD 0x2e

## ◆ GSM48_MT_RR_ASS_COMPL

#define GSM48_MT_RR_ASS_COMPL 0x29

## ◆ GSM48_MT_RR_ASS_FAIL

#define GSM48_MT_RR_ASS_FAIL 0x2f

## ◆ GSM48_MT_RR_CDMA2K_CLSM_CHG

#define GSM48_MT_RR_CDMA2K_CLSM_CHG 0x62

## ◆ GSM48_MT_RR_CELL_CHG_ORDER

#define GSM48_MT_RR_CELL_CHG_ORDER 0x08

## ◆ GSM48_MT_RR_CFG_CHG_ACK

#define GSM48_MT_RR_CFG_CHG_ACK 0x31

## ◆ GSM48_MT_RR_CFG_CHG_CMD

#define GSM48_MT_RR_CFG_CHG_CMD 0x30

## ◆ GSM48_MT_RR_CFG_CHG_REJ

#define GSM48_MT_RR_CFG_CHG_REJ 0x33

## ◆ GSM48_MT_RR_CHAN_MODE_MODIF

#define GSM48_MT_RR_CHAN_MODE_MODIF 0x10

## ◆ GSM48_MT_RR_CHAN_MODE_MODIF_ACK

#define GSM48_MT_RR_CHAN_MODE_MODIF_ACK 0x17

## ◆ GSM48_MT_RR_CHAN_REL

#define GSM48_MT_RR_CHAN_REL 0x0d

## ◆ GSM48_MT_RR_CIPH_M_CMD

#define GSM48_MT_RR_CIPH_M_CMD 0x35

## ◆ GSM48_MT_RR_CIPH_M_COMPL

#define GSM48_MT_RR_CIPH_M_COMPL 0x32

## ◆ GSM48_MT_RR_CLSM_CHG

#define GSM48_MT_RR_CLSM_CHG 0x16

## ◆ GSM48_MT_RR_CLSM_ENQ

#define GSM48_MT_RR_CLSM_ENQ 0x13

## ◆ GSM48_MT_RR_DTM_ASS_CMD

#define GSM48_MT_RR_DTM_ASS_CMD 0x4c

## ◆ GSM48_MT_RR_DTM_ASS_FAIL

#define GSM48_MT_RR_DTM_ASS_FAIL 0x48

## ◆ GSM48_MT_RR_DTM_INFO

#define GSM48_MT_RR_DTM_INFO 0x4d

## ◆ GSM48_MT_RR_DTM_REJECT

#define GSM48_MT_RR_DTM_REJECT 0x49

## ◆ GSM48_MT_RR_DTM_REQUEST

#define GSM48_MT_RR_DTM_REQUEST 0x4A

## ◆ GSM48_MT_RR_EXT_MEAS_REP

#define GSM48_MT_RR_EXT_MEAS_REP 0x36

## ◆ GSM48_MT_RR_EXT_MEAS_REP_ORD

#define GSM48_MT_RR_EXT_MEAS_REP_ORD 0x37

## ◆ GSM48_MT_RR_FREQ_REDEF

#define GSM48_MT_RR_FREQ_REDEF 0x14

## ◆ GSM48_MT_RR_GPRS_SUSP_REQ

#define GSM48_MT_RR_GPRS_SUSP_REQ 0x34

## ◆ GSM48_MT_RR_HANDO_CMD

#define GSM48_MT_RR_HANDO_CMD 0x2b

## ◆ GSM48_MT_RR_HANDO_COMPL

#define GSM48_MT_RR_HANDO_COMPL 0x2c

## ◆ GSM48_MT_RR_HANDO_FAIL

#define GSM48_MT_RR_HANDO_FAIL 0x28

## ◆ GSM48_MT_RR_HANDO_INFO [1/2]

#define GSM48_MT_RR_HANDO_INFO 0x2d

## ◆ GSM48_MT_RR_HANDO_INFO [2/2]

#define GSM48_MT_RR_HANDO_INFO 0x2d

## ◆ GSM48_MT_RR_IMM_ASS

#define GSM48_MT_RR_IMM_ASS 0x3f

## ◆ GSM48_MT_RR_IMM_ASS_EXT

#define GSM48_MT_RR_IMM_ASS_EXT 0x39

## ◆ GSM48_MT_RR_IMM_ASS_REJ

#define GSM48_MT_RR_IMM_ASS_REJ 0x3a

## ◆ GSM48_MT_RR_INIT_REQ

#define GSM48_MT_RR_INIT_REQ 0x3c

## ◆ GSM48_MT_RR_IS_TO_CDMA2K_HANDO

#define GSM48_MT_RR_IS_TO_CDMA2K_HANDO 0x64

## ◆ GSM48_MT_RR_IS_TO_UTRAN_HANDO

#define GSM48_MT_RR_IS_TO_UTRAN_HANDO 0x63

## ◆ GSM48_MT_RR_MEAS_REP

#define GSM48_MT_RR_MEAS_REP 0x15

## ◆ GSM48_MT_RR_NOTIF_FACCH

#define GSM48_MT_RR_NOTIF_FACCH 0x25 /* (Reserved) */

## ◆ GSM48_MT_RR_NOTIF_NCH

#define GSM48_MT_RR_NOTIF_NCH 0x20

## ◆ GSM48_MT_RR_NOTIF_RESP

#define GSM48_MT_RR_NOTIF_RESP 0x26

## ◆ GSM48_MT_RR_PACKET_ASS

#define GSM48_MT_RR_PACKET_ASS 0x4B

## ◆ GSM48_MT_RR_PACKET_NOTIF

#define GSM48_MT_RR_PACKET_NOTIF 0x4e

## ◆ GSM48_MT_RR_PAG_REQ_1

#define GSM48_MT_RR_PAG_REQ_1 0x21

## ◆ GSM48_MT_RR_PAG_REQ_2

#define GSM48_MT_RR_PAG_REQ_2 0x22

## ◆ GSM48_MT_RR_PAG_REQ_3

#define GSM48_MT_RR_PAG_REQ_3 0x24

## ◆ GSM48_MT_RR_PAG_RESP

#define GSM48_MT_RR_PAG_RESP 0x27

## ◆ GSM48_MT_RR_PART_REL

#define GSM48_MT_RR_PART_REL 0x0a

## ◆ GSM48_MT_RR_PART_REL_COMP

#define GSM48_MT_RR_PART_REL_COMP 0x0f

## ◆ GSM48_MT_RR_PDCH_ASS_CMD

#define GSM48_MT_RR_PDCH_ASS_CMD 0x23

## ◆ GSM48_MT_RR_SH_APP_DATA

#define GSM48_MT_RR_SH_APP_DATA 0xD

## ◆ GSM48_MT_RR_SH_FACCH

#define GSM48_MT_RR_SH_FACCH 0x1

## ◆ GSM48_MT_RR_SH_MEAS_INFO

#define GSM48_MT_RR_SH_MEAS_INFO 0x5

## ◆ GSM48_MT_RR_SH_MEAS_REP

#define GSM48_MT_RR_SH_MEAS_REP 0x4

## ◆ GSM48_MT_RR_SH_SI10

#define GSM48_MT_RR_SH_SI10 0x0

## ◆ GSM48_MT_RR_SH_SI10bis

#define GSM48_MT_RR_SH_SI10bis 0xA

## ◆ GSM48_MT_RR_SH_SI10ter

#define GSM48_MT_RR_SH_SI10ter 0xB

## ◆ GSM48_MT_RR_SH_UL_FREE

#define GSM48_MT_RR_SH_UL_FREE 0x2

## ◆ GSM48_MT_RR_SH_VGCS_INFO

#define GSM48_MT_RR_SH_VGCS_INFO 0x8

## ◆ GSM48_MT_RR_SH_VGCS_NEIGH

#define GSM48_MT_RR_SH_VGCS_NEIGH 0xC

## ◆ GSM48_MT_RR_SH_VGCS_RECON

#define GSM48_MT_RR_SH_VGCS_RECON 0x6

## ◆ GSM48_MT_RR_SH_VGCS_RECON2

#define GSM48_MT_RR_SH_VGCS_RECON2 0x7

## ◆ GSM48_MT_RR_SH_VGCS_SMS

#define GSM48_MT_RR_SH_VGCS_SMS 0x9

## ◆ GSM48_MT_RR_STATUS

#define GSM48_MT_RR_STATUS 0x12

## ◆ GSM48_MT_RR_SYSINFO_1

#define GSM48_MT_RR_SYSINFO_1 0x19

## ◆ GSM48_MT_RR_SYSINFO_13

#define GSM48_MT_RR_SYSINFO_13 0x00

## ◆ GSM48_MT_RR_SYSINFO_13alt

#define GSM48_MT_RR_SYSINFO_13alt 0x44

## ◆ GSM48_MT_RR_SYSINFO_16

#define GSM48_MT_RR_SYSINFO_16 0x3d

## ◆ GSM48_MT_RR_SYSINFO_17

#define GSM48_MT_RR_SYSINFO_17 0x3e

## ◆ GSM48_MT_RR_SYSINFO_18

#define GSM48_MT_RR_SYSINFO_18 0x40

## ◆ GSM48_MT_RR_SYSINFO_19

#define GSM48_MT_RR_SYSINFO_19 0x41

## ◆ GSM48_MT_RR_SYSINFO_2

#define GSM48_MT_RR_SYSINFO_2 0x1a

## ◆ GSM48_MT_RR_SYSINFO_20

#define GSM48_MT_RR_SYSINFO_20 0x42

## ◆ GSM48_MT_RR_SYSINFO_21

#define GSM48_MT_RR_SYSINFO_21 0x46

## ◆ GSM48_MT_RR_SYSINFO_22

#define GSM48_MT_RR_SYSINFO_22 0x47

## ◆ GSM48_MT_RR_SYSINFO_23

#define GSM48_MT_RR_SYSINFO_23 0x4f

## ◆ GSM48_MT_RR_SYSINFO_2bis

#define GSM48_MT_RR_SYSINFO_2bis 0x02

## ◆ GSM48_MT_RR_SYSINFO_2n

#define GSM48_MT_RR_SYSINFO_2n 0x45

## ◆ GSM48_MT_RR_SYSINFO_2quater

#define GSM48_MT_RR_SYSINFO_2quater 0x07

## ◆ GSM48_MT_RR_SYSINFO_2ter

#define GSM48_MT_RR_SYSINFO_2ter 0x03

## ◆ GSM48_MT_RR_SYSINFO_3

#define GSM48_MT_RR_SYSINFO_3 0x1b

## ◆ GSM48_MT_RR_SYSINFO_4

#define GSM48_MT_RR_SYSINFO_4 0x1c

## ◆ GSM48_MT_RR_SYSINFO_5

#define GSM48_MT_RR_SYSINFO_5 0x1d

## ◆ GSM48_MT_RR_SYSINFO_5bis

#define GSM48_MT_RR_SYSINFO_5bis 0x05

## ◆ GSM48_MT_RR_SYSINFO_5ter

#define GSM48_MT_RR_SYSINFO_5ter 0x06

## ◆ GSM48_MT_RR_SYSINFO_6

#define GSM48_MT_RR_SYSINFO_6 0x1e

## ◆ GSM48_MT_RR_SYSINFO_7

#define GSM48_MT_RR_SYSINFO_7 0x1f

## ◆ GSM48_MT_RR_SYSINFO_8

#define GSM48_MT_RR_SYSINFO_8 0x18

## ◆ GSM48_MT_RR_SYSINFO_9

#define GSM48_MT_RR_SYSINFO_9 0x04

## ◆ GSM48_MT_RR_TALKER_IND

#define GSM48_MT_RR_TALKER_IND 0x11

## ◆ GSM48_MT_RR_UPLINK_BUSY

#define GSM48_MT_RR_UPLINK_BUSY 0x2a

## ◆ GSM48_MT_RR_UPLINK_FREE

#define GSM48_MT_RR_UPLINK_FREE 0x0c

## ◆ GSM48_MT_RR_UPLINK_RELEASE

#define GSM48_MT_RR_UPLINK_RELEASE 0x0e

## ◆ GSM48_MT_RR_UTRAN_CLSM_CHG

#define GSM48_MT_RR_UTRAN_CLSM_CHG 0x60

## ◆ GSM48_MT_RR_VGCS_UPL_GRANT

#define GSM48_MT_RR_VGCS_UPL_GRANT 0x09

## ◆ GSM48_PDISC_BCAST_CC

#define GSM48_PDISC_BCAST_CC 0x01

## ◆ GSM48_PDISC_CC

#define GSM48_PDISC_CC 0x03

## ◆ GSM48_PDISC_EXTEND

#define GSM48_PDISC_EXTEND 0x0e

## ◆ GSM48_PDISC_GROUP_CC

#define GSM48_PDISC_GROUP_CC 0x00

## ◆ GSM48_PDISC_GTTP

#define GSM48_PDISC_GTTP 0x04 /* 24.007 only */

## ◆ GSM48_PDISC_LOC

#define GSM48_PDISC_LOC 0x0c

## ◆ GSM48_PDISC_MASK

#define GSM48_PDISC_MASK 0x0f

## ◆ GSM48_PDISC_MM

#define GSM48_PDISC_MM 0x05

## ◆ GSM48_PDISC_MM_GPRS

#define GSM48_PDISC_MM_GPRS 0x08

## ◆ GSM48_PDISC_NC_SS

#define GSM48_PDISC_NC_SS 0x0b

## ◆ GSM48_PDISC_PDSS1

#define GSM48_PDISC_PDSS1 0x02 /* 04.07 only */

## ◆ GSM48_PDISC_PDSS2

#define GSM48_PDISC_PDSS2 0x04 /* 04.07 only */

## ◆ GSM48_PDISC_RR

#define GSM48_PDISC_RR 0x06

## ◆ GSM48_PDISC_SH_RR

#define GSM48_PDISC_SH_RR 0

## ◆ GSM48_PDISC_SM_GPRS

#define GSM48_PDISC_SM_GPRS 0x0a

## ◆ GSM48_PDISC_SMS

#define GSM48_PDISC_SMS 0x09

## ◆ GSM48_PDISC_TEST

#define GSM48_PDISC_TEST 0x0f /* as per 11.10, 04.14 */

## ◆ GSM48_PM_EXTENDED

#define GSM48_PM_EXTENDED 0x01

## ◆ GSM48_PM_MASK

#define GSM48_PM_MASK 0x03

## ◆ GSM48_PM_NORMAL

#define GSM48_PM_NORMAL 0x00

## ◆ GSM48_PM_REORG

#define GSM48_PM_REORG 0x02

## ◆ GSM48_PM_SAME

#define GSM48_PM_SAME 0x03

## ◆ GSM48_T301

#define GSM48_T301 180, 0

## ◆ GSM48_T303

#define GSM48_T303 30, 0

## ◆ GSM48_T303_MS

#define GSM48_T303_MS 30, 0

## ◆ GSM48_T305

#define GSM48_T305 30, 0

## ◆ GSM48_T305_MS

#define GSM48_T305_MS 30, 0

## ◆ GSM48_T306

#define GSM48_T306 30, 0

## ◆ GSM48_T308

#define GSM48_T308 10, 0 /* no spec default */

## ◆ GSM48_T308_MS

#define GSM48_T308_MS 30, 0

## ◆ GSM48_T310

#define GSM48_T310 30, 0 /* no spec default */

## ◆ GSM48_T310_MS

#define GSM48_T310_MS 30, 0

## ◆ GSM48_T313

#define GSM48_T313 30, 0 /* no spec default */

## ◆ GSM48_T313_MS

#define GSM48_T313_MS 30, 0

## ◆ GSM48_T323

#define GSM48_T323 30, 0

## ◆ GSM48_T323_MS

#define GSM48_T323_MS 30, 0

## ◆ GSM48_T331

#define GSM48_T331 30, 0 /* no spec default */

## ◆ GSM48_T332_MS

#define GSM48_T332_MS 30, 0

## ◆ GSM48_T333

#define GSM48_T333 30, 0 /* no spec default */

## ◆ GSM48_T334

#define GSM48_T334 25, 0 /* min 15s */

## ◆ GSM48_T335_MS

#define GSM48_T335_MS 30, 0

## ◆ GSM48_T338

#define GSM48_T338 30, 0 /* no spec default */

## ◆ GSM48_TA_INVALID

#define GSM48_TA_INVALID 220

## ◆ GSM48_TMSI_LEN

#define GSM48_TMSI_LEN 5

## ◆ GSM_CSTATE_ACTIVE

#define GSM_CSTATE_ACTIVE 10

## ◆ GSM_CSTATE_CALL_DELIVERED

#define GSM_CSTATE_CALL_DELIVERED 4

## ◆ GSM_CSTATE_CALL_PRESENT

#define GSM_CSTATE_CALL_PRESENT 6

## ◆ GSM_CSTATE_CALL_RECEIVED

#define GSM_CSTATE_CALL_RECEIVED 7

## ◆ GSM_CSTATE_CONNECT_IND

#define GSM_CSTATE_CONNECT_IND 28

## ◆ GSM_CSTATE_CONNECT_REQUEST

#define GSM_CSTATE_CONNECT_REQUEST 8

## ◆ GSM_CSTATE_DISCONNECT_IND

#define GSM_CSTATE_DISCONNECT_IND 12

## ◆ GSM_CSTATE_DISCONNECT_REQ

#define GSM_CSTATE_DISCONNECT_REQ 12

## ◆ GSM_CSTATE_INITIATED

#define GSM_CSTATE_INITIATED 1

## ◆ GSM_CSTATE_MM_CONNECTION_PEND

#define GSM_CSTATE_MM_CONNECTION_PEND 2 /* see 10.5.4.6 */

## ◆ GSM_CSTATE_MO_CALL_PROC

#define GSM_CSTATE_MO_CALL_PROC 3

## ◆ GSM_CSTATE_MO_ORIG_MODIFY

#define GSM_CSTATE_MO_ORIG_MODIFY 26

## ◆ GSM_CSTATE_MO_TERM_CALL_CONF

#define GSM_CSTATE_MO_TERM_CALL_CONF 9

## ◆ GSM_CSTATE_MO_TERM_MODIFY

#define GSM_CSTATE_MO_TERM_MODIFY 27

## ◆ GSM_CSTATE_NULL

#define GSM_CSTATE_NULL 0

## ◆ GSM_CSTATE_RELEASE_REQ

#define GSM_CSTATE_RELEASE_REQ 19

## ◆ GSM_LAC_RESERVED_ALL_BTS

#define GSM_LAC_RESERVED_ALL_BTS 0xfffe

## ◆ GSM_LAC_RESERVED_DETACHED

#define GSM_LAC_RESERVED_DETACHED 0x0

## ◆ GSM_MACBLOCK_LEN

#define GSM_MACBLOCK_LEN 23

## ◆ GSM_MACBLOCK_PADDING

#define GSM_MACBLOCK_PADDING 0x2b

## ◆ GSM_MI_ODD

#define GSM_MI_ODD 0x08

## ◆ GSM_MI_TYPE_IMEI

#define GSM_MI_TYPE_IMEI 0x02

## ◆ GSM_MI_TYPE_IMEISV

#define GSM_MI_TYPE_IMEISV 0x03

## ◆ GSM_MI_TYPE_IMSI

#define GSM_MI_TYPE_IMSI 0x01

## ◆ GSM_MI_TYPE_MASK

#define GSM_MI_TYPE_MASK 0x07

## ◆ GSM_MI_TYPE_NONE

#define GSM_MI_TYPE_NONE 0x00

## ◆ GSM_MI_TYPE_TMSI

#define GSM_MI_TYPE_TMSI 0x04

## ◆ SBIT

#define SBIT | ( |  | a | ) | (1 << a)

## Enumeration Type Documentation

## ◆ chreq_type

enum chreq_type

Enumerator
CHREQ_T_EMERG_CALL |
CHREQ_T_CALL_REEST_TCH_F |
CHREQ_T_CALL_REEST_TCH_H |
CHREQ_T_CALL_REEST_TCH_H_DBL |
CHREQ_T_SDCCH |
CHREQ_T_TCH_F |
CHREQ_T_VOICE_CALL_TCH_H |
CHREQ_T_DATA_CALL_TCH_H |
CHREQ_T_LOCATION_UPD |
CHREQ_T_PAG_R_ANY_NECI0 |
CHREQ_T_PAG_R_ANY_NECI1 |
CHREQ_T_PAG_R_TCH_F |
CHREQ_T_PAG_R_TCH_FH |
CHREQ_T_LMU |
CHREQ_T_RESERVED_SDCCH |
CHREQ_T_RESERVED_IGNORE |
CHREQ_T_PDCH_ONE_PHASE |
CHREQ_T_PDCH_TWO_PHASE |
_NUM_CHREQ_T |

## ◆ gsm48_bcap_coding

enum gsm48_bcap_coding

Enumerator
GSM48_BCAP_CODING_GSM_STD |

## ◆ gsm48_bcap_fixed_net_user_rate

enum gsm48_bcap_fixed_net_user_rate

Table 10.5.112/3GPP TS 24.008: Fixed network user rate (octet 6d)

Enumerator
GSM48_BCAP_FNUR_NONE | FNUR not applicable / No meaning associated.
GSM48_BCAP_FNUR_X1_V110_9600 | 9.6 kbit/s (according to ITU-T Rec. X.1 and V.110)
GSM48_BCAP_FNUR_X1_V110_14400 | 14.4 kbit/s (according to ITU-T Rec. X.1 and V.110)
GSM48_BCAP_FNUR_X1_V110_19200 | 19.2 kbit/s (according to ITU-T Rec. X.1 and V.110)
GSM48_BCAP_FNUR_X1_V110_28800 | 28.8 kbit/s (according to ITU-T Rec. X.1 and V.110)
GSM48_BCAP_FNUR_X1_V110_38400 | 38.4 kbit/s (according to ITU-T Rec. X.1 and V.110)
GSM48_BCAP_FNUR_X1_V110_48000 | 48.0 kbit/s (according to ITU-T Rec. X.1 and V.110)
GSM48_BCAP_FNUR_X1_V110_56000 | 56.0 kbit/s (according to ITU-T Rec. X.1 and V.110)
GSM48_BCAP_FNUR_BT_64000 | 64.0 kbit/s bit transparent
GSM48_BCAP_FNUR_BT_33600 | 33.6 kbit/s bit transparent
GSM48_BCAP_FNUR_I460_32000 | 32.0 kbit/s (according to ITU-T Rec. I.460)
GSM48_BCAP_FNUR_V34_31200 | 31.2 kbit/s (according to ITU-T Rec. V.34)

## ◆ gsm48_bcap_interm_rate

enum gsm48_bcap_interm_rate

Enumerator
GSM48_BCAP_IR_8k |
GSM48_BCAP_IR_16k |

## ◆ gsm48_bcap_itcap

enum gsm48_bcap_itcap

Enumerator
GSM48_BCAP_ITCAP_SPEECH |
GSM48_BCAP_ITCAP_UNR_DIG_INF |
GSM48_BCAP_ITCAP_3k1_AUDIO |
GSM48_BCAP_ITCAP_FAX_G3 |
GSM48_BCAP_ITCAP_OTHER |
GSM48_BCAP_ITCAP_RESERVED |

## ◆ gsm48_bcap_modem_type

enum gsm48_bcap_modem_type

Enumerator
GSM48_BCAP_MT_NONE |
GSM48_BCAP_MT_V21 |
GSM48_BCAP_MT_V22 |
GSM48_BCAP_MT_V22bis |
GSM48_BCAP_MT_V23 |
GSM48_BCAP_MT_V26ter |
GSM48_BCAP_MT_V32 |
GSM48_BCAP_MT_UNDEF |
GSM48_BCAP_MT_AUTO_1 |

## ◆ gsm48_bcap_other_modem_type

enum gsm48_bcap_other_modem_type

Table 10.5.112/3GPP TS 24.008: Other modem type (octet 6d)

Enumerator
GSM48_BCAP_OTHER_MT_NONE | No other modem type specified.
GSM48_BCAP_OTHER_MT_V34 | According to ITU-T Rec. V.34

## ◆ gsm48_bcap_parity

enum gsm48_bcap_parity

Enumerator
GSM48_BCAP_PAR_ODD |
GSM48_BCAP_PAR_EVEN |
GSM48_BCAP_PAR_NONE |
GSM48_BCAP_PAR_ZERO |
GSM48_BCAP_PAR_ONE |

## ◆ gsm48_bcap_ra

enum gsm48_bcap_ra

Enumerator
GSM48_BCAP_RA_NONE |
GSM48_BCAP_RA_V110_X30 |
GSM48_BCAP_RA_X31 |
GSM48_BCAP_RA_OTHER |

## ◆ gsm48_bcap_rrq

enum gsm48_bcap_rrq

Enumerator
GSM48_BCAP_RRQ_FR_ONLY |
GSM48_BCAP_RRQ_DUAL_HR |
GSM48_BCAP_RRQ_DUAL_FR |

## ◆ gsm48_bcap_sig_access

enum gsm48_bcap_sig_access

Enumerator
GSM48_BCAP_SA_I440_I450 |
GSM48_BCAP_SA_X21 |
GSM48_BCAP_SA_X28_DP_IN |
GSM48_BCAP_SA_X28_DP_UN |
GSM48_BCAP_SA_X28_NDP |
GSM48_BCAP_SA_X32 |

## ◆ gsm48_bcap_speech_ver

enum gsm48_bcap_speech_ver

GSM 04.08 Bearer Capability: Speech Version Indication (See also 3GPP TS 24.008, Table 10.5.103 and 3GPP TS 26.103, Table 4.1 "Support of Codec Types in Radio Access Technologies")

Enumerator
GSM48_BCAP_SV_FR | GSM FR V1 (GSM FR)
GSM48_BCAP_SV_HR | GSM HR V1 (GSM HR)
GSM48_BCAP_SV_EFR | GSM FR V2 (GSM EFR)
GSM48_BCAP_SV_AMR_F | GSM FR V3 (FR AMR)
GSM48_BCAP_SV_AMR_H | GSM HR V3 (HR_AMR)
GSM48_BCAP_SV_AMR_OFW | GSM FR V4 (OFR AMR-WB)
GSM48_BCAP_SV_AMR_OHW | GSM HR V4 (OHR AMR-WB)
GSM48_BCAP_SV_AMR_FW | GSM FR V5 (FR AMR-WB)
GSM48_BCAP_SV_AMR_OH | GSM HR V6 (OHR AMR)

## ◆ gsm48_bcap_tmod

enum gsm48_bcap_tmod

Enumerator
GSM48_BCAP_TMOD_CIRCUIT |
GSM48_BCAP_TMOD_PACKET |

## ◆ gsm48_bcap_transp

enum gsm48_bcap_transp

Enumerator
GSM48_BCAP_TR_TRANSP |
GSM48_BCAP_TR_RLP |
GSM48_BCAP_TR_TR_PREF |
GSM48_BCAP_TR_RLP_PREF |

## ◆ gsm48_bcap_user_rate

enum gsm48_bcap_user_rate

Enumerator
GSM48_BCAP_UR_300 |
GSM48_BCAP_UR_1200 |
GSM48_BCAP_UR_2400 |
GSM48_BCAP_UR_4800 |
GSM48_BCAP_UR_9600 |
GSM48_BCAP_UR_12000 |
GSM48_BCAP_UR_1200_75 |

## ◆ gsm48_cause_coding

enum gsm48_cause_coding

Enumerator
GSM48_CAUSE_CODING_CCITT_Q931 |
GSM48_CAUSE_CODING_RESERVED |
GSM48_CAUSE_CODING_NATIONAL |
GSM48_CAUSE_CODING_GSM |

## ◆ gsm48_cause_loc

enum gsm48_cause_loc

Enumerator
GSM48_CAUSE_LOC_USER |
GSM48_CAUSE_LOC_PRN_S_LU |
GSM48_CAUSE_LOC_PUN_S_LU |
GSM48_CAUSE_LOC_TRANS_NET |
GSM48_CAUSE_LOC_PUN_S_RU |
GSM48_CAUSE_LOC_PRN_S_RU |
GSM48_CAUSE_LOC_INN_NET |
GSM48_CAUSE_LOC_NET_BEYOND |

## ◆ gsm48_cc_cause

enum gsm48_cc_cause

Enumerator
GSM48_CC_CAUSE_UNASSIGNED_NR |
GSM48_CC_CAUSE_NO_ROUTE |
GSM48_CC_CAUSE_CHAN_UNACCEPT |
GSM48_CC_CAUSE_OP_DET_BARRING |
GSM48_CC_CAUSE_NORM_CALL_CLEAR |
GSM48_CC_CAUSE_USER_BUSY |
GSM48_CC_CAUSE_USER_NOTRESPOND |
GSM48_CC_CAUSE_USER_ALERTING_NA |
GSM48_CC_CAUSE_CALL_REJECTED |
GSM48_CC_CAUSE_NUMBER_CHANGED |
GSM48_CC_CAUSE_PRE_EMPTION |
GSM48_CC_CAUSE_NONSE_USER_CLR |
GSM48_CC_CAUSE_DEST_OOO |
GSM48_CC_CAUSE_INV_NR_FORMAT |
GSM48_CC_CAUSE_FACILITY_REJ |
GSM48_CC_CAUSE_RESP_STATUS_INQ |
GSM48_CC_CAUSE_NORMAL_UNSPEC |
GSM48_CC_CAUSE_NO_CIRCUIT_CHAN |
GSM48_CC_CAUSE_NETWORK_OOO |
GSM48_CC_CAUSE_TEMP_FAILURE |
GSM48_CC_CAUSE_SWITCH_CONG |
GSM48_CC_CAUSE_ACC_INF_DISCARD |
GSM48_CC_CAUSE_REQ_CHAN_UNAVAIL |
GSM48_CC_CAUSE_RESOURCE_UNAVAIL |
GSM48_CC_CAUSE_QOS_UNAVAIL |
GSM48_CC_CAUSE_REQ_FAC_NOT_SUBSC |
GSM48_CC_CAUSE_INC_BARRED_CUG |
GSM48_CC_CAUSE_BEARER_CAP_UNAUTH |
GSM48_CC_CAUSE_BEARER_CA_UNAVAIL |
GSM48_CC_CAUSE_SERV_OPT_UNAVAIL |
GSM48_CC_CAUSE_BEARERSERV_UNIMPL |
GSM48_CC_CAUSE_ACM_GE_ACM_MAX |
GSM48_CC_CAUSE_REQ_FAC_NOTIMPL |
GSM48_CC_CAUSE_RESTR_BCAP_AVAIL |
GSM48_CC_CAUSE_SERV_OPT_UNIMPL |
GSM48_CC_CAUSE_INVAL_TRANS_ID |
GSM48_CC_CAUSE_USER_NOT_IN_CUG |
GSM48_CC_CAUSE_INCOMPAT_DEST |
GSM48_CC_CAUSE_INVAL_TRANS_NET |
GSM48_CC_CAUSE_SEMANTIC_INCORR |
GSM48_CC_CAUSE_INVAL_MAND_INF |
GSM48_CC_CAUSE_MSGTYPE_NOTEXIST |
GSM48_CC_CAUSE_MSGTYPE_INCOMPAT |
GSM48_CC_CAUSE_IE_NOTEXIST |
GSM48_CC_CAUSE_COND_IE_ERR |
GSM48_CC_CAUSE_MSG_INCOMP_STATE |
GSM48_CC_CAUSE_RECOVERY_TIMER |
GSM48_CC_CAUSE_PROTO_ERR |
GSM48_CC_CAUSE_INTERWORKING |

## ◆ gsm48_chan_mode

enum gsm48_chan_mode

10.5.2.6 Channel Mode value

Enumerator
GSM48_CMODE_SIGN | Signalling only (TCH/F or TCH/H)
GSM48_CMODE_SPEECH_V1 | Speech: FR (TCH/FS) or HR (TCH/HS)
GSM48_CMODE_SPEECH_EFR | Speech: EFR (TCH/EFS) a.k.a. V2
GSM48_CMODE_SPEECH_AMR | Speech: AMR (TCH/AFS or TCH/AHS) a.k.a. V3
GSM48_CMODE_SPEECH_V4 | Speech: OFR AMR-WB (O-TCH/WFS) or OHR AMR-WB (O-TCH/WHS)
GSM48_CMODE_SPEECH_V5 | Speech: FR AMR-WB (TCH/WFS)
GSM48_CMODE_SPEECH_V6 | Speech: OHR AMR (O-TCH/AHS)
GSM48_CMODE_DATA_43k5_14k5 |
GSM48_CMODE_DATA_29k0_14k5 |
GSM48_CMODE_DATA_43k5_29k0 |
GSM48_CMODE_DATA_14k5_43k5 |
GSM48_CMODE_DATA_14k5_29k0 |
GSM48_CMODE_DATA_29k0_43k5 |
GSM48_CMODE_DATA_43k5 | ECSD: 43.5 kbit/s radio interface rate, 43.2 kbit/s services (E-TCH/F43.2)
GSM48_CMODE_DATA_32k0 | ECSD: 32.0 kbit/s radio interface rate, 32.0 kbit/s services (E-TCH/F32.0)
GSM48_CMODE_DATA_29k0 | ECSD: 29.0 kbit/s radio interface rate, 28.8 kbit/s services (E-TCH/F28.8)
GSM48_CMODE_DATA_14k5 | CSD: 14.5 kbit/s radio interface rate, 14.4 kbit/s services (TCH/F14.4)
GSM48_CMODE_DATA_12k0 | CSD: 12.0 kbit/s radio interface rate, 9.6 kbit/s services (TCH/F9.6)
GSM48_CMODE_DATA_6k0 | CSD: 6.0 kbit/s radio interface rate, 4.8 kbit/s services (TCH/{F,H}4.8)
GSM48_CMODE_DATA_3k6 | CSD: 3.6 kbit/s radio interface rate, 2.4 kbit/s and less services (TCH/{F,H}2.4)
GSM48_CMODE_SPEECH_V1_VAMOS | Same as GSM48_CMODE_SPEECH_V1, in VAMOS mode.
GSM48_CMODE_SPEECH_V2_VAMOS | Same as GSM48_CMODE_SPEECH_EFR, in VAMOS mode.
GSM48_CMODE_SPEECH_V3_VAMOS | Same as GSM48_CMODE_SPEECH_AMR, in VAMOS mode.
GSM48_CMODE_SPEECH_V5_VAMOS | Speech: GSM48_CMODE_SPEECH_V5, in VAMOS mode.

## ◆ gsm48_dtx_mode

enum gsm48_dtx_mode

Enumerator
GSM48_DTX_MAY_BE_USED |
GSM48_DTX_SHALL_BE_USED |
GSM48_DTX_SHALL_NOT_BE_USED |

## ◆ gsm48_numbering_plan

enum gsm48_numbering_plan

Enumerator
GSM48_NPI_UNKNOWN |
GSM48_NPI_ISDN_E164 |
GSM48_NPI_DATA_X121 |
GSM48_NPI_TELEX_F69 |
GSM48_NPI_NATIONAL |
GSM48_NPI_PRIVATE |
GSM48_NPI_CTS |

## ◆ gsm48_progress_desc

enum gsm48_progress_desc

Enumerator
GSM48_PROGR_NOT_E2E |
GSM48_PROGR_DEST_NOT_PLMN |
GSM48_PROGR_ORIG_NOT_PLMN |
GSM48_PROGR_RETURNED |
GSM48_PROGR_IN_BAND_AVAIL |
GSM48_PROGR_CALL_E2E |
GSM48_PROGR_QUEUEING |

## ◆ gsm48_reject_value

enum gsm48_reject_value

Enumerator
GSM48_REJECT_IMSI_UNKNOWN_IN_HLR |
GSM48_REJECT_ILLEGAL_MS |
GSM48_REJECT_IMSI_UNKNOWN_IN_VLR |
GSM48_REJECT_IMEI_NOT_ACCEPTED |
GSM48_REJECT_ILLEGAL_ME |
GSM48_REJECT_PLMN_NOT_ALLOWED |
GSM48_REJECT_LOC_NOT_ALLOWED |
GSM48_REJECT_ROAMING_NOT_ALLOWED |
GSM48_REJECT_NO_SUIT_CELL_IN_LA |
GSM48_REJECT_NETWORK_FAILURE |
GSM48_REJECT_MAC_FAILURE |
GSM48_REJECT_SYNCH_FAILURE |
GSM48_REJECT_CONGESTION |
GSM48_REJECT_GSM_AUTH_UNACCEPTABLE |
GSM48_REJECT_NOT_AUTH_FOR_CSG |
GSM48_REJECT_SRV_OPT_NOT_SUPPORTED |
GSM48_REJECT_RQD_SRV_OPT_NOT_SUPPORTED |
GSM48_REJECT_SRV_OPT_TMP_OUT_OF_ORDER |
GSM48_REJECT_CALL_CAN_NOT_BE_IDENTIFIED |
GSM48_REJECT_INCORRECT_MESSAGE |
GSM48_REJECT_INVALID_MANDANTORY_INF |
GSM48_REJECT_MSG_TYPE_NOT_IMPLEMENTED |
GSM48_REJECT_MSG_TYPE_NOT_COMPATIBLE |
GSM48_REJECT_INF_ELEME_NOT_IMPLEMENTED |
GSM48_REJECT_CONDTIONAL_IE_ERROR |
GSM48_REJECT_MSG_NOT_COMPATIBLE |
GSM48_REJECT_PROTOCOL_ERROR |
GSM48_REJECT_GPRS_NOT_ALLOWED |
GSM48_REJECT_SERVICES_NOT_ALLOWED |
GSM48_REJECT_MS_IDENTITY_NOT_DERVIVABLE |
GSM48_REJECT_IMPLICITLY_DETACHED |
GSM48_REJECT_GPRS_NOT_ALLOWED_IN_PLMN |
GSM48_REJECT_MSC_TMP_NOT_REACHABLE |
GSM48_REJECT_SMS_PROV_VIA_GPRS_IN_RA |
GSM48_REJECT_NO_PDP_CONTEXT_ACTIVATED |

## ◆ gsm48_rr_cause

enum gsm48_rr_cause

Enumerator
GSM48_RR_CAUSE_NORMAL |
GSM48_RR_CAUSE_ABNORMAL_UNSPEC |
GSM48_RR_CAUSE_ABNORMAL_UNACCT |
GSM48_RR_CAUSE_ABNORMAL_TIMER |
GSM48_RR_CAUSE_ABNORMAL_NOACT |
GSM48_RR_CAUSE_PREMPTIVE_REL |
GSM48_RR_CAUSE_UTRAN_CFG_UNK |
GSM48_RR_CAUSE_HNDOVER_IMP |
GSM48_RR_CAUSE_CHAN_MODE_UNACCT |
GSM48_RR_CAUSE_FREQ_NOT_IMPL |
GSM48_RR_CAUSE_LEAVE_GROUP_CA |
GSM48_RR_CAUSE_LOW_LEVEL_FAIL |
GSM48_RR_CAUSE_CALL_CLEARED |
GSM48_RR_CAUSE_SEMANT_INCORR |
GSM48_RR_CAUSE_INVALID_MAND_INF |
GSM48_RR_CAUSE_MSG_TYPE_N |
GSM48_RR_CAUSE_MSG_TYPE_N_COMPAT |
GSM48_RR_CAUSE_COND_IE_ERROR |
GSM48_RR_CAUSE_NO_CELL_ALLOC_A |
GSM48_RR_CAUSE_PROT_ERROR_UNSPC |

## ◆ gsm48_signal_val

enum gsm48_signal_val

Enumerator
GSM48_SIGNAL_DIALTONE |
GSM48_SIGNAL_RINGBACK |
GSM48_SIGNAL_INTERCEPT |
GSM48_SIGNAL_NET_CONG |
GSM48_SIGNAL_BUSY |
GSM48_SIGNAL_CONFIRM |
GSM48_SIGNAL_ANSWER |
GSM48_SIGNAL_CALL_WAIT |
GSM48_SIGNAL_OFF_HOOK |
GSM48_SIGNAL_OFF |
GSM48_SIGNAL_ALERT_OFF |

## ◆ gsm48_type_of_number

enum gsm48_type_of_number

Enumerator
GSM48_TON_UNKNOWN |
GSM48_TON_INTERNATIONAL |
GSM48_TON_NATIONAL |
GSM48_TON_NET_SPEC |
GSM48_TON_SHORT_CODE |

## ◆ osmo_cm_service_type

enum osmo_cm_service_type

Enumerator
GSM48_CMSERV_MO_CALL_PACKET |
GSM48_CMSERV_EMERGENCY |
GSM48_CMSERV_SMS |
GSM48_CMSERV_SUP_SERV |
GSM48_CMSERV_VGCS |
GSM48_CMSERV_VBS |
GSM48_CMSERV_LOC_SERV |
GSM48_CMSERV_MAX_VAL |

## Function Documentation

## ◆ gsm48_acc_is_barred()

static bool gsm48_acc_is_barred | ( | struct gsm48_rach_control * | rach_control,
|  | unsigned int | acc
| ) |  |
| inline static

References OSMO_ASSERT, and rach_control.

## ◆ gsm48_allow_acc()

static void gsm48_allow_acc | ( | struct gsm48_rach_control * | rach_control,
|  | unsigned int | acc
| ) |  |
| inline static

References OSMO_ASSERT, and rach_control.

## ◆ gsm48_barr_acc()

static void gsm48_barr_acc | ( | struct gsm48_rach_control * | rach_control,
|  | unsigned int | acc
| ) |  |
| inline static

References OSMO_ASSERT, and rach_control.

## ◆ gsm48_cc_cause_name()

static const char * gsm48_cc_cause_name | ( | enum gsm48_cc_cause | val | ) |
| inline static

References get_value_string(), and gsm48_cc_cause_names.

## ◆ gsm48_chan_mode_name()

static const char * gsm48_chan_mode_name | ( | enum gsm48_chan_mode | val | ) |
| inline static

References get_value_string(), and gsm48_chan_mode_names.

## ◆ gsm48_hdr_msg_type_r98()

static uint8_t gsm48_hdr_msg_type_r98 | ( | const struct gsm48_hdr * | hdr | ) |
| inline static

References gsm48_hdr_pdisc(), GSM48_PDISC_BCAST_CC, GSM48_PDISC_CC, GSM48_PDISC_GROUP_CC, GSM48_PDISC_LOC, GSM48_PDISC_MM, GSM48_PDISC_NC_SS, hdr, and gsm48_hdr::msg_type.

## ◆ gsm48_hdr_msg_type_r99()

static uint8_t gsm48_hdr_msg_type_r99 | ( | const struct gsm48_hdr * | hdr | ) |
| inline static

References gsm48_hdr_pdisc(), GSM48_PDISC_BCAST_CC, GSM48_PDISC_CC, GSM48_PDISC_GROUP_CC, GSM48_PDISC_LOC, GSM48_PDISC_MM, GSM48_PDISC_NC_SS, hdr, and gsm48_hdr::msg_type.

## ◆ gsm48_hdr_pdisc()

static uint8_t gsm48_hdr_pdisc | ( | const struct gsm48_hdr * | hdr | ) |
| inline static

References GSM48_PDISC_EXTEND, GSM48_PDISC_MASK, hdr, and gsm48_hdr::proto_discr.

Referenced by gsm0480_decode_ss_request(), gsm0480_decode_ussd_request(), gsm0480_extract_ie_by_tag(), gsm48_hdr_msg_type_r98(), gsm48_hdr_msg_type_r99(), and osmo_mobile_identity_decode_from_l3_buf().

## ◆ gsm48_hdr_trans_id()

static uint8_t gsm48_hdr_trans_id | ( | const struct gsm48_hdr * | hdr | ) |
| inline static

References hdr, and gsm48_hdr::proto_discr.

Referenced by gsm48_hdr_trans_id_flip_ti(), and gsm48_hdr_trans_id_no_ti().

## ◆ gsm48_hdr_trans_id_flip_ti()

static uint8_t gsm48_hdr_trans_id_flip_ti | ( | const struct gsm48_hdr * | hdr | ) |
| inline static

References gsm48_hdr_trans_id(), and hdr.

## ◆ gsm48_hdr_trans_id_no_ti()

static uint8_t gsm48_hdr_trans_id_no_ti | ( | const struct gsm48_hdr * | hdr | ) |
| inline static

References gsm48_hdr_trans_id(), and hdr.

## ◆ gsm48_meas_res_is_valid()

static bool gsm48_meas_res_is_valid | ( | const struct gsm48_meas_res * | mr | ) |
| inline static

Check if the given mr contains valid measurement results.

## ◆ gsm48_pdisc_name()

static const char * gsm48_pdisc_name | ( | uint8_t | val | ) |
| inline static

References get_value_string(), and gsm48_pdisc_names.

Referenced by gsm48_pdisc_msgtype_name_buf().

## ◆ gsm48_reject_value_name()

static const char * gsm48_reject_value_name | ( | enum gsm48_reject_value | val | ) |
| inline static

References get_value_string(), and gsm48_reject_value_names.

## ◆ gsm48_ta_is_valid()

static bool gsm48_ta_is_valid | ( | uint8_t | ta | ) |
| inline static

Check if TA is valid according to 3GPP TS 44.018 § 10.5.2.40.

Parameters

  [in] | ta | Timing Advance value

Returns
  true if ta is valid, false otherwise Note: Rules for GSM400 band are ignored as it's not implemented in practice.

References ta.

## ◆ osmo_cm_service_type_name()

static const char * osmo_cm_service_type_name | ( | enum osmo_cm_service_type | val | ) |
| inline static

References get_value_string(), and osmo_cm_service_type_names.

## ◆ osmo_lu_type_name()

static const char * osmo_lu_type_name | ( | uint8_t | lu_type | ) |
| inline static

References get_value_string(), and osmo_lu_type_names.

## Variable Documentation

## ◆ __attribute__

enum gsm48_type_of_number __attribute__

## ◆ bcch_frequency_list

uint8_t bcch_frequency_list

## ◆ cause

uint8_t cause

Referenced by abis_nm_event_type_name(), abis_nm_fail_evt_vrep(), abis_nm_nack_cause_name(), abis_nm_severity_name(), gsm0808_cause_class(), gsm0808_cause_ext(), gsm0808_cause_name(), gsm0808_create_ass_fail(), gsm0808_create_assignment_failure(), gsm0808_create_cipher_reject(), gsm0808_create_cipher_reject_ext(), gsm0808_create_clear_command(), gsm0808_create_clear_command2(), gsm0808_create_clear_rqst(), gsm0808_create_reset(), gsm0808_create_sapi_reject_cause(), gsm0808_create_uplink_release_cmd(), gsm0808_create_vgcs_vbs_setup_refuse(), gsm29118_create_status(), gsm411_send_rp_error(), gsm411_tx_cp_error(), gsm48_decode_cause(), gsm48_encode_cause(), irp_error_event_alloc_c(), osmo_bsslap_ie_dec_cause(), osmo_bsslap_ie_enc_cause(), osmo_bssmap_le_dec_reset(), osmo_bssmap_le_enc_reset(), osmo_cbsp_cause_name(), rr_cause_name(), rsl_rll_error(), and sgsap_sgs_cause_name().

## ◆ cell_channel_description

uint8_t cell_channel_description[16]

## ◆ cell_desc

struct gsm48_cell_desc cell_desc

## ◆ cell_identity

uint16_t cell_identity

## ◆ cell_options

struct gsm48_cell_options cell_options

## ◆ cell_sel_par

struct gsm48_cell_sel_par cell_sel_par

## ◆ chan_desc

struct gsm48_chan_desc chan_desc

Referenced by gsm0502_calc_paging_group(), gsm0502_get_n_pag_blocks(), gsm48_number_of_paging_subchannels(), osmo_bsslap_ie_dec_chan_desc(), and osmo_bsslap_ie_enc_chan_desc().

## ◆ chan_desc1

struct gsm48_chan_desc chan_desc1

## ◆ chan_desc2

struct gsm48_chan_desc chan_desc2

## ◆ chan_nr

uint8_t chan_nr

Referenced by l2_ph_data_ind(), rsl_chan_nr_str(), rsl_chan_nr_str_buf(), rsl_chan_nr_str_c(), rsl_dec_chan_nr(), rsl_rll_push_hdr(), rsl_rll_push_l3(), rsl_rll_simple(), rslms_rx_rll_est_req(), rslms_rx_rll_res_req(), rslms_rx_rll_udata_req(), set_lapdm_context(), tx_ph_data_enqueue(), and tx_ph_data_enqueue_ui().

## ◆ classmark1

struct gsm48_classmark1 classmark1

## ◆ cm2

struct gsm48_classmark2 cm2

Referenced by gsm0808_create_classmark_update(), ms_cm2_a5n_support(), osmo_gsm48_classmark2_is_r99(), and osmo_gsm48_classmark_a5_name_buf().

## ◆ cm2_len

uint8_t cm2_len

Referenced by gsm0808_create_classmark_update(), osmo_gsm48_classmark2_is_r99(), and osmo_mobile_identity_decode_from_l3_buf().

## ◆ control_channel_desc

struct gsm48_control_channel_descr control_channel_desc

## ◆ data

uint8_t data[0]

## ◆ digits

uint8_t digits

## ◆ ext_bcch_frequency_list

uint8_t ext_bcch_frequency_list[16]

## ◆ hdr

struct gsm48_hdr hdr

Referenced by gsm0480_decode_ss_request(), gsm0480_decode_ussd_request(), gsm0480_extract_ie_by_tag(), gsm48_hdr_gmm_cipherable(), gsm48_hdr_msg_type_r98(), gsm48_hdr_msg_type_r99(), gsm48_hdr_pdisc(), gsm48_hdr_trans_id(), gsm48_hdr_trans_id_flip_ti(), gsm48_hdr_trans_id_no_ti(), iuup_rx_initialization(), parse_ss(), and tnp_ctrl_init_alloc().

## ◆ header

struct gsm48_system_information_type_header header

Referenced by enc_speech_codec(), gsm0808_create_dtap(), and gsm0808_dec_speech_codec().

## ◆ ho_ref

uint8_t ho_ref

## ◆ l2_plen

uint8_t l2_plen

## ◆ lac

uint16_t lac

Referenced by gsm0808_create_layer3(), gsm0808_create_layer3_aoip(), gsm48_decode_lai(), and gsm48_generate_lai().

## ◆ lai

struct gsm48_loc_area_id lai

Referenced by decode_lai(), gsm0808_create_layer3_2(), gsm0808_msgb_put_cell_id_u(), gsm29118_create_lu_ack(), gsm29118_create_lu_rej(), gsm48_decode_lai(), gsm48_decode_lai2(), gsm48_generate_lai(), gsm48_generate_lai2(), msgb_sgsap_lai_put(), osmo_lai_name(), osmo_lai_name_buf(), and osmo_lai_name_c().

## ◆ mi

uint8_t mi[0]

Referenced by gsm0808_create_common_id(), gsm48_mi_to_string(), gsm48_mi_type_name(), osmo_mi_name(), osmo_mi_name_buf(), osmo_mi_name_c(), osmo_mobile_identity_decode(), osmo_mobile_identity_decode_from_l3(), osmo_mobile_identity_decode_from_l3_buf(), osmo_mobile_identity_encode_buf(), osmo_mobile_identity_encode_msgb(), osmo_mobile_identity_encoded_len(), osmo_mobile_identity_to_str_buf(), and osmo_mobile_identity_to_str_c().

## ◆ mi_len

uint8_t mi_len

Referenced by gsm48_mi_to_string(), osmo_mi_name(), osmo_mi_name_buf(), osmo_mi_name_c(), osmo_mobile_identity_decode(), and osmo_mobile_identity_decode_from_l3_buf().

## ◆ mob_alloc

uint8_t mob_alloc

## ◆ mob_alloc_len

uint8_t mob_alloc_len

## ◆ mode

uint8_t mode

Referenced by gsm0808_chosen_channel(), gsm0808_permitted_speech(), gsm48_chan_mode_to_non_vamos(), gsm48_chan_mode_to_vamos(), lapdm_channel_init(), lapdm_channel_init2(), lapdm_channel_init3(), lapdm_channel_set_mode(), lapdm_entity_init(), lapdm_entity_init2(), lapdm_entity_init3(), lapdm_entity_set_mode(), rslms_rx_rll_rel_req(), and sgsap_ue_emm_mode_name().

## ◆ msg_type

uint8_t msg_type

Referenced by create_simple_msg(), gsm0480_extract_ie_by_tag(), gsm0808_bssap_name(), gsm0808_bssmap_name(), gsm411_mnsms_data_ind_tx(), gsm411_mnsms_est_ind(), gsm411_push_cp_header(), gsm411_smc_recv(), gsm411_smc_send(), gsm411_smr_recv(), gsm411_smr_send(), gsm48_pdisc_msgtype_name(), gsm48_pdisc_msgtype_name_buf(), gsm48_pdisc_msgtype_name_c(), gsm48_push_l3hdr(), ipa_ccm_rcvmsg_base(), ipa_ccm_rcvmsg_bts_base(), osmo_cbsp_decoded_alloc(), osmo_cbsp_init_struct(), osmo_mncc_name(), osmo_tlv_prot_msg_name(), osmo_tlv_prot_msgt_flags(), osmo_tlv_prot_parse(), osmo_tlv_prot_validate_tp(), parse_ss(), rsl_init_cchan_hdr(), rsl_init_rll_hdr(), rsl_ipac_msg_name(), rsl_is_transparent(), rsl_msg_name(), rsl_or_ipac_msg_name(), rsl_rll_push_hdr(), rsl_rll_push_l3(), rsl_rll_simple(), rslms_rx_com_chan(), rslms_rx_rll(), rslms_rx_rll_res_req(), send_rll_simple(), and send_rslms_rll_l3().

## ◆ ncc_permitted

uint8_t ncc_permitted

## ◆ options

uint8_t options[0]

## ◆ page_mode

uint8_t page_mode

## ◆ power_command

uint8_t power_command

## ◆ proto_discr

uint8_t proto_discr

## ◆ ra_id

uint8_t ra_id[6]

Referenced by osmo_routing_area_id_decode(), and osmo_routing_area_id_encode_buf().

## ◆ rac

uint8_t rac

## ◆ rach_control

struct gsm48_rach_control rach_control

Referenced by gsm48_acc_is_barred(), gsm48_allow_acc(), and gsm48_barr_acc().

## ◆ req_ref

struct gsm48_req_ref req_ref

Referenced by l2_ph_rach_ind().

## ◆ req_ref1

struct gsm48_req_ref req_ref1

## ◆ req_ref2

struct gsm48_req_ref req_ref2

## ◆ req_ref3

struct gsm48_req_ref req_ref3

## ◆ req_ref4

struct gsm48_req_ref req_ref4

## ◆ rest

uint8_t rest[0]

## ◆ rest_octets

uint8_t rest_octets

## ◆ rr_cause

uint8_t rr_cause

Referenced by gsm0808_create_ass_compl(), gsm0808_create_ass_compl2(), gsm0808_create_ass_fail(), gsm0808_create_assignment_completed(), and gsm0808_create_assignment_failure().

## ◆ sres

uint8_t sres[4]

Referenced by comp128(), comp128v1(), comp128v2(), comp128v3(), gsm_milenage(), and osmo_auth_c2().

## ◆ ta

uint8_t ta

Referenced by gsm48_ta_is_valid(), osmo_bsslap_ie_dec_ta(), and osmo_bsslap_ie_enc_ta().

## ◆ timing_advance

uint8_t timing_advance

## ◆ timing_advance1

uint8_t timing_advance1

## ◆ timing_advance2

uint8_t timing_advance2

## ◆ tlli

uint32_t tlli

Referenced by gprs_tlli2tmsi(), gprs_tlli_type(), and gprs_tmsi2tlli().

## ◆ wait_ind1

uint8_t wait_ind1

## ◆ wait_ind2

uint8_t wait_ind2

## ◆ wait_ind3

uint8_t wait_ind3

## ◆ wait_ind4

uint8_t wait_ind4