libosmogsm 1.9.0.196-9975
Osmocom GSM library
gsm_04_08_gprs.h File Reference
#include <stdint.h>
#include <stdbool.h>
#include <osmocom/gsm/protocol/gsm_04_08.h>
#include <osmocom/crypt/gprs_cipher.h>
#include <osmocom/core/endian.h>

Go to the source code of this file.

Data Structures

struct  gsm48_ra_upd_ack
 
struct  gsm48_attach_ack
 
struct  gsm48_auth_ciph_req
 
struct  gsm48_auth_ciph_resp
 
struct  gsm48_act_pdp_ctx_req
 
struct  gsm48_pdp_address
 
struct  gsm48_qos
 

Macros

#define GSM48_MT_GMM_ATTACH_REQ   0x01
 
#define GSM48_MT_GMM_ATTACH_ACK   0x02
 
#define GSM48_MT_GMM_ATTACH_COMPL   0x03
 
#define GSM48_MT_GMM_ATTACH_REJ   0x04
 
#define GSM48_MT_GMM_DETACH_REQ   0x05
 
#define GSM48_MT_GMM_DETACH_ACK   0x06
 
#define GSM48_MT_GMM_RA_UPD_REQ   0x08
 
#define GSM48_MT_GMM_RA_UPD_ACK   0x09
 
#define GSM48_MT_GMM_RA_UPD_COMPL   0x0a
 
#define GSM48_MT_GMM_RA_UPD_REJ   0x0b
 
#define GSM48_MT_GMM_PTMSI_REALL_CMD   0x10
 
#define GSM48_MT_GMM_PTMSI_REALL_COMPL   0x11
 
#define GSM48_MT_GMM_AUTH_CIPH_REQ   0x12
 
#define GSM48_MT_GMM_AUTH_CIPH_RESP   0x13
 
#define GSM48_MT_GMM_AUTH_CIPH_REJ   0x14
 
#define GSM48_MT_GMM_AUTH_CIPH_FAIL   0x1C
 
#define GSM48_MT_GMM_ID_REQ   0x15
 
#define GSM48_MT_GMM_ID_RESP   0x16
 
#define GSM48_MT_GMM_STATUS   0x20
 
#define GSM48_MT_GMM_INFO   0x21
 
#define GSM48_MT_GSM_ACT_PDP_REQ   0x41
 
#define GSM48_MT_GSM_ACT_PDP_ACK   0x42
 
#define GSM48_MT_GSM_ACT_PDP_REJ   0x43
 
#define GSM48_MT_GSM_REQ_PDP_ACT   0x44
 
#define GSM48_MT_GSM_REQ_PDP_ACT_REJ   0x45
 
#define GSM48_MT_GSM_DEACT_PDP_REQ   0x46
 
#define GSM48_MT_GSM_DEACT_PDP_ACK   0x47
 
#define GSM48_MT_GSM_ACT_AA_PDP_REQ   0x50
 
#define GSM48_MT_GSM_ACT_AA_PDP_ACK   0x51
 
#define GSM48_MT_GSM_ACT_AA_PDP_REJ   0x52
 
#define GSM48_MT_GSM_DEACT_AA_PDP_REQ   0x53
 
#define GSM48_MT_GSM_DEACT_AA_PDP_ACK   0x54
 
#define GSM48_MT_GSM_STATUS   0x55
 
#define GPRS_ATT_T_ATTACH   1
 
#define GPRS_ATT_T_ATT_WHILE_IMSI   2
 
#define GPRS_ATT_T_COMBINED   3
 
#define GPRS_DET_T_MO_GPRS   1
 
#define GPRS_DET_T_MO_IMSI   2
 
#define GPRS_DET_T_MO_COMBINED   3
 
#define GPRS_DET_T_MT_REATT_REQ   1
 
#define GPRS_DET_T_MT_REATT_NOTREQ   2
 
#define GPRS_DET_T_MT_IMSI   3
 
#define GPRS_UPD_T_RA   0
 
#define GPRS_UPD_T_RA_LA   1
 
#define GPRS_UPD_T_RA_LA_IMSI_ATT   2
 
#define GPRS_UPD_T_PERIODIC   3
 
#define GSM48_MT_GMM_SERVICE_REQ   0x0c
 
#define GSM48_MT_GMM_SERVICE_ACK   0x0d
 
#define GSM48_MT_GMM_SERVICE_REJ   0x0e
 
#define GPRS_TMR_UNIT_MASK   (7 << 5)
 
#define GPRS_TMR_FACT_MASK   ((1 << 5)-1)
 

Enumerations

