pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/42329?usp=email )
Change subject: 5gc: parametrize RequestType in f_pdu_sess_establish() ......................................................................
5gc: parametrize RequestType in f_pdu_sess_establish()
Change-Id: I69d6be5e581565720a21c719b0f982eb31ec2adf --- M 5gc/C5G_Tests.ttcn M 5gc/ConnHdlr.ttcn M library/NG_NAS_Osmo_Types.ttcn 3 files changed, 19 insertions(+), 9 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/29/42329/1
diff --git a/5gc/C5G_Tests.ttcn b/5gc/C5G_Tests.ttcn index bdb0c84..636a0a3 100644 --- a/5gc/C5G_Tests.ttcn +++ b/5gc/C5G_Tests.ttcn @@ -360,7 +360,7 @@ } private function f_TC_ue_context_release_with_pdu_session() runs on ConnHdlr { f_register(); - f_pdu_sess_establish(false); + f_pdu_sess_establish(configure_userplane := false); f_sleep(1.0); f_ue_context_release(); } @@ -376,7 +376,7 @@
private function f_TC_pdu_sess_modification() runs on ConnHdlr { f_register(); - f_pdu_sess_establish(false); + f_pdu_sess_establish(configure_userplane := false); f_sleep(1.0); f_pdu_sess_modify(); f_pdu_sess_release(); @@ -432,7 +432,7 @@ var PDU_SessionStatus pdu_session_status;
f_register(); - f_pdu_sess_establish(false); + f_pdu_sess_establish(configure_userplane := false); pdu_session_status := f_PDU_SessionStatus(); f_service_request_cm_idle(ul_data_status := pdu_session_status, pdu_sess_status := pdu_session_status); @@ -457,7 +457,7 @@ * 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 { f_register(); - f_pdu_sess_establish(false); + f_pdu_sess_establish(configure_userplane := false); 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))); f_deregister(); @@ -495,7 +495,7 @@ var PDU_SessionStatus pdu_session_status;
f_register(); - f_pdu_sess_establish(false); + f_pdu_sess_establish(configure_userplane := false); pdu_session_status := f_PDU_SessionStatus(); f_service_request_cm_connected(ul_data_status := cs_PDU_SessionStatus('00000000'B, '00000000'B), pdu_sess_status := pdu_session_status); @@ -556,7 +556,7 @@ /* 3GPP TS 23.502 4.8.1.1(a) Connection Inactive procedure */ private function f_TC_connection_inactive() runs on ConnHdlr { f_register(); - f_pdu_sess_establish(false); + f_pdu_sess_establish(configure_userplane := false);
/* Figure 4.8.1.1a-1 step 2: "NG-RAN sends N2 MT Communication Handling request message * to AMF indicating the UE is transitioning to RRC_INACTIVE state". */ @@ -588,7 +588,7 @@ * 3GPP TS 23.502 4.8.2.3 Connection Resume procedure */ private function f_TC_connection_suspend() runs on ConnHdlr { f_register(); - f_pdu_sess_establish(false); + f_pdu_sess_establish(configure_userplane := false);
f_ue_context_suspend(); f_ue_context_resume(); diff --git a/5gc/ConnHdlr.ttcn b/5gc/ConnHdlr.ttcn index a561949..38f55e0 100644 --- a/5gc/ConnHdlr.ttcn +++ b/5gc/ConnHdlr.ttcn @@ -526,7 +526,8 @@ }
/* 3GPP TS 23.502 4.3.2.2 UE Requested PDU Session Establishment */ -function f_pdu_sess_establish(boolean configure_userplane := true) runs on ConnHdlr { +function f_pdu_sess_establish(BIT3 request_type := c_RequestType_initial_request, + boolean configure_userplane := true) runs on ConnHdlr { var template (value) NG_NAS_UL_Message_Type nas_ul_msg; var NAS_PDU nas_pdu; var NG_NAS_DL_Message_Type rx_nas, inner_nas; @@ -541,7 +542,7 @@ nas_ul_msg := cs_NG_UL_NAS_TRANSPORT(cs_PayloadContainerType(tsc_PayloadContainerESMMsg), cs_PayloadContainerLV(nas_pdu), p_PDU_SessionId := cs_NG_PDU_SessionIdTV(pdu_sess_id), - p_RequestType := cs_NG_Request_TypeTV('001'B), + p_RequestType := cs_NG_Request_TypeTV(c_RequestType_initial_request), p_DNN := cs_DNN_TLV(f_enc_dns_hostname(g_pars.ue_pars.apn))); NGAP.send(nas_ul_msg); as_ngap_handle_InitialCtxReq_withPDUSessionList(g_pars.ue_pars.amf_id); diff --git a/library/NG_NAS_Osmo_Types.ttcn b/library/NG_NAS_Osmo_Types.ttcn index a1a5263..f897246 100644 --- a/library/NG_NAS_Osmo_Types.ttcn +++ b/library/NG_NAS_Osmo_Types.ttcn @@ -37,6 +37,15 @@ const BIT4 c_PayloadContainer_SLPP_Message_Container := '1100'B; const BIT4 c_PayloadContainer_Multiple_Payloads := '1111'B;
+/* 9.11.3.47 Request type */ +const BIT3 c_RequestType_initial_request := '001'B; +const BIT3 c_RequestType_existing_pdu_session := '010'B; +const BIT3 c_RequestType_initial_emergency_request := '011'B; +const BIT3 c_RequestType_existing_emergency_pdu_session := '100'B; +const BIT3 c_RequestType_modification_request := '101'B; +const BIT3 c_RequestType_ma_pdu_request := '110'B; +const BIT3 c_RequestType_reserved := '111'B; + const NAS_CauseValue_Type c_5GSM_Cause_RegularDeactivation := '00100100'B;
/* 3GPP TS 24.501 9.11.3.50 Service type */