laforge submitted this change.

View Change


Approvals: pespin: Looks good to me, but someone else must approve Jenkins Builder: Verified laforge: Looks good to me, approved
Add ranap_decode_rab_releaseditemies_fromlist()

This function is analogous to existing ranap_decode_*_itemies_fromlist()
which we already had.

This is needed in an upcoming osmo-hnbgw patchset where we need to parse
the ReleasedItems in order to track RAB release progess in order to
gather KPIs on RAB release.

Change-Id: I328819c650fc6cefe735093a846277b4f03e6b29
---
M include/osmocom/ranap/ranap_common.h
M src/ranap_common.c
2 files changed, 44 insertions(+), 0 deletions(-)

diff --git a/include/osmocom/ranap/ranap_common.h b/include/osmocom/ranap/ranap_common.h
index 5727c0d..0da7b10 100644
--- a/include/osmocom/ranap/ranap_common.h
+++ b/include/osmocom/ranap/ranap_common.h
@@ -661,3 +661,8 @@
int ranap_decode_rab_setupormodifyitemfirst(
RANAP_RAB_SetupOrModifyItemFirst_t *raB_SetupOrModifyItemFirst,
ANY_t *any_p);
+
+/* There is no generated decoder available, this is a custom one */
+int ranap_decode_rab_releaseditemies_fromlist(
+ RANAP_RAB_ReleasedItemIEs_t *raB_ReleasedItemIEs,
+ ANY_t *any_p);
diff --git a/src/ranap_common.c b/src/ranap_common.c
index f264ac0..2c99ecd 100644
--- a/src/ranap_common.c
+++ b/src/ranap_common.c
@@ -628,6 +628,29 @@
return decoded;
}

+int ranap_decode_rab_releaseditemies_fromlist(RANAP_RAB_ReleasedItemIEs_t *raB_ReleasedItemIEs, ANY_t *any_p)
+{
+ RANAP_RAB_ReleasedItem_t *ranaP_RABReleasedItem_p = NULL;
+ int decoded;
+
+ assert(any_p != NULL);
+ assert(raB_ReleasedItemIEs != NULL);
+
+ memset(raB_ReleasedItemIEs, 0, sizeof(RANAP_RAB_ReleasedItemIEs_t));
+ RANAP_DEBUG("Decoding message RANAP_RAB_ReleasedItemIEs (%s:%d)\n", __FILE__, __LINE__);
+ decoded = ANY_to_type_aper(any_p, &asn_DEF_RANAP_RAB_ReleasedItem, (void **)&ranaP_RABReleasedItem_p);
+ if (decoded < 0) {
+ LOGP(DRANAP, LOGL_ERROR, "Decoding of IE raB_ReleasedItem failed\n");
+ return -1;
+ }
+ if (asn1_xer_print)
+ xer_fprint(stdout, &asn_DEF_RANAP_RAB_ReleasedItem, ranaP_RABReleasedItem_p);
+ memcpy(&raB_ReleasedItemIEs->raB_ReleasedItem, ranaP_RABReleasedItem_p, sizeof(RANAP_RAB_ReleasedItem_t));
+ FREEMEM(ranaP_RABReleasedItem_p);
+
+ return decoded;
+}
+
int ranap_decode_rab_setupormodifyitemfirst(
RANAP_RAB_SetupOrModifyItemFirst_t *raB_SetupOrModifyItemFirst,
ANY_t *any_p)

To view, visit change 36309. To unsubscribe, or for help writing mail filters, visit settings.

Gerrit-Project: osmo-iuh
Gerrit-Branch: master
Gerrit-Change-Id: I328819c650fc6cefe735093a846277b4f03e6b29
Gerrit-Change-Number: 36309
Gerrit-PatchSet: 2
Gerrit-Owner: laforge <laforge@osmocom.org>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: laforge <laforge@osmocom.org>
Gerrit-Reviewer: pespin <pespin@sysmocom.de>
Gerrit-MessageType: merged