jolly submitted this change.

View Change

Approvals: jolly: Looks good to me, approved pespin: Looks good to me, but someone else must approve Jenkins Builder: Verified fixeria: Looks good to me, but someone else must approve
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(-)

diff --git a/5gc/C5G_Tests.ttcn b/5gc/C5G_Tests.ttcn
index f1c46c8..573bbf3 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,10 +605,16 @@
/* 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));
NGAP.receive(cr_NG_SERVICE_ACCEPT(p_PDU_SessionStatus := cr_PDU_SessionStatus('00000000'B, '00000000'B)));
+ g_pars.ue_pars.amf_id := f_ngap_obtain_amf_id();
f_deregister();
}
testcase TC_ue_service_request_cm_idle_inact_sess() runs on MTC_CT {
@@ -622,8 +631,12 @@
* 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));
NGAP.receive(cr_NG_SERVICE_ACCEPT(p_PDU_SessionStatus := cr_PDU_SessionStatus('00000000'B, '00000000'B)));
+ g_pars.ue_pars.amf_id := f_ngap_obtain_amf_id();
f_deregister();
}
testcase TC_ue_service_request_cm_idle_unknown_sess_active() runs on MTC_CT {

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

Gerrit-MessageType: merged
Gerrit-Project: osmo-ttcn3-hacks
Gerrit-Branch: master
Gerrit-Change-Id: If6fae56487aebd810c51cbab170d95d5dec7e138
Gerrit-Change-Number: 42775
Gerrit-PatchSet: 3
Gerrit-Owner: jolly <andreas@eversberg.eu>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: fixeria <vyanitskiy@sysmocom.de>
Gerrit-Reviewer: jolly <andreas@eversberg.eu>
Gerrit-Reviewer: pespin <pespin@sysmocom.de>