GNU Radio's GSM Package
gsm_04_08.h File Reference
#include <stdint.h>
#include <stdbool.h>
#include <osmocom/core/utils.h>
#include <osmocom/core/endian.h>

Go to the source code of this file.

Classes

struct  gsm48_classmark1
 
struct  gsm48_classmark2
 
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_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_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_paging1
 
struct  gsm48_paging2
 
struct  gsm48_paging3
 
struct  gsm48_pag_rsp
 
struct  gsm48_rr_status
 
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_USSD   0x11
 
#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_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_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_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_CMSERV_MO_CALL_PACKET   1
 
#define GSM48_CMSERV_EMERGENCY   2
 
#define GSM48_CMSERV_SMS   4
 
#define GSM48_CMSERV_SUP_SERV   8
 
#define GSM48_CMSERV_VGCS   9
 
#define GSM48_CMSERV_VBS   10
 
#define GSM48_CMSERV_LOC_SERV   11
 
#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_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_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_REALTIME_DIFF   0x7b
 
#define GSM48_IE_START_TIME   0x7c
 
#define GSM48_IE_TIMING_ADVANCE   0x7d
 
#define GSM48_IE_GROUP_CIP_SEQ   0x80
 
#define GSM48_IE_CIP_MODE_SET   0x90
 
#define GSM48_IE_GPRS_RESUMPT   0xc0
 
#define GSM48_IE_SYNC_IND   0xd0
 
#define GSM48_IE_CBCH_CHAN_DESC   0x64
 
#define GSM48_IE_CBCH_MOB_AL   0x72
 
#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
 
#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_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_DATA_14k5 = 0x0f, GSM48_CMODE_DATA_12k0 = 0x03, GSM48_CMODE_DATA_6k0 = 0x0b, GSM48_CMODE_DATA_3k6 = 0x13
}
 
enum  gsm48_dtx_mode { GSM48_DTX_MAY_BE_USED, GSM48_DTX_SHALL_BE_USED, GSM48_DTX_SHALL_NOT_BE_USED }
 
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_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_HNDOVER_IMP = 0x08, GSM48_RR_CAUSE_CHAN_MODE_UNACCT = 0x09,
  GSM48_RR_CAUSE_FREQ_NOT_IMPL = 0x0a, 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_NETWORK_FAILURE = 17, GSM48_REJECT_SYNCH_FAILURE = 21, GSM48_REJECT_CONGESTION = 22, 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
}
 
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_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
}
 
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 gsm48_hdr_gmm_cipherable (const struct gsm48_hdr *hdr)
 
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)
 
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)
 
const char * gsm48_pdisc_msgtype_name (uint8_t pdisc, uint8_t msg_type)
 

Variables

uint8_t pwr_lev
 
uint8_t a5_1
 
uint8_t es_ind
 
uint8_t rev_lev
 
uint8_t spare
 
uint8_t fc
 
uint8_t vgcs
 
uint8_t vbs
 
uint8_t sm_cap
 
uint8_t ss_scr
 
uint8_t ps_cap
 
uint8_t spare2
 
uint8_t a5_2
 
uint8_t a5_3
 
uint8_t cmsp
 
uint8_t solsa
 
uint8_t spare3
 
uint8_t lcsva_cap
 
uint8_t spare4
 
uint8_t cm3
 
uint8_t form_id
 
uint8_t f0
 
uint8_t w1_hi
 
uint8_t w1_lo
 
uint8_t w2_hi
 
uint8_t w2_lo
 
uint8_t w3_hi
 
uint8_t w3_lo
 
uint8_t w4_hi
 
uint8_t w4_lo
 
uint8_t w5_hi
 
uint8_t w5_lo
 
uint8_t w6_hi
 
uint8_t w6_lo
 
uint8_t w7_hi
 
uint8_t w7_lo
 
uint8_t w8_hi
 
uint8_t w8_lo
 
uint8_t w9
 
uint8_t w10
 
uint8_t w11_hi
 
uint8_t w11_lo
 
uint8_t w12_hi
 
uint8_t w12_lo
 
uint8_t w13_hi
 
uint8_t w13_lo
 
uint8_t w14_hi
 
uint8_t w14_lo
 
uint8_t w15_hi
 
uint8_t w15_lo
 
