Loading ttcn/Ats_NG_NAS/NG_NAS_TCFunctions.ttcn +184 −0 Changes for ttcn/Ats_NG_NAS/NG_NAS_TCFunctions.ttcn: 184 added lines, 0 removed lines. Original line number Diff line number Diff line Loading @@ -1369,6 +1369,7 @@ module NG_NAS_TCFunctions { )) )) ); // Await request for REGISTRATION_ACCEPT f_recv_NGAP_PDU( mw_ngap_initMsg( Loading Loading @@ -1416,6 +1417,189 @@ module NG_NAS_TCFunctions { log("*** " & __SCOPE__ & ": INFO: Postamble done. ***"); } // End of function f_TC_5GNAS_AMF_REG_ACC_05 /** * @desc Testcase function for TC_5GNAS_AMF_REG_ACC_06 */ function f_TC_5GNAS_AMF_REG_ACC_06() runs on aMF_NGNAS_NGAPComponent { // Local variables var boolean PICS_NGAP_A4_5_2_1 := true; //TODO move to PICS of NGAP // Preamble f_NG_NAS_amf_UE_Register(); f_NG_NAS_amf_UE_Authentication(); f_NG_NAS_amf_UE_SecurityMode(); // FIXME Optional f_send_NGUERadioCApabilityInfoIndication(); f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); log("*** " & __SCOPE__ & ": INFO: Preamble done. ***"); // Test Body // Send REGISTRATION_REQUEST //use of SUCI identity PX_ params! var octetstring v_other_digits := f_get_suci_other_digits(); // ETSI TS 124 501 Figure 9.11.3.4.3: 5GS mobile identity information element for type of identity "SUCI" and SUPI format "IMSI" log("f_TC_5GNAS_AMF_REG_ACC_06: v_other_digits: ", v_other_digits); vt_NgNasUl_Msg := m_NG_REGISTRATION_REQUEST( {'0'B,'001'B/*FirstRegistration*/},//in template (value) RegistrationType p_RegistrationType, '111'B,//in template (value) NAS_KsiValue p_KeySetId, '0'B,//in template (value) B1_Type p_Tsc, /*m_NG_MobileIdentitySUCI(PX_SUPI_FORMAT, v_other_digits, PX_TYPE_OF_ID)//in template (value) NG_MobileIdentity p_MobileId, // 24.501 cl. 9.11.3.4*/ m_NG_MobileIdentitySUCI('0000'B/*IMSI*/, v_other_digits, '001'B/*SUCI*/)//in template (value) NG_MobileIdentity p_MobileId, // 24.501 cl. 9.11.3.4 /* in template (omit) NAS_KeySetIdentifier p_NonCurrentKSI := omit, in template (omit) NG_GMM_Cap p_GMM_Cap := omit, in template (omit) NG_UE_SecurityCapability p_UESecurityCap := omit, in template (omit) NSSAI p_ReqNSSAI := omit, in template (omit) NG_TrackingAreaId p_TAI := omit, in template (omit) UE_NetworkCap p_UE_NetworkCap := omit, in template (omit) ULDataStatus p_ULDataStatus := omit, in template (omit) PDU_SessionStatus p_PDU_SessionStatus := omit, in template (omit) MICO_Ind p_MICO_Ind := omit, in template (omit) UE_Status p_UE_Status := omit, in template (omit) NG_MobileIdentity p_AddGUTI := omit, in template (omit) AllowedPDU_SessionStatus p_AllowedPDU_SessionStatus := omit, in template (omit) UE_UsageSetting p_UE_UsageSetting := omit, in template (omit) NG_DRXparameter p_DRXparam := omit, in template (omit) EPS_MessageContainer p_EPSMsg := omit, in template (omit) LADN_Ind p_LADN_Ind := omit, in template (omit) PayloadContainerType p_ContainerType := omit, // @sic R5w190113 sic@ in template (omit) PayloadContainer p_Payload := omit, in template (omit) NetworkSlicingInd p_NetworkSlicingInd := omit, in template (omit) NG_UpdateType p_NG_UpdateType := omit, in template (omit) MS_Clsmk2 p_MS_Clsmk2 := omit, in template (omit) CodecList p_SupportedCodecs := omit, in template (omit) EPS_BearerContextStatus p_EPS_BearerContextStatus := omit, // @sic R5s190543 sic@ in template (omit) NASMessageContainer p_Msg := omit, in template (omit) ExtdDRXParams p_ExtdDRXParams := omit, in template (omit) GPRS_Timer3 p_T3324 := omit, in template (omit) UERadioCapId p_UERadioCapId := omit, in template (omit) MappedNSSAI p_MappedNSSAI := omit, in template (omit) AddInfoRequest p_AddInfoRequest := omit, in template (omit) WUSAssistInfo p_WUSAssistInfo := omit, in template (omit) N5GCInd p_N5GCInd := omit, in template (omit) NB_N1ModeDRXParams p_NB_N1ModeDRXParams := omit, in template (omit) UE_RequestType p_UeRequestType := omit, in template (omit) NG_PagingRestriction p_PagingRestrict := omit, in template (omit) ServiceLvlAAContainer p_ServiceLvlAA := omit, in template (omit) NID p_NId := omit, in template (omit) PLMN_IdIE p_MSPLMNwDisasterCondition := omit, in template (omit) PEIPS_AssistInfo p_RequestedPEIPS_AssistInfo := omit, in template (omit) GPRS_Timer3 p_T3512 := omit */ ) vc_sendNAS_PDU := bit2oct(encvalue( vt_NgNasUl_Msg )); f_send_NGAP_PDU( m_ngap_initMsg( m_n2_initialUeMessage( -, vc_sendNAS_PDU, m_uPTransportLayerInformation_userLocationInformationNR( m_userLocationInformationNR( m_nR_CGI, m_tAI )) ) //UEContextRequest set to "requested" by default in template ) ); // // Await request for REGISTRATION_ACCEPT // f_recv_NGAP_PDU( // mw_ngap_initMsg( // mw_n2_DownlinkNASTransport( // ?,//PX_AMF_UE_NGAP_ID, // PX_RAN_UE_NGAP_ID, // ? // AuthorizationRequest // ))); // 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_REGISTRATION_ACCEPT( // -, // ?, // mw_PLMN_List( // -, -, // { // *, // fl_NasNN_MCC2PlmnId(PX_NAS_MCC, PX_NAS_MNC), // * // } // ), // -,?/*AllowedNSSAI*/,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-, // ? // ), // vc_ng_nas_security_params_type, // vc_previous_nas_count_dl, // v_message, // vc_inner_message // ) == false) { // log("*** " & __SCOPE__ & ": FAIL: NG_REGISTRATION_ACCEPT mismatch. ***"); // setverdict(fail); // } else { // log("*** " & __SCOPE__ & ": PASS: NG_REGISTRATION_ACCEPT match. ***"); // setverdict(pass); // } f_await_security_mode_command_send_security_mode_complete(); if (not (PICS_NGAP_A4_5_2_1)) { //REG_ACCEPT in NAS in InitialContextSetupReq f_recv_NGAP_PDU( mw_ngap_initMsg( mw_n2_InitialContextSetupRequest_base_nas )); f_NASPDU_Get(vc_recvNGAP_PDU); } else { f_recv_NGAP_PDU( mw_ngap_initMsg( mw_n2_DownlinkNASTransport( ?,//PX_AMF_UE_NGAP_ID, PX_RAN_UE_NGAP_ID, ? // AuthorizationRequest ))); 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_REGISTRATION_ACCEPT( -, ?, mw_PLMN_List( -, -, { *, fl_NasNN_MCC2PlmnId(PX_NAS_MCC, PX_NAS_MNC), * } ), -,?/*AllowedNSSAI*/,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-, ? ), vc_ng_nas_security_params_type, vc_previous_nas_count_dl, v_message, vc_inner_message ) == false) { log("*** " & __SCOPE__ & ": FAIL: NG_REGISTRATION_ACCEPT mismatch. ***"); setverdict(fail); } else { log("*** " & __SCOPE__ & ": PASS: NG_REGISTRATION_ACCEPT match. ***"); setverdict(pass); } } f_send_registration_complete(); f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); log("*** " & __SCOPE__ & ": INFO: Testbody done. ***"); // Postamble //TODO: f_postamble_NGAP_gNB(); f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); log("*** " & __SCOPE__ & ": INFO: Postamble done. ***"); } // End of function f_TC_5GNAS_AMF_REG_ACC_06 /** * @desc Testcase function for TP_5GNAS_AMF_REG_REJ_01 */ Loading Loading
ttcn/Ats_NG_NAS/NG_NAS_TCFunctions.ttcn +184 −0 Changes for ttcn/Ats_NG_NAS/NG_NAS_TCFunctions.ttcn: 184 added lines, 0 removed lines. Original line number Diff line number Diff line Loading @@ -1369,6 +1369,7 @@ module NG_NAS_TCFunctions { )) )) ); // Await request for REGISTRATION_ACCEPT f_recv_NGAP_PDU( mw_ngap_initMsg( Loading Loading @@ -1416,6 +1417,189 @@ module NG_NAS_TCFunctions { log("*** " & __SCOPE__ & ": INFO: Postamble done. ***"); } // End of function f_TC_5GNAS_AMF_REG_ACC_05 /** * @desc Testcase function for TC_5GNAS_AMF_REG_ACC_06 */ function f_TC_5GNAS_AMF_REG_ACC_06() runs on aMF_NGNAS_NGAPComponent { // Local variables var boolean PICS_NGAP_A4_5_2_1 := true; //TODO move to PICS of NGAP // Preamble f_NG_NAS_amf_UE_Register(); f_NG_NAS_amf_UE_Authentication(); f_NG_NAS_amf_UE_SecurityMode(); // FIXME Optional f_send_NGUERadioCApabilityInfoIndication(); f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); log("*** " & __SCOPE__ & ": INFO: Preamble done. ***"); // Test Body // Send REGISTRATION_REQUEST //use of SUCI identity PX_ params! var octetstring v_other_digits := f_get_suci_other_digits(); // ETSI TS 124 501 Figure 9.11.3.4.3: 5GS mobile identity information element for type of identity "SUCI" and SUPI format "IMSI" log("f_TC_5GNAS_AMF_REG_ACC_06: v_other_digits: ", v_other_digits); vt_NgNasUl_Msg := m_NG_REGISTRATION_REQUEST( {'0'B,'001'B/*FirstRegistration*/},//in template (value) RegistrationType p_RegistrationType, '111'B,//in template (value) NAS_KsiValue p_KeySetId, '0'B,//in template (value) B1_Type p_Tsc, /*m_NG_MobileIdentitySUCI(PX_SUPI_FORMAT, v_other_digits, PX_TYPE_OF_ID)//in template (value) NG_MobileIdentity p_MobileId, // 24.501 cl. 9.11.3.4*/ m_NG_MobileIdentitySUCI('0000'B/*IMSI*/, v_other_digits, '001'B/*SUCI*/)//in template (value) NG_MobileIdentity p_MobileId, // 24.501 cl. 9.11.3.4 /* in template (omit) NAS_KeySetIdentifier p_NonCurrentKSI := omit, in template (omit) NG_GMM_Cap p_GMM_Cap := omit, in template (omit) NG_UE_SecurityCapability p_UESecurityCap := omit, in template (omit) NSSAI p_ReqNSSAI := omit, in template (omit) NG_TrackingAreaId p_TAI := omit, in template (omit) UE_NetworkCap p_UE_NetworkCap := omit, in template (omit) ULDataStatus p_ULDataStatus := omit, in template (omit) PDU_SessionStatus p_PDU_SessionStatus := omit, in template (omit) MICO_Ind p_MICO_Ind := omit, in template (omit) UE_Status p_UE_Status := omit, in template (omit) NG_MobileIdentity p_AddGUTI := omit, in template (omit) AllowedPDU_SessionStatus p_AllowedPDU_SessionStatus := omit, in template (omit) UE_UsageSetting p_UE_UsageSetting := omit, in template (omit) NG_DRXparameter p_DRXparam := omit, in template (omit) EPS_MessageContainer p_EPSMsg := omit, in template (omit) LADN_Ind p_LADN_Ind := omit, in template (omit) PayloadContainerType p_ContainerType := omit, // @sic R5w190113 sic@ in template (omit) PayloadContainer p_Payload := omit, in template (omit) NetworkSlicingInd p_NetworkSlicingInd := omit, in template (omit) NG_UpdateType p_NG_UpdateType := omit, in template (omit) MS_Clsmk2 p_MS_Clsmk2 := omit, in template (omit) CodecList p_SupportedCodecs := omit, in template (omit) EPS_BearerContextStatus p_EPS_BearerContextStatus := omit, // @sic R5s190543 sic@ in template (omit) NASMessageContainer p_Msg := omit, in template (omit) ExtdDRXParams p_ExtdDRXParams := omit, in template (omit) GPRS_Timer3 p_T3324 := omit, in template (omit) UERadioCapId p_UERadioCapId := omit, in template (omit) MappedNSSAI p_MappedNSSAI := omit, in template (omit) AddInfoRequest p_AddInfoRequest := omit, in template (omit) WUSAssistInfo p_WUSAssistInfo := omit, in template (omit) N5GCInd p_N5GCInd := omit, in template (omit) NB_N1ModeDRXParams p_NB_N1ModeDRXParams := omit, in template (omit) UE_RequestType p_UeRequestType := omit, in template (omit) NG_PagingRestriction p_PagingRestrict := omit, in template (omit) ServiceLvlAAContainer p_ServiceLvlAA := omit, in template (omit) NID p_NId := omit, in template (omit) PLMN_IdIE p_MSPLMNwDisasterCondition := omit, in template (omit) PEIPS_AssistInfo p_RequestedPEIPS_AssistInfo := omit, in template (omit) GPRS_Timer3 p_T3512 := omit */ ) vc_sendNAS_PDU := bit2oct(encvalue( vt_NgNasUl_Msg )); f_send_NGAP_PDU( m_ngap_initMsg( m_n2_initialUeMessage( -, vc_sendNAS_PDU, m_uPTransportLayerInformation_userLocationInformationNR( m_userLocationInformationNR( m_nR_CGI, m_tAI )) ) //UEContextRequest set to "requested" by default in template ) ); // // Await request for REGISTRATION_ACCEPT // f_recv_NGAP_PDU( // mw_ngap_initMsg( // mw_n2_DownlinkNASTransport( // ?,//PX_AMF_UE_NGAP_ID, // PX_RAN_UE_NGAP_ID, // ? // AuthorizationRequest // ))); // 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_REGISTRATION_ACCEPT( // -, // ?, // mw_PLMN_List( // -, -, // { // *, // fl_NasNN_MCC2PlmnId(PX_NAS_MCC, PX_NAS_MNC), // * // } // ), // -,?/*AllowedNSSAI*/,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-, // ? // ), // vc_ng_nas_security_params_type, // vc_previous_nas_count_dl, // v_message, // vc_inner_message // ) == false) { // log("*** " & __SCOPE__ & ": FAIL: NG_REGISTRATION_ACCEPT mismatch. ***"); // setverdict(fail); // } else { // log("*** " & __SCOPE__ & ": PASS: NG_REGISTRATION_ACCEPT match. ***"); // setverdict(pass); // } f_await_security_mode_command_send_security_mode_complete(); if (not (PICS_NGAP_A4_5_2_1)) { //REG_ACCEPT in NAS in InitialContextSetupReq f_recv_NGAP_PDU( mw_ngap_initMsg( mw_n2_InitialContextSetupRequest_base_nas )); f_NASPDU_Get(vc_recvNGAP_PDU); } else { f_recv_NGAP_PDU( mw_ngap_initMsg( mw_n2_DownlinkNASTransport( ?,//PX_AMF_UE_NGAP_ID, PX_RAN_UE_NGAP_ID, ? // AuthorizationRequest ))); 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_REGISTRATION_ACCEPT( -, ?, mw_PLMN_List( -, -, { *, fl_NasNN_MCC2PlmnId(PX_NAS_MCC, PX_NAS_MNC), * } ), -,?/*AllowedNSSAI*/,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-, ? ), vc_ng_nas_security_params_type, vc_previous_nas_count_dl, v_message, vc_inner_message ) == false) { log("*** " & __SCOPE__ & ": FAIL: NG_REGISTRATION_ACCEPT mismatch. ***"); setverdict(fail); } else { log("*** " & __SCOPE__ & ": PASS: NG_REGISTRATION_ACCEPT match. ***"); setverdict(pass); } } f_send_registration_complete(); f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); log("*** " & __SCOPE__ & ": INFO: Testbody done. ***"); // Postamble //TODO: f_postamble_NGAP_gNB(); f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); log("*** " & __SCOPE__ & ": INFO: Postamble done. ***"); } // End of function f_TC_5GNAS_AMF_REG_ACC_06 /** * @desc Testcase function for TP_5GNAS_AMF_REG_REJ_01 */ Loading