enum  gsm48_gprs_ie_mm {
  GSM48_IE_GMM_CIPH_CKSN = 0x08 ,
  GSM48_IE_GMM_PTMSI_TYPE = 0x0e ,
  GSM48_IE_GMM_TMSI_BASED_NRI_C = 0x10 ,
  GSM48_IE_GMM_TIMER_READY = 0x17 ,
  GSM48_IE_GMM_ALLOC_PTMSI = 0x18 ,
  GSM48_IE_GMM_PTMSI_SIG = 0x19 ,
  GSM48_IE_GMM_AUTH_RAND = 0x21 ,
  GSM48_IE_GMM_AUTH_SRES = 0x22 ,
  GSM48_IE_GMM_IMEISV = 0x23 ,
  GSM48_IE_GMM_CAUSE = 0x25 ,
  GSM48_IE_GMM_RX_NPDU_NUM_LIST = 0x26 ,
  GSM48_IE_GMM_DRX_PARAM = 0x27 ,
  GSM48_IE_GMM_AUTN = 0x28 ,
  GSM48_IE_GMM_AUTH_RES_EXT = 0x29 ,
  GSM48_IE_GMM_TIMER_T3302 = 0x2A ,
  GSM48_IE_GMM_AUTH_FAIL_PAR = 0x30 ,
  GSM48_IE_GMM_MS_NET_CAPA = 0x31 ,
  GSM48_IE_GMM_PDP_CTX_STATUS = 0x32 ,
  GSM48_IE_GMM_PS_LCS_CAPA = 0x33 ,
  GSM48_IE_GMM_GMM_MBMS_CTX_ST = 0x35 ,
  GSM48_IE_GMM_TIMER_T3346 = 0x3A ,
  GSM48_IE_GMM_NET_FEAT_SUPPORT = 0xB0
}
 
enum  gsm48_gprs_ie_sm {
  GSM48_IE_GSM_RADIO_PRIO = 0x08 ,
  GSM48_IE_GSM_DEV_PROP = 0x0C ,
  GSM48_IE_GSM_APN = 0x28 ,
  GSM48_IE_GSM_PROTO_CONF_OPT = 0x27 ,
  GSM48_IE_GSM_PDP_ADDR = 0x2b ,
  GSM48_IE_GSM_AA_TMR = 0x29 ,
  GSM48_IE_GSM_QOS = 0x30 ,
  GSM48_IE_GSM_TFT = 0x31 ,
  GSM48_IE_GSM_LLC_SAPI = 0x32 ,
  GSM48_IE_GSM_MBIFOM_CONT = 0x33 ,
  GSM48_IE_GSM_PFI = 0x34 ,
  GSM48_IE_GSM_NAME_FULL = 0x43 ,
  GSM48_IE_GSM_NAME_SHORT = 0x45 ,
  GSM48_IE_GSM_TIMEZONE = 0x46 ,
  GSM48_IE_GSM_UTC_AND_TZ = 0x47 ,
  GSM48_IE_GSM_LSA_ID = 0x48 ,
  GSM48_IE_GSM_EXT_QOS = 0x5C ,
  GSM48_IE_GSM_EXT_PROTO_CONF_OPT = 0x7B ,
  OSMO_IE_GSM_CHARG_CHAR = 0xfc ,
  OSMO_IE_GSM_REQ_QOS = 0xfd ,
  OSMO_IE_GSM_REQ_PDP_ADDR = 0xfe ,
  OSMO_IE_GSM_SUB_QOS = 0xff
}
 
enum  gsm48_gprs_tmr_unit {
  GPRS_TMR_2SECONDS = 0 << 5 ,
  GPRS_TMR_MINUTE = 1 << 5 ,
  GPRS_TMR_6MINUTE = 2 << 5 ,
  GPRS_TMR_DEACTIVATED = 7 << 5
}
 
enum  gsm48_gmm_cause {
  GMM_CAUSE_IMSI_UNKNOWN = 0x02 ,
  GMM_CAUSE_ILLEGAL_MS = 0x03 ,
  GMM_CAUSE_IMEI_NOT_ACCEPTED = 0x05 ,
  GMM_CAUSE_ILLEGAL_ME = 0x06 ,
  GMM_CAUSE_GPRS_NOTALLOWED = 0x07 ,
  GMM_CAUSE_GPRS_OTHER_NOTALLOWED = 0x08 ,
  GMM_CAUSE_MS_ID_NOT_DERIVED = 0x09 ,
  GMM_CAUSE_IMPL_DETACHED = 0x0a ,
  GMM_CAUSE_PLMN_NOTALLOWED = 0x0b ,
  GMM_CAUSE_LA_NOTALLOWED = 0x0c ,
  GMM_CAUSE_ROAMING_NOTALLOWED = 0x0d ,
  GMM_CAUSE_NO_GPRS_PLMN = 0x0e ,
  GMM_CAUSE_NO_SUIT_CELL_IN_LA = 0x0f ,
  GMM_CAUSE_MSC_TEMP_NOTREACH = 0x10 ,
  GMM_CAUSE_NET_FAIL = 0x11 ,
  GMM_CAUSE_MAC_FAIL = 0x14 ,
  GMM_CAUSE_SYNC_FAIL = 0x15 ,
  GMM_CAUSE_CONGESTION = 0x16 ,
  GMM_CAUSE_GSM_AUTH_UNACCEPT = 0x17 ,
  GMM_CAUSE_NOT_AUTH_FOR_CSG = 0x19 ,
  GMM_CAUSE_SMS_VIA_GPRS_IN_RA = 0x1c ,
  GMM_CAUSE_NO_PDP_ACTIVATED = 0x28 ,
  GMM_CAUSE_SEM_INCORR_MSG = 0x5f ,
  GMM_CAUSE_INV_MAND_INFO = 0x60 ,
  GMM_CAUSE_MSGT_NOTEXIST_NOTIMPL = 0x61 ,
  GMM_CAUSE_MSGT_INCOMP_P_STATE = 0x62 ,
  GMM_CAUSE_IE_NOTEXIST_NOTIMPL = 0x63 ,
  GMM_CAUSE_COND_IE_ERR = 0x64 ,
  GMM_CAUSE_MSG_INCOMP_P_STATE = 0x65 ,
  GMM_CAUSE_PROTO_ERR_UNSPEC = 0x6f
}
 