uint8_t w16
 
uint8_t orig_arfcn_hi
 
uint8_t orig_arfcn_mid
 
uint8_t orig_arfcn_lo
 
uint8_t w5
 
uint8_t w6
 
uint8_t w9_hi
 
uint8_t w9_lo
 
uint8_t w11
 
uint8_t w14
 
uint8_t w15
 
uint8_t w16_hi
 
uint8_t w16_lo
 
uint8_t w17
 
uint8_t w2
 
uint8_t w3
 
uint8_t w7
 
uint8_t w12
 
uint8_t w13
 
uint8_t w18_hi
 
uint8_t w18_lo
 
uint8_t w19
 
uint8_t w20_hi
 
uint8_t w20_lo
 
uint8_t w21
 
uint8_t w1
 
uint8_t w8
 
uint8_t w20
 
uint8_t w21_hi
 
uint8_t w21_lo
 
uint8_t w22
 
uint8_t w23
 
uint8_t w24
 
uint8_t w25
 
uint8_t w26_hi
 
uint8_t w26_lo
 
uint8_t w27
 
uint8_t w28
 
uint8_t rrfcn1_7
 
uint8_t rrfcn8_111 [13]
 
uint8_t maio_high
 
uint8_t h
 
uint8_t tsc
 
uint8_t hsn
 
uint8_t maio_low
 
uint8_t arfcn_high
 
uint8_t arfcn_low
 
uint8_t chan_nr
 
uint8_t rxlev_full
 
uint8_t dtx_used
 
uint8_t ba_used
 
uint8_t rxlev_sub
 
uint8_t meas_valid
 
uint8_t no_nc_n_hi
 
uint8_t rxqual_sub
 
uint8_t rxqual_full
 
uint8_t rxlev_nc1
 
uint8_t no_nc_n_lo
 
uint8_t bsic_nc1_hi
 
uint8_t bcch_f_nc1
 
uint8_t rxlev_nc2_hi
 
uint8_t bsic_nc1_lo
 
uint8_t bsic_nc2_hi
 
uint8_t bcch_f_nc2
 
uint8_t rxlev_nc2_lo
 
uint8_t rxlev_nc3_hi
 
uint8_t bsic_nc2_lo
 
uint8_t bsic_nc3_hi
 
uint8_t bcch_f_nc3
 
uint8_t rxlev_nc3_lo
 
uint8_t rxlev_nc4_hi
 
uint8_t bsic_nc3_lo
 
uint8_t bcch_f_nc4
 
uint8_t rxlev_nc4_lo
 
uint8_t rxlev_nc5_hi
 
uint8_t bsic_nc4
 
uint8_t bcch_f_nc5_hi
 
uint8_t rxlev_nc5_lo
 
uint8_t rxlev_nc6_hi
 
uint8_t bsic_nc5
 
uint8_t bcch_f_nc5_lo
 
uint8_t bcch_f_nc6_hi
 
uint8_t rxlev_nc6_lo
 
uint8_t bsic_nc6
 
uint8_t bcch_f_nc6_lo
 
uint8_t smod
 
uint8_t icmi
 
uint8_t nscb
 
uint8_t ver
 
uint8_t m4_75
 
uint8_t m5_15
 
uint8_t m5_90
 
uint8_t m6_70
 
uint8_t m7_40
 
uint8_t m7_95
 
uint8_t m10_2
 
uint8_t m12_2
 
uint8_t power_level
 
uint8_t atc
 
uint8_t re
 
uint8_t cell_bar
 
uint8_t tx_integer
 
uint8_t max_trans
 
uint8_t t2
 
uint8_t t3
 
uint8_t ra
 
uint8_t t3_high
 
uint8_t t1
 
uint8_t t3_low
 
uint8_t si
 
uint8_t rot
 
uint8_t nci
 
uint8_t sync_ie
 
struct gsm48_chan_desc chan_desc
 
uint8_t mode
 
enum gsm48_chan_mode __attribute__
 
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]
 
uint8_t bcc
 
uint8_t ncc
 
uint8_t arfcn_hi
 
uint8_t arfcn_lo
 
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 key_seq
 
uint32_t classmark2
 
uint8_t mi_len
 
uint8_t mi [0]
 
uint8_t digits [3]
 
