aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--include/osmocom/gprs/gprs_bssgp_rim.h6
-rw-r--r--src/gb/gprs_bssgp_rim.c10
-rw-r--r--src/gb/libosmogb.map1
3 files changed, 17 insertions, 0 deletions
diff --git a/include/osmocom/gprs/gprs_bssgp_rim.h b/include/osmocom/gprs/gprs_bssgp_rim.h
index 5e5966e1..48bf047c 100644
--- a/include/osmocom/gprs/gprs_bssgp_rim.h
+++ b/include/osmocom/gprs/gprs_bssgp_rim.h
@@ -123,6 +123,12 @@ enum bssgp_ran_inf_app_id {
BSSGP_RAN_INF_APP_ID_UTRA_SI = 5,
};
+extern const struct value_string bssgp_ran_inf_app_id_strs[];
+
+/*! Obtain a human-readable string for RIM Application Identity code */
+static inline const char *bssgp_ran_inf_app_id_str(enum bssgp_ran_inf_app_id val)
+{ return get_value_string(bssgp_ran_inf_app_id_strs, val); }
+
/* 3GPP TS 48.018, table 11.3.62a.1.b: RAN-INFORMATION-REQUEST RIM Container Contents */
struct bssgp_ran_inf_req_rim_cont {
enum bssgp_ran_inf_app_id app_id;
diff --git a/src/gb/gprs_bssgp_rim.c b/src/gb/gprs_bssgp_rim.c
index 67e01160..5ef83755 100644
--- a/src/gb/gprs_bssgp_rim.c
+++ b/src/gb/gprs_bssgp_rim.c
@@ -385,6 +385,16 @@ static uint8_t *enc_rim_cont_common(uint8_t *buf, size_t len, const struct bssgp
return buf_ptr;
}
+/* 3GPP TS 48.018, table 11.3.61.b: RIM Application Identity coding */
+const struct value_string bssgp_ran_inf_app_id_strs[] = {
+ { BSSGP_RAN_INF_APP_ID_NACC, "Network Assisted Cell Change (NACC)" },
+ { BSSGP_RAN_INF_APP_ID_SI3, "System Information 3 (SI3)" },
+ { BSSGP_RAN_INF_APP_ID_MBMS, "MBMS data channel" },
+ { BSSGP_RAN_INF_APP_ID_SON, "SON Transfer" },
+ { BSSGP_RAN_INF_APP_ID_UTRA_SI, "UTRA System Information (UTRA SI)" },
+ { 0, NULL }
+};
+
/*! Decode a RAN Information Request RIM Container (3GPP TS 48.018, table 11.3.62a.1.b).
* \param[out] user provided memory for decoded data struct.
* \param[in] buf user provided memory with the encoded value data of the IE.
diff --git a/src/gb/libosmogb.map b/src/gb/libosmogb.map
index dc9df3a9..23d52a2a 100644
--- a/src/gb/libosmogb.map
+++ b/src/gb/libosmogb.map
@@ -33,6 +33,7 @@ bssgp_nacc_cause_strs;
bssgp_parse_cell_id;
bssgp_parse_rim_pdu;
bssgp_parse_rim_ri;
+bssgp_ran_inf_app_id_strs;
bssgp_set_bssgp_callback;
bssgp_tx_bvc_block;
bssgp_tx_bvc_reset;