enum  gsm48_gsm_cause {
  GSM_CAUSE_OPER_DET_BARR = 0x08 ,
  GSM_CAUSE_MBMS_CAP_INSUF = 0x18 ,
  GSM_CAUSE_LLC_SNDCP_FAIL = 0x19 ,
  GSM_CAUSE_INSUFF_RSRC = 0x1a ,
  GSM_CAUSE_MISSING_APN = 0x1b ,
  GSM_CAUSE_UNKNOWN_PDP = 0x1c ,
  GSM_CAUSE_AUTH_FAILED = 0x1d ,
  GSM_CAUSE_ACT_REJ_GGSN = 0x1e ,
  GSM_CAUSE_ACT_REJ_UNSPEC = 0x1f ,
  GSM_CAUSE_SERV_OPT_NOTSUPP = 0x20 ,
  GSM_CAUSE_REQ_SERV_OPT_NOTSUB = 0x21 ,
  GSM_CAUSE_SERV_OPT_TEMP_OOO = 0x22 ,
  GSM_CAUSE_NSAPI_IN_USE = 0x23 ,
  GSM_CAUSE_DEACT_REGULAR = 0x24 ,
  GSM_CAUSE_QOS_NOT_ACCEPTED = 0x25 ,
  GSM_CAUSE_NET_FAIL = 0x26 ,
  GSM_CAUSE_REACT_RQD = 0x27 ,
  GSM_CAUSE_FEATURE_NOTSUPP = 0x28 ,
  GSM_CAUSE_INVALID_TRANS_ID = 0x51 ,
  GSM_CAUSE_SEM_INCORR_MSG = 0x5f ,
  GSM_CAUSE_INV_MAND_INFO = 0x60 ,
  GSM_CAUSE_MSGT_NOTEXIST_NOTIMPL = 0x61 ,
  GSM_CAUSE_MSGT_INCOMP_P_STATE = 0x62 ,
  GSM_CAUSE_IE_NOTEXIST_NOTIMPL = 0x63 ,
  GSM_CAUSE_COND_IE_ERR = 0x64 ,
  GSM_CAUSE_MSG_INCOMP_P_STATE = 0x65 ,
  GSM_CAUSE_PROTO_ERR_UNSPEC = 0x6f
}
 
enum  gsm48_pdp_state {
  PDP_S_INACTIVE ,
  PDP_S_ACTIVE_PENDING ,
  PDP_S_ACTIVE ,
  PDP_S_INACTIVE_PENDING ,
  PDP_S_MODIFY_PENDING
}
 
enum  gsm48_pdp_type_org {
  PDP_TYPE_ORG_ETSI = 0x00 ,
  PDP_TYPE_ORG_IETF = 0x01 ,
  PDP_TYPE_ORG_EMPTY = 0x0f
}
 
enum  gsm48_pdp_type_nr {
  PDP_TYPE_N_ETSI_RESERVED = 0x00 ,
  PDP_TYPE_N_ETSI_PPP = 0x01 ,
  PDP_TYPE_N_IETF_IPv4 = 0x21 ,
  PDP_TYPE_N_IETF_IPv6 = 0x57 ,
  PDP_TYPE_N_IETF_IPv4v6 = 0x8D
}
 
enum  gsm48_qos_reliab_class {
  GSM48_QOS_RC_LLC_ACK_RLC_ACK_DATA_PROT = 2 ,
  GSM48_QOS_RC_LLC_UN_RLC_ACK_DATA_PROT = 3 ,
  GSM48_QOS_RC_LLC_UN_RLC_UN_PROT_DATA = 4 ,
  GSM48_QOS_RC_LLC_UN_RLC_UN_DATA_UN = 5
}
 
enum  gsm48_qos_preced_class {
  GSM48_QOS_PC_HIGH = 1 ,
  GSM48_QOS_PC_NORMAL = 2 ,
  GSM48_QOS_PC_LOW = 3
}
 
enum  gsm48_qos_peak_tput {
  GSM48_QOS_PEAK_TPUT_1000bps = 1 ,
  GSM48_QOS_PEAK_TPUT_2000bps = 2 ,
  GSM48_QOS_PEAK_TPUT_4000bps = 3 ,
  GSM48_QOS_PEAK_TPUT_8000bps = 4 ,
  GSM48_QOS_PEAK_TPUT_16000bps = 5 ,
  GSM48_QOS_PEAK_TPUT_32000bps = 6 ,
  GSM48_QOS_PEAK_TPUT_64000bps = 7 ,
  GSM48_QOS_PEAK_TPUT_128000bps = 8 ,
  GSM48_QOS_PEAK_TPUT_256000bps = 9
}
 