uint16_t lac
 
uint8_t rand [16]
 
uint8_t sres [4]
 
uint8_t type
 
struct gsm48_loc_area_id lai
 
struct gsm48_classmark1 classmark1
 
uint8_t rr_protocol_discriminator
 
uint8_t skip_indicator
 
uint8_t system_information
 
uint8_t ms_txpwr_max_ccch
 
uint8_t cell_resel_hyst
 
uint8_t rxlev_acc_min
 
uint8_t neci
 
uint8_t acs
 
uint8_t ccch_conf
 
uint8_t bs_ag_blks_res
 
uint8_t att
 
uint8_t mscr
 
uint8_t bs_pa_mfrms
 
uint8_t spare_1
 
uint8_t cbq3
 
uint8_t spare_2
 
uint8_t t3212
 
uint8_t radio_link_timeout
 
uint8_t dtx
 
uint8_t pwrc
 
uint8_t d
 
uint8_t cm_service_type
 
uint8_t cipher_key_seq
 
uint32_t classmark
 
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_control_channel_descr control_channel_desc
 
struct gsm48_cell_options cell_options
 
struct gsm48_cell_sel_par cell_sel_par
 
uint8_t rr_cause
 
uint8_t sc
 
uint8_t alg_id
 
uint8_t cr
 
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]
 
uint8_t pag_mode
 
uint8_t cneed1
 
uint8_t cneed2
 
uint32_t tmsi1
 
uint32_t tmsi2
 
uint32_t tmsi3
 
uint32_t tmsi4
 
uint8_t cneed3
 
uint8_t cneed4
 
const struct value_string gsm48_pdisc_names []
 
const struct value_string gsm48_rr_msgtype_names []
 
const struct value_string gsm48_mm_msgtype_names []
 
const struct value_string gsm48_cc_msgtype_names []
 
uint8_t rac
 

Detailed Description

GSM TS 04.08 definitions.

Macro Definition Documentation

◆ ALL_STATES

#define ALL_STATES   0xffffffff

◆ GSM48_CAUSE_CS_GSM

#define GSM48_CAUSE_CS_GSM   0x60

◆ GSM48_CELL_CHAN_DESC_SIZE

#define GSM48_CELL_CHAN_DESC_SIZE   16

◆ GSM48_CMSERV_EMERGENCY

#define GSM48_CMSERV_EMERGENCY   2

◆ GSM48_CMSERV_LOC_SERV

#define GSM48_CMSERV_LOC_SERV   11

◆ GSM48_CMSERV_MO_CALL_PACKET

#define GSM48_CMSERV_MO_CALL_PACKET   1

◆ GSM48_CMSERV_SMS

#define GSM48_CMSERV_SMS   4

◆ GSM48_CMSERV_SUP_SERV

#define GSM48_CMSERV_SUP_SERV   8

◆ GSM48_CMSERV_VBS

#define GSM48_CMSERV_VBS   10

◆ GSM48_CMSERV_VGCS

#define GSM48_CMSERV_VGCS   9

◆ 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_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

◆ 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_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

◆ GSM48_IE_GROUP_CHDES

#define GSM48_IE_GROUP_CHDES   0x74

◆ GSM48_IE_GROUP_CIP_SEQ

#define GSM48_IE_GROUP_CIP_SEQ   0x80

◆ GSM48_IE_HIGHL_COMPAT

#define GSM48_IE_HIGHL_COMPAT   0x7d /* 10.5.4.16 */

◆ 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

◆ 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

◆ 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_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_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_2bis

#define GSM48_MT_RR_SYSINFO_2bis   0x02

◆ 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_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_PDISC_USSD

#define GSM48_PDISC_USSD   0x11

◆ 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

Enumerator
GSM48_BCAP_CODING_GSM_STD 

◆ gsm48_bcap_interm_rate

Enumerator
GSM48_BCAP_IR_8k 
GSM48_BCAP_IR_16k 

◆ 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

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_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

Enumerator
GSM48_BCAP_RA_NONE 
GSM48_BCAP_RA_V110_X30 
GSM48_BCAP_RA_X31 
GSM48_BCAP_RA_OTHER 

◆ gsm48_bcap_rrq

