aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHarald Welte <laforge@osmocom.org>2020-12-02 20:00:53 +0100
committerlaforge <laforge@osmocom.org>2020-12-02 21:04:51 +0000
commit6e887ebd3e3f74d6fb00ef3bcf6e25c18a705b8c (patch)
tree10da4316fae4f2bd65453c5319747ecaf9953df1
parent56f08a377ca3bc59439ecd2a4660051a04f93ef2 (diff)
gsm_08_18.h: Update enums for message types and IEs with Release 15
Lots of newly introduced message types and information elements. Change-Id: I7da8b25c9a89a7e3ae6c1680ba838e136d7d5293
-rw-r--r--include/osmocom/gprs/protocol/gsm_08_18.h125
1 files changed, 123 insertions, 2 deletions
diff --git a/include/osmocom/gprs/protocol/gsm_08_18.h b/include/osmocom/gprs/protocol/gsm_08_18.h
index af6caf32..70ab011b 100644
--- a/include/osmocom/gprs/protocol/gsm_08_18.h
+++ b/include/osmocom/gprs/protocol/gsm_08_18.h
@@ -1,4 +1,5 @@
/*! \file gsm_08_18.h */
+/* Updated to reflect TS 48.018 version 15.0.0 Release 15 */
#pragma once
@@ -14,7 +15,10 @@ enum bssgp_pdu_type {
BSSGP_PDUT_DL_UNITDATA = 0x00,
BSSGP_PDUT_UL_UNITDATA = 0x01,
BSSGP_PDUT_RA_CAPABILITY = 0x02,
- BSSGP_PDUT_PTM_UNITDATA = 0x03,
+ /* PDUs between MBMS SAPs */
+ BSSGP_PDUT_PTM_UNITDATA = 0x03, /* reserved in later specs */
+ BSSGP_PDUT_DL_MMBS_UNITDATA = 0x04,
+ BSSGP_PDUT_UL_MMBS_UNITDATA = 0x05,
/* PDUs between GMM SAPs */
BSSGP_PDUT_PAGING_PS = 0x06,
BSSGP_PDUT_PAGING_CS = 0x07,
@@ -27,6 +31,11 @@ enum bssgp_pdu_type {
BSSGP_PDUT_RESUME = 0x0e,
BSSGP_PDUT_RESUME_ACK = 0x0f,
BSSGP_PDUT_RESUME_NACK = 0x10,
+ BSSGP_PDUT_PAGING_PS_REJECT = 0x11,
+ BSSGP_PDUT_DUMMY_PAGING_PS = 0x12,
+ BSSGP_PDUT_DUMMY_PAGING_PS_RESP = 0x13,
+ BSSGP_PDUT_MS_REGISTR_ENQ = 0x14,
+ BSSGP_PDUT_MS_REGISTR_ENQ_RESP = 0x15,
/* PDus between NM SAPs */
BSSGP_PDUT_BVC_BLOCK = 0x20,
BSSGP_PDUT_BVC_BLOCK_ACK = 0x21,
@@ -41,8 +50,11 @@ enum bssgp_pdu_type {
BSSGP_PDUT_FLUSH_LL = 0x2a,
BSSGP_PDUT_FLUSH_LL_ACK = 0x2b,
BSSGP_PDUT_LLC_DISCARD = 0x2c,
+ BSSGP_PDUT_FLOW_CONTROL_PFC = 0x2d,
+ BSSGP_PDUT_FLOW_CONTROL_PFC_ACK = 0x2e,
BSSGP_PDUT_SGSN_INVOKE_TRACE = 0x40,
BSSGP_PDUT_STATUS = 0x41,
+ BSSGP_PDUT_OVERLOAD = 0x42,
/* PDUs between PFM SAP's */
BSSGP_PDUT_DOWNLOAD_BSS_PFC = 0x50,
BSSGP_PDUT_CREATE_BSS_PFC = 0x51,
@@ -52,6 +64,16 @@ enum bssgp_pdu_type {
BSSGP_PDUT_MODIFY_BSS_PFC_ACK = 0x55,
BSSGP_PDUT_DELETE_BSS_PFC = 0x56,
BSSGP_PDUT_DELETE_BSS_PFC_ACK = 0x57,
+ BSSGP_PDUT_DELETE_BSS_PFC_REQ = 0x58,
+ BSSGP_PDUT_PS_HO_REQUIRED = 0x59,
+ BSSGP_PDUT_PS_HO_REQUIRED_ACK = 0x5a,
+ BSSGP_PDUT_PS_HO_REQUIRED_NACK = 0x5b,
+ BSSGP_PDUT_PS_HO_REQUEST = 0x5c,
+ BSSGP_PDUT_PS_HO_REQUEST_ACK = 0x5d,
+ BSSGP_PDUT_PS_HO_REQUEST_NACK = 0x5e,
+ BSSGP_PDUT_PS_HO_COMPLETE = 0x91,
+ BSSGP_PDUT_PS_HO_CANCEL = 0x92,
+ BSSGP_PDUT_PS_HO_COMPLETE_ACK = 0x93,
};
/*! BSSGP User-Data header (Section 10.2.1 and 10.2.2) */
@@ -68,7 +90,7 @@ struct bssgp_normal_hdr {
uint8_t data[0]; /*!< optional/conditional IEs as TLVs */
};
-/*! BSSGP Information Element Identifiers */
+/*! BSSGP Information Element Identifiers (Section 11.3 / Table 11.3) */
enum bssgp_iei_type {
BSSGP_IE_ALIGNMENT = 0x00,
BSSGP_IE_BMAX_DEFAULT_MS = 0x01,
@@ -116,6 +138,105 @@ enum bssgp_iei_type {
BSSGP_IE_FEATURE_BITMAP = 0x3b,
BSSGP_IE_BUCKET_FULL_RATIO = 0x3c,
BSSGP_IE_SERVICE_UTRAN_CCO = 0x3d,
+ BSSGP_IE_NSEI = 0x3e,
+ BSSGP_IE_RRLP_APDU = 0x3f,
+ BSSGP_IE_LCS_QOS = 0x40,
+ BSSGP_IE_LCS_CLIENT_TYPE = 0x41,
+ BSSGP_IE_REQUESTED_GPS_AST_DATA = 0x42,
+ BSSGP_IE_LOCATION_TYPE = 0x43,
+ BSSGP_IE_LOCATION_ESTIMATE = 0x44,
+ BSSGP_IE_POSITIONING_DATA = 0x45,
+ BSSGP_IE_DECIPHERING_KEYS = 0x46,
+ BSSGP_IE_LCS_PRIORITY = 0x47,
+ BSSGP_IE_LCS_CAUSE = 0x48,
+ BSSGP_IE_LCS_CAPABILITY = 0x49,
+ BSSGP_IE_RRLP_FLAGS = 0x4a,
+ BSSGP_IE_RIM_APP_IDENTITY = 0x4b,
+ BSSGP_IE_RIM_SEQ_NR = 0x4c,
+ BSSGP_IE_RIM_REQ_APP_CONTAINER = 0x4d,
+ BSSGP_IE_RAN_INFO_APP_CONTAINER = 0x4e,
+ BSSGP_IE_RIM_PDU_INDICATIONS = 0x4f,
+ BSSGP_IE_PFC_FLOW_CTRL_PARAMS = 0x52,
+ BSSGP_IE_GLOBAL_CN_ID = 0x53,
+ BSSGP_IE_RIM_ROUTING_INFO = 0x54,
+ BSSGP_IE_RIM_PROTOCOL_VERSION = 0x55,
+ BSSGP_IE_APP_ERROR_CONTAINER = 0x56,
+ BSSGP_IE_RI_REQ_RIM_CONTAINER = 0x57,
+ BSSGP_IE_RI_RIM_CONTAINER = 0x58,
+ BSSGP_IE_RI_APP_ERROR_RIM_CONT = 0x59,
+ BSSGP_IE_RI_ACK_RIM_CONTAINER = 0x5a,
+ BSSGP_IE_RI_ERROR_RIM_COINTAINER= 0x5b,
+ BSSGP_IE_TMGI = 0x5c,
+ BSSGP_IE_MBMS_SESSION_ID = 0x5d,
+ BSSGP_IE_MBMS_SESSION_DURATION = 0x5e,
+ BSSGP_IE_MBMS_SA_ID_LIST = 0x5f,
+ BSSGP_IE_MBMS_RESPONSE = 0x60,
+ BSSGP_IE_MBMS_RA_LIST = 0x61,
+ BSSGP_IE_MBMS_SESSION_INFO = 0x62,
+ BSSGP_IE_MBMS_STOP_CAUSE = 0x63,
+ BSSGP_IE_SBSS_TO_TBSS_TR_CONT = 0x64,
+ BSSGP_IE_TBSS_TO_SBSS_TR_CONT = 0x65,
+ BSSGP_IE_NAS_CONT_FOR_PS_HO = 0x66,
+ BSSGP_IE_PFC_TO_BE_SETUP_LIST = 0x67,
+ BSSGP_IE_LIST_OF_SETUP_PFC = 0x68,
+ BSSGP_IE_EXT_FEATURE_BITMAP = 0x69,
+ BSSGP_IE_SRC_TO_TGT_TR_CONT = 0x6a,
+ BSSGP_IE_TGT_TO_SRC_TR_CONT = 0x6b,
+ BSSGP_IE_NC_ID = 0x6c,
+ BSSGP_IE_PAGE_MODE = 0x6d,
+ BSSGP_IE_CONTAINER_ID = 0x6e,
+ BSSGP_IE_GLOBAL_TFI = 0x6f,
+ BSSGP_IE_IMEI = 0x70,
+ BSSGP_IE_TIME_TO_MBMS_DATA_XFR = 0x71,
+ BSSGP_IE_MBMS_SESSION_REP_NR = 0x72,
+ BSSGP_IE_INTER_RAT_HO_INFO = 0x73,
+ BSSGP_IE_PS_HO_COMMAND = 0x74,
+ BSSGP_IE_PS_HO_INDICATIONS = 0x75,
+ BSSGP_IE_SI_PSI_CONTAINER = 0x76,
+ BSSGP_IE_ACTIVE_PFC_LIST = 0x77,
+ BSSGP_IE_VELOCITY_DATA = 0x78,
+ BSSGP_IE_DTM_HO_COMMAND = 0x79,
+ BSSGP_IE_CS_INDICATION = 0x7a,
+ BSSGP_IE_RQD_GANNS_AST_DATA = 0x7b,
+ BSSGP_IE_GANSS_LOCATION_TYPE = 0x7c,
+ BSSGP_IE_GANSS_POSITIONING_DATA = 0x7d,
+ BSSGP_IE_FLOW_CTRL_GRANULARITY = 0x7e,
+ BSSGP_IE_ENB_ID = 0x7f,
+ BSSGP_IE_EUTRAN_IRAT_HO_INFO = 0x80,
+ BSSGP_IE_SUB_PID4RAT_FREQ_PRIO = 0x81,
+ BSSGP_IE_REQ4IRAT_HO_INFO = 0x82,
+ BSSGP_IE_RELIABLE_IRAT_HO_INFO = 0x83,
+ BSSGP_IE_SON_TRANSFER_APP_ID = 0x84,
+ BSSGP_IE_CSG_ID = 0x85,
+ BSSGP_IE_TAC = 0x86,
+ BSSGP_IE_REDIRECT_ATTEMPT_FLAG = 0x87,
+ BSSGP_IE_REDIRECTION_INDICATION = 0x88,
+ BSSGP_IE_REDIRECTION_COMPLETED = 0x89,
+ BSSGP_IE_UNCONF_SEND_STATE_VAR = 0x8a,
+ BSSGP_IE_IRAT_MEASUREMENT_CONF = 0x8b,
+ BSSGP_IE_SCI = 0x8c,
+ BSSGP_IE_GGSN_PGW_LOCATION = 0x8d,
+ BSSGP_IE_SELECTED_PLMN_ID = 0x8e,
+ BSSGP_IE_PRIO_CLASS_IND = 0x8f,
+ BSSGP_IE_SOURCE_CELL_ID = 0x90,
+ BSSGP_IE_IRAT_MEAS_CFG_E_EARFCN = 0x91,
+ BSSGP_IE_EDRX_PARAMETERS = 0x92,
+ BSSGP_IE_T_UNTIL_NEXT_PAGING = 0x93,
+ BSSGP_IE_COVERAGE_CLASS = 0x98,
+ BSSGP_IE_PAGING_ATTEMPT_INFO = 0x99,
+ BSSGP_IE_EXCEPTION_REPORT_FLAG = 0x9a,
+ BSSGP_IE_OLD_RA_ID = 0x9b,
+ BSSGP_IE_ATTACH_IND = 0x9c,
+ BSSGP_IE_PLMN_ID = 0x9d,
+ BSSGP_IE_MME_QUERY = 0x9e,
+ BSSGP_IE_SGSN_GROUP_ID = 0x9f,
+ BSSGP_IE_ADDITIONAL_PTMSI = 0xa0,
+ BSSGP_IE_UE_USAGE_TYPE = 0xa1,
+ BSSGP_IE_MLAT_TIMER = 0xa2,
+ BSSGP_IE_MLAT_TA = 0xa3,
+ BSSGP_IE_MS_SYNC_ACCURACY = 0xa4,
+ BSSGP_IE_BTS_RX_ACCURACY_LVL = 0xa5,
+ BSSGP_IE_TA_REQ = 0xa6,
};
/*! Cause coding (Section 11.3.8 / Table 11.10) */