enum  gsm48_qos_mean_tput {
  GSM48_QOS_MEAN_TPUT_100bph = 1 ,
  GSM48_QOS_MEAN_TPUT_200bph = 2 ,
  GSM48_QOS_MEAN_TPUT_500bph = 3 ,
  GSM48_QOS_MEAN_TPUT_1000bph = 4 ,
  GSM48_QOS_MEAN_TPUT_2000bph = 5 ,
  GSM48_QOS_MEAN_TPUT_5000bph = 6 ,
  GSM48_QOS_MEAN_TPUT_10000bph = 7 ,
  GSM48_QOS_MEAN_TPUT_20000bph = 8 ,
  GSM48_QOS_MEAN_TPUT_50000bph = 9 ,
  GSM48_QOS_MEAN_TPUT_100kbph = 10 ,
  GSM48_QOS_MEAN_TPUT_200kbph = 11 ,
  GSM48_QOS_MEAN_TPUT_500kbph = 0xc ,
  GSM48_QOS_MEAN_TPUT_1Mbph = 0xd ,
  GSM48_QOS_MEAN_TPUT_2Mbph = 0xe ,
  GSM48_QOS_MEAN_TPUT_5Mbph = 0xf ,
  GSM48_QOS_MEAN_TPUT_10Mbph = 0x10 ,
  GSM48_QOS_MEAN_TPUT_20Mbph = 0x11 ,
  GSM48_QOS_MEAN_TPUT_50Mbph = 0x12 ,
  GSM48_QOS_MEAN_TPUT_BEST_EFFORT = 0x1f
}
 
enum  gsm48_qos_err_sdu {
  GSM48_QOS_ERRSDU_NODETECT = 1 ,
  GSM48_QOS_ERRSDU_YES = 2 ,
  GSM48_QOS_ERRSDU_NO = 3
}
 
enum  gsm48_qos_deliv_order {
  GSM48_QOS_DO_ORDERED = 1 ,
  GSM48_QOS_DO_UNORDERED = 2
}
 
enum  gsm48_qos_traf_class {
  GSM48_QOS_TC_CONVERSATIONAL = 1 ,
  GSM48_QOS_TC_STREAMING = 2 ,
  GSM48_QOS_TC_INTERACTIVE = 3 ,
  GSM48_QOS_TC_BACKGROUND = 4
}
 
enum  gsm48_qos_max_sdu_size {
  GSM48_QOS_MAXSDU_1502 = 0x97 ,
  GSM48_QOS_MAXSDU_1510 = 0x98 ,
  GSM48_QOS_MAXSDU_1520 = 0x99
}
 
enum  gsm48_qos_max_bitrate {
  GSM48_QOS_MBRATE_1k = 0x01 ,
  GSM48_QOS_MBRATE_63k = 0x3f ,
  GSM48_QOS_MBRATE_64k = 0x40 ,
  GSM48_QOS_MBRATE_568k = 0x7f ,
  GSM48_QOS_MBRATE_576k = 0x80 ,
  GSM48_QOS_MBRATE_8640k = 0xfe ,
  GSM48_QOS_MBRATE_0k = 0xff
}
 
enum  gsm48_qos_resid_ber {
  GSM48_QOS_RBER_5e_2 = 0x01 ,
  GSM48_QOS_RBER_1e_2 = 0x02 ,
  GSM48_QOS_RBER_5e_3 = 0x03 ,
  GSM48_QOS_RBER_4e_3 = 0x04 ,
  GSM48_QOS_RBER_1e_3 = 0x05 ,
  GSM48_QOS_RBER_1e_4 = 0x06 ,
  GSM48_QOS_RBER_1e_5 = 0x07 ,
  GSM48_QOS_RBER_1e_6 = 0x08 ,
  GSM48_QOS_RBER_6e_8 = 0x09
}
 
enum  gsm48_qos_sdu_err {
  GSM48_QOS_SERR_1e_2 = 0x01 ,
  GSM48_QOS_SERR_7e_2 = 0x02 ,
  GSM48_QOS_SERR_1e_3 = 0x03 ,
  GSM48_QOS_SERR_1e_4 = 0x04 ,
  GSM48_QOS_SERR_1e_5 = 0x05 ,
  GSM48_QOS_SERR_1e_6 = 0x06 ,
  GSM48_QOS_SERR_1e_1 = 0x07
}
 
enum  gsm48_gmm_service_type {
  GPRS_SERVICE_T_SIGNALLING = 0x00 ,
  GPRS_SERVICE_T_DATA = 0x01 ,
  GPRS_SERVICE_T_PAGING_RESP = 0x02 ,
  GPRS_SERVICE_T_MBMS_MC_SERV = 0x03 ,
  GPRS_SERVICE_T_MBMS_BC_SERV = 0x04
}
 

Functions

struct gsm48_ra_upd_ack __attribute__ ((packed))
 
