summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--include/osmocom/gsm/protocol/gsm_08_08.h120
1 files changed, 119 insertions, 1 deletions
diff --git a/include/osmocom/gsm/protocol/gsm_08_08.h b/include/osmocom/gsm/protocol/gsm_08_08.h
index bf408eb6..6ddab5dc 100644
--- a/include/osmocom/gsm/protocol/gsm_08_08.h
+++ b/include/osmocom/gsm/protocol/gsm_08_08.h
@@ -1,4 +1,4 @@
-/* From GSM08.08 */
+/* From GSM08.08 / 3GPP TS 48.008 version 11.7.0 Release 11 */
#pragma once
@@ -47,6 +47,7 @@ enum BSS_MAP_MSG_TYPE {
BSS_MAP_MSG_ASSIGMENT_RQST = 1,
BSS_MAP_MSG_ASSIGMENT_COMPLETE = 2,
BSS_MAP_MSG_ASSIGMENT_FAILURE = 3,
+ BSS_MAP_MSG_CHAN_MOD_RQST = 8,
/* HANDOVER MESSAGES */
BSS_MAP_MSG_HANDOVER_RQST = 16,
@@ -61,6 +62,10 @@ enum BSS_MAP_MSG_TYPE {
BSS_MAP_MSG_HANDOVER_CANDIDATE_RESPONSE = 25,
BSS_MAP_MSG_HANDOVER_REQUIRED_REJECT = 26,
BSS_MAP_MSG_HANDOVER_DETECT = 27,
+ BSS_MAP_MSG_INT_HANDOVER_REQUIRED = 0x70,
+ BSS_MAP_MSG_INT_HANDOVER_REQUIRED_REJ = 0x71,
+ BSS_MAP_MSG_INT_HANDOVER_CMD = 0x72,
+ BSS_MAP_MSG_INT_HANDOVER_ENQUIRY = 0x73,
/* RELEASE MESSAGES */
BSS_MAP_MSG_CLEAR_CMD = 32,
@@ -80,6 +85,8 @@ enum BSS_MAP_MSG_TYPE {
BSS_MAP_MSG_PERFORM_LOCATION_RESPONSE = 45,
BSS_MAP_MSG_PERFORM_LOCATION_ABORT = 46,
BSS_MAP_MSG_COMMON_ID = 47,
+ BSS_MAP_MSG_REROUTE_CMD = 0x78,
+ BSS_MAP_MSG_REROUTE_COMPLETE = 0x79,
/* GENERAL MESSAGES */
BSS_MAP_MSG_RESET = 48,
@@ -91,6 +98,8 @@ enum BSS_MAP_MSG_TYPE {
BSS_MAP_MSG_MSC_INVOKE_TRACE = 54,
BSS_MAP_MSG_BSS_INVOKE_TRACE = 55,
BSS_MAP_MSG_CONNECTIONLESS_INFORMATION = 58,
+ BSS_MAP_MSG_RESET_IP_RSRC = 0x3d,
+ BSS_MAP_MSG_RESET_IP_RSRC_ACK = 0x3e,
/* TERRESTRIAL RESOURCE MESSAGES */
BSS_MAP_MSG_BLOCK = 64,
@@ -133,6 +142,15 @@ enum BSS_MAP_MSG_TYPE {
BSS_MAP_MSG_UPLINK_REJECT_CMD = 75,
BSS_MAP_MSG_UPLINK_RELEASE_CMD = 76,
BSS_MAP_MSG_UPLINK_SEIZED_CMD = 77,
+ BSS_MAP_MSG_VGCS_ADDL_INFO = 0x60,
+
+ BSS_MAP_MSG_NOTIFICATION_DATA = 0x62,
+ BSS_MAP_MSG_UPLINK_APP_DATA = 0x63,
+
+ /* LOCAL SWITCHING */
+ BSS_MAP_MSG_LCLS_CONNECT_CTRL = 0x74,
+ BSS_MAP_MSG_LCLS_CONNECT_CTRL_ACK = 0x75,
+ BSS_MAP_MSG_LCLS_NOTIFICATION = 0x76,
};
enum GSM0808_IE_CODING {
@@ -217,8 +235,62 @@ enum GSM0808_IE_CODING {
GSM0808_IE_SOURCE_RNC_TO_TARGET_RNC_TRANSPARENT_CDMA2000= 82,
GSM0808_IE_RESERVED_5 = 65,
GSM0808_IE_RESERVED_6 = 66,
+ GSM0808_IE_GERAN_CLASSMARK = 0x53,
+ GSM0808_IE_GERAN_BSC_CONTAINER = 0x54,
+ GSM0808_IE_NEW_BSS_TO_OLD_BSS_INFO = 0x61,
+ GSM0800_IE_INTER_SYSTEM_INFO = 0x63,
+ GSM0808_IE_SNA_ACCESS_INFO = 0x64,
+ GSM0808_IE_VSTK_RAND_INFO = 0x65,
+ GSM0808_IE_VSTK_INFO = 0x66,
+ GSM0808_IE_PAGING_INFO = 0x67,
+ GSM0808_IE_IMEI = 0x68,
+ GSM0808_IE_VELOCITY_ESTIMATE = 0x55,
+ GSM0808_IE_VGCS_FEATURE_FLAGS = 0x69,
+ GSM0808_IE_TALKER_PRIORITY = 0x6a,
+ GSM0808_IE_EMERGENCY_SET_INDICATION = 0x6b,
+ GSM0808_IE_TALKER_IDENTITY = 0x6c,
+ GSM0808_IE_CELL_ID_LIST_SEGMENT = 0x6d,
+ GSM0808_IE_VGCS_TALKER_MODE = 0x6f,
+ GSM0808_IE_VGCS_VBS_CELL_STATUS = 0x70,
+ GSM0808_IE_CELL_ID_LIST_SEG_EST_CELLS = 0x71,
+ GSM0808_IE_CELL_ID_LIST_SEG_CELLS_TBE = 0x72,
+ GSM0808_IE_CELL_ID_LIST_SEG_REL_CELLS = 0x73,
+ GSM0808_IE_CELL_ID_LIST_SEG_NE_CELLS = 0x74,
+ GSM0808_IE_GANSS_ASSISTANCE_DATA = 0x75,
+ GSM0808_IE_GANSS_POSITIONING_DATA = 0x76,
+ GSM0808_IE_GANSS_LOCATION_TYPE = 0x77,
+ GSM0808_IE_APP_DATA = 0x78,
+ GSM0808_IE_DATA_IDENTITY = 0x79,
+ GSM0808_IE_APP_DATA_INFO = 0x7a,
+ GSM0808_IE_MSISDN = 0x7b,
+ GSM0808_IE_AOIP_TRASP_ADDR = 0x7c,
+ GSM0808_IE_SPEECH_CODEC_LIST = 0x7d,
+ GSM0808_IE_SPEECH_CODEC = 0x7e,
+ GSM0808_IE_CALL_ID = 0x7f,
+ GSM0808_IE_CALL_ID_LIST = 0x80,
+ GSM0808_IE_A_IF_SEL_FOR_RESET = 0x81,
+ GSM0808_IE_KC_128 = 0x83,
+ GSM0808_IE_CSG_IDENTIFIER = 0x84,
+ GSM0808_IE_REDIR_ATTEMPT_FLAG = 0x85,
+ GSM0808_IE_REROUTE_REJ_CAUSE = 0x86,
+ GSM0808_IE_SEND_SEQ_NUM = 0x87,
+ GSM0808_IE_REROUTE_COMPL_OUTCOME = 0x88,
+ GSM0808_IE_GLOBAL_CALL_REF = 0x89,
+ GSM0808_IE_LCLS_CONFIG = 0x8a,
+ GSM0808_IE_LCLS_CONN_STATUS_CTRL = 0x8b,
+ GSM0808_IE_LCLS_CORR_NOT_NEEDEDL = 0x8c,
+ GSM0808_IE_LCLS_BSS_STATUS = 0x8d,
+ GSM0808_IE_LCLS_BREAK_REQ = 0x8e,
+ GSM0808_IE_CSFB_INDICATION = 0x8f,
+ GSM0808_IE_CS_TO_PS_SRVCC = 0x90,
+ GSM0808_IE_SRC_ENB_TO_TGT_ENB_TRANSP = 0x91,
+ GSM0808_IE_CS_TO_PS_SRVCC_IND = 0x92,
+ GSM0808_IE_CN_TO_MS_TRANSP_INFO = 0x93,
+ GSM0808_IE_SELECTED_PLMN_ID = 0x94,
+ GSM0808_IE_LAST_USED_EUTRAN_PLMN_ID = 0x95,
};
+/* GSM 08.08 3.2.2.5 Cause */
enum gsm0808_cause {
GSM0808_CAUSE_RADIO_INTERFACE_MESSAGE_FAILURE = 0,
GSM0808_CAUSE_RADIO_INTERFACE_FAILURE = 1,
@@ -236,6 +308,14 @@ enum gsm0808_cause {
GSM0808_CAUSE_DIRECTED_RETRY = 13,
GSM0808_CAUSE_JOINED_GROUP_CALL_CHANNEL = 14,
GSM0808_CAUSE_TRAFFIC = 15,
+ GSM0808_CAUSE_REDUCE_LOAD_IN_SERVING_CELL = 0x10,
+ GSM0808_CAUSE_TRAFFIC_LOAD_IN_TGT_HIGHER_THAN_IN_SRC_CELL = 0x11,
+ GSM0808_CAUSE_RELOCATION_TRIGGERED = 0x12,
+ GSM0808_CAUSE_REQUSTED_OPT_NOT_AUTHORISED = 0x14,
+ GSM0808_CAUSE_ALT_CHAN_CONFIG_REQUESTED = 0x15,
+ GSM0808_CAUSE_RESP_TO_INT_HO_ENQ_MSG = 0x16,
+ GSM0808_CAUSE_INT_HO_ENQUIRY_REJECT = 0x17,
+ GSM0808_CAUSE_REDUNDANCY_LEVEL_NOT_ADEQUATE = 0x18,
GSM0808_CAUSE_EQUIPMENT_FAILURE = 32,
GSM0808_CAUSE_NO_RADIO_RESOURCE_AVAILABLE = 33,
GSM0808_CAUSE_RQSTED_TERRESTRIAL_RESOURCE_UNAVAILABLE = 34,
@@ -246,19 +326,35 @@ enum gsm0808_cause {
GSM0808_CAUSE_INVALID_CELL = 39,
GSM0808_CAUSE_TRAFFIC_LOAD = 40,
GSM0808_CAUSE_PREEMPTION = 41,
+ GSM0808_CAUSE_DTM_HO_SGSN_FAILURE = 0x2a,
+ GSM0808_CAUSE_DTM_HO_PS_ALLOC_FAILURE = 0x2b,
GSM0808_CAUSE_RQSTED_TRANSCODING_RATE_ADAPTION_UNAVAILABLE = 48,
GSM0808_CAUSE_CIRCUIT_POOL_MISMATCH = 49,
GSM0808_CAUSE_SWITCH_CIRCUIT_POOL = 50,
GSM0808_CAUSE_RQSTED_SPEECH_VERSION_UNAVAILABLE = 51,
GSM0808_CAUSE_LSA_NOT_ALLOWED = 52,
+ GSM0808_CAUSE_REQ_CODEC_TYPE_OR_CONFIG_UNAVAIL = 0x35,
+ GSM0808_CAUSE_REQ_A_IF_TYPE_UNAVAIL = 0x36,
+ GSM0808_CAUSE_INVALID_CSG_CELL = 0x37,
+ GSM0808_CAUSE_REQ_REDUND_LEVEL_NOT_AVAIL = 0x3f,
GSM0808_CAUSE_CIPHERING_ALGORITHM_NOT_SUPPORTED = 64,
+ GSM0808_CAUSE_GERAN_IU_MODE_FAILURE = 0x41,
+ GSM0808_CAUSE_INC_RELOC_NOT_SUPP_DT_PUESBINE_FEATURE = 0x42,
+ GSM0808_CAUSE_ACCESS_RESTRICTED_DUE_TO_SHARED_NETWORKS = 0x43,
+ GSM0808_CAUSE_REQ_CODEC_TYPE_OR_CONFIG_NOT_SUPP = 0x44,
+ GSM0808_CAUSE_REQ_A_IF_TYPE_NOT_SUPP = 0x45,
+ GSM0808_CAUSE_REQ_REDUND_LVL_NOT_SUPP = 0x46,
GSM0808_CAUSE_TERRESTRIAL_CIRCUIT_ALREADY_ALLOCATED = 80,
GSM0808_CAUSE_INVALID_MESSAGE_CONTENTS = 81,
GSM0808_CAUSE_INFORMATION_ELEMENT_OR_FIELD_MISSING = 82,
GSM0808_CAUSE_INCORRECT_VALUE = 83,
GSM0808_CAUSE_UNKNOWN_MESSAGE_TYPE = 84,
GSM0808_CAUSE_UNKNOWN_INFORMATION_ELEMENT = 85,
+ GSM0808_CAUSE_DTM_HO_INVALID_PS_IND = 0x56,
+ GSM0808_CAUSE_CALL_ID_ALREADY_ALLOC = 0x57,
GSM0808_CAUSE_PROTOCOL_ERROR_BETWEEN_BSS_AND_MSC = 96,
+ GSM0808_CAUSE_VGCS_VBS_CALL_NON_EXISTANT = 0x61,
+ GSM0808_CAUSE_DTM_HO_TIMER_EXPIRY = 0x62,
};
/* GSM 08.08 3.2.2.11 Channel Type */
@@ -268,6 +364,7 @@ enum gsm0808_chan_indicator {
GSM0808_CHAN_SIGN = 3,
};
+/* GSM 08.08 3.2.2.11 Channel Type */
enum gsm0808_chan_rate_type_data {
GSM0808_DATA_FULL_BM = 0x8,
GSM0808_DATA_HALF_LM = 0x9,
@@ -279,6 +376,7 @@ enum gsm0808_chan_rate_type_data {
GSM0808_DATA_MULTI_MASK_NO_CHANGE = 0x30,
};
+/* GSM 08.08 3.2.2.11 Channel Type */
enum gsm0808_chan_rate_type_speech {
GSM0808_SPEECH_FULL_BM = 0x8,
GSM0808_SPEECH_HALF_LM = 0x9,
@@ -290,6 +388,7 @@ enum gsm0808_chan_rate_type_speech {
GSM0808_SPEECH_PERM_NO_CHANGE = 0x1f,
};
+/* GSM 08.08 3.2.2.11 Channel Type */
enum gsm0808_permitted_speech {
GSM0808_PERM_FR1 = 0x01,
GSM0808_PERM_FR2 = 0x11,
@@ -298,3 +397,22 @@ enum gsm0808_permitted_speech {
GSM0808_PERM_HR2 = GSM0808_PERM_FR2 | 0x4,
GSM0808_PERM_HR3 = GSM0808_PERM_FR3 | 0x4,
};
+
+/* GSM 08.08 3.2.2.44 Chosen Encryption Algorithm */
+enum gsm0808_chosen_enc_alg {
+ GSM0808_ALG_ID_A5_0 = 0x01,
+ GSM0808_ALG_ID_A5_1 = 0x02,
+ GSM0808_ALG_ID_A5_2 = 0x03,
+ GSM0808_ALG_ID_A5_3 = 0x04,
+ GSM0808_ALG_ID_A5_4 = 0x05,
+ GSM0808_ALG_ID_A5_5 = 0x06,
+ GSM0808_ALG_ID_A5_6 = 0x07,
+ GSM0808_ALG_ID_A5_7 = 0x08,
+};
+
+/* GSM 08.08 3.2.2.85 Paging Information */
+enum gsm0808_paging_info {
+ GSM0808_PAGINF_FOR_MT_CALL = 0x00,
+ GSM0808_PAGINF_FOR_SMS = 0x01,
+ GSM0808_PAGINF_FOR_USSD = 0x02,
+};