Enumerator
GSM48_BCAP_RRQ_FR_ONLY 
GSM48_BCAP_RRQ_DUAL_HR 
GSM48_BCAP_RRQ_DUAL_FR 

◆ 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

GSM 04.08 Bearer Capability: Speech Version Indication (See also 3GPP TS 24.008, Table 10.5.103)

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

Enumerator
GSM48_BCAP_TMOD_CIRCUIT 
GSM48_BCAP_TMOD_PACKET 

◆ 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

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_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

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

Enumerator
GSM48_CMODE_SIGN 
GSM48_CMODE_SPEECH_V1 
GSM48_CMODE_SPEECH_EFR 
GSM48_CMODE_SPEECH_AMR 
GSM48_CMODE_DATA_14k5 
GSM48_CMODE_DATA_12k0 
GSM48_CMODE_DATA_6k0 
GSM48_CMODE_DATA_3k6 

◆ gsm48_dtx_mode

Enumerator
GSM48_DTX_MAY_BE_USED 
GSM48_DTX_SHALL_BE_USED 
GSM48_DTX_SHALL_NOT_BE_USED 

◆ 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_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_NETWORK_FAILURE 
GSM48_REJECT_SYNCH_FAILURE 
GSM48_REJECT_CONGESTION 
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_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_HNDOVER_IMP 
GSM48_RR_CAUSE_CHAN_MODE_UNACCT 
GSM48_RR_CAUSE_FREQ_NOT_IMPL 
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

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

Enumerator
GSM48_TON_UNKNOWN 
GSM48_TON_INTERNATIONAL 
GSM48_TON_NATIONAL 
GSM48_TON_NET_SPEC 
GSM48_TON_SHORT_CODE 

Function Documentation

◆ __attribute__()

struct gsm48_classmark1 __attribute__ ( (packed)  )

◆ gsm48_hdr_gmm_cipherable()

bool gsm48_hdr_gmm_cipherable ( const struct gsm48_hdr hdr)

◆ gsm48_hdr_msg_type_r98()

static uint8_t gsm48_hdr_msg_type_r98 ( const struct gsm48_hdr hdr)
inlinestatic

◆ gsm48_hdr_msg_type_r99()

static uint8_t gsm48_hdr_msg_type_r99 ( const struct gsm48_hdr hdr)
inlinestatic

◆ gsm48_hdr_pdisc()

static uint8_t gsm48_hdr_pdisc ( const struct gsm48_hdr hdr)
inlinestatic

◆ gsm48_hdr_trans_id()

static uint8_t gsm48_hdr_trans_id ( const struct gsm48_hdr hdr)
inlinestatic

◆ gsm48_hdr_trans_id_flip_ti()

static uint8_t gsm48_hdr_trans_id_flip_ti ( const struct gsm48_hdr hdr)
inlinestatic

References gsm48_hdr_trans_id().

◆ gsm48_hdr_trans_id_no_ti()

static uint8_t gsm48_hdr_trans_id_no_ti ( const struct gsm48_hdr hdr)
inlinestatic

References gsm48_hdr_trans_id().

◆ gsm48_pdisc_msgtype_name()

const char* gsm48_pdisc_msgtype_name ( uint8_t  pdisc,
uint8_t  msg_type 
)

◆ gsm48_set_dtx()

void gsm48_set_dtx ( struct gsm48_cell_options op,
enum gsm48_dtx_mode  full,
enum gsm48_dtx_mode  half,
bool  is_bcch 
)

◆ gsm48_ta_is_valid()

static bool gsm48_ta_is_valid ( uint8_t  ta)
inlinestatic

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

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

Variable Documentation

◆ __attribute__

enum gsm48_type_of_number __attribute__

◆ a5_1

uint8_t a5_1

◆ a5_2

uint8_t a5_2

◆ a5_3

uint8_t a5_3

◆ acs

uint8_t acs

◆ alg_id

uint8_t alg_id

◆ arfcn_hi

uint8_t arfcn_hi

◆ arfcn_high

uint8_t arfcn_high

◆ arfcn_lo

uint8_t arfcn_lo

◆ arfcn_low

uint8_t arfcn_low

◆ atc

uint8_t atc

◆ att

uint8_t att

◆ ba_used

uint8_t ba_used

◆ bcc

uint8_t bcc

◆ bcch_f_nc1