bool gprs_ms_net_cap_gea_supported (const uint8_t *ms_net_cap, uint8_t cap_len, enum gprs_ciph_algo gea)
 Check if MS supports particular version of GEA by inspecting MS network capability IE specified in 3GPP TS 24.008. More...
 

Variables

const struct value_stringgprs_att_t_strs
 
const struct value_string gprs_msgt_gmm_names []
 String names of GMM message types. More...
 
const struct value_stringgprs_det_t_mo_strs
 
const struct value_stringgprs_det_t_mt_strs
 
const struct value_stringgprs_upd_t_strs
 
enum gsm48_gprs_tmr_unit __attribute__
 
uint8_t req_nsapi
 
uint8_t req_llc_sapi
 
uint8_t data [0]
 
const struct value_stringgsm48_gmm_cause_names
 
const struct value_stringgsm48_gsm_cause_names
 
uint32_t v4
 
uint8_t v6 [16]
 
uint8_t type
 
const struct value_stringgprs_service_t_strs
 

Macro Definition Documentation

◆ GPRS_ATT_T_ATT_WHILE_IMSI

#define GPRS_ATT_T_ATT_WHILE_IMSI   2

◆ GPRS_ATT_T_ATTACH

#define GPRS_ATT_T_ATTACH   1

◆ GPRS_ATT_T_COMBINED

#define GPRS_ATT_T_COMBINED   3

◆ GPRS_DET_T_MO_COMBINED

#define GPRS_DET_T_MO_COMBINED   3

◆ GPRS_DET_T_MO_GPRS

#define GPRS_DET_T_MO_GPRS   1

◆ GPRS_DET_T_MO_IMSI

#define GPRS_DET_T_MO_IMSI   2

◆ GPRS_DET_T_MT_IMSI

#define GPRS_DET_T_MT_IMSI   3

◆ GPRS_DET_T_MT_REATT_NOTREQ

#define GPRS_DET_T_MT_REATT_NOTREQ   2

◆ GPRS_DET_T_MT_REATT_REQ

#define GPRS_DET_T_MT_REATT_REQ   1

◆ GPRS_TMR_FACT_MASK

#define GPRS_TMR_FACT_MASK   ((1 << 5)-1)

◆ GPRS_TMR_UNIT_MASK

#define GPRS_TMR_UNIT_MASK   (7 << 5)

◆ GPRS_UPD_T_PERIODIC

#define GPRS_UPD_T_PERIODIC   3

◆ GPRS_UPD_T_RA

#define GPRS_UPD_T_RA   0

◆ GPRS_UPD_T_RA_LA

#define GPRS_UPD_T_RA_LA   1

◆ GPRS_UPD_T_RA_LA_IMSI_ATT

#define GPRS_UPD_T_RA_LA_IMSI_ATT   2

◆ GSM48_MT_GMM_ATTACH_ACK

#define GSM48_MT_GMM_ATTACH_ACK   0x02

◆ GSM48_MT_GMM_ATTACH_COMPL

#define GSM48_MT_GMM_ATTACH_COMPL   0x03

◆ GSM48_MT_GMM_ATTACH_REJ

#define GSM48_MT_GMM_ATTACH_REJ   0x04

◆ GSM48_MT_GMM_ATTACH_REQ

#define GSM48_MT_GMM_ATTACH_REQ   0x01

◆ GSM48_MT_GMM_AUTH_CIPH_FAIL

#define GSM48_MT_GMM_AUTH_CIPH_FAIL   0x1C

◆ GSM48_MT_GMM_AUTH_CIPH_REJ

#define GSM48_MT_GMM_AUTH_CIPH_REJ   0x14

◆ GSM48_MT_GMM_AUTH_CIPH_REQ

#define GSM48_MT_GMM_AUTH_CIPH_REQ   0x12

◆ GSM48_MT_GMM_AUTH_CIPH_RESP

#define GSM48_MT_GMM_AUTH_CIPH_RESP   0x13

◆ GSM48_MT_GMM_DETACH_ACK

#define GSM48_MT_GMM_DETACH_ACK   0x06

◆ GSM48_MT_GMM_DETACH_REQ

#define GSM48_MT_GMM_DETACH_REQ   0x05

◆ GSM48_MT_GMM_ID_REQ

#define GSM48_MT_GMM_ID_REQ   0x15

◆ GSM48_MT_GMM_ID_RESP

#define GSM48_MT_GMM_ID_RESP   0x16

◆ GSM48_MT_GMM_INFO

#define GSM48_MT_GMM_INFO   0x21

◆ GSM48_MT_GMM_PTMSI_REALL_CMD

#define GSM48_MT_GMM_PTMSI_REALL_CMD   0x10

◆ GSM48_MT_GMM_PTMSI_REALL_COMPL

#define GSM48_MT_GMM_PTMSI_REALL_COMPL   0x11

◆ GSM48_MT_GMM_RA_UPD_ACK

#define GSM48_MT_GMM_RA_UPD_ACK   0x09

◆ GSM48_MT_GMM_RA_UPD_COMPL

#define GSM48_MT_GMM_RA_UPD_COMPL   0x0a

◆ GSM48_MT_GMM_RA_UPD_REJ

