Loading ttcn/AtsNGAP/NGAP_TCFunctions.ttcn +128 −0 Original line number Diff line number Diff line Loading @@ -1245,6 +1245,134 @@ module NGAP_TCFunctions { } // End of function f_TC_NGAP_GNB_CMP_04 /** * @desc Testcase function for TP_NGAP_GNB_CMP_05 */ function f_TC_NGAP_GNB_CMP_05() runs on aMFNGAPComponent { // 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_InitialContextSetupRequest_differentOptionals ( -, -, m_gUAMI, { { PX_PDU_SESSION_ID, omit, 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 )))) ), omit } }, { m_allowedNSSAI_Item( m_s_NSSAI('00'O, '000000'O) ) }, m_uESecurityCapabilities, -, ''O, // UERadioCapability p_uERadioCapability, -, // IndexToRFSP p_indexToRFSP := 1, // TODO: do we need PIXIT here? '0000000000000000000000000000000000000000000000000000000000000001'B, // MaskedIMEISV p_maskedIMEISV, // TODO: do we need PIXIT here? ''O, // FIXME FSCOM NAS_PDU field shall be bit2oct(enc(???)) , m_emergencyFallbackIndicator(emergency_fallback_requested), // EmergencyFallbackIndicator p_emergencyFallbackIndicator, m_rRCInactiveTransitionReportRequest, // RRCInactiveTransitionReportRequest p_rRCInactiveTransitionReportRequest, m_redirectionVoiceFallback, // RedirectionVoiceFallback p_redirectionVoiceFallback, m_locationReportingRequestType( direct, cell, { m_areaOfInterestItem( m_areaOfInterest, 1, - ), m_areaOfInterestItem( m_areaOfInterest, 1, - ) }, -, - ), // LocationReportingRequestType p_locationReportingRequestType, m_sRVCCOperationPossible, // SRVCCOperationPossible p_sRVCCOperationPossible, m_iAB_Authorized, // IAB_Authorized p_iAB_Authorized, m_enhanced_CoverageRestriction, // Enhanced_CoverageRestriction p_enhanced_CoverageRestriction, -, // Extended_ConnectedTime p_extended_ConnectedTime := PX_EXTENDED_CONNECTED_TIME, m_uE_DifferentiationInfo, // UE_DifferentiationInfo p_uE_DifferentiationInfo, m_nRUESidelinkAggregateMaximumBitrate, // NRUESidelinkAggregateMaximumBitrate p_nRUESidelinkAggregateMaximumBitrate, m_lTEUESidelinkAggregateMaximumBitrate, // LTEUESidelinkAggregateMaximumBitrate p_lTEUESidelinkAggregateMaximumBitrate, PX_U_E_RADIO_CAPABILITY_ID ))); f_recv_NGAP_PDU( mw_ngap_succMsg( mw_n2_InitialContextSetupResponse( PX_AMF_UE_NGAP_ID, PX_RAN_UE_NGAP_ID, { { PX_PDU_SESSION_ID, ?, * } } ) )); 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_CMP_05 } // End of group Initial_Context_Setup //8.3.2 group UE_Context_Release_Request_NG_RAN_node_initiated{ Loading ttcn/AtsNGAP/NGAP_TestCases.ttcn +27 −0 Original line number Diff line number Diff line Loading @@ -449,6 +449,33 @@ module NGAP_TestCases { } // End of testcase TC_NGAP_GNB_CMP_04 /** * @desc Test objective "Verify that the NG-RAN node successfully processes a INITIAL CONTEXT SETUP REQUEST with different optional fields and answers with INITIAL CONTEXT SETUP RESPONSE with successfully established UE context." */ testcase TC_NGAP_GNB_CMP_05() runs on aMFNGAPComponent system TestAdapter { // Local variables var aMFNGAPComponent v_ngap_amf; // Test control if ((not PICS_NGAP_GNB_IUT) and (not PICS_A3_2_1)){ log("*** " & __SCOPE__ & ": ERROR: 'PICS_NGAP_GNB_IUT and PICS_A3_2_1' shall be set to true for executing the TC. ***"); stop; } // Test component configuration f_cf_NGAP_aMF_Up(v_ngap_amf); // Start v_ngap_amf.start(f_TC_NGAP_GNB_CMP_05()); // synchronize PTC on 1 sychronization points f_serverSyncNClientsAndStop(1, {c_prDone, c_tbDone, c_poDone}); f_cf_Down/*gNBoraMF*/(); } // End of testcase TC_NGAP_GNB_CMP_05 } // End of group Initial_Context_Setup //8.3.2 group UE_Context_Release_Request_NG_RAN_node_initiated{ Loading ttcn/LibNGAP/lib/LibNGAP_Templates.ttcn +157 −1 File changed.Preview size limit exceeded, changes collapsed. Show changes Loading
ttcn/AtsNGAP/NGAP_TCFunctions.ttcn +128 −0 Original line number Diff line number Diff line Loading @@ -1245,6 +1245,134 @@ module NGAP_TCFunctions { } // End of function f_TC_NGAP_GNB_CMP_04 /** * @desc Testcase function for TP_NGAP_GNB_CMP_05 */ function f_TC_NGAP_GNB_CMP_05() runs on aMFNGAPComponent { // 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_InitialContextSetupRequest_differentOptionals ( -, -, m_gUAMI, { { PX_PDU_SESSION_ID, omit, 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 )))) ), omit } }, { m_allowedNSSAI_Item( m_s_NSSAI('00'O, '000000'O) ) }, m_uESecurityCapabilities, -, ''O, // UERadioCapability p_uERadioCapability, -, // IndexToRFSP p_indexToRFSP := 1, // TODO: do we need PIXIT here? '0000000000000000000000000000000000000000000000000000000000000001'B, // MaskedIMEISV p_maskedIMEISV, // TODO: do we need PIXIT here? ''O, // FIXME FSCOM NAS_PDU field shall be bit2oct(enc(???)) , m_emergencyFallbackIndicator(emergency_fallback_requested), // EmergencyFallbackIndicator p_emergencyFallbackIndicator, m_rRCInactiveTransitionReportRequest, // RRCInactiveTransitionReportRequest p_rRCInactiveTransitionReportRequest, m_redirectionVoiceFallback, // RedirectionVoiceFallback p_redirectionVoiceFallback, m_locationReportingRequestType( direct, cell, { m_areaOfInterestItem( m_areaOfInterest, 1, - ), m_areaOfInterestItem( m_areaOfInterest, 1, - ) }, -, - ), // LocationReportingRequestType p_locationReportingRequestType, m_sRVCCOperationPossible, // SRVCCOperationPossible p_sRVCCOperationPossible, m_iAB_Authorized, // IAB_Authorized p_iAB_Authorized, m_enhanced_CoverageRestriction, // Enhanced_CoverageRestriction p_enhanced_CoverageRestriction, -, // Extended_ConnectedTime p_extended_ConnectedTime := PX_EXTENDED_CONNECTED_TIME, m_uE_DifferentiationInfo, // UE_DifferentiationInfo p_uE_DifferentiationInfo, m_nRUESidelinkAggregateMaximumBitrate, // NRUESidelinkAggregateMaximumBitrate p_nRUESidelinkAggregateMaximumBitrate, m_lTEUESidelinkAggregateMaximumBitrate, // LTEUESidelinkAggregateMaximumBitrate p_lTEUESidelinkAggregateMaximumBitrate, PX_U_E_RADIO_CAPABILITY_ID ))); f_recv_NGAP_PDU( mw_ngap_succMsg( mw_n2_InitialContextSetupResponse( PX_AMF_UE_NGAP_ID, PX_RAN_UE_NGAP_ID, { { PX_PDU_SESSION_ID, ?, * } } ) )); 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_CMP_05 } // End of group Initial_Context_Setup //8.3.2 group UE_Context_Release_Request_NG_RAN_node_initiated{ Loading
ttcn/AtsNGAP/NGAP_TestCases.ttcn +27 −0 Original line number Diff line number Diff line Loading @@ -449,6 +449,33 @@ module NGAP_TestCases { } // End of testcase TC_NGAP_GNB_CMP_04 /** * @desc Test objective "Verify that the NG-RAN node successfully processes a INITIAL CONTEXT SETUP REQUEST with different optional fields and answers with INITIAL CONTEXT SETUP RESPONSE with successfully established UE context." */ testcase TC_NGAP_GNB_CMP_05() runs on aMFNGAPComponent system TestAdapter { // Local variables var aMFNGAPComponent v_ngap_amf; // Test control if ((not PICS_NGAP_GNB_IUT) and (not PICS_A3_2_1)){ log("*** " & __SCOPE__ & ": ERROR: 'PICS_NGAP_GNB_IUT and PICS_A3_2_1' shall be set to true for executing the TC. ***"); stop; } // Test component configuration f_cf_NGAP_aMF_Up(v_ngap_amf); // Start v_ngap_amf.start(f_TC_NGAP_GNB_CMP_05()); // synchronize PTC on 1 sychronization points f_serverSyncNClientsAndStop(1, {c_prDone, c_tbDone, c_poDone}); f_cf_Down/*gNBoraMF*/(); } // End of testcase TC_NGAP_GNB_CMP_05 } // End of group Initial_Context_Setup //8.3.2 group UE_Context_Release_Request_NG_RAN_node_initiated{ Loading
ttcn/LibNGAP/lib/LibNGAP_Templates.ttcn +157 −1 File changed.Preview size limit exceeded, changes collapsed. Show changes