/** * @author ETSI / TTF033 * @version $URL$ * $Id$ * @desc This module provides test functions for NGAP tests. * @copyright ETSI Copyright Notification * No part may be reproduced except as authorized by written permission. * The copyright and the foregoing restriction extend to reproduction in all media. * All rights reserved. * @see ETSI TS 138 413 / 3GPP TS 38.413 version 16.12 Release 16 */ module NGAP_TCFunctions { // LibCommon import from LibCommon_Sync all; import from LibCommon_VerdictControl all; import from LibCommon_Time all; // LibNGAP import from NGAP_IEs language "ASN.1:2002" all; import from NGAP_Constants language "ASN.1:2002" all; import from LibNGAP_Pixits all; import from LibNGAP_Templates all; import from LibNGAP_Interface all; import from LibNGAP_Steps all; // NGAP_Ats import from NGAP_TestSystem all; import from NGAP_Steps all; import from NGAP_Pixits all; group TC_function_template{ /** * @desc Testcase function for TC_NGAP_gNB_or_aMF_functionName_01 */ function f_TC_NGAP_gNB_or_aMF_functionName_01() runs on NGAPComponent { // Local variables // Preamble f_NGAP_gnb_init(); f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); log("*** " & __SCOPE__ & ": INFO: Preamble done. ***"); // Body //f_send_NGAP_PDU(m_ngap_initMsg(/*initiating msgtemplate*/)); //f_recv_NGAP_PDU(?); f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); log("*** " & __SCOPE__ & ": INFO: Testbody done. ***"); // Postamble f_postamble_NGAP_gNB(); f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); log("*** " & __SCOPE__ & ": INFO: Postamble done. ***"); } // End of function f_TC_NGAP_gNB_or_aMF_functionName_01 } // End of group TC_function_template group gNB_Role{ //8.2 group PDU_Session_Management_Procedures{ //8.2.1 group PDU_Session_Resource_Setup{ /** * @desc Testcase function for TC_NGAP_gNB_PDU_01 */ function f_TC_NGAP_GNB_PDU_01() runs on aMFNGAPComponent { // Local variables // Preamble f_NGAP_amf_init(); f_NGAP_amf_UE_Register(); f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); log("*** " & __SCOPE__ & ": INFO: Preamble done. ***"); // Body f_send_NGAP_PDU( m_ngap_initMsg( m_n2_PDUSessionResourceSetupRequest( -, -, { m_pDUSessionResourceSetupItemSUReq( -, m_s_NSSAI('00'O, '000000'O), bit2oct( encvalue( m_pDUSessionResourceSetupRequestTransfer( m_pDUSessionResourceSetupRequestTransfer_mandatories( m_pDUSessionType(ipv4), { m_qosFlowSetupRequestItem( PX_QOS_FLOW_IDENTIFIER, m_qosFlowLevelQosParameters( m_qosCharacteristics_dynamic5QI( m_dynamic5QIDescriptor( 1,//in template (value) PriorityLevelQos p_priorityLevelQos, 0,//in template (value) PacketDelayBudget p_packetDelayBudget, m_PacketErrorRate( 0,//in template (value) PacketErrorRate.pERScalar p_pERScalar, 0//in template (value) PacketErrorRate.pERExponent p_pERExponent ))), m_allocationAndRetentionPriority( 1,//in template (value) PriorityLevelARP p_priorityLevelARP, shall_not_trigger_pre_emption,//in template (value) Pre_emptionCapability p_pre_emptionCapability, not_pre_emptable//in template (value) Pre_emptionVulnerability p_pre_emptionVulnerability, ))) }, m_uPTransportLayerInformation_gTPTunnel( m_gTPTunnel )))))) } ))); f_recv_NGAP_PDU( mw_ngap_succMsg( mw_n2_PDUSessionResourceSetupResponse( -, -, //? //TODO replace with template { (mw_pDUSessionResourceSetupItemSURes( ?,//template (present) PDUSessionID p_pDUSessionID, //mw_pDUSessionResourceSetupResponseTransfer( // ?,//template (present) QosFlowPerTNLInformation p_dLQosFlowPerTNLInformation := ?, // *,//template QosFlowPerTNLInformationList p_additionalDLQosFlowPerTNLInformation := *, // *,//template SecurityResult p_securityResult := *, // *,//template QosFlowListWithCause p_qosFlowFailedToSetupList := *, // *//template PDUSessionResourceSetupResponseTransfer.iE_Extensions p_iE_Extensions := * // ), In ASN1 it is OCTET STRING - PDUSessionResourceSetupResponseTransfer ?,//template (present) PDUSessionResourceSetupItemSURes.pDUSessionResourceSetupResponseTransfer p_pDUSessionResourceSetupResponseTransfer := ?, *//template PDUSessionResourceSetupItemSURes.iE_Extensions p_iE_Extensions := * ) ) } ) ) ); f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); log("*** " & __SCOPE__ & ": INFO: Testbody done. ***"); // Postamble f_postamble_NGAP_gNB(); f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); log("*** " & __SCOPE__ & ": INFO: Postamble done. ***"); } // End of function f_TC_NGAP_gNB_PDU_01 /** * @desc Testcase function for TC_NGAP_gNB_PDU_02 */ function f_TC_NGAP_GNB_PDU_02() runs on aMFNGAPComponent { // Local variables // Preamble f_NGAP_amf_init(); f_NGAP_amf_UE_Register(); f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); log("*** " & __SCOPE__ & ": INFO: Preamble done. ***"); // Body f_send_NGAP_PDU( m_ngap_initMsg( m_n2_PDUSessionResourceSetupRequest( -, -, { m_pDUSessionResourceSetupItemSUReq( -, m_s_NSSAI('00'O, '000000'O), bit2oct( encvalue( m_pDUSessionResourceSetupRequestTransfer( m_pDUSessionResourceSetupRequestTransfer_mandatories( m_pDUSessionType(ipv4), { m_qosFlowSetupRequestItem( PX_QOS_FLOW_IDENTIFIER, m_qosFlowLevelQosParameters( m_qosCharacteristics_dynamic5QI( m_dynamic5QIDescriptor( 1,//in template (value) PriorityLevelQos p_priorityLevelQos, 0,//in template (value) PacketDelayBudget p_packetDelayBudget, m_PacketErrorRate( 0,//in template (value) PacketErrorRate.pERScalar p_pERScalar, 0//in template (value) PacketErrorRate.pERExponent p_pERExponent ))), m_allocationAndRetentionPriority( 1,//in template (value) PriorityLevelARP p_priorityLevelARP, shall_not_trigger_pre_emption,//in template (value) Pre_emptionCapability p_pre_emptionCapability, not_pre_emptable//in template (value) Pre_emptionVulnerability p_pre_emptionVulnerability, ))) }, m_uPTransportLayerInformation_gTPTunnel( m_gTPTunnel )))))), m_pDUSessionResourceSetupItemSUReq( -, m_s_NSSAI('00'O, '000000'O), bit2oct( encvalue( m_pDUSessionResourceSetupRequestTransfer( m_pDUSessionResourceSetupRequestTransfer_mandatories( m_pDUSessionType(ipv4), { m_qosFlowSetupRequestItem( PX_QOS_FLOW_IDENTIFIER, m_qosFlowLevelQosParameters( m_qosCharacteristics_dynamic5QI( m_dynamic5QIDescriptor( 1,//in template (value) PriorityLevelQos p_priorityLevelQos, 0,//in template (value) PacketDelayBudget p_packetDelayBudget, m_PacketErrorRate( 0,//in template (value) PacketErrorRate.pERScalar p_pERScalar, 0//in template (value) PacketErrorRate.pERExponent p_pERExponent ))), m_allocationAndRetentionPriority( 1,//in template (value) PriorityLevelARP p_priorityLevelARP, shall_not_trigger_pre_emption,//in template (value) Pre_emptionCapability p_pre_emptionCapability, not_pre_emptable//in template (value) Pre_emptionVulnerability p_pre_emptionVulnerability, ))) }, m_uPTransportLayerInformation_gTPTunnel( m_gTPTunnel )))))) } ))); f_recv_NGAP_PDU( mw_ngap_succMsg( mw_n2_PDUSessionResourceSetupResponse( -, -, //? //TODO replace with template { * //FIXME: when template Ready //mw_pDUSessionResourceFailedToSetupItemSURes( // ?, // ?, // * //) } ) ) ); f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); log("*** " & __SCOPE__ & ": INFO: Testbody done. ***"); // Postamble f_postamble_NGAP_gNB(); f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); log("*** " & __SCOPE__ & ": INFO: Postamble done. ***"); } // End of function f_TC_NGAP_gNB_PDU_02 /** * @desc Testcase function for TC_NGAP_gNB_PDU_03 */ function f_TC_NGAP_GNB_PDU_03() runs on aMFNGAPComponent { // Local variables // Preamble f_NGAP_amf_init(); f_NGAP_amf_UE_Register(); f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); log("*** " & __SCOPE__ & ": INFO: Preamble done. ***"); // Body f_send_NGAP_PDU( m_ngap_initMsg( m_n2_PDUSessionResourceSetupRequest( -, -, { m_pDUSessionResourceSetupItemSUReq( -, m_s_NSSAI('00'O, '000000'O), bit2oct( encvalue( m_pDUSessionResourceSetupRequestTransfer( m_pDUSessionResourceSetupRequestTransfer_mandatories( m_pDUSessionType(ipv4), { m_qosFlowSetupRequestItem( PX_QOS_FLOW_IDENTIFIER, m_qosFlowLevelQosParameters( m_qosCharacteristics_dynamic5QI( m_dynamic5QIDescriptor( 1,//in template (value) PriorityLevelQos p_priorityLevelQos, 0,//in template (value) PacketDelayBudget p_packetDelayBudget, m_PacketErrorRate( 0,//in template (value) PacketErrorRate.pERScalar p_pERScalar, 0//in template (value) PacketErrorRate.pERExponent p_pERExponent ))), m_allocationAndRetentionPriority( 1,//in template (value) PriorityLevelARP p_priorityLevelARP, shall_not_trigger_pre_emption,//in template (value) Pre_emptionCapability p_pre_emptionCapability, not_pre_emptable//in template (value) Pre_emptionVulnerability p_pre_emptionVulnerability, ))) }, m_uPTransportLayerInformation_gTPTunnel( m_gTPTunnel )))))) } ))); f_recv_NGAP_PDU( mw_ngap_succMsg( mw_n2_PDUSessionResourceSetupResponse( -, -, //? //TODO replace with template { mw_pDUSessionResourceSetupItemSURes( ?,//template (present) PDUSessionID p_pDUSessionID, //mw_pDUSessionResourceSetupResponseTransfer( // ?,//template (present) QosFlowPerTNLInformation p_dLQosFlowPerTNLInformation := ?, // *,//template QosFlowPerTNLInformationList p_additionalDLQosFlowPerTNLInformation := *, // *,//template SecurityResult p_securityResult := *, // *,//template QosFlowListWithCause p_qosFlowFailedToSetupList := *, // *//template PDUSessionResourceSetupResponseTransfer.iE_Extensions p_iE_Extensions := * // ), In ASN1 it is OCTET STRING - PDUSessionResourceSetupResponseTransfer ?,//template (present) PDUSessionResourceSetupItemSURes.pDUSessionResourceSetupResponseTransfer p_pDUSessionResourceSetupResponseTransfer := ?, *//template PDUSessionResourceSetupItemSURes.iE_Extensions p_iE_Extensions := * ) } ) ) ); f_send_NGAP_PDU( m_ngap_initMsg( m_n2_PDUSessionResourceSetupRequest( -, -, { m_pDUSessionResourceSetupItemSUReq( -, m_s_NSSAI('00'O, '000000'O), bit2oct( encvalue( m_pDUSessionResourceSetupRequestTransfer( m_pDUSessionResourceSetupRequestTransfer_mandatories( m_pDUSessionType(ipv4), { m_qosFlowSetupRequestItem( PX_QOS_FLOW_IDENTIFIER, m_qosFlowLevelQosParameters( m_qosCharacteristics_dynamic5QI( m_dynamic5QIDescriptor( 1,//in template (value) PriorityLevelQos p_priorityLevelQos, 0,//in template (value) PacketDelayBudget p_packetDelayBudget, m_PacketErrorRate( 0,//in template (value) PacketErrorRate.pERScalar p_pERScalar, 0//in template (value) PacketErrorRate.pERExponent p_pERExponent ))), m_allocationAndRetentionPriority( 1,//in template (value) PriorityLevelARP p_priorityLevelARP, shall_not_trigger_pre_emption,//in template (value) Pre_emptionCapability p_pre_emptionCapability, not_pre_emptable//in template (value) Pre_emptionVulnerability p_pre_emptionVulnerability, ))) }, m_uPTransportLayerInformation_gTPTunnel( m_gTPTunnel )))))) } ))); f_recv_NGAP_PDU( mw_ngap_succMsg( mw_n2_PDUSessionResourceSetupResponse( -, -, //? //TODO replace with template { * //FIXME: when template Ready //mw_pDUSessionResourceFailedToSetupItemSURes( // ?, // ?, // * //) } ) ) ); f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); log("*** " & __SCOPE__ & ": INFO: Testbody done. ***"); // Postamble f_postamble_NGAP_gNB(); f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); log("*** " & __SCOPE__ & ": INFO: Postamble done. ***"); } // End of function f_TC_NGAP_gNB_PDU_03 /** * @desc Testcase function for TC_NGAP_gNB_PDU_04 */ function f_TC_NGAP_GNB_PDU_04() runs on aMFNGAPComponent { // Local variables // Preamble f_NGAP_amf_init(); f_NGAP_amf_UE_Register(); f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); log("*** " & __SCOPE__ & ": INFO: Preamble done. ***"); // Body f_send_NGAP_PDU( m_ngap_initMsg( m_n2_PDUSessionResourceSetupRequest( -, -, { m_pDUSessionResourceSetupItemSUReq( -, m_s_NSSAI('00'O, '000000'O), bit2oct( encvalue( m_pDUSessionResourceSetupRequestTransfer( m_pDUSessionResourceSetupRequestTransfer_mandatories( m_pDUSessionType(ipv4), { m_qosFlowSetupRequestItem( PX_QOS_FLOW_IDENTIFIER, //FIXME nonGBRQosID m_qosFlowLevelQosParameters( m_qosCharacteristics_dynamic5QI( m_dynamic5QIDescriptor( 1,//in template (value) PriorityLevelQos p_priorityLevelQos, 0,//in template (value) PacketDelayBudget p_packetDelayBudget, m_PacketErrorRate( 0,//in template (value) PacketErrorRate.pERScalar p_pERScalar, 0//in template (value) PacketErrorRate.pERExponent p_pERExponent ))), m_allocationAndRetentionPriority( 1,//in template (value) PriorityLevelARP p_priorityLevelARP, shall_not_trigger_pre_emption,//in template (value) Pre_emptionCapability p_pre_emptionCapability, not_pre_emptable//in template (value) Pre_emptionVulnerability p_pre_emptionVulnerability, ))) }, m_uPTransportLayerInformation_gTPTunnel( m_gTPTunnel )))))) } ))); f_recv_NGAP_PDU( mw_ngap_succMsg( mw_n2_PDUSessionResourceSetupResponse( -, -, //? //TODO replace with template { * //FIXME: when template Ready //mw_pDUSessionResourceFailedToSetupItemSURes( // ?, // ?, // * //) } ) ) ); f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); log("*** " & __SCOPE__ & ": INFO: Testbody done. ***"); // Postamble f_postamble_NGAP_gNB(); f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); log("*** " & __SCOPE__ & ": INFO: Postamble done. ***"); } // End of function f_TC_NGAP_gNB_PDU_04 } // End of group PDU_Session_Resource_Setup //8.2.2 group PDU_Session_Resource_Release{ /** * @desc Testcase function for TC_NGAP_gNB_PDU_05 */ function f_TC_NGAP_GNB_PDU_05() runs on aMFNGAPComponent { // Local variables // Preamble f_NGAP_amf_init(); f_NGAP_amf_UE_Register(); f_NGAP_amf_UE_PDU_ResourceSetup(); f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); log("*** " & __SCOPE__ & ": INFO: Preamble done. ***"); // Body f_send_NGAP_PDU( m_ngap_initMsg( m_n2_PDUSessionResourceReleaseCommand( -, -, { m_pDUSessionResourceToReleaseItemRelCmd( PX_PDU_SESSION_ID, bit2oct( encvalue( m_pDUSessionResourceReleaseCommandTransfer( m_cause_misc(m_causeMisc(-)), -//in template (omit) PDUSessionResourceReleaseCommandTransfer.iE_Extensions p_iE_Extensions := omit ) ) ), - //in template (omit) PDUSessionResourceToReleaseItemRelCmd.iE_Extensions p_iE_Extensions := omit ) } ))); f_recv_NGAP_PDU( mw_ngap_succMsg( mw_n2_PDUSessionResourceReleaseResponse( -,//template (present) AMF_UE_NGAP_ID p_amfUeNgapID := ?, -,//template (present) RAN_UE_NGAP_ID p_ranUeNgapID := ?, { ( mw_pDUSessionResourceReleasedItemRelRes( PX_PDU_SESSION_ID,//template (present) PDUSessionID p_pDUSessionID := ?, -,//bit2oct(encvalue(mw_pDUSessionResourceReleaseResponseTransfer(*))),//template (present) PDUSessionResourceReleasedItemRelRes.pDUSessionResourceReleaseResponseTransfer p_pDUSessionResourceReleaseResponseTransfer := ?, -//template PDUSessionResourceReleasedItemRelRes.iE_Extensions p_iE_Extensions := * ) ) }//template (present) PDUSessionResourceReleasedListRelRes p_pDUSessionResourceReleasedListRelRes := ? ) ) ); f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); log("*** " & __SCOPE__ & ": INFO: Testbody done. ***"); // Postamble f_postamble_NGAP_gNB(); f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); log("*** " & __SCOPE__ & ": INFO: Postamble done. ***"); } // End of function f_TC_NGAP_gNB_PDU_05 /** * @desc Testcase function for TC_NGAP_gNB_PDU_06 */ function f_TC_NGAP_GNB_PDU_06() runs on aMFNGAPComponent { // Local variables // Preamble f_NGAP_amf_init(); f_NGAP_amf_UE_Register(); f_NGAP_amf_UE_PDU_ResourceSetup(); f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); log("*** " & __SCOPE__ & ": INFO: Preamble done. ***"); // Body f_send_NGAP_PDU( m_ngap_initMsg( m_n2_PDUSessionResourceReleaseCommand( -, -, { m_pDUSessionResourceToReleaseItemRelCmd( PX_PDU_SESSION_ID, bit2oct( encvalue( m_pDUSessionResourceReleaseCommandTransfer( m_cause_misc(m_causeMisc(-)), -//in template (omit) PDUSessionResourceReleaseCommandTransfer.iE_Extensions p_iE_Extensions := omit ) ) ), - //in template (omit) PDUSessionResourceToReleaseItemRelCmd.iE_Extensions p_iE_Extensions := omit ), m_pDUSessionResourceToReleaseItemRelCmd( PX_PDU_SESSION_ID, bit2oct( encvalue( m_pDUSessionResourceReleaseCommandTransfer( m_cause_misc(m_causeMisc(-)), -//in template (omit) PDUSessionResourceReleaseCommandTransfer.iE_Extensions p_iE_Extensions := omit ) ) ), - //in template (omit) PDUSessionResourceToReleaseItemRelCmd.iE_Extensions p_iE_Extensions := omit ) } ))); f_recv_NGAP_PDU( mw_ngap_succMsg( mw_n2_PDUSessionResourceReleaseResponse( -,//template (present) AMF_UE_NGAP_ID p_amfUeNgapID := ?, -,//template (present) RAN_UE_NGAP_ID p_ranUeNgapID := ?, { ( mw_pDUSessionResourceReleasedItemRelRes( PX_PDU_SESSION_ID,//template (present) PDUSessionID p_pDUSessionID := ?, -,//bit2oct(encvalue(mw_pDUSessionResourceReleaseResponseTransfer(*))),//template (present) PDUSessionResourceReleasedItemRelRes.pDUSessionResourceReleaseResponseTransfer p_pDUSessionResourceReleaseResponseTransfer := ?, -//template PDUSessionResourceReleasedItemRelRes.iE_Extensions p_iE_Extensions := * ) ) }//template (present) PDUSessionResourceReleasedListRelRes p_pDUSessionResourceReleasedListRelRes := ? ) ) ); f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); log("*** " & __SCOPE__ & ": INFO: Testbody done. ***"); // Postamble f_postamble_NGAP_gNB(); f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); log("*** " & __SCOPE__ & ": INFO: Postamble done. ***"); } // End of function f_TC_NGAP_gNB_PDU_06 } // End of group PDU_Session_Resource_Release //8.2.3 group PDU_Session_Resource_Modify{ /** * @desc Testcase function for TC_NGAP_gNB_PDU_07 */ function f_TC_NGAP_GNB_PDU_07() runs on aMFNGAPComponent { // Local variables // Preamble f_NGAP_amf_init(); f_NGAP_amf_UE_Register(); f_NGAP_amf_UE_PDU_ResourceSetup(); f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); log("*** " & __SCOPE__ & ": INFO: Preamble done. ***"); // Body f_send_NGAP_PDU( m_ngap_initMsg( m_n2_PDUSessionResourceModify( -, -, { m_pDUSessionResourceModifyItemModReq( PX_PDU_SESSION_ID, '00'O,//bit2oct( // encvalue( // m_pDUSessionResourceModifyRequestTransfer(//FIXME when template with mandatory IEs available // -//in template (omit) PDUSessionResourceModifyRequestTransfer.protocolIEs p_protocolIEs // ) // ) //), -,//in template (omit) NAS_PDU p_nAS_PDU := omit, -//in template (omit) PDUSessionResourceModifyItemModReq.iE_Extensions p_iE_Extensions := omit ) } ))); f_recv_NGAP_PDU( mw_ngap_succMsg( mw_n2_PDUSessionResourceModifyResponse( -,//template (present) AMF_UE_NGAP_ID p_amfUeNgapID := ?, -,//template (present) RAN_UE_NGAP_ID p_ranUeNgapID := ?, { ( mw_pDUSessionResourceModifyItemModRes( PX_PDU_SESSION_ID,//template (present) PDUSessionID p_pDUSessionID := ?, ?,//mw_pDUSessionResourceModifyResponseTransfer( //*,//template UPTransportLayerInformation p_dL_NGU_UP_TNLInformation := *, //*,//template UPTransportLayerInformation p_uL_NGU_UP_TNLInformation := *, //?,//template QosFlowAddOrModifyResponseList p_qosFlowAddOrModifyResponseList := *, //*,//template QosFlowPerTNLInformationList p_additionalDLQosFlowPerTNLInformation := *, //*,//template QosFlowListWithCause p_qosFlowFailedToAddOrModifyList := *, //*//template PDUSessionResourceModifyResponseTransfer.iE_Extensions p_iE_Extensions := * //), -//template PDUSessionResourceModifyItemModRes.iE_Extensions p_iE_Extensions := * ) ) } ) ) ); f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); log("*** " & __SCOPE__ & ": INFO: Testbody done. ***"); // Postamble f_postamble_NGAP_gNB(); f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); log("*** " & __SCOPE__ & ": INFO: Postamble done. ***"); } // End of function f_TC_NGAP_gNB_PDU_07 } // End of group PDU_Session_Resource_Modify //8.2.4 group PDU_Session_Resource_Notify{ /** * @desc Testcase function for TC_NGAP_gNB_PDU_08 */ function f_TC_NGAP_GNB_PDU_08() runs on aMFNGAPComponent { // Local variables // Preamble f_NGAP_amf_init(); f_NGAP_amf_UE_Register(); f_NGAP_amf_UE_PDU_ResourceSetup(); f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); log("*** " & __SCOPE__ & ": INFO: Preamble done. ***"); // Body action("Trigger PDU session resource NOTIFY!"); f_recv_NGAP_PDU( mw_ngap_initMsg( mw_n2_PDUSessionResourceNotify( -,//template (present) AMF_UE_NGAP_ID p_amfUeNgapID := ?, -,//template (present) RAN_UE_NGAP_ID p_ranUeNgapID := ?, { //* mw_pDUSessionResourceNotifyItem( PX_PDU_SESSION_ID,//template (present) PDUSessionID p_pDUSessionID := ?, ?,//template (present) PDUSessionResourceNotifyItem.pDUSessionResourceNotifyTransfer p_pDUSessionResourceNotifyTransfer, -//template PDUSessionResourceNotifyItem.iE_Extensions p_iE_Extensions := * ) } ) ) ); f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); log("*** " & __SCOPE__ & ": INFO: Testbody done. ***"); // Postamble f_postamble_NGAP_gNB(); f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); log("*** " & __SCOPE__ & ": INFO: Postamble done. ***"); } // End of function f_TC_NGAP_gNB_PDU_08 } // End of group PDU_Session_Resource_Notify //8.2.5 group PDU_Session_Resource_Modify_Indication{ /** * @desc Testcase function for TC_NGAP_gNB_PDU_09 */ function f_TC_NGAP_GNB_PDU_09() runs on aMFNGAPComponent { // Local variables // Preamble f_NGAP_amf_init(); f_NGAP_amf_UE_Register(); f_NGAP_amf_UE_PDU_ResourceSetup(); f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); log("*** " & __SCOPE__ & ": INFO: Preamble done. ***"); // Body action("Trigger PDU session resource MODIFY!"); f_recv_NGAP_PDU( mw_ngap_initMsg( mw_n2_PDUSessionResourceModifyIndication( -,//template (present) AMF_UE_NGAP_ID p_amfUeNgapID := ?, -,//template (present) RAN_UE_NGAP_ID p_ranUeNgapID := ?, { ( mw_pDUSessionResourceModifyItemModInd( PX_PDU_SESSION_ID,//template (present) PDUSessionID p_pDUSessionID := ?, ?,//pDUSessionResourceModifyIndicationTransfer( //?,//template (present) QosFlowPerTNLInformation p_dLQosFlowPerTNLInformation := ?, //*,//template QosFlowPerTNLInformationList p_additionalDLQosFlowPerTNLInformation := *, //-//template PDUSessionResourceModifyIndicationTransfer.iE_Extensions p_iE_Extensions := * //), -//template PDUSessionResourceModifyItemModRes.iE_Extensions p_iE_Extensions := * ) ) } ) ) ); f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); log("*** " & __SCOPE__ & ": INFO: Testbody done. ***"); // Postamble f_postamble_NGAP_gNB(); f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); log("*** " & __SCOPE__ & ": INFO: Postamble done. ***"); } // End of function f_TC_NGAP_gNB_PDU_09 } // End of group PDU_Session_Resource_Modify_Indication } // End of group PDU_Session_Management_Procedures //8.3 group UE_Context_Management_Procedures{ //8.3.1 group Initial_Context_Setup{ } // End of group Initial_Context_Setup //8.3.2 group UE_Context_Release_Request_NG_RAN_node_initiated{ } // End of group UE_Context_Release_Request_NG_RAN_node_initiated //8.3.3 group UE_Context_Release_AMF_initiated{ } // End of group UE_Context_Release_AMF_initiated //8.3.4 group UE_Context_Modification{ } // End of group UE_Context_Modification //8.3.5 group RRC_Inactive_Transition_Report{ } // End of group RRC_Inactive_Transition_Report //8.3.6 group Connection_Establishment_Indication{ } // End of group Connection_Establishment_Indication //8.3.7 group AMF_CP_Relocation_Indication{ } // End of group AMF_CP_Relocation_Indication //8.3.8 group RAN_CP_Relocation_Indication{ } // End of group RAN_CP_Relocation_Indication //8.3.9 group Retrieve_UE_Information{ } // End of group Retrieve_UE_Information //8.3.10 group UE_Information_Transfer{ } // End of group UE_Information_Transfer //8.3.11 group UE_Context_Suspend{ } // End of group UE_Context_Suspend //8.3.12 group UE_Context_Resume{ } // End of group UE_Context_Resume } // End of group UE_Context_Management_Procedures //8.4 group UE_Mobility_Management_Procedures{ //8.4.1 group Handover_Preparation{ } // End of group Handover_Preparation //8.4.2 group Handover_Resource_Allocation{ } // End of group Handover_Resource_Allocation //8.4.3 group Handover_Notification{ } // End of group Handover_Notification //8.4.4 group Path_Switch_Request{ } // End of group Path_Switch_Request //8.4.5 group Handover_Cancellation{ } // End of group Handover_Cancellation //8.4.6 group Uplink_RAN_Status_Transfer{ } // End of group Uplink_RAN_Status_Transfer //8.4.7 group Downlink_RAN_Status_Transfer{ } // End of group Downlink_RAN_Status_Transfer //8.4.8 group Handover_Success{ } // End of group Handover_Success //8.4.9 group Uplink_RAN_Early_Status_Transfer{ } // End of group Uplink_RAN_Early_Status_Transfer //8.4.10 group Downlink_RAN_Early_Status_Transfer{ } // End of group Downlink_RAN_Early_Status_Transfer } // End of group UE_Mobility_Management_Procedures //8.5 group Paging_Procedures{ //8.5.1 group Paging{ } // End of group Paging } // End of group Paging_Procedures //8.6 group Transport_of_NAS_Messages_Procedures{ //8.6.1 group Initial_UE_Message{ } // End of group Initial_UE_Message //8.6.2 group Downlink_NAS_Transport{ } // End of group Downlink_NAS_Transport //8.6.3 group Uplink_NAS_Transport{ } // End of group Uplink_NAS_Transport //8.6.4 group NAS_Non_Delivery_Indication{ } // End of group NAS_Non_Delivery_Indication //8.6.5 group Rerout_NAS_Request{ } // End of group Rerout_NAS_Request } // End of group Transport_of_NAS_Messages_Procedures //8.7 group Interface_Management_Procedures{ //8.7.1 group NG_Setup{ /** * @desc Testcase function for TC_NGAP_gNB_IMP_01 */ function f_TC_NGAP_GNB_IMP_01() runs on aMFNGAPComponent { // Local variables // Preamble f_NGAP_amf_init(); //f_NGAP_amf_UE_Register(); f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); log("*** " & __SCOPE__ & ": INFO: Preamble done. ***"); // Body action("Trigger NG SETUP REQUEST!"); f_recv_NGAP_PDU( mw_ngap_initMsg( mw_n2_NGSetupRequest( ?,//template (present) GlobalRANNodeID p_globalRANNodeID := ?, ?,//template (present) SupportedTAList p_supportedTAs := ?, ?//template (present) PagingDRX p_pagingDRX := ? ) ) ); f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); log("*** " & __SCOPE__ & ": INFO: Testbody done. ***"); // Postamble f_postamble_NGAP_gNB(); f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); log("*** " & __SCOPE__ & ": INFO: Postamble done. ***"); } // End of function f_TC_NGAP_gNB_IMP_01 } // End of group NG_Setup //8.7.2 group RAN_Configuration_Update{ /** * @desc Testcase function for TC_NGAP_gNB_IMP_02 */ function f_TC_NGAP_GNB_IMP_02() runs on aMFNGAPComponent { // Local variables // Preamble f_NGAP_amf_init(); //f_NGAP_amf_UE_Register(); f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); log("*** " & __SCOPE__ & ": INFO: Preamble done. ***"); // Body action("Trigger RAN CONFIGURATION UPDATE!"); f_recv_NGAP_PDU( mw_ngap_initMsg( mw_n2_RANConfigurationUpdate(//FIXME: prepare/update template IEs ?//template (present) RANNodeName p_rANNodeName := ? ) ) ); f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); log("*** " & __SCOPE__ & ": INFO: Testbody done. ***"); // Postamble f_postamble_NGAP_gNB(); f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); log("*** " & __SCOPE__ & ": INFO: Postamble done. ***"); } // End of function f_TC_NGAP_gNB_IMP_02 } // End of group RAN_Configuration_Update //8.7.3 group AMF_Configuration_Update{ /** * @desc Testcase function for TC_NGAP_gNB_IMP_03 */ function f_TC_NGAP_GNB_IMP_03() runs on aMFNGAPComponent { // Local variables // Preamble f_NGAP_amf_init(); //f_NGAP_amf_UE_Register(); f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); log("*** " & __SCOPE__ & ": INFO: Preamble done. ***"); // Body f_send_NGAP_PDU( m_ngap_initMsg( m_n2_AMFConfigurationUpdate(//FIXME: prepare/update template IEs PX_AMF_NAME//in template (value) AMFName p_aMFName := PX_AMF_NAME ) ) ); f_recv_NGAP_PDU( mw_ngap_succMsg( mw_n2_AMFConfigurationUpdateAcknowledge_aMF_TNLAssociationSetupList( ? ) ) ); f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); log("*** " & __SCOPE__ & ": INFO: Testbody done. ***"); // Postamble f_postamble_NGAP_gNB(); f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); log("*** " & __SCOPE__ & ": INFO: Postamble done. ***"); } // End of function f_TC_NGAP_gNB_IMP_03 /** * @desc Testcase function for TC_NGAP_gNB_IMP_04 */ function f_TC_NGAP_GNB_IMP_04() runs on aMFNGAPComponent { // Local variables // Preamble f_NGAP_amf_init(); //f_NGAP_amf_UE_Register(); f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); log("*** " & __SCOPE__ & ": INFO: Preamble done. ***"); // Body f_send_NGAP_PDU( m_ngap_initMsg( m_n2_AMFConfigurationUpdate(//FIXME: prepare/update template IEs PX_AMF_NAME//in template (value) AMFName p_aMFName := PX_AMF_NAME ) ) ); f_recv_NGAP_PDU( mw_ngap_unsuccMsg( mw_n2_AMFConfigurationUpdateFailure( ? ) ) ); f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); log("*** " & __SCOPE__ & ": INFO: Testbody done. ***"); // Postamble f_postamble_NGAP_gNB(); f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); log("*** " & __SCOPE__ & ": INFO: Postamble done. ***"); } // End of function f_TC_NGAP_gNB_IMP_04 } // End of group AMF_Configuration_Update //8.7.4 group NG_Reset{ /** * @desc Testcase function for TC_NGAP_gNB_IMP_05 */ function f_TC_NGAP_GNB_IMP_05() runs on aMFNGAPComponent { // Local variables // Preamble f_NGAP_amf_init(); //f_NGAP_amf_UE_Register(); f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); log("*** " & __SCOPE__ & ": INFO: Preamble done. ***"); // Body f_send_NGAP_PDU( m_ngap_initMsg( m_n2_NGReset( m_cause_radioNetwork(PX_NG_SETUP_FAILURE), m_resetType_nG_Interface( m_resetAll(reset_all) ) ) ) ); f_recv_NGAP_PDU( mw_ngap_succMsg( mw_n2_NGResetAcknowledge ) ); f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); log("*** " & __SCOPE__ & ": INFO: Testbody done. ***"); // Postamble f_postamble_NGAP_gNB(); f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); log("*** " & __SCOPE__ & ": INFO: Postamble done. ***"); } // End of function f_TC_NGAP_gNB_IMP_05 } // End of group NG_Reset //8.7.5 group Error_Indication{ /** * @desc Testcase function for TC_NGAP_gNB_IMP_06 */ function f_TC_NGAP_GNB_IMP_06() runs on aMFNGAPComponent { // Local variables // Preamble f_NGAP_amf_init(); //f_NGAP_amf_UE_Register(); f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); log("*** " & __SCOPE__ & ": INFO: Preamble done. ***"); // Body action("Trigger ERROR INDICATION!"); f_recv_NGAP_PDU( mw_ngap_initMsg( mw_n2_ErrorIndication ) ); f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); log("*** " & __SCOPE__ & ": INFO: Testbody done. ***"); // Postamble f_postamble_NGAP_gNB(); f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); log("*** " & __SCOPE__ & ": INFO: Postamble done. ***"); } // End of function f_TC_NGAP_gNB_IMP_06 } // End of group Error_Indication //8.7.6 group AMF_Status_Indication{ } // End of group AMF_Status_Indication //8.7.7 group Overload_Start{ } // End of group Overload_Start //8.7.8 group Overload_Stop{ } // End of group Overload_Stop } // End of group Interface_Management_Procedures //8.8 group Configuration_Transfer_Procedures{ //8.8.1 group Uplink_RAN_Configuration_Transfer{ } // End of group Uplink_RAN_Configuration_Transfer //8.8.2 group Downlink_RAN_Configuration_Transfer{ } // End of group Downlink_RAN_Configuration_Transfer } // End of group Configuration_Transfer_Procedures //8.9 group Warning_Message_Transmission_Procedures{ //8.9.1 group Write_Replace_Warning{ /** * @desc Testcase function for TC_NGAP_gNB_WTP_01 */ function f_TC_NGAP_GNB_WTP_01() runs on aMFNGAPComponent { // Local variables // Preamble f_NGAP_amf_init(); f_NGAP_amf_UE_Register(); f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); log("*** " & __SCOPE__ & ": INFO: Preamble done. ***"); // Body f_send_NGAP_PDU( m_ngap_initMsg( m_n2_WriteReplaceWarningRequest( PX_MESSAGE_IDENTIFIER, PX_SERIAL_NUMBER, PX_REPETITION_PERIOD, PX_NUMBER_OF_BROADCASTS_REQUESTED ) )); f_recv_NGAP_PDU( mw_ngap_succMsg( mw_n2_WriteReplaceWarningResponse( PX_MESSAGE_IDENTIFIER, PX_SERIAL_NUMBER ) ) ); f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); log("*** " & __SCOPE__ & ": INFO: Testbody done. ***"); // Postamble f_postamble_NGAP_gNB(); f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); log("*** " & __SCOPE__ & ": INFO: Postamble done. ***"); } // End of function f_TC_NGAP_gNB_WTP_01 /** * @desc Testcase function for TC_NGAP_gNB_WTP_02 */ function f_TC_NGAP_GNB_WTP_02() runs on aMFNGAPComponent { // Local variables // Preamble f_NGAP_amf_init(); f_NGAP_amf_UE_Register(); f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); log("*** " & __SCOPE__ & ": INFO: Preamble done. ***"); // Body f_send_NGAP_PDU( m_ngap_initMsg( m_n2_WriteReplaceWarningRequest( PX_MESSAGE_IDENTIFIER, // indicating value "different from already being broadcasted", PX_SERIAL_NUMBER, //indicating value "different from already being broadcasted", PX_REPETITION_PERIOD, PX_NUMBER_OF_BROADCASTS_REQUESTED ) )); f_recv_NGAP_PDU( mw_ngap_succMsg( mw_n2_WriteReplaceWarningResponse( PX_MESSAGE_IDENTIFIER, PX_SERIAL_NUMBER ) ) ); f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); log("*** " & __SCOPE__ & ": INFO: Testbody done. ***"); // Postamble f_postamble_NGAP_gNB(); f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); log("*** " & __SCOPE__ & ": INFO: Postamble done. ***"); } // End of function f_TC_NGAP_gNB_WTP_02 } // End of group Write_Replace_Warning //8.9.2 group PWS_Cancel{ /** * @desc Testcase function for TC_NGAP_gNB_WTP_03 */ function f_TC_NGAP_GNB_WTP_03() runs on aMFNGAPComponent { // Local variables // Preamble f_NGAP_amf_init(); //f_NGAP_amf_UE_Register(); f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); log("*** " & __SCOPE__ & ": INFO: Preamble done. ***"); // Body f_send_NGAP_PDU( m_ngap_initMsg( m_n2_PWSCancelRequest( PX_MESSAGE_IDENTIFIER, PX_SERIAL_NUMBER ) )); f_recv_NGAP_PDU( mw_ngap_succMsg( /*mw*/m_n2_PWSCancelResponse( //missing template PX_MESSAGE_IDENTIFIER, PX_SERIAL_NUMBER ) ) ); f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); log("*** " & __SCOPE__ & ": INFO: Testbody done. ***"); // Postamble f_postamble_NGAP_gNB(); f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); log("*** " & __SCOPE__ & ": INFO: Postamble done. ***"); } // End of function f_TC_NGAP_gNB_WTP_03 } // End of group PWS_Cancel //8.9.3 group PWS_Restart_Indication{ /** * @desc Testcase function for TC_NGAP_gNB_WTP_04 */ function f_TC_NGAP_GNB_WTP_04() runs on aMFNGAPComponent { // Local variables // Preamble f_NGAP_amf_init(); //f_NGAP_amf_UE_Register(); f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); log("*** " & __SCOPE__ & ": INFO: Preamble done. ***"); // Body action("Trigger PWS_Restart_Indication!"); f_recv_NGAP_PDU( mw_ngap_initMsg( ? // /*mw*/m_n2_PWSRestartIndication( // missing template // ?,//in template (value) CellIDListForRestart p_cellIDListForRestart, // ?,//in template (value) GlobalRANNodeID p_globalRANNodeID, // ?,//in template (value) TAIListForRestart p_tAIListForRestart, // ?//in template (value) EmergencyAreaIDListForRestart p_emergencyAreaIDListForRestart // ) ) ); f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); log("*** " & __SCOPE__ & ": INFO: Testbody done. ***"); // Postamble f_postamble_NGAP_gNB(); f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); log("*** " & __SCOPE__ & ": INFO: Postamble done. ***"); } // End of function f_TC_NGAP_gNB_WTP_04 } // End of group PWS_Restart_Indication //8.9.4 group PWS_Failure_Indication{ /** * @desc Testcase function for TC_NGAP_gNB_WTP_05 */ function f_TC_NGAP_GNB_WTP_05() runs on aMFNGAPComponent { // Local variables // Preamble f_NGAP_amf_init(); f_NGAP_amf_UE_Register(); f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); log("*** " & __SCOPE__ & ": INFO: Preamble done. ***"); // Body action("Trigger PWS_Failure_Indication!"); f_recv_NGAP_PDU( mw_ngap_unsuccMsg( ? // /*mw*/m_n2_PWSFailureIndication( //missing template // ?,//in template (value) PWSFailedCellList p_pWSFailedCellList, // ?//in template (value) GlobalRANNodeID p_globalRANNodeID // ) ) ); f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); log("*** " & __SCOPE__ & ": INFO: Testbody done. ***"); // Postamble f_postamble_NGAP_gNB(); f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); log("*** " & __SCOPE__ & ": INFO: Postamble done. ***"); } // End of function f_TC_NGAP_gNB_WTP_05 } // End of group PWS_Failure_Indication } // End of group Warning_Message_Transmission_Procedures //8.10 group NRPPa_Transport_Procedures{ } // End of group NRPPa_Transport_Procedures //8.11 group Trace_Procedures{ //8.11.1 group Trace_Start{ /** * @desc Testcase function for TC_NGAP_gNB_TRP_01 */ function f_TC_NGAP_GNB_TRP_01() runs on aMFNGAPComponent { // Local variables // Preamble f_NGAP_amf_init(); f_NGAP_amf_UE_Register(); //f_NGAP_amf_UE_PDU_ResourceSetup(); f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); log("*** " & __SCOPE__ & ": INFO: Preamble done. ***"); // Body f_send_NGAP_PDU( m_ngap_initMsg( m_n2_TraceStart( -, -, m_traceActivation( '0000000000000001'O,//in template (value) NGRANTraceID p_nGRANTraceID, '00000000'B,//in template (value) InterfacesToTrace p_interfacesToTrace, m_traceDepth(minimum), PX_TRANSPORT_LAYER_ADDRESS, omit//in template (omit) TraceActivation.iE_Extensions p_iE_Extensions := omit ) ) ) ); f_recv_NGAP_PDU( mw_ngap_initMsg( mw_n2_TraceFailureIndication( -, -, ?, ? ) ) ); f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); log("*** " & __SCOPE__ & ": INFO: Testbody done. ***"); // Postamble f_postamble_NGAP_gNB(); f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); log("*** " & __SCOPE__ & ": INFO: Postamble done. ***"); } // End of function f_TC_NGAP_gNB_TRP_01 } // End of group Trace_Start //8.11.2 group Trace_Failure_Indication{ } // End of group Trace_Failure_Indication //8.11.3 group Deactivate_Trace{ /** * @desc Testcase function for TC_NGAP_gNB_TRP_02 */ function f_TC_NGAP_GNB_TRP_02() runs on aMFNGAPComponent { // Local variables // Preamble f_NGAP_amf_init(); f_NGAP_amf_UE_Register(); //f_NGAP_amf_UE_PDU_ResourceSetup(); f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); log("*** " & __SCOPE__ & ": INFO: Preamble done. ***"); // Body f_send_NGAP_PDU( m_ngap_initMsg( m_n2_DeactivateTrace( -, -, '0000000000000001'O//in template (value) NGRANTraceID p_NGRANTraceID ) ) ); f_recv_NGAP_PDU( mw_ngap_initMsg( mw_n2_TraceFailureIndication( -, -, ?, ? ) ) ); f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); log("*** " & __SCOPE__ & ": INFO: Testbody done. ***"); // Postamble f_postamble_NGAP_gNB(); f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); log("*** " & __SCOPE__ & ": INFO: Postamble done. ***"); } // End of function f_TC_NGAP_gNB_TRP_02 } // End of group Deactivate_Trace //8.11.4 group Cell_Traffic_Trace{ /** * @desc Testcase function for TC_NGAP_gNB_TRP_03 */ function f_TC_NGAP_GNB_TRP_03() runs on aMFNGAPComponent { // Local variables // Preamble f_NGAP_amf_init(); f_NGAP_amf_UE_Register(); //f_NGAP_amf_UE_PDU_ResourceSetup(); f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); log("*** " & __SCOPE__ & ": INFO: Preamble done. ***"); // Body action("Trigger CELL TRAFFIC TRACE!"); f_recv_NGAP_PDU( mw_ngap_initMsg( mw_n2_CellTrafficTrace( ?, ?, ?, ?, ?, ?, ? ) ) ); f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); log("*** " & __SCOPE__ & ": INFO: Testbody done. ***"); // Postamble f_postamble_NGAP_gNB(); f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); log("*** " & __SCOPE__ & ": INFO: Postamble done. ***"); } // End of function f_TC_NGAP_gNB_TRP_03 } // End of group Cell_Traffic_Trace } // End of group Trace_Procedures //8.12 group Location_Reporting_Procedures{ //8.12.1 group Location_Reporting_Control{ } // End of group Location_Reporting_Control //8.12.2 group Location_Reporting_Failure_Indication{ } // End of group Location_Reporting_Failure_Indication //8.12.3 group Location_Report{ } // End of group Location_Report } // End of group Location_Reporting_Procedures //8.13 group UE_TNLA_Binding_Procedures{ //8.13.1 group UE_TNLA_Binding_Release{ } // End of group UE_TNLA_Binding_Release } // End of group UE_TNLA_Binding_Procedures //8.14 group UE_Radio_Capability_Management_Procedures{ //8.14.1 group UE_Radio_Capability_Info_Indication{ } // End of group UE_Radio_Capability_Info_Indication //8.14.2 group UE_Radio_Capability_Check{ } // End of group UE_Radio_Capability_Check //8.14.3 group UE_Radio_Capability_ID_Mapping{ } // End of group UE_Radio_Capability_ID_Mapping } // End of group UE_Radio_Capability_Management_Procedures //8.15 group Data_Usage_Reporting_Procedures{ //8.15.1 group Secondary_RAT_Data_Usage_Report{ } // End of group Secondary_RAT_Data_Usage_Report } // End of group Data_Usage_Reporting_Procedures //8.16 group RIM_Information_Transfer_Procedures{ //8.16.1 group Uplink_RIM_Information_Transfer{ } // End of group Uplink_RIM_Information_Transfer //8.16.2 group Downlink_RIM_Information_Transfer{ } // End of group Downlink_RIM_Information_Transfer } // End of group RIM_Information_Transfer_Procedures } // End of group gNB_Role group aMF_Role{ //8.2 group PDU_Session_Management_Procedures{ //8.2.1 group PDU_Session_Resource_Setup{ /** * @desc Testcase function for TC_NGAP_aMF_PDU_01 */ function f_TC_NGAP_AMF_PDU_01() runs on gNBNGAPComponent { // Local variables // Preamble f_NGAP_gnb_init(); f_NGAP_gnb_UE_Register(); f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); log("*** " & __SCOPE__ & ": INFO: Preamble done. ***"); // Body action("Trigger PDU session resource SETUP!"); f_recv_NGAP_PDU( mw_ngap_initMsg( mw_n2_PDUSessionResourceSetupRequest( PX_AMF_UE_NGAP_ID, PX_RAN_UE_NGAP_ID, { mw_pDUSessionResourceSetupItemSUReq( PX_PDU_SESSION_ID, mw_s_NSSAI( PX_SST, -,//in template (omit) SD p_sD := omit, -//in template (omit) S_NSSAI.iE_Extensions p_iE_Extensions := omit ), ?,//mw_pDUSessionResourceSetupRequestTransfer(?),OCTETSTRING -,//in template (omit) NAS_PDU p_pDUSessionNAS_PDU := omit, -//in template (omit) PDUSessionResourceSetupItemSUReq.iE_Extensions p_iE_Extensions := omit ) }//in template (value) PDUSessionResourceSetupListSUReq p_pDUSessionResourceSetupListSUReq ) ) ); f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); log("*** " & __SCOPE__ & ": INFO: Testbody done. ***"); // Postamble f_postamble_NGAP_AMF(); f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); log("*** " & __SCOPE__ & ": INFO: Postamble done. ***"); } // End of function f_TC_NGAP_AMF_PDU_01 } // End of group PDU_Session_Resource_Setup //8.2.2 group PDU_Session_Resource_Release{ /** * @desc Testcase function for TC_NGAP_AMF_PDU_02 */ function f_TC_NGAP_AMF_PDU_02() runs on gNBNGAPComponent { // Local variables // Preamble f_NGAP_gnb_init(); f_NGAP_gnb_UE_Register(); f_NGAP_gnb_UE_PDU_ResourceSetup(); f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); log("*** " & __SCOPE__ & ": INFO: Preamble done. ***"); // Body action("Trigger PDU session resource RELEASE!"); f_recv_NGAP_PDU( mw_ngap_initMsg( mw_n2_PDUSessionResourceReleaseCommand( PX_AMF_UE_NGAP_ID, PX_RAN_UE_NGAP_ID, { mw_pDUSessionResourceToReleaseItemRelCmd( PX_PDU_SESSION_ID, ?,//mw_pDUSessionResourceReleaseCommandTransfer(?,-),OCTETSTRING -//in template (omit) PDUSessionResourceToReleaseItemRelCmd.iE_Extensions p_iE_Extensions := omit ) } ) ) ); f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); log("*** " & __SCOPE__ & ": INFO: Testbody done. ***"); // Postamble f_postamble_NGAP_AMF(); f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); log("*** " & __SCOPE__ & ": INFO: Postamble done. ***"); } // End of function f_TC_NGAP_AMF_PDU_02 } // End of group PDU_Session_Resource_Release //8.2.3 group PDU_Session_Resource_Modify{ /** * @desc Testcase function for TC_NGAP_AMF_PDU_03 */ function f_TC_NGAP_AMF_PDU_03() runs on gNBNGAPComponent { // Local variables // Preamble f_NGAP_gnb_init(); f_NGAP_gnb_UE_Register(); f_NGAP_gnb_UE_PDU_ResourceSetup(); f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); log("*** " & __SCOPE__ & ": INFO: Preamble done. ***"); // Body action("Trigger PDU session resource MODIFY!"); f_recv_NGAP_PDU( mw_ngap_initMsg( mw_n2_PDUSessionResourceModify( PX_AMF_UE_NGAP_ID, PX_RAN_UE_NGAP_ID, { mw_pDUSessionResourceModifyItemModReq( PX_PDU_SESSION_ID, ?,//mw_pDUSessionResourceModifyRequestTransfer(*),OCTETSTRING -,//template NAS_PDU p_nAS_PDU := *, -//template PDUSessionResourceModifyItemModReq.iE_Extensions p_iE_Extensions := * ) } ) ) ); f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); log("*** " & __SCOPE__ & ": INFO: Testbody done. ***"); // Postamble f_postamble_NGAP_AMF(); f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); log("*** " & __SCOPE__ & ": INFO: Postamble done. ***"); } // End of function f_TC_NGAP_AMF_PDU_03 } // End of group PDU_Session_Resource_Modify //8.2.4 group PDU_Session_Resource_Notify{ } // End of group PDU_Session_Resource_Notify //8.2.5 group PDU_Session_Resource_Modify_Indication{ /** * @desc Testcase function for TC_NGAP_AMF_PDU_04 */ function f_TC_NGAP_AMF_PDU_04() runs on gNBNGAPComponent { // Local variables // Preamble f_NGAP_gnb_init(); f_NGAP_gnb_UE_Register(); f_NGAP_gnb_UE_PDU_ResourceSetup(); f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); log("*** " & __SCOPE__ & ": INFO: Preamble done. ***"); // Body f_send_NGAP_PDU( m_ngap_initMsg( m_n2_PDUSessionResourceModifyIndication( PX_AMF_UE_NGAP_ID,//template (present) AMF_UE_NGAP_ID p_amfUeNgapID := ?, PX_RAN_UE_NGAP_ID,//template (present) RAN_UE_NGAP_ID p_ranUeNgapID := ?, { m_pDUSessionResourceModifyItemModInd( PX_PDU_SESSION_ID,//template (present) PDUSessionID p_pDUSessionID := ?, bit2oct(encvalue( m_pDUSessionResourceModifyIndicationTransfer( m_qosFlowPerTNLInformation( m_uPTransportLayerInformation_gTPTunnel( m_gTPTunnel( PX_TRANSPORT_LAYER_ADDRESS, PX_GTP_TEID, omit ) ), { m_associatedQosFlowItem( PX_QOS_FLOW_IDENTIFIER, omit, omit ) },//in template (value) AssociatedQosFlowList p_associatedQosFlowList, omit//in template (omit) QosFlowPerTNLInformation.iE_Extensions p_iE_Extensions := omit ),//template (present) QosFlowPerTNLInformation p_dLQosFlowPerTNLInformation := ?, omit,//template QosFlowPerTNLInformationList p_additionalDLQosFlowPerTNLInformation := *, omit//template PDUSessionResourceModifyIndicationTransfer.iE_Extensions p_iE_Extensions := * ))), omit//template PDUSessionResourceModifyItemModRes.iE_Extensions p_iE_Extensions := * ) } ) ) ); f_recv_NGAP_PDU( mw_ngap_succMsg( mw_n2_PDUSessionResourceModifyConfirm( PX_AMF_UE_NGAP_ID, PX_RAN_UE_NGAP_ID, { mw_pDUSessionResourceModifyItemModCfm( PX_PDU_SESSION_ID, ?,//mw_pDUSessionResourceModifyConfirmTransfer( // ?,//template (present) QosFlowModifyConfirmList p_qosFlowModifyConfirmList := ?, // ?,//template (present) UPTransportLayerInformation p_uLNGU_UP_TNLInformation := ?, // -,//template UPTransportLayerInformationPairList p_additionalNG_UUPTNLInformation := *, // -,//template QosFlowListWithCause p_qosFlowFailedToModifyList := *, // -//template PDUSessionResourceModifyConfirmTransfer.iE_Extensions p_iE_Extensions := * // ), OCTETSTRING -//template PDUSessionResourceModifyItemModCfm.iE_Extensions p_iE_Extensions := * ) } ) ) ); f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); log("*** " & __SCOPE__ & ": INFO: Testbody done. ***"); // Postamble f_postamble_NGAP_AMF(); f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); log("*** " & __SCOPE__ & ": INFO: Postamble done. ***"); } // End of function f_TC_NGAP_AMF_PDU_04 /** * @desc Testcase function for TC_NGAP_AMF_PDU_05 */ function f_TC_NGAP_AMF_PDU_05() runs on gNBNGAPComponent { // Local variables // Preamble f_NGAP_gnb_init(); f_NGAP_gnb_UE_Register(); f_NGAP_gnb_UE_PDU_ResourceSetup(); f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); log("*** " & __SCOPE__ & ": INFO: Preamble done. ***"); // Body f_send_NGAP_PDU( m_ngap_initMsg( m_n2_PDUSessionResourceModifyIndication( PX_AMF_UE_NGAP_ID,//template (present) AMF_UE_NGAP_ID p_amfUeNgapID := ?, PX_RAN_UE_NGAP_ID,//template (present) RAN_UE_NGAP_ID p_ranUeNgapID := ?, { ( m_pDUSessionResourceModifyItemModInd( PX_PDU_SESSION_ID,//template (present) PDUSessionID p_pDUSessionID := ?, bit2oct(encvalue( m_pDUSessionResourceModifyIndicationTransfer( m_qosFlowPerTNLInformation( m_uPTransportLayerInformation_gTPTunnel( m_gTPTunnel( PX_TRANSPORT_LAYER_ADDRESS, PX_GTP_TEID, omit ) ), { m_associatedQosFlowItem( PX_QOS_FLOW_IDENTIFIER, omit, omit ) },//in template (value) AssociatedQosFlowList p_associatedQosFlowList, omit//in template (omit) QosFlowPerTNLInformation.iE_Extensions p_iE_Extensions := omit ),//template (present) QosFlowPerTNLInformation p_dLQosFlowPerTNLInformation := ?, omit,//template QosFlowPerTNLInformationList p_additionalDLQosFlowPerTNLInformation := *, omit//template PDUSessionResourceModifyIndicationTransfer.iE_Extensions p_iE_Extensions := * ))), omit//template PDUSessionResourceModifyItemModRes.iE_Extensions p_iE_Extensions := * ) ) } ) ) ); f_recv_NGAP_PDU( mw_ngap_succMsg( //? //FIXME missing template mw_n2_PDUSessionResourceFailedToModifyListModCfm mw_n2_PDUSessionResourceModifyConfirm( PX_AMF_UE_NGAP_ID, PX_RAN_UE_NGAP_ID, { * // mw_pDUSessionResourceFailedToModifyItemModCfm( // PX_PDU_SESSION_ID, // ?,//mw_pDUSessionResourceModifyIndicationUnsuccessfulTransfer( // // ?,//template (present) Cause p_cause := ?, // // -//template PDUSessionResourceModifyIndicationUnsuccessfulTransfer.iE_Extensions p_iE_Extensions := * // //),OCTETSTRING // *//template PDUSessionResourceFailedToModifyItemModCfm.iE_Extensions p_iE_Extensions := * // ) } ) ) ); f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); log("*** " & __SCOPE__ & ": INFO: Testbody done. ***"); // Postamble f_postamble_NGAP_AMF(); f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); log("*** " & __SCOPE__ & ": INFO: Postamble done. ***"); } // End of function f_TC_NGAP_AMF_PDU_05 } // End of group PDU_Session_Resource_Modify_Indication } // End of group PDU_Session_Management_Procedures //8.3 group UE_Context_Management_Procedures{ //8.3.1 group Initial_Context_Setup{ } // End of group Initial_Context_Setup //8.3.2 group UE_Context_Release_Request_NG_RAN_node_initiated{ } // End of group UE_Context_Release_Request_NG_RAN_node_initiated //8.3.3 group UE_Context_Release_AMF_initiated{ } // End of group UE_Context_Release_AMF_initiated //8.3.4 group UE_Context_Modification{ } // End of group UE_Context_Modification //8.3.5 group RRC_Inactive_Transition_Report{ } // End of group RRC_Inactive_Transition_Report //8.3.6 group Connection_Establishment_Indication{ } // End of group Connection_Establishment_Indication //8.3.7 group AMF_CP_Relocation_Indication{ } // End of group AMF_CP_Relocation_Indication //8.3.8 group RAN_CP_Relocation_Indication{ } // End of group RAN_CP_Relocation_Indication //8.3.9 group Retrieve_UE_Information{ } // End of group Retrieve_UE_Information //8.3.10 group UE_Information_Transfer{ } // End of group UE_Information_Transfer //8.3.11 group UE_Context_Suspend{ } // End of group UE_Context_Suspend //8.3.12 group UE_Context_Resume{ } // End of group UE_Context_Resume } // End of group UE_Context_Management_Procedures //8.4 group UE_Mobility_Management_Procedures{ //8.4.1 group Handover_Preparation{ } // End of group Handover_Preparation //8.4.2 group Handover_Resource_Allocation{ } // End of group Handover_Resource_Allocation //8.4.3 group Handover_Notification{ } // End of group Handover_Notification //8.4.4 group Path_Switch_Request{ } // End of group Path_Switch_Request //8.4.5 group Handover_Cancellation{ } // End of group Handover_Cancellation //8.4.6 group Uplink_RAN_Status_Transfer{ } // End of group Uplink_RAN_Status_Transfer //8.4.7 group Downlink_RAN_Status_Transfer{ } // End of group Downlink_RAN_Status_Transfer //8.4.8 group Handover_Success{ } // End of group Handover_Success //8.4.9 group Uplink_RAN_Early_Status_Transfer{ } // End of group Uplink_RAN_Early_Status_Transfer //8.4.10 group Downlink_RAN_Early_Status_Transfer{ } // End of group Downlink_RAN_Early_Status_Transfer } // End of group UE_Mobility_Management_Procedures //8.5 group Paging_Procedures{ //8.5.1 group Paging{ } // End of group Paging } // End of group Paging_Procedures //8.6 group Transport_of_NAS_Messages_Procedures{ //8.6.1 group Initial_UE_Message{ } // End of group Initial_UE_Message //8.6.2 group Downlink_NAS_Transport{ } // End of group Downlink_NAS_Transport //8.6.3 group Uplink_NAS_Transport{ } // End of group Uplink_NAS_Transport //8.6.4 group NAS_Non_Delivery_Indication{ } // End of group NAS_Non_Delivery_Indication //8.6.5 group Rerout_NAS_Request{ } // End of group Rerout_NAS_Request } // End of group Transport_of_NAS_Messages_Procedures //8.7 group Interface_Management_Procedures{ //8.7.1 group NG_Setup{ /** * @desc Testcase function for TC_NGAP_AMF_IMF_01 */ function f_TC_NGAP_AMF_IMP_01() runs on gNBNGAPComponent { // Local variables /*// type record SupportedTAItem { template (omit) SupportedTAItem m_ie_supportedTAItem(in template (value) TAC p_tAC, in template (value) BroadcastPLMNList p_broadcastPLMNList, in template (omit) SupportedTAItem.iE_Extensions p_iE_Extensions := omit ) := { tAC := p_tAC, broadcastPLMNList := p_broadcastPLMNList, iE_Extensions := p_iE_Extensions } // End of template m_ie_supportedTAItem // type octetstring TAC length (3); template (value) TAC m_ie_tAC(in template (value) TAC p_val) := p_val; // type record length (1 .. NGAP_Constants.maxnoofSliceItems) of SliceSupportItem SliceSupportList; template (value) SliceSupportList m_ie_sliceSupportList(in template (value) SliceSupportList p_list) := p_list; // type record SliceSupportItem { template (omit) SliceSupportItem m_ie_sliceSupportItem( in template (value) S_NSSAI p_S_NSSAI, in template (omit) SliceSupportItem.iE_Extensions p_iE_Extensions := omit ) := { s_NSSAI := p_S_NSSAI, iE_Extensions :=p_iE_Extensions } // End of template m_ie_sliceSupportItem // type record S_NSSAI { template (omit) S_NSSAI m_ie_sNSSAI( in template (value) SST p_sST, in template (value) SD p_sD, in template (omit) S_NSSAI.iE_Extensions p_iE_Extensions := omit ) := { sST := p_sST,//'00'O, sD := p_sD,//'000000'O, iE_Extensions := p_iE_Extensions } // End of template m_ie_sNSSAI // type octetstring SST length (1); template (value) SST m_ie_sST(in SST p_val := '00'O) := p_val; // type octetstring SD length (3); template (value) SD m_ie_sD(in SD p_val := '000000'O) := p_val; */ // Preamble f_NGAP_gnb_init(); //f_NGAP_gnb_UE_Register(); //f_NGAP_gnb_UE_PDU_ResourceSetup(); f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); log("*** " & __SCOPE__ & ": INFO: Preamble done. ***"); // Body // f_send_NGAP_PDU( // m_ngap_initMsg( // m_n2_NGSetupRequest( // m_globalRANNodeID_globalGNB_ID( // m_ie_globalGnbId( // PX_PLMN_IDENTITY, // '0000000000000000000000'B,//in template (value) bitstring p_gnbId, // -//in template (omit) GlobalGNB_ID.iE_Extensions p_iE_Extensions := omit // ) // ), // { // m_ie_supportedTAItem( // m_ie_tAC('000000'O), // m_ie_broadcastPLMNList( // { // m_ie_broadcastPLMNItem( // m_ie_pLMNIdentity('00f110'O), // m_ie_sliceSupportList( // { // m_ie_sliceSupportItem( // m_ie_sNSSAI( // m_ie_sST('00'O), // m_ie_sD('000000'O) // ) // ) // } // ) // ) // } // ) // ) // }, // PX_PAGING_DRX // ) // ) // ); f_recv_NGAP_PDU( mw_ngap_succMsg( mw_n2_NGSetupResponse( ?, { mw_servedGUAMIItem( mw_gUAMI( ?,//template (present) PLMNIdentity p_pLMNIdentity := ?, ?,//template (present) AMFRegionID p_aMFRegionID := ?, ?,//template (present) AMFSetID p_aMFSetID := ?, ?,//template (present) AMFPointer p_aMFPointer := ?, *//template GUAMI.iE_Extensions p_iE_Extensions := * ),//template (present) GUAMI p_gUAMI := ?, *,//template AMFName p_backupAMFName := *, *//template ServedGUAMIItem.iE_Extensions p_iE_Extensions := * ) },//template (present) ServedGUAMIList p_servedGUAMIList := ?, ?,//template (present) RelativeAMFCapacity p_relativeAmfCap:= ?, { mw_pLMNSupportItem( ?,//template (present) PLMNIdentity p_pLMNIdentity := ?, { mw_sliceSupportItem( mw_s_NSSAI( ?,//template (present) SST p_sST := ?, *,//template SD p_sD := *, *//template S_NSSAI.iE_Extensions p_iE_Extensions := * ),//template (present) S_NSSAI p_s_NSSAI := ?, ?//template SliceSupportItem.iE_Extensions p_iE_Extensions := * ) },//template (present) SliceSupportList p_sliceSupportList := ?, *//template PLMNSupportItem.iE_Extensions p_iE_Extensions := * ) }//template (present) PLMNSupportList p_plmnSuppList := ? ) ) ); f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); log("*** " & __SCOPE__ & ": INFO: Testbody done. ***"); // Postamble f_postamble_NGAP_AMF(); f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); log("*** " & __SCOPE__ & ": INFO: Postamble done. ***"); } // End of function f_TC_NGAP_AMF_IMP_01 /** * @desc Testcase function for TC_NGAP_AMF_IMF_02 */ function f_TC_NGAP_AMF_IMP_02() runs on gNBNGAPComponent { // Local variables // Preamble f_NGAP_gnb_init(); //f_NGAP_gnb_UE_Register(); //f_NGAP_gnb_UE_PDU_ResourceSetup(); f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); log("*** " & __SCOPE__ & ": INFO: Preamble done. ***"); // Body // f_send_NGAP_PDU( // m_ngap_initMsg( // m_n2_NGSetupRequest( // m_globalRANNodeID_globalGNB_ID( // m_ie_globalGnbId( // PX_PLMN_IDENTITY, // '0000000000000000000000'B,//in template (value) bitstring p_gnbId, // -//in template (omit) GlobalGNB_ID.iE_Extensions p_iE_Extensions := omit // ) // ), // { // m_ie_supportedTAItem( // m_ie_tAC('000000'O), // m_ie_broadcastPLMNList( // { // m_ie_broadcastPLMNItem( // m_ie_pLMNIdentity('00f110'O), // m_ie_sliceSupportList( // { // m_ie_sliceSupportItem( // m_ie_sNSSAI( // m_ie_sST('00'O), // m_ie_sD('000000'O) // ) // ) // } // ) // ) // } // ) // ) // }, // PX_PAGING_DRX // ) // ) // ); f_recv_NGAP_PDU( mw_ngap_unsuccMsg( mw_n2_NGSetupFailure( ?//template (present) Cause p_cause := ? ) ) ); f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); log("*** " & __SCOPE__ & ": INFO: Testbody done. ***"); // Postamble f_postamble_NGAP_AMF(); f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); log("*** " & __SCOPE__ & ": INFO: Postamble done. ***"); } // End of function f_TC_NGAP_AMF_IMP_02 /** * @desc Testcase function for TC_NGAP_AMF_IMF_03 */ function f_TC_NGAP_AMF_IMP_03() runs on gNBNGAPComponent { // Local variables // Preamble f_NGAP_gnb_init(); //f_NGAP_gnb_UE_Register(); //f_NGAP_gnb_UE_PDU_ResourceSetup(); f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); log("*** " & __SCOPE__ & ": INFO: Preamble done. ***"); // Body // f_send_NGAP_PDU( // m_ngap_initMsg( // m_n2_NGSetupRequest( // m_globalRANNodeID_globalGNB_ID( // m_ie_globalGnbId( // PX_PLMN_IDENTITY, // '0000000000000000000000'B,//in template (value) bitstring p_gnbId, // -//in template (omit) GlobalGNB_ID.iE_Extensions p_iE_Extensions := omit // ) // ), // { // m_ie_supportedTAItem( // m_ie_tAC('000000'O), // m_ie_broadcastPLMNList( // { // m_ie_broadcastPLMNItem( // m_ie_pLMNIdentity('00f110'O), // m_ie_sliceSupportList( // { // m_ie_sliceSupportItem( // m_ie_sNSSAI( // m_ie_sST('00'O), // m_ie_sD('000000'O) // ) // ) // } // ) // ) // } // ) // ) // }, // PX_PAGING_DRX, // FIXME:UERetention_Information template m_uERetentionInformation(in UERetentionInformation p_value := ues_retained) // ) // ) // ); f_recv_NGAP_PDU( mw_ngap_succMsg( mw_n2_NGSetupResponse( ?, { mw_servedGUAMIItem( mw_gUAMI( ?,//template (present) PLMNIdentity p_pLMNIdentity := ?, ?,//template (present) AMFRegionID p_aMFRegionID := ?, ?,//template (present) AMFSetID p_aMFSetID := ?, ?,//template (present) AMFPointer p_aMFPointer := ?, *//template GUAMI.iE_Extensions p_iE_Extensions := * ),//template (present) GUAMI p_gUAMI := ?, *,//template AMFName p_backupAMFName := *, *//template ServedGUAMIItem.iE_Extensions p_iE_Extensions := * ) },//template (present) ServedGUAMIList p_servedGUAMIList := ?, ?,//template (present) RelativeAMFCapacity p_relativeAmfCap:= ?, { mw_pLMNSupportItem( ?,//template (present) PLMNIdentity p_pLMNIdentity := ?, { mw_sliceSupportItem( mw_s_NSSAI( ?,//template (present) SST p_sST := ?, *,//template SD p_sD := *, *//template S_NSSAI.iE_Extensions p_iE_Extensions := * ),//template (present) S_NSSAI p_s_NSSAI := ?, ?//template SliceSupportItem.iE_Extensions p_iE_Extensions := * ) },//template (present) SliceSupportList p_sliceSupportList := ?, *//template PLMNSupportItem.iE_Extensions p_iE_Extensions := * ) }//template (present) PLMNSupportList p_plmnSuppList := ? //FIXME:UERetention_Information template mw_uERetentionInformation(template (present) UERetentionInformation p_value := ues_retained) ) ) ); f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); log("*** " & __SCOPE__ & ": INFO: Testbody done. ***"); // Postamble f_postamble_NGAP_AMF(); f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); log("*** " & __SCOPE__ & ": INFO: Postamble done. ***"); } // End of function f_TC_NGAP_AMF_IMP_03 /** * @desc Testcase function for TC_NGAP_AMF_IMF_04 */ function f_TC_NGAP_AMF_IMP_04() runs on gNBNGAPComponent { // Local variables // Preamble f_NGAP_gnb_init(); //f_NGAP_gnb_UE_Register(); //f_NGAP_gnb_UE_PDU_ResourceSetup(); f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); log("*** " & __SCOPE__ & ": INFO: Preamble done. ***"); // Body // f_send_NGAP_PDU( // m_ngap_initMsg( // m_n2_NGSetupRequest( // m_globalRANNodeID_globalGNB_ID( // m_ie_globalGnbId( // PX_PLMN_IDENTITY, // '0000000000000000000000'B,//in template (value) bitstring p_gnbId, // -//in template (omit) GlobalGNB_ID.iE_Extensions p_iE_Extensions := omit // ) // ), // { // m_ie_supportedTAItem( // m_ie_tAC('000000'O), // m_ie_broadcastPLMNList( // { // m_ie_broadcastPLMNItem( // m_ie_pLMNIdentity('00f110'O), // m_ie_sliceSupportList( // { // m_ie_sliceSupportItem( // m_ie_sNSSAI( // m_ie_sST('00'O), // m_ie_sD('000000'O) // ) // ) // } // ) // ) // } // ) // ) // }, // PX_PAGING_DRX, // FIXME:NB_IoT_Default_Paging_DRX, // FIXME:Extended_RAN_Node_Name containing RAN_Node_Name_Visible;;; m_extended_RANNodeName... // ) // ) // ); f_recv_NGAP_PDU( mw_ngap_succMsg( mw_n2_NGSetupResponse( ?, { mw_servedGUAMIItem( mw_gUAMI( ?,//template (present) PLMNIdentity p_pLMNIdentity := ?, ?,//template (present) AMFRegionID p_aMFRegionID := ?, ?,//template (present) AMFSetID p_aMFSetID := ?, ?,//template (present) AMFPointer p_aMFPointer := ?, *//template GUAMI.iE_Extensions p_iE_Extensions := * ),//template (present) GUAMI p_gUAMI := ?, *,//template AMFName p_backupAMFName := *, *//template ServedGUAMIItem.iE_Extensions p_iE_Extensions := * ) },//template (present) ServedGUAMIList p_servedGUAMIList := ?, ?,//template (present) RelativeAMFCapacity p_relativeAmfCap:= ?, { mw_pLMNSupportItem( ?,//template (present) PLMNIdentity p_pLMNIdentity := ?, { mw_sliceSupportItem( mw_s_NSSAI( ?,//template (present) SST p_sST := ?, *,//template SD p_sD := *, *//template S_NSSAI.iE_Extensions p_iE_Extensions := * ),//template (present) S_NSSAI p_s_NSSAI := ?, ?//template SliceSupportItem.iE_Extensions p_iE_Extensions := * ) },//template (present) SliceSupportList p_sliceSupportList := ?, *//template PLMNSupportItem.iE_Extensions p_iE_Extensions := * ) }//template (present) PLMNSupportList p_plmnSuppList := ? // FIXME:Extended_RAN_Node_Name containing RAN_Node_Name_Visible;;; mw_extended_RANNodeName... ) ) ); f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); log("*** " & __SCOPE__ & ": INFO: Testbody done. ***"); // Postamble f_postamble_NGAP_AMF(); f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); log("*** " & __SCOPE__ & ": INFO: Postamble done. ***"); } // End of function f_TC_NGAP_AMF_IMP_04 } // End of group NG_Setup //8.7.2 group RAN_Configuration_Update{ /** * @desc Testcase function for TC_NGAP_AMF_IMF_05 */ function f_TC_NGAP_AMF_IMP_05() runs on gNBNGAPComponent { // Local variables // Preamble f_NGAP_gnb_init(); //f_NGAP_gnb_UE_Register(); //f_NGAP_gnb_UE_PDU_ResourceSetup(); f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); log("*** " & __SCOPE__ & ": INFO: Preamble done. ***"); // Body f_send_NGAP_PDU( m_ngap_initMsg( m_n2_RANConfigurationUpdate( PX_RAN_NODE_NAME //FIXXME: mising template params due to TP , Supported_TA_list,.... ) ) ); f_recv_NGAP_PDU( mw_ngap_succMsg( mw_n2_RANConfigurationUpdateAcknowledge ) ); f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); log("*** " & __SCOPE__ & ": INFO: Testbody done. ***"); // Postamble f_postamble_NGAP_AMF(); f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); log("*** " & __SCOPE__ & ": INFO: Postamble done. ***"); } // End of function f_TC_NGAP_AMF_IMP_05 /** * @desc Testcase function for TC_NGAP_AMF_IMF_06 */ function f_TC_NGAP_AMF_IMP_06() runs on gNBNGAPComponent { // Local variables // Preamble f_NGAP_gnb_init(); //f_NGAP_gnb_UE_Register(); //f_NGAP_gnb_UE_PDU_ResourceSetup(); f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); log("*** " & __SCOPE__ & ": INFO: Preamble done. ***"); // Body f_send_NGAP_PDU( m_ngap_initMsg( m_n2_RANConfigurationUpdate( PX_RAN_NODE_NAME //FIXXME: mising template params due to TP , Supported_TA_list,.... ) ) ); f_recv_NGAP_PDU( mw_ngap_unsuccMsg( mw_n2_RANConfigurationUpdateFailure( ?//template (present) Cause p_cause := ? ) ) ); f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); log("*** " & __SCOPE__ & ": INFO: Testbody done. ***"); // Postamble f_postamble_NGAP_AMF(); f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); log("*** " & __SCOPE__ & ": INFO: Postamble done. ***"); } // End of function f_TC_NGAP_AMF_IMP_06 } // End of group RAN_Configuration_Update //8.7.3 group AMF_Configuration_Update{ /** * @desc Testcase function for TC_NGAP_AMF_IMF_07 */ function f_TC_NGAP_AMF_IMP_07() runs on gNBNGAPComponent { // Local variables // Preamble f_NGAP_gnb_init(); f_NGAP_gnb_UE_Register(); //f_NGAP_gnb_UE_PDU_ResourceSetup(); f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); log("*** " & __SCOPE__ & ": INFO: Preamble done. ***"); // Body action("Trigger AMF CONFIGURATION UPDATE !"); f_recv_NGAP_PDU( mw_ngap_initMsg( mw_n2_AMFConfigurationUpdate( ?//template (present) AMFName p_aMFName := ? //FIXXME: mising template params due to TP ,ServedGUAMI_list,PLMNSupport_List.... ) ) ); f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); log("*** " & __SCOPE__ & ": INFO: Testbody done. ***"); // Postamble f_postamble_NGAP_AMF(); f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); log("*** " & __SCOPE__ & ": INFO: Postamble done. ***"); } // End of function f_TC_NGAP_AMF_IMP_07 } // End of group AMF_Configuration_Update //8.7.4 group NG_Reset{ /** * @desc Testcase function for TC_NGAP_AMF_IMF_08 */ function f_TC_NGAP_AMF_IMP_08() runs on gNBNGAPComponent { // Local variables // Preamble f_NGAP_gnb_init(); //f_NGAP_gnb_UE_Register(); //f_NGAP_gnb_UE_PDU_ResourceSetup(); f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); log("*** " & __SCOPE__ & ": INFO: Preamble done. ***"); // Body f_send_NGAP_PDU( m_ngap_initMsg( m_n2_NGReset( m_cause_misc(m_causeMisc(-)),//in template (value) Cause p_cause, m_resetType_nG_Interface( m_resetAll(reset_all) )//in template (value) ResetType p_resetType ) ) ); f_recv_NGAP_PDU( mw_ngap_succMsg( mw_n2_NGResetAcknowledge ) ); f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); log("*** " & __SCOPE__ & ": INFO: Testbody done. ***"); // Postamble f_postamble_NGAP_AMF(); f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); log("*** " & __SCOPE__ & ": INFO: Postamble done. ***"); } // End of function f_TC_NGAP_AMF_IMP_08 } // End of group NG_Reset //8.7.5 group Error_Indication{ /** * @desc Testcase function for TC_NGAP_AMF_IMF_09 */ function f_TC_NGAP_AMF_IMP_09() runs on gNBNGAPComponent { // Local variables // Preamble f_NGAP_gnb_init(); f_NGAP_gnb_UE_Register(); f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); log("*** " & __SCOPE__ & ": INFO: Preamble done. ***"); // Body // f_send_NGAP_PDU( // m_ngap_initMsg( // m_n2_InitialContextSetupRequest( // PX_AMF_UE_NGAP_ID, // PX_RAN_UE_NGAP_ID, // *//in template (value) PDUSessionResourceSetupListCxtReq p_pDUSessionResourceSetupListCxtReq //FIXME missing template for PDUSessionResourceSetupListCxtReq // ) // ) // ); f_recv_NGAP_PDU( mw_ngap_initMsg( mw_n2_ErrorIndication_ids( ?, ?, ? ) ) ); f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); log("*** " & __SCOPE__ & ": INFO: Testbody done. ***"); // Postamble f_postamble_NGAP_AMF(); f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); log("*** " & __SCOPE__ & ": INFO: Postamble done. ***"); } // End of function f_TC_NGAP_AMF_IMP_09 } // End of group Error_Indication //8.7.6 group AMF_Status_Indication{ /** * @desc Testcase function for TC_NGAP_AMF_IMF_10 */ function f_TC_NGAP_AMF_IMP_10() runs on gNBNGAPComponent { // Local variables // Preamble f_NGAP_gnb_init(); f_NGAP_gnb_UE_Register(); f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); log("*** " & __SCOPE__ & ": INFO: Preamble done. ***"); // Body action("Trigger AMF STATUS INDICATION !"); f_recv_NGAP_PDU( mw_ngap_initMsg( mw_n2_AMFStatusIndication( ?//template (present) UnavailableGUAMIList p_unavailableGUAMIList := ? //FIXME: when UnavailableGUAMIList template ready ) ) ); f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); log("*** " & __SCOPE__ & ": INFO: Testbody done. ***"); // Postamble f_postamble_NGAP_AMF(); f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); log("*** " & __SCOPE__ & ": INFO: Postamble done. ***"); } // End of function f_TC_NGAP_AMF_IMP_10 } // End of group AMF_Status_Indication //8.7.7 group Overload_Start{ /** * @desc Testcase function for TC_NGAP_AMF_IMF_11 */ function f_TC_NGAP_AMF_IMP_11() runs on gNBNGAPComponent { // Local variables // Preamble f_NGAP_gnb_init(); f_NGAP_gnb_UE_Register(); f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); log("*** " & __SCOPE__ & ": INFO: Preamble done. ***"); // Body action("Trigger OVERLOAD START !"); f_recv_NGAP_PDU( mw_ngap_initMsg( mw_n2_OverloadStart //FIXME: mising template with aditional IEs, OverloadStartNSSAIList ) ); f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); log("*** " & __SCOPE__ & ": INFO: Testbody done. ***"); // Postamble f_postamble_NGAP_AMF(); f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); log("*** " & __SCOPE__ & ": INFO: Postamble done. ***"); } // End of function f_TC_NGAP_AMF_IMP_11 } // End of group Overload_Start //8.7.8 group Overload_Stop{ /** * @desc Testcase function for TC_NGAP_AMF_IMF_12 */ function f_TC_NGAP_AMF_IMP_12() runs on gNBNGAPComponent { // Local variables // Preamble f_NGAP_gnb_init(); f_NGAP_gnb_UE_Register(); f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); log("*** " & __SCOPE__ & ": INFO: Preamble done. ***"); // Body action("Trigger OVERLOAD STOP !"); f_recv_NGAP_PDU( mw_ngap_initMsg( mw_n2_OverloadStop ) ); f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); log("*** " & __SCOPE__ & ": INFO: Testbody done. ***"); // Postamble f_postamble_NGAP_AMF(); f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); log("*** " & __SCOPE__ & ": INFO: Postamble done. ***"); } // End of function f_TC_NGAP_AMF_IMP_12 } // End of group Overload_Stop } // End of group Interface_Management_Procedures //8.8 group Configuration_Transfer_Procedures{ //8.8.1 group Uplink_RAN_Configuration_Transfer{ } // End of group Uplink_RAN_Configuration_Transfer //8.8.2 group Downlink_RAN_Configuration_Transfer{ } // End of group Downlink_RAN_Configuration_Transfer } // End of group Configuration_Transfer_Procedures //8.9 group Warning_Message_Transmission_Procedures{ //8.9.1 group Write_Replace_Warning{ /** * @desc Testcase function for TC_NGAP_aMF_WTP_01 */ function f_TC_NGAP_AMF_WTP_01() runs on gNBNGAPComponent { // Local variables // Preamble f_NGAP_gnb_init(); f_NGAP_gnb_UE_Register(); f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); log("*** " & __SCOPE__ & ": INFO: Preamble done. ***"); // Body action("Trigger WRITE REPLACE WARNING REQUEST !"); f_recv_NGAP_PDU( mw_ngap_initMsg( mw_n2_WriteReplaceWarningRequest( ?,// template (present) MessageIdentifier p_messageIdentifier :=?, ?,// template (present) SerialNumber p_serialNumber := ?, ?,// template (present) RepetitionPeriod p_repetitionPeriod := ?, ?// template (present) NumberOfBroadcastsRequested p_numberOfBroadcastsRequested := ? ) ) ); f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); log("*** " & __SCOPE__ & ": INFO: Testbody done. ***"); // Postamble f_postamble_NGAP_AMF(); f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); log("*** " & __SCOPE__ & ": INFO: Postamble done. ***"); } // End of function f_TC_NGAP_AMF_WTP_01 } // End of group Write_Replace_Warning //8.9.2 group PWS_Cancel{ /** * @desc Testcase function for TC_NGAP_aMF_WTP_02 */ function f_TC_NGAP_AMF_WTP_02() runs on gNBNGAPComponent { // Local variables // Preamble f_NGAP_gnb_init(); f_NGAP_gnb_UE_Register(); f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); log("*** " & __SCOPE__ & ": INFO: Preamble done. ***"); // Body action("Trigger PWS CANCEL REQUEST !"); f_recv_NGAP_PDU( mw_ngap_initMsg( mw_n2_PWSCancelRequest( ?,//template (present) MessageIdentifier p_messageIdentifier := ?, ?// template (present) SerialNumber p_serialNumber := ? ) ) ); f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); log("*** " & __SCOPE__ & ": INFO: Testbody done. ***"); // Postamble f_postamble_NGAP_AMF(); f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); log("*** " & __SCOPE__ & ": INFO: Postamble done. ***"); } // End of function f_TC_NGAP_AMF_WTP_02 } // End of group PWS_Cancel //8.9.3 group PWS_Restart_Indication{ } // End of group PWS_Restart_Indication //8.9.4 group PWS_Failure_Indication{ } // End of group PWS_Failure_Indication } // End of group Warning_Message_Transmission_Procedures //8.10 group NRPPa_Transport_Procedures{ } // End of group NRPPa_Transport_Procedures //8.11 group Trace_Procedures{ //8.11.1 group Trace_Start{ /** * @desc Testcase function for TC_NGAP_aMF_TRP_01 */ function f_TC_NGAP_AMF_TRP_01() runs on gNBNGAPComponent { // Local variables // Preamble f_NGAP_gnb_init(); f_NGAP_gnb_UE_Register(); f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); log("*** " & __SCOPE__ & ": INFO: Preamble done. ***"); // Body action("Trigger TRACE START!"); f_recv_NGAP_PDU( mw_ngap_initMsg( mw_n2_TraceStart( ?, ?, ? ) ) ); f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); log("*** " & __SCOPE__ & ": INFO: Testbody done. ***"); // Postamble f_postamble_NGAP_AMF(); f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); log("*** " & __SCOPE__ & ": INFO: Postamble done. ***"); } // End of function f_TC_NGAP_AMF_TRP_01 } // End of group Trace_Start //8.11.2 group Trace_Failure_Indication{ } // End of group Trace_Failure_Indication //8.11.3 group Deactivate_Trace{ /** * @desc Testcase function for TC_NGAP_aMF_TRP_02 */ function f_TC_NGAP_AMF_TRP_02() runs on gNBNGAPComponent { // Local variables // Preamble f_NGAP_gnb_init(); f_NGAP_gnb_UE_Register(); f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); log("*** " & __SCOPE__ & ": INFO: Preamble done. ***"); // Body action("Trigger DEACTIVATE TRACE!"); f_recv_NGAP_PDU( mw_ngap_initMsg( mw_n2_DeactivateTrace( ?, ?, ? ) ) ); f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); log("*** " & __SCOPE__ & ": INFO: Testbody done. ***"); // Postamble f_postamble_NGAP_AMF(); f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); log("*** " & __SCOPE__ & ": INFO: Postamble done. ***"); } // End of function f_TC_NGAP_AMF_TRP_02 } // End of group Deactivate_Trace //8.11.4 group Cell_Traffic_Trace{ } // End of group Cell_Traffic_Trace } // End of group Trace_Procedures //8.12 group Location_Reporting_Procedures{ //8.12.1 group Location_Reporting_Control{ } // End of group Location_Reporting_Control //8.12.2 group Location_Reporting_Failure_Indication{ } // End of group Location_Reporting_Failure_Indication //8.12.3 group Location_Report{ } // End of group Location_Report } // End of group Location_Reporting_Procedures //8.13 group UE_TNLA_Binding_Procedures{ //8.13.1 group UE_TNLA_Binding_Release{ /** * @desc Testcase function for TC_NGAP_aMF_UBP_01 */ function f_TC_NGAP_AMF_UBP_01() runs on gNBNGAPComponent { // Local variables // Preamble f_NGAP_gnb_init(); f_NGAP_gnb_UE_Register(); f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); log("*** " & __SCOPE__ & ": INFO: Preamble done. ***"); // Body action("Trigger UE TNLA BINDING procedure !"); // f_recv_NGAP_PDU( // mw_ngap_initMsg( // mw_n2_UeTnlaBindingReleaseRequest( // ) // ) // ); f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); log("*** " & __SCOPE__ & ": INFO: Testbody done. ***"); // Postamble f_postamble_NGAP_AMF(); f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); log("*** " & __SCOPE__ & ": INFO: Postamble done. ***"); } // End of function f_TC_NGAP_AMF_UBP_01 } // End of group UE_TNLA_Binding_Release } // End of group UE_TNLA_Binding_Procedures //8.14 group UE_Radio_Capability_Management_Procedures{ //8.14.1 group UE_Radio_Capability_Info_Indication{ } // End of group UE_Radio_Capability_Info_Indication //8.14.2 group UE_Radio_Capability_Check{ /** * @desc Testcase function for TC_NGAP_aMF_URP_01 */ function f_TC_NGAP_AMF_URP_01() runs on gNBNGAPComponent { // Local variables // Preamble f_NGAP_gnb_init(); f_NGAP_gnb_UE_Register(); f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); log("*** " & __SCOPE__ & ": INFO: Preamble done. ***"); // Body action("Trigger UE RADIO CAPABILITY CHECK management procedure !"); // f_recv_NGAP_PDU( // mw_ngap_initMsg( // mw_n2_Ue****( //FIXME: missing template // ) // ) // ); f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); log("*** " & __SCOPE__ & ": INFO: Testbody done. ***"); // Postamble f_postamble_NGAP_AMF(); f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); log("*** " & __SCOPE__ & ": INFO: Postamble done. ***"); } // End of function f_TC_NGAP_AMF_URP_01 } // End of group UE_Radio_Capability_Check //8.14.3 group UE_Radio_Capability_ID_Mapping{ /** * @desc Testcase function for TC_NGAP_aMF_URP_02 */ function f_TC_NGAP_AMF_URP_02() runs on gNBNGAPComponent { // Local variables // Preamble f_NGAP_gnb_init(); f_NGAP_gnb_UE_Register(); f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); log("*** " & __SCOPE__ & ": INFO: Preamble done. ***"); // Body // f_send_NGAP_PDU( // m_ngap_initMsg( //FIXME: missing template // ) // ); // f_recv_NGAP_PDU( // mw_ngap_initMsg( // mw_n2_Ue****( //FIXME: missing template // ) // ) // ); f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); log("*** " & __SCOPE__ & ": INFO: Testbody done. ***"); // Postamble f_postamble_NGAP_AMF(); f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); log("*** " & __SCOPE__ & ": INFO: Postamble done. ***"); } // End of function f_TC_NGAP_AMF_URP_02 } // End of group UE_Radio_Capability_ID_Mapping } // End of group UE_Radio_Capability_Management_Procedures //8.15 group Data_Usage_Reporting_Procedures{ //8.15.1 group Secondary_RAT_Data_Usage_Report{ } // End of group Secondary_RAT_Data_Usage_Report } // End of group Data_Usage_Reporting_Procedures //8.16 group RIM_Information_Transfer_Procedures{ //8.16.1 group Uplink_RIM_Information_Transfer{ } // End of group Uplink_RIM_Information_Transfer //8.16.2 group Downlink_RIM_Information_Transfer{ /** * @desc Testcase function for TC_NGAP_aMF_RIP_01 */ function f_TC_NGAP_AMF_RIP_01() runs on gNBNGAPComponent { // Local variables // Preamble f_NGAP_gnb_init(); f_NGAP_gnb_UE_Register(); f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); log("*** " & __SCOPE__ & ": INFO: Preamble done. ***"); // Body action("Trigger RIM Information Transfer procedure !"); // f_recv_NGAP_PDU( // mw_ngap_initMsg( // mw_n2_Ue****( //FIXME: missing template // ) // ) // ); f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); log("*** " & __SCOPE__ & ": INFO: Testbody done. ***"); // Postamble f_postamble_NGAP_AMF(); f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); log("*** " & __SCOPE__ & ": INFO: Postamble done. ***"); } // End of function f_TC_NGAP_AMF_RIP_01 } // End of group Downlink_RIM_Information_Transfer } // End of group RIM_Information_Transfer_Procedures } // End of group aMF_Role } // End of module NGAP_TCFunctions