#define GSM48_MT_GMM_RA_UPD_REJ   0x0b

◆ GSM48_MT_GMM_RA_UPD_REQ

#define GSM48_MT_GMM_RA_UPD_REQ   0x08

◆ GSM48_MT_GMM_SERVICE_ACK

#define GSM48_MT_GMM_SERVICE_ACK   0x0d

◆ GSM48_MT_GMM_SERVICE_REJ

#define GSM48_MT_GMM_SERVICE_REJ   0x0e

◆ GSM48_MT_GMM_SERVICE_REQ

#define GSM48_MT_GMM_SERVICE_REQ   0x0c

◆ GSM48_MT_GMM_STATUS

#define GSM48_MT_GMM_STATUS   0x20

◆ GSM48_MT_GSM_ACT_AA_PDP_ACK

#define GSM48_MT_GSM_ACT_AA_PDP_ACK   0x51

◆ GSM48_MT_GSM_ACT_AA_PDP_REJ

#define GSM48_MT_GSM_ACT_AA_PDP_REJ   0x52

◆ GSM48_MT_GSM_ACT_AA_PDP_REQ

#define GSM48_MT_GSM_ACT_AA_PDP_REQ   0x50

◆ GSM48_MT_GSM_ACT_PDP_ACK

#define GSM48_MT_GSM_ACT_PDP_ACK   0x42

◆ GSM48_MT_GSM_ACT_PDP_REJ

#define GSM48_MT_GSM_ACT_PDP_REJ   0x43

◆ GSM48_MT_GSM_ACT_PDP_REQ

#define GSM48_MT_GSM_ACT_PDP_REQ   0x41

◆ GSM48_MT_GSM_DEACT_AA_PDP_ACK

#define GSM48_MT_GSM_DEACT_AA_PDP_ACK   0x54

◆ GSM48_MT_GSM_DEACT_AA_PDP_REQ

#define GSM48_MT_GSM_DEACT_AA_PDP_REQ   0x53

◆ GSM48_MT_GSM_DEACT_PDP_ACK

#define GSM48_MT_GSM_DEACT_PDP_ACK   0x47

◆ GSM48_MT_GSM_DEACT_PDP_REQ

#define GSM48_MT_GSM_DEACT_PDP_REQ   0x46

◆ GSM48_MT_GSM_REQ_PDP_ACT

#define GSM48_MT_GSM_REQ_PDP_ACT   0x44

◆ GSM48_MT_GSM_REQ_PDP_ACT_REJ

#define GSM48_MT_GSM_REQ_PDP_ACT_REJ   0x45

◆ GSM48_MT_GSM_STATUS

#define GSM48_MT_GSM_STATUS   0x55

Enumeration Type Documentation

◆ gsm48_gmm_cause

Enumerator
GMM_CAUSE_IMSI_UNKNOWN 
GMM_CAUSE_ILLEGAL_MS 
GMM_CAUSE_IMEI_NOT_ACCEPTED 
GMM_CAUSE_ILLEGAL_ME 
GMM_CAUSE_GPRS_NOTALLOWED 
GMM_CAUSE_GPRS_OTHER_NOTALLOWED 
GMM_CAUSE_MS_ID_NOT_DERIVED 
GMM_CAUSE_IMPL_DETACHED 
GMM_CAUSE_PLMN_NOTALLOWED 
GMM_CAUSE_LA_NOTALLOWED 
GMM_CAUSE_ROAMING_NOTALLOWED 
GMM_CAUSE_NO_GPRS_PLMN 
GMM_CAUSE_NO_SUIT_CELL_IN_LA 
GMM_CAUSE_MSC_TEMP_NOTREACH 
GMM_CAUSE_NET_FAIL 
GMM_CAUSE_MAC_FAIL 
GMM_CAUSE_SYNC_FAIL 
GMM_CAUSE_CONGESTION 
GMM_CAUSE_GSM_AUTH_UNACCEPT 
GMM_CAUSE_NOT_AUTH_FOR_CSG 
GMM_CAUSE_SMS_VIA_GPRS_IN_RA 
GMM_CAUSE_NO_PDP_ACTIVATED 
GMM_CAUSE_SEM_INCORR_MSG 
GMM_CAUSE_INV_MAND_INFO 
GMM_CAUSE_MSGT_NOTEXIST_NOTIMPL 
GMM_CAUSE_MSGT_INCOMP_P_STATE 
GMM_CAUSE_IE_NOTEXIST_NOTIMPL 
GMM_CAUSE_COND_IE_ERR 
GMM_CAUSE_MSG_INCOMP_P_STATE 
GMM_CAUSE_PROTO_ERR_UNSPEC 

◆ gsm48_gmm_service_type

Enumerator
GPRS_SERVICE_T_SIGNALLING 
GPRS_SERVICE_T_DATA 
GPRS_SERVICE_T_PAGING_RESP 
GPRS_SERVICE_T_MBMS_MC_SERV 
GPRS_SERVICE_T_MBMS_BC_SERV 

◆ gsm48_gprs_ie_mm

