summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPhilipp Maier <pmaier@sysmocom.de>2018-11-15 15:04:29 +0100
committerPhilipp Maier <pmaier@sysmocom.de>2018-11-16 17:42:38 +0100
commit086b345414ef17b305b5c624fbdbc4bf0f855042 (patch)
treeb407a453254a2856f89695bacb30c7cd62318910
parente63b8873586b575af433c0d4213fc71c746dd7e1 (diff)
gsm29118: add value strings for SGSAP IEI
The value strings for the SGSAP IEI are missing, lets add a set of value strings and a function to retrieve them. Change-Id: I2787303174f74ffba86675bce2c12f680d8ea708 Related: OS#3615
-rw-r--r--include/osmocom/gsm/protocol/gsm_29_118.h5
-rw-r--r--src/gsm/gsm29118.c35
-rw-r--r--src/gsm/libosmogsm.map1
3 files changed, 40 insertions, 1 deletions
diff --git a/include/osmocom/gsm/protocol/gsm_29_118.h b/include/osmocom/gsm/protocol/gsm_29_118.h
index c344f040..bf210ad0 100644
--- a/include/osmocom/gsm/protocol/gsm_29_118.h
+++ b/include/osmocom/gsm/protocol/gsm_29_118.h
@@ -74,7 +74,10 @@ enum sgsap_iei {
SGSAP_IE_ADDL_PAGING_INDICATORS = 0x26,
SGSAP_IE_TMSI_BASED_NRI_CONT = 0x27,
};
-
+const struct value_string sgsap_iei_names[];
+static inline const char *sgsap_iei_name(enum sgsap_iei iei) {
+ return get_value_string(sgsap_iei_names, iei);
+}
/* TS 29.118 Section 9.4.2 */
enum sgsap_eps_lu_type {
diff --git a/src/gsm/gsm29118.c b/src/gsm/gsm29118.c
index de625a90..3898be64 100644
--- a/src/gsm/gsm29118.c
+++ b/src/gsm/gsm29118.c
@@ -32,6 +32,41 @@ const struct value_string sgsap_msg_type_names[] = {
{ 0, NULL }
};
+const struct value_string sgsap_iei_names[] = {
+ { SGSAP_IE_IMSI, "IMSI" },
+ { SGSAP_IE_VLR_NAME, "VLR-NAME" },
+ { SGSAP_IE_TMSI, "TMSI" },
+ { SGSAP_IE_LAI, "LAI" },
+ { SGSAP_IE_CHAN_NEEDED, "CHAN-NEEDED" },
+ { SGSAP_IE_EMLPP_PRIORITY, "EMLPP-PRIORITY" },
+ { SGSAP_IE_TMSI_STATUS, "TMSI-STATUS" },
+ { SGSAP_IE_SGS_CAUSE, "SGS-CAUSE" },
+ { SGSAP_IE_MME_NAME, "MME-NAME" },
+ { SGSAP_IE_EPS_LU_TYPE, "EPS-LU-TYPE" },
+ { SGSAP_IE_GLOBAL_CN_ID, "GLOBAL-CN-ID" },
+ { SGSAP_IE_MOBILE_ID, "MOBILE-ID" },
+ { SGSAP_IE_REJECT_CAUSE, "REJECT-CAUSE" },
+ { SGSAP_IE_IMSI_DET_EPS_TYPE, "IMSI-DET-EPS-TYPE" },
+ { SGSAP_IE_IMSI_DET_NONEPS_TYPE, "IMSI-DET-NONEPS-TYPE" },
+ { SGSAP_IE_IMEISV, "IMEISV" },
+ { SGSAP_IE_NAS_MSG_CONTAINER, "NAS-MSG-CONTAINER" },
+ { SGSAP_IE_MM_INFO, "MM-INFO" },
+ { SGSAP_IE_ERR_MSG, "ERR-MSG" },
+ { SGSAP_IE_CLI, "CLI" },
+ { SGSAP_IE_LCS_CLIENT_ID, "LCS-CLIENT-ID" },
+ { SGSAP_IE_LCS_INDICATOR, "LCS-INDICATOR" },
+ { SGSAP_IE_SS_CODE, "SS-CODE" },
+ { SGSAP_IE_SERVICE_INDICATOR, "SERVICE-INDICATOR" },
+ { SGSAP_IE_UE_TIMEZONE, "UE-TIMEZONE" },
+ { SGSAP_IE_MS_CLASSMARK2, "MS-CLASSMARK2" },
+ { SGSAP_IE_TAI, "TAI" },
+ { SGSAP_IE_EUTRAN_CGI, "EUTRAN-CGI" },
+ { SGSAP_IE_UE_EMM_MODE, "UE-EMM-MODE" },
+ { SGSAP_IE_ADDL_PAGING_INDICATORS, "ADDL-PAGING-INDICATORS" },
+ { SGSAP_IE_TMSI_BASED_NRI_CONT, "TMSI-BASED-NRI-CONT" },
+ { 0, NULL }
+};
+
const struct value_string sgsap_eps_lu_type_names[] = {
{ SGSAP_EPS_LUT_IMSI_ATTACH, "IMSI Attach" },
{ SGSAP_EPS_LUT_NORMAL, "Normal" },
diff --git a/src/gsm/libosmogsm.map b/src/gsm/libosmogsm.map
index 4813e135..6234d949 100644
--- a/src/gsm/libosmogsm.map
+++ b/src/gsm/libosmogsm.map
@@ -512,6 +512,7 @@ osmo_oap_client_init;
osmo_oap_client_register;
sgsap_msg_type_names;
+sgsap_iei_names;
sgsap_eps_lu_type_names;
sgsap_ismi_det_eps_type_names;
sgsap_ismi_det_noneps_type_names;