fixeria has submitted this change. ( https://gerrit.osmocom.org/c/erlang/osmo-s1gw/+/39114?usp=email )
Change subject: s1ap_proxy: handle_ies(): also handle #'ProtocolExtensionField' ......................................................................
s1ap_proxy: handle_ies(): also handle #'ProtocolExtensionField'
This patch prepares for a follow-up change adding E-RAB MODIFY REQ/RSP, allowing to execute handle_ies() on a list of #'ProtocolExtensionField'.
* 9.1.3.3 E-RAB MODIFY REQUEST ** contains an E-RABToBeModifiedListBearerModReq IE *** contains E-RABToBeModifiedItemBearerModReq IEs **** each may optionally contain TransportInformation IE ^^^^^^^^^^^^^^^^^^^^^^^ #'ProtocolExtensionField'
Change-Id: Ic1ed2c4662e82bd739c35f9179eaaec20c3cad98 --- M src/s1ap_proxy.erl 1 file changed, 8 insertions(+), 0 deletions(-)
Approvals: laforge: Looks good to me, but someone else must approve fixeria: Looks good to me, approved Jenkins Builder: Verified pespin: Looks good to me, but someone else must approve
diff --git a/src/s1ap_proxy.erl b/src/s1ap_proxy.erl index 18b054b..3414e79 100644 --- a/src/s1ap_proxy.erl +++ b/src/s1ap_proxy.erl @@ -592,6 +592,14 @@ {{error, Reason}, S1} -> {{error, Reason}, S1} end; + #'ProtocolExtensionField'{id = IEI, extensionValue = C0} -> + case handle_ie(P, C0, S0) of + {{ok, C1}, S1} -> + NewIE = IE#'ProtocolExtensionField'{extensionValue = C1}, + handle_ies([NewIE | Acc], IEI, IEs, S1); + {{error, Reason}, S1} -> + {{error, Reason}, S1} + end; #'ProtocolIE-Field'{id = ?'id-MME-UE-S1AP-ID', value = Id} -> S1 = S0#proxy_state{mme_ue_id = Id}, handle_ies([IE | Acc], IEI, IEs, S1);