Loading etc/AtsNGAP/AtsNGAP_AMF_open5gs.cfg_ +1 −0 Original line number Diff line number Diff line Loading @@ -30,6 +30,7 @@ Lib_NG_NAS_Pixits.PX_SUPI_FORMAT := '0000'B # IMSI format Lib_NG_NAS_Pixits.PX_TYPE_OF_ID := '001'B # SUCI type Lib_NG_NAS_Pixits.PX_SUPI_DIGITS := '00f110214300014444330302'O Lib_NG_NAS_Pixits.PX_MSIN := '0000000010'O; Lib_NG_NAS_Pixits.PX_NETWORK_NAME := "Open5GS" # OP Lib_NG_NAS_Pixits.PX_OPERATOR_KEY := '00000000000000000000000000000000'O Loading titan-test-system-framework @ b7ef8f8a Original line number Diff line number Diff line Subproject commit c668fdde6b04942cb7ce43b5fd379105174c1828 Subproject commit b7ef8f8a661c237a8c79b1a58fa16e99cca17175 ttcn/AtsNGAP/NGAP_Steps.ttcn +10 −2 Original line number Diff line number Diff line Loading @@ -268,7 +268,7 @@ module NGAP_Steps { function f_NGAP_amf_UE_PDU_SessionEstablishmentRequest() runs on aMFNGAPComponent { log(">>> f_NGAP_amf_UE_PDU_SessionEstablishmentRequest"); if (PICS_OFFLINE_MODE) { f_await_session_establishment_request(); f_await_pdu_session_establishment_request(); } else { f_send_pdu_session_establishment_request(); } Loading @@ -282,6 +282,14 @@ module NGAP_Steps { f_await_session_establishment_accept(); } // End of function f_NGAP_amf_UE_PDU_SessionEstablishmentAccept /** * @desc */ function f_NGAP_amf_ConfigurationUpdateCommand() runs on aMFNGAPComponent { log(">>> f_NGAP_amf_ConfigurationUpdateCommand"); f_await_configuration_update_command(); } // End of function f_NGAP_amf_ConfigurationUpdateCommand /** * @desc */ Loading Loading @@ -522,7 +530,7 @@ module NGAP_Steps { */ function f_NGAP_gnb_UE_PDU_SessionEstablishmentRequest() runs on gNBNGAPComponent { log(">>> f_NGAP_gnb_UE_PDU_SessionEstablishmentRequest"); f_await_session_establishment_request(); f_await_pdu_session_establishment_request(); } // End of function f_NGAP_gnb_UE_PDU_SessionEstablishmentRequest /** Loading ttcn/AtsNGAP/NGAP_TCFunctions.ttcn +2 −1 Original line number Diff line number Diff line Loading @@ -4043,7 +4043,8 @@ module NGAP_TCFunctions { // Body //action("Trigger PDU session resource SETUP!"); f_NGAP_amf_UE_PDU_SessionEstablishmentRequest(); f_NGAP_amf_UE_PDU_SessionEstablishmentRequest(); // f_send_pdu_session_establishment_request f_NGAP_amf_ConfigurationUpdateCommand(); // f_await_configuration_update_command f_recv_NGAP_PDU( mw_ngap_initMsg( Loading ttcn/LibNGAP/lib_system/LibNGAP_Functions.ttcn +80 −21 Original line number Diff line number Diff line Loading @@ -99,8 +99,8 @@ module LibNGAP_Functions { { m_sliceSupportItem( m_s_NSSAI( PX_SST, PX_SD PX_SST/*, PX_SD*/ ), -//in template (omit) SliceSupportItem.iE_Extensions p_iE_Extensions := omit ) Loading Loading @@ -872,15 +872,15 @@ module LibNGAP_Functions { log("vc_sendNAS_PDU: ", vc_sendNAS_PDU); f_send_NGAP_PDU( m_ngap_initMsg( m_n2_initialUeMessage( -, m_n2_UplinkNASTransport( vc_AMF_UE_ID, vc_RAN_UE_ID, vc_sendNAS_PDU, m_uPTransportLayerInformation_userLocationInformationNR( m_userLocationInformationNR( m_nR_CGI, m_tAI )) ))); ))))); } /** Loading @@ -892,8 +892,10 @@ module LibNGAP_Functions { // Await request for REGISTRATION_COMPLETE f_recv_NGAP_PDU( mw_ngap_initMsg( mw_n2_initialUeMessage )); mw_n2_UplinkNASTransport( vc_AMF_UE_ID, vc_RAN_UE_ID ))); f_NASPDU_Get(vc_recvNGAP_PDU) if (match(vc_recvNgNasUl_Msg, mw_NG_REGISTRATION_COMPLETE)) { log("Received NG_REGISTRATION_COMPLETE NAS message"); Loading @@ -915,8 +917,15 @@ module LibNGAP_Functions { crs_SSC_Mode('9'H, '001'B), m_ng_ue_sm_cap, -, m_integrity_prot_max_data_rate )); m_integrity_prot_max_data_rate, -, -, f_NAS_ExtdProtocolConfigOptionsTX( { cs_ProtocolContainer_Common('000a'O), cs_ProtocolContainer_Common('000d'O) } ))); v_ng_pdu_session_establishment_request.pdu_Session_Establishment_Request.protocolDiscriminator := tsc_EPD_GSM; // 2. Prepare UL NAS Transport message log("v_ng_pdu_session_establishment_request: ", v_ng_pdu_session_establishment_request); Loading Loading @@ -970,8 +979,8 @@ module LibNGAP_Functions { ))))); } function f_await_session_establishment_request() runs on NGNASComponent { log(">>> f_await_session_establishment_request"); function f_await_pdu_session_establishment_request() runs on NGNASComponent { log(">>> f_await_pdu_session_establishment_request"); // Await PDUSessionEstablishmentRequest f_recv_NGAP_PDU( Loading Loading @@ -1233,6 +1242,45 @@ module LibNGAP_Functions { // ))); // } function f_await_configuration_update_command() runs on NGNASComponent { log(">>> f_await_configuration_update_command"); // Await ConfigurationUpdateCommand f_recv_NGAP_PDU( mw_ngap_initMsg( mw_n2_DownlinkNASTransport( vc_AMF_UE_ID, vc_RAN_UE_ID ))); f_NASPDU_Get(vc_recvNGAP_PDU); var NG_NAS_DL_Message_Type v_message; if (f_Check_5GAKA_NAS_DL_Message( vc_recvNAS_PDU, mw_NG_CONFIGURATION_UPDATE_COMMAND( -, -, -, -, -, mw_network_name( -, -, -, -, -, -//unichar2oct(oct2unichar(char2oct(PX_NETWORK_NAME))) ), -, cs_TimeZone('40'O), ?, // TimeZoneAndTime ? // DaylightSavingTime ), vc_ng_nas_security_params_type, vc_previous_nas_count_dl, v_message ) == false) { log("*** " & __SCOPE__ & ": FAIL: NG_CONFIGURATION_UPDATE_COMMAND mismatch. ***"); setverdict(fail); } else { log("*** " & __SCOPE__ & ": PASS: Expected NG_CONFIGURATION_UPDATE_COMMAND ***"); setverdict(pass); } log("v_message: ", v_message); log("<<< f_await_configuration_update_command"); } function f_await_initial_context_setup_failure() runs on NGNASComponent { log(">>> f_send_initial_context_setup_failure"); Loading Loading @@ -1517,6 +1565,17 @@ module LibNGAP_Functions { p_nas_count, p_bearerId); } if ( (p_ng_nas_security_params_type.NAS_Ciphering.Algorithm == tsc_SHT_IntegrityProtected_Ciphered) or (p_ng_nas_security_params_type.NAS_Ciphering.Algorithm == tsc_SHT_IntegrityProtected_Ciphered_NewSecurityContext) ) { log("f_EncodeAndCipher_NG_NasPdu_v: Apply ciphering"); v_EncodedNasPdu := fx_NG_NasCiphering(p_nAS_PDU, p_ng_nas_security_params_type.NAS_Ciphering.Algorithm, p_ng_nas_security_params_type.NAS_Ciphering.K_NAS, p_nas_count, p_bearerId); } // Apply integrity protection log("f_EncodeAndCipher_NG_NasPdu_v: Apply integrity protection"); Loading Loading
etc/AtsNGAP/AtsNGAP_AMF_open5gs.cfg_ +1 −0 Original line number Diff line number Diff line Loading @@ -30,6 +30,7 @@ Lib_NG_NAS_Pixits.PX_SUPI_FORMAT := '0000'B # IMSI format Lib_NG_NAS_Pixits.PX_TYPE_OF_ID := '001'B # SUCI type Lib_NG_NAS_Pixits.PX_SUPI_DIGITS := '00f110214300014444330302'O Lib_NG_NAS_Pixits.PX_MSIN := '0000000010'O; Lib_NG_NAS_Pixits.PX_NETWORK_NAME := "Open5GS" # OP Lib_NG_NAS_Pixits.PX_OPERATOR_KEY := '00000000000000000000000000000000'O Loading
titan-test-system-framework @ b7ef8f8a Original line number Diff line number Diff line Subproject commit c668fdde6b04942cb7ce43b5fd379105174c1828 Subproject commit b7ef8f8a661c237a8c79b1a58fa16e99cca17175
ttcn/AtsNGAP/NGAP_Steps.ttcn +10 −2 Original line number Diff line number Diff line Loading @@ -268,7 +268,7 @@ module NGAP_Steps { function f_NGAP_amf_UE_PDU_SessionEstablishmentRequest() runs on aMFNGAPComponent { log(">>> f_NGAP_amf_UE_PDU_SessionEstablishmentRequest"); if (PICS_OFFLINE_MODE) { f_await_session_establishment_request(); f_await_pdu_session_establishment_request(); } else { f_send_pdu_session_establishment_request(); } Loading @@ -282,6 +282,14 @@ module NGAP_Steps { f_await_session_establishment_accept(); } // End of function f_NGAP_amf_UE_PDU_SessionEstablishmentAccept /** * @desc */ function f_NGAP_amf_ConfigurationUpdateCommand() runs on aMFNGAPComponent { log(">>> f_NGAP_amf_ConfigurationUpdateCommand"); f_await_configuration_update_command(); } // End of function f_NGAP_amf_ConfigurationUpdateCommand /** * @desc */ Loading Loading @@ -522,7 +530,7 @@ module NGAP_Steps { */ function f_NGAP_gnb_UE_PDU_SessionEstablishmentRequest() runs on gNBNGAPComponent { log(">>> f_NGAP_gnb_UE_PDU_SessionEstablishmentRequest"); f_await_session_establishment_request(); f_await_pdu_session_establishment_request(); } // End of function f_NGAP_gnb_UE_PDU_SessionEstablishmentRequest /** Loading
ttcn/AtsNGAP/NGAP_TCFunctions.ttcn +2 −1 Original line number Diff line number Diff line Loading @@ -4043,7 +4043,8 @@ module NGAP_TCFunctions { // Body //action("Trigger PDU session resource SETUP!"); f_NGAP_amf_UE_PDU_SessionEstablishmentRequest(); f_NGAP_amf_UE_PDU_SessionEstablishmentRequest(); // f_send_pdu_session_establishment_request f_NGAP_amf_ConfigurationUpdateCommand(); // f_await_configuration_update_command f_recv_NGAP_PDU( mw_ngap_initMsg( Loading
ttcn/LibNGAP/lib_system/LibNGAP_Functions.ttcn +80 −21 Original line number Diff line number Diff line Loading @@ -99,8 +99,8 @@ module LibNGAP_Functions { { m_sliceSupportItem( m_s_NSSAI( PX_SST, PX_SD PX_SST/*, PX_SD*/ ), -//in template (omit) SliceSupportItem.iE_Extensions p_iE_Extensions := omit ) Loading Loading @@ -872,15 +872,15 @@ module LibNGAP_Functions { log("vc_sendNAS_PDU: ", vc_sendNAS_PDU); f_send_NGAP_PDU( m_ngap_initMsg( m_n2_initialUeMessage( -, m_n2_UplinkNASTransport( vc_AMF_UE_ID, vc_RAN_UE_ID, vc_sendNAS_PDU, m_uPTransportLayerInformation_userLocationInformationNR( m_userLocationInformationNR( m_nR_CGI, m_tAI )) ))); ))))); } /** Loading @@ -892,8 +892,10 @@ module LibNGAP_Functions { // Await request for REGISTRATION_COMPLETE f_recv_NGAP_PDU( mw_ngap_initMsg( mw_n2_initialUeMessage )); mw_n2_UplinkNASTransport( vc_AMF_UE_ID, vc_RAN_UE_ID ))); f_NASPDU_Get(vc_recvNGAP_PDU) if (match(vc_recvNgNasUl_Msg, mw_NG_REGISTRATION_COMPLETE)) { log("Received NG_REGISTRATION_COMPLETE NAS message"); Loading @@ -915,8 +917,15 @@ module LibNGAP_Functions { crs_SSC_Mode('9'H, '001'B), m_ng_ue_sm_cap, -, m_integrity_prot_max_data_rate )); m_integrity_prot_max_data_rate, -, -, f_NAS_ExtdProtocolConfigOptionsTX( { cs_ProtocolContainer_Common('000a'O), cs_ProtocolContainer_Common('000d'O) } ))); v_ng_pdu_session_establishment_request.pdu_Session_Establishment_Request.protocolDiscriminator := tsc_EPD_GSM; // 2. Prepare UL NAS Transport message log("v_ng_pdu_session_establishment_request: ", v_ng_pdu_session_establishment_request); Loading Loading @@ -970,8 +979,8 @@ module LibNGAP_Functions { ))))); } function f_await_session_establishment_request() runs on NGNASComponent { log(">>> f_await_session_establishment_request"); function f_await_pdu_session_establishment_request() runs on NGNASComponent { log(">>> f_await_pdu_session_establishment_request"); // Await PDUSessionEstablishmentRequest f_recv_NGAP_PDU( Loading Loading @@ -1233,6 +1242,45 @@ module LibNGAP_Functions { // ))); // } function f_await_configuration_update_command() runs on NGNASComponent { log(">>> f_await_configuration_update_command"); // Await ConfigurationUpdateCommand f_recv_NGAP_PDU( mw_ngap_initMsg( mw_n2_DownlinkNASTransport( vc_AMF_UE_ID, vc_RAN_UE_ID ))); f_NASPDU_Get(vc_recvNGAP_PDU); var NG_NAS_DL_Message_Type v_message; if (f_Check_5GAKA_NAS_DL_Message( vc_recvNAS_PDU, mw_NG_CONFIGURATION_UPDATE_COMMAND( -, -, -, -, -, mw_network_name( -, -, -, -, -, -//unichar2oct(oct2unichar(char2oct(PX_NETWORK_NAME))) ), -, cs_TimeZone('40'O), ?, // TimeZoneAndTime ? // DaylightSavingTime ), vc_ng_nas_security_params_type, vc_previous_nas_count_dl, v_message ) == false) { log("*** " & __SCOPE__ & ": FAIL: NG_CONFIGURATION_UPDATE_COMMAND mismatch. ***"); setverdict(fail); } else { log("*** " & __SCOPE__ & ": PASS: Expected NG_CONFIGURATION_UPDATE_COMMAND ***"); setverdict(pass); } log("v_message: ", v_message); log("<<< f_await_configuration_update_command"); } function f_await_initial_context_setup_failure() runs on NGNASComponent { log(">>> f_send_initial_context_setup_failure"); Loading Loading @@ -1517,6 +1565,17 @@ module LibNGAP_Functions { p_nas_count, p_bearerId); } if ( (p_ng_nas_security_params_type.NAS_Ciphering.Algorithm == tsc_SHT_IntegrityProtected_Ciphered) or (p_ng_nas_security_params_type.NAS_Ciphering.Algorithm == tsc_SHT_IntegrityProtected_Ciphered_NewSecurityContext) ) { log("f_EncodeAndCipher_NG_NasPdu_v: Apply ciphering"); v_EncodedNasPdu := fx_NG_NasCiphering(p_nAS_PDU, p_ng_nas_security_params_type.NAS_Ciphering.Algorithm, p_ng_nas_security_params_type.NAS_Ciphering.K_NAS, p_nas_count, p_bearerId); } // Apply integrity protection log("f_EncodeAndCipher_NG_NasPdu_v: Apply integrity protection"); Loading