Enumerator
GSM48_IE_GMM_CIPH_CKSN 
GSM48_IE_GMM_PTMSI_TYPE 
GSM48_IE_GMM_TMSI_BASED_NRI_C 
GSM48_IE_GMM_TIMER_READY 
GSM48_IE_GMM_ALLOC_PTMSI 
GSM48_IE_GMM_PTMSI_SIG 
GSM48_IE_GMM_AUTH_RAND 
GSM48_IE_GMM_AUTH_SRES 
GSM48_IE_GMM_IMEISV 
GSM48_IE_GMM_CAUSE 
GSM48_IE_GMM_RX_NPDU_NUM_LIST 
GSM48_IE_GMM_DRX_PARAM 
GSM48_IE_GMM_AUTN 
GSM48_IE_GMM_AUTH_RES_EXT 
GSM48_IE_GMM_TIMER_T3302 
GSM48_IE_GMM_AUTH_FAIL_PAR 
GSM48_IE_GMM_MS_NET_CAPA 
GSM48_IE_GMM_PDP_CTX_STATUS 
GSM48_IE_GMM_PS_LCS_CAPA 
GSM48_IE_GMM_GMM_MBMS_CTX_ST 
GSM48_IE_GMM_TIMER_T3346 
GSM48_IE_GMM_NET_FEAT_SUPPORT 

◆ gsm48_gprs_ie_sm

Enumerator
GSM48_IE_GSM_RADIO_PRIO 
GSM48_IE_GSM_DEV_PROP 
GSM48_IE_GSM_APN 
GSM48_IE_GSM_PROTO_CONF_OPT 
GSM48_IE_GSM_PDP_ADDR 
GSM48_IE_GSM_AA_TMR 
GSM48_IE_GSM_QOS 
GSM48_IE_GSM_TFT 
GSM48_IE_GSM_LLC_SAPI 
GSM48_IE_GSM_MBIFOM_CONT 
GSM48_IE_GSM_PFI 
GSM48_IE_GSM_NAME_FULL 
GSM48_IE_GSM_NAME_SHORT 
GSM48_IE_GSM_TIMEZONE 
GSM48_IE_GSM_UTC_AND_TZ 
GSM48_IE_GSM_LSA_ID 
GSM48_IE_GSM_EXT_QOS 
GSM48_IE_GSM_EXT_PROTO_CONF_OPT 
OSMO_IE_GSM_CHARG_CHAR 
OSMO_IE_GSM_REQ_QOS 
OSMO_IE_GSM_REQ_PDP_ADDR 
OSMO_IE_GSM_SUB_QOS 

◆ gsm48_gprs_tmr_unit

Enumerator
GPRS_TMR_2SECONDS 
GPRS_TMR_MINUTE 
GPRS_TMR_6MINUTE 
GPRS_TMR_DEACTIVATED 

◆ gsm48_gsm_cause

Enumerator
GSM_CAUSE_OPER_DET_BARR 
GSM_CAUSE_MBMS_CAP_INSUF 
GSM_CAUSE_LLC_SNDCP_FAIL 
GSM_CAUSE_INSUFF_RSRC 
GSM_CAUSE_MISSING_APN 
GSM_CAUSE_UNKNOWN_PDP 
GSM_CAUSE_AUTH_FAILED 
GSM_CAUSE_ACT_REJ_GGSN 
GSM_CAUSE_ACT_REJ_UNSPEC 
GSM_CAUSE_SERV_OPT_NOTSUPP 
GSM_CAUSE_REQ_SERV_OPT_NOTSUB 
GSM_CAUSE_SERV_OPT_TEMP_OOO 
GSM_CAUSE_NSAPI_IN_USE 
GSM_CAUSE_DEACT_REGULAR 
GSM_CAUSE_QOS_NOT_ACCEPTED 
GSM_CAUSE_NET_FAIL 
GSM_CAUSE_REACT_RQD 
GSM_CAUSE_FEATURE_NOTSUPP 
GSM_CAUSE_INVALID_TRANS_ID 
GSM_CAUSE_SEM_INCORR_MSG 
GSM_CAUSE_INV_MAND_INFO 
GSM_CAUSE_MSGT_NOTEXIST_NOTIMPL 
GSM_CAUSE_MSGT_INCOMP_P_STATE 
GSM_CAUSE_IE_NOTEXIST_NOTIMPL 
GSM_CAUSE_COND_IE_ERR 
GSM_CAUSE_MSG_INCOMP_P_STATE 
GSM_CAUSE_PROTO_ERR_UNSPEC 

◆ gsm48_pdp_state

Enumerator
PDP_S_INACTIVE 
PDP_S_ACTIVE_PENDING 
PDP_S_ACTIVE 
PDP_S_INACTIVE_PENDING 
PDP_S_MODIFY_PENDING 

◆ gsm48_pdp_type_nr

Enumerator
PDP_TYPE_N_ETSI_RESERVED 
PDP_TYPE_N_ETSI_PPP 
PDP_TYPE_N_IETF_IPv4 
PDP_TYPE_N_IETF_IPv6 
PDP_TYPE_N_IETF_IPv4v6 

◆ gsm48_pdp_type_org