uint8_t bcch_f_nc1

◆ bcch_f_nc2

uint8_t bcch_f_nc2

◆ bcch_f_nc3

uint8_t bcch_f_nc3

◆ bcch_f_nc4

uint8_t bcch_f_nc4

◆ bcch_f_nc5_hi

uint8_t bcch_f_nc5_hi

◆ bcch_f_nc5_lo

uint8_t bcch_f_nc5_lo

◆ bcch_f_nc6_hi

uint8_t bcch_f_nc6_hi

◆ bcch_f_nc6_lo

uint8_t bcch_f_nc6_lo

◆ bcch_frequency_list

uint8_t bcch_frequency_list

◆ bs_ag_blks_res

uint8_t bs_ag_blks_res

◆ bs_pa_mfrms

uint8_t bs_pa_mfrms

◆ bsic_nc1_hi

uint8_t bsic_nc1_hi

◆ bsic_nc1_lo

uint8_t bsic_nc1_lo

◆ bsic_nc2_hi

uint8_t bsic_nc2_hi

◆ bsic_nc2_lo

uint8_t bsic_nc2_lo

◆ bsic_nc3_hi

uint8_t bsic_nc3_hi

◆ bsic_nc3_lo

uint8_t bsic_nc3_lo

◆ bsic_nc4

uint8_t bsic_nc4

◆ bsic_nc5

uint8_t bsic_nc5

◆ bsic_nc6

uint8_t bsic_nc6

◆ cause

uint8_t cause

◆ cbq3

uint8_t cbq3

◆ ccch_conf

uint8_t ccch_conf

◆ cell_bar

uint8_t cell_bar

◆ 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_resel_hyst

uint8_t cell_resel_hyst

◆ cell_sel_par

struct gsm48_cell_sel_par cell_sel_par

◆ chan_desc

struct gsm48_chan_desc chan_desc

◆ chan_desc1

struct gsm48_chan_desc chan_desc1

◆ chan_desc2

struct gsm48_chan_desc chan_desc2

◆ chan_nr

uint8_t chan_nr

◆ cipher_key_seq

uint8_t cipher_key_seq

◆ classmark

uint32_t classmark

◆ classmark1

struct gsm48_classmark1 classmark1

◆ classmark2

uint32_t classmark2

◆ cm2

struct gsm48_classmark2 cm2

◆ cm2_len

uint8_t cm2_len

◆ cm3

uint8_t cm3

◆ cm_service_type

uint8_t cm_service_type

◆ cmsp

uint8_t cmsp

◆ cneed1

uint8_t cneed1

◆ cneed2

uint8_t cneed2

◆ cneed3

uint8_t cneed3

◆ cneed4

uint8_t cneed4

◆ control_channel_desc

struct gsm48_control_channel_descr control_channel_desc

◆ cr

uint8_t cr

◆ d

uint8_t d

◆ data

uint8_t data

◆ digits

uint8_t digits

◆ dtx

uint8_t dtx

◆ dtx_used

uint8_t dtx_used

◆ es_ind

uint8_t es_ind

◆ ext_bcch_frequency_list

uint8_t ext_bcch_frequency_list[16]

◆ f0

uint8_t f0

◆ fc

uint8_t fc

◆ form_id

uint8_t form_id

◆ gsm48_cc_msgtype_names

const struct value_string gsm48_cc_msgtype_names[]

◆ gsm48_chan_mode_names

const struct value_string gsm48_chan_mode_names[]

◆ gsm48_mm_msgtype_names

const struct value_string gsm48_mm_msgtype_names[]

◆ gsm48_pdisc_names

const struct value_string gsm48_pdisc_names[]

◆ gsm48_rr_msgtype_names

const struct value_string gsm48_rr_msgtype_names[]

◆ h

uint8_t h

◆ header

◆ ho_ref

uint8_t ho_ref

◆ hsn

uint8_t hsn

◆ icmi

uint8_t icmi

◆ key_seq

uint8_t key_seq

◆ l2_plen

uint8_t l2_plen

◆ lac

uint16_t lac

◆ lai

struct gsm48_loc_area_id lai

◆ lcsva_cap

uint8_t lcsva_cap

◆ m10_2

uint8_t m10_2

◆ m12_2

uint8_t m12_2

◆ m4_75

