jolly has uploaded this change for review.
C5G: Release UE Context before sending Service request
A recent fix in Open5GS rejects RAN_UE_NGAP_ID in InitialUEMessage. This
causes all tests to fail that send a subsequent InitialUEMessage with
the same RAN_UE_NGAP_ID.
Release the UE Context before re-using the RAN_UE_NGAP_ID, because the
connection handler can only handle one context at a time.
Note that the AMF_UE_NGAP_ID is incremented by Open5GS for every
context.
This fixes:
TC_ue_service_request_cm_idle_inact_sess
TC_ue_service_request_cm_idle_ul_data
TC_ue_service_request_cm_idle_unknown_sess_active
Related: Open5GS Issues #4481
Change-Id: If6fae56487aebd810c51cbab170d95d5dec7e138
---
M 5gc/C5G_Tests.ttcn
1 file changed, 14 insertions(+), 1 deletion(-)
git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/75/42775/1
diff --git a/5gc/C5G_Tests.ttcn b/5gc/C5G_Tests.ttcn
index f1c46c8..a89d023 100644
--- a/5gc/C5G_Tests.ttcn
+++ b/5gc/C5G_Tests.ttcn
@@ -579,11 +579,14 @@
f_register();
f_pdu_sess_establish(configure_userplane := false);
+ f_sleep(1.0);
+ f_ue_context_release();
+ f_sleep(1.0);
pdu_session_status := f_PDU_SessionStatus();
f_service_request_cm_idle(ul_data_status := pdu_session_status,
pdu_sess_status := pdu_session_status);
- as_ngap_handle_PDUSessionResourceSetupReq();
+ as_ngap_handle_InitialCtxReq_withPDUSessionList();
NGAP.receive(cr_NG_SERVICE_ACCEPT(p_PDU_SessionStatus := cr_PDU_SessionStatus('00000010'B, '00000000'B)));
@@ -602,9 +605,15 @@
/* 3GPP TS 23.502 4.2.3.2 UE Triggered Service Request.
* UE signals that the active session is now inactive. AMF sends a PFCP Session Delete to SMF. */
private function f_TC_ue_service_request_cm_idle_inact_sess() runs on ConnHdlr {
+ var NGAP_PDU rx_ngap;
+
f_register();
f_pdu_sess_establish(configure_userplane := false);
+ f_sleep(1.0);
+ f_ue_context_release();
+ f_sleep(1.0);
f_service_request_cm_idle(pdu_sess_status := cs_PDU_SessionStatus('00000000'B, '00000000'B));
+ g_pars.ue_pars.amf_id := g_pars.ue_pars.amf_id + 1;
NGAP.receive(cr_NG_SERVICE_ACCEPT(p_PDU_SessionStatus := cr_PDU_SessionStatus('00000000'B, '00000000'B)));
f_deregister();
}
@@ -622,7 +631,11 @@
* UE signals that a session unknown to network is active: */
private function f_TC_ue_service_request_cm_idle_unknown_sess_active() runs on ConnHdlr {
f_register();
+ f_sleep(1.0);
+ f_ue_context_release();
+ f_sleep(1.0);
f_service_request_cm_idle(pdu_sess_status := cs_PDU_SessionStatus('00000010'B, '00000000'B));
+ g_pars.ue_pars.amf_id := g_pars.ue_pars.amf_id + 1;
NGAP.receive(cr_NG_SERVICE_ACCEPT(p_PDU_SessionStatus := cr_PDU_SessionStatus('00000000'B, '00000000'B)));
f_deregister();
}
To view, visit change 42775. To unsubscribe, or for help writing mail filters, visit settings.