Enumerator
PDP_TYPE_ORG_ETSI 
PDP_TYPE_ORG_IETF 
PDP_TYPE_ORG_EMPTY 

◆ gsm48_qos_deliv_order

Enumerator
GSM48_QOS_DO_ORDERED 
GSM48_QOS_DO_UNORDERED 

◆ gsm48_qos_err_sdu

Enumerator
GSM48_QOS_ERRSDU_NODETECT 
GSM48_QOS_ERRSDU_YES 
GSM48_QOS_ERRSDU_NO 

◆ gsm48_qos_max_bitrate

Enumerator
GSM48_QOS_MBRATE_1k 
GSM48_QOS_MBRATE_63k 
GSM48_QOS_MBRATE_64k 
GSM48_QOS_MBRATE_568k 
GSM48_QOS_MBRATE_576k 
GSM48_QOS_MBRATE_8640k 
GSM48_QOS_MBRATE_0k 

◆ gsm48_qos_max_sdu_size

Enumerator
GSM48_QOS_MAXSDU_1502 
GSM48_QOS_MAXSDU_1510 
GSM48_QOS_MAXSDU_1520 

◆ gsm48_qos_mean_tput

Enumerator
GSM48_QOS_MEAN_TPUT_100bph 
GSM48_QOS_MEAN_TPUT_200bph 
GSM48_QOS_MEAN_TPUT_500bph 
GSM48_QOS_MEAN_TPUT_1000bph 
GSM48_QOS_MEAN_TPUT_2000bph 
GSM48_QOS_MEAN_TPUT_5000bph 
GSM48_QOS_MEAN_TPUT_10000bph 
GSM48_QOS_MEAN_TPUT_20000bph 
GSM48_QOS_MEAN_TPUT_50000bph 
GSM48_QOS_MEAN_TPUT_100kbph 
GSM48_QOS_MEAN_TPUT_200kbph 
GSM48_QOS_MEAN_TPUT_500kbph 
GSM48_QOS_MEAN_TPUT_1Mbph 
GSM48_QOS_MEAN_TPUT_2Mbph 
GSM48_QOS_MEAN_TPUT_5Mbph 
GSM48_QOS_MEAN_TPUT_10Mbph 
GSM48_QOS_MEAN_TPUT_20Mbph 
GSM48_QOS_MEAN_TPUT_50Mbph 
GSM48_QOS_MEAN_TPUT_BEST_EFFORT 

◆ gsm48_qos_peak_tput

Enumerator
GSM48_QOS_PEAK_TPUT_1000bps 
GSM48_QOS_PEAK_TPUT_2000bps 
GSM48_QOS_PEAK_TPUT_4000bps 
GSM48_QOS_PEAK_TPUT_8000bps 
GSM48_QOS_PEAK_TPUT_16000bps 
GSM48_QOS_PEAK_TPUT_32000bps 
GSM48_QOS_PEAK_TPUT_64000bps 
GSM48_QOS_PEAK_TPUT_128000bps 
GSM48_QOS_PEAK_TPUT_256000bps 

◆ gsm48_qos_preced_class

Enumerator
GSM48_QOS_PC_HIGH 
GSM48_QOS_PC_NORMAL 
GSM48_QOS_PC_LOW 

◆ gsm48_qos_reliab_class

Enumerator
GSM48_QOS_RC_LLC_ACK_RLC_ACK_DATA_PROT 
GSM48_QOS_RC_LLC_UN_RLC_ACK_DATA_PROT 
GSM48_QOS_RC_LLC_UN_RLC_UN_PROT_DATA 
GSM48_QOS_RC_LLC_UN_RLC_UN_DATA_UN 

◆ gsm48_qos_resid_ber

Enumerator
GSM48_QOS_RBER_5e_2 
GSM48_QOS_RBER_1e_2 
GSM48_QOS_RBER_5e_3 
GSM48_QOS_RBER_4e_3 
GSM48_QOS_RBER_1e_3 
GSM48_QOS_RBER_1e_4 
GSM48_QOS_RBER_1e_5 
GSM48_QOS_RBER_1e_6 
GSM48_QOS_RBER_6e_8 

◆ gsm48_qos_sdu_err

Enumerator
GSM48_QOS_SERR_1e_2 
GSM48_QOS_SERR_7e_2 
GSM48_QOS_SERR_1e_3 
GSM48_QOS_SERR_1e_4 
GSM48_QOS_SERR_1e_5 
GSM48_QOS_SERR_1e_6 
GSM48_QOS_SERR_1e_1 

◆ gsm48_qos_traf_class

Enumerator
GSM48_QOS_TC_CONVERSATIONAL 
GSM48_QOS_TC_STREAMING 
GSM48_QOS_TC_INTERACTIVE 
GSM48_QOS_TC_BACKGROUND 

Variable Documentation

◆ __attribute__

enum gsm48_qos_reliab_class __attribute__

◆ data

uint8_t data[0]

◆ 

union { ... } etsi

◆ 

union { ... } ietf

◆ req_llc_sapi

uint8_t req_llc_sapi

◆ req_nsapi

uint8_t req_nsapi

◆ type

◆ v4

uint32_t v4

◆ v6

uint8_t v6