uint8_t m4_75

◆ m5_15

uint8_t m5_15

◆ m5_90

uint8_t m5_90

◆ m6_70

uint8_t m6_70

◆ m7_40

uint8_t m7_40

◆ m7_95

uint8_t m7_95

◆ maio_high

uint8_t maio_high

◆ maio_low

uint8_t maio_low

◆ max_trans

uint8_t max_trans

◆ meas_valid

uint8_t meas_valid

◆ mi

uint8_t mi

◆ mi_len

uint8_t mi_len

◆ mob_alloc

uint8_t mob_alloc

◆ mob_alloc_len

uint8_t mob_alloc_len

◆ mode

uint8_t mode

◆ ms_txpwr_max_ccch

uint8_t ms_txpwr_max_ccch

◆ mscr

uint8_t mscr

◆ msg_type

uint8_t msg_type

◆ ncc

uint8_t ncc

◆ ncc_permitted

uint8_t ncc_permitted

◆ nci

uint8_t nci

◆ neci

uint8_t neci

◆ no_nc_n_hi

uint8_t no_nc_n_hi

◆ no_nc_n_lo

uint8_t no_nc_n_lo

◆ nscb

uint8_t nscb

◆ options

uint8_t options[0]

◆ orig_arfcn_hi

uint8_t orig_arfcn_hi

◆ orig_arfcn_lo

uint8_t orig_arfcn_lo

◆ orig_arfcn_mid

uint8_t orig_arfcn_mid

◆ pag_mode

uint8_t pag_mode

◆ page_mode

uint8_t page_mode

◆ power_command

uint8_t power_command

◆ power_level

uint8_t power_level

◆ proto_discr

uint8_t proto_discr

◆ ps_cap

uint8_t ps_cap

◆ pwr_lev

uint8_t pwr_lev

◆ pwrc

uint8_t pwrc

◆ ra

uint8_t ra

◆ ra_id

uint8_t ra_id[6]

◆ rac

uint8_t rac

◆ rach_control

struct gsm48_rach_control rach_control

◆ radio_link_timeout

uint8_t radio_link_timeout

◆ rand

uint8_t rand[16]

◆ re

uint8_t re

◆ req_ref

struct gsm48_req_ref req_ref

◆ 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

◆ rest_octets

uint8_t rest_octets

◆ rev_lev

uint8_t rev_lev

◆ rot

uint8_t rot

◆ rr_cause

uint8_t rr_cause

◆ rr_protocol_discriminator

uint8_t rr_protocol_discriminator

◆ rrfcn1_7

uint8_t rrfcn1_7

◆ rrfcn8_111

uint8_t rrfcn8_111[13]

◆ rxlev_acc_min

uint8_t rxlev_acc_min

◆ rxlev_full

uint8_t rxlev_full

◆ rxlev_nc1

uint8_t rxlev_nc1

◆ rxlev_nc2_hi

uint8_t rxlev_nc2_hi

◆ rxlev_nc2_lo

uint8_t rxlev_nc2_lo

◆ rxlev_nc3_hi

uint8_t rxlev_nc3_hi

◆ rxlev_nc3_lo

uint8_t rxlev_nc3_lo

◆ rxlev_nc4_hi

uint8_t rxlev_nc4_hi

◆ rxlev_nc4_lo

uint8_t rxlev_nc4_lo

◆ rxlev_nc5_hi

uint8_t rxlev_nc5_hi

◆ rxlev_nc5_lo

uint8_t rxlev_nc5_lo

◆ rxlev_nc6_hi

uint8_t rxlev_nc6_hi

◆ rxlev_nc6_lo

uint8_t rxlev_nc6_lo

◆ rxlev_sub

uint8_t rxlev_sub

◆ rxqual_full

uint8_t rxqual_full

◆ rxqual_sub

uint8_t rxqual_sub

◆ sc

uint8_t sc

◆ si

uint8_t si

◆ skip_indicator

uint8_t skip_indicator

◆ sm_cap

uint8_t sm_cap

◆ smod

uint8_t smod

◆ solsa

uint8_t solsa

◆ spare

uint8_t spare

◆ spare2

uint8_t spare2

◆ spare3

uint8_t spare3

◆ spare4

uint8_t spare4

◆ spare_1

uint8_t spare_1

◆ spare_2

uint8_t spare_2

◆ sres

uint8_t sres[4]

◆ ss_scr

uint8_t ss_scr

◆ sync_ie

uint8_t sync_ie

◆ system_information

uint8_t system_information

◆ t1

uint8_t t1

Referenced by osmo_a5_fn_count().

◆ t2

uint8_t t2

Referenced by osmo_a5_fn_count().

◆ t3

uint8_t t3

Referenced by osmo_a5_fn_count().

◆ t3212

uint8_t t3212

◆ t3_high

uint8_t t3_high

◆ t3_low

uint8_t t3_low

◆ timing_advance

uint8_t timing_advance

◆ timing_advance1

uint8_t timing_advance1

◆ timing_advance2

uint8_t timing_advance2

◆ tlli

uint32_t tlli

◆ tmsi1

uint32_t tmsi1

◆ tmsi2

uint32_t tmsi2

◆ tmsi3

uint32_t tmsi3

◆ tmsi4

uint32_t tmsi4

◆ tsc

uint8_t tsc

◆ tx_integer

uint8_t tx_integer

◆ type

◆ vbs

uint8_t vbs

◆ ver

uint8_t ver

◆ vgcs

uint8_t vgcs

◆ w1

uint8_t w1

◆ w10

uint8_t w10

◆ w11

uint8_t w11

◆ w11_hi

uint8_t w11_hi

◆ w11_lo

uint8_t w11_lo

◆ w12

uint8_t w12

◆ w12_hi

uint8_t w12_hi

◆ w12_lo

uint8_t w12_lo

◆ w13

uint8_t w13

◆ w13_hi

uint8_t w13_hi

◆ w13_lo

uint8_t w13_lo

◆ w14

uint8_t w14

◆ w14_hi

uint8_t w14_hi

◆ w14_lo

uint8_t w14_lo

◆ w15

uint8_t w15

◆ w15_hi

uint8_t w15_hi

◆ w15_lo

uint8_t w15_lo

◆ w16

uint8_t w16

◆ w16_hi

uint8_t w16_hi

◆ w16_lo

uint8_t w16_lo

◆ w17

uint8_t w17

◆ w18_hi

uint8_t w18_hi

◆ w18_lo

uint8_t w18_lo

◆ w19

uint8_t w19

◆ w1_hi

uint8_t w1_hi

◆ w1_lo

uint8_t w1_lo

◆ w2

uint8_t w2

◆ w20

uint8_t w20

◆ w20_hi

uint8_t w20_hi

◆ w20_lo

uint8_t w20_lo

◆ w21

uint8_t w21

◆ w21_hi

uint8_t w21_hi

◆ w21_lo

uint8_t w21_lo

◆ w22

uint8_t w22

◆ w23

uint8_t w23

◆ w24

uint8_t w24

◆ w25

uint8_t w25

◆ w26_hi

uint8_t w26_hi

◆ w26_lo

uint8_t w26_lo

◆ w27

uint8_t w27

◆ w28

uint8_t w28

◆ w2_hi

uint8_t w2_hi

◆ w2_lo

uint8_t w2_lo

◆ w3

uint8_t w3

◆ w3_hi

uint8_t w3_hi

◆ w3_lo

uint8_t w3_lo

◆ w4_hi

uint8_t w4_hi

◆ w4_lo

uint8_t w4_lo

◆ w5

uint8_t w5

◆ w5_hi

uint8_t w5_hi

◆ w5_lo

uint8_t w5_lo

◆ w6

uint8_t w6

◆ w6_hi

uint8_t w6_hi

◆ w6_lo

uint8_t w6_lo

◆ w7

uint8_t w7

◆ w7_hi

uint8_t w7_hi

◆ w7_lo

uint8_t w7_lo

◆ w8

uint8_t w8

◆ w8_hi

uint8_t w8_hi

◆ w8_lo

uint8_t w8_lo

◆ w9

uint8_t w9

◆ w9_hi

uint8_t w9_hi

◆ w9_lo

uint8_t w9_lo

◆ wait_ind1

uint8_t wait_ind1

◆ wait_ind2

uint8_t wait_ind2

◆ wait_ind3

uint8_t wait_ind3

◆ wait_ind4

uint8_t wait_ind4