Loading ttcn/AtsNGAP/NGAP_TCFunctions.ttcn +65 −3 Original line number Diff line number Diff line Loading @@ -3085,12 +3085,70 @@ module NGAP_TCFunctions { } // End of group Location_Reporting_Control //8.12.2 group Location_Reporting_Failure_Indication{ /** * @desc Testcase function for TC_NGAP_LRP_01 */ function f_TC_NGAP_GNB_LRP_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_LocationReportingControl( -, -, m_locationReportingRequestType( direct, cell, { m_areaOfInterestItem( m_areaOfInterest, 1, - ), m_areaOfInterestItem( m_areaOfInterest, 1, - ) }, -, - ) ) ) ); f_recv_NGAP_PDU( mw_ngap_initMsg( mw_n2_LocationReportingFailureIndication(-,-,PX_CAUSE_MULTIPLE_LOCATION_REPORTING) ) ); 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_LRP_01 } // End of group Location_Reporting_Failure_Indication //8.12.3 group Location_Report{ /** * @desc Testcase function for TC_NGAP_GNB_TRP_03 * @desc Testcase function for TC_NGAP_LRP_02 */ function f_TC_NGAP_GNB_LRP_02() runs on aMFNGAPComponent { // Local variables Loading @@ -3105,7 +3163,11 @@ module NGAP_TCFunctions { // Body f_send_NGAP_PDU( m_ngap_initMsg( m_n2_LocationReportingControl(-,-,-) m_n2_LocationReportingControl( -, -, m_locationReportingRequestType(direct,cell) ) ) ); Loading @@ -3123,7 +3185,7 @@ module NGAP_TCFunctions { f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); log("*** " & __SCOPE__ & ": INFO: Postamble done. ***"); } // End of function f_TC_NGAP_GNB_LRP_03 } // End of function f_TC_NGAP_LRP_02 } // End of group Location_Report } // End of group Location_Reporting_Procedures Loading ttcn/AtsNGAP/NGAP_TestCases.ttcn +28 −0 Original line number Diff line number Diff line Loading @@ -1675,6 +1675,34 @@ module NGAP_TestCases { } // End of group Location_Reporting_Control //8.12.2 group Location_Reporting_Failure_Indication{ /** * @desc "Verify that the IUT can send a LOCATION REPORTING FAILURE INDICATION message after that contains mandatory IEs receiving a LOCATION REPORTING CONTROL message with two identical Location Reporting Reference IDs." */ testcase TC_NGAP_GNB_LRP_01() runs on aMFNGAPComponent system TestAdapter { // Local variables var aMFNGAPComponent v_ngap_amf; // Test control if ((not PICS_NGAP_GNB_IUT) and (not PICS_A3_11_3)){ log("*** " & __SCOPE__ & ": ERROR: 'PICS_NGAP_GNB_IUT and PICS_A3_11_2' 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_LRP_01()); // 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_LRP_01 } // End of group Location_Reporting_Failure_Indication //8.12.3 group Location_Report{ Loading ttcn/LibNGAP/lib/LibNGAP_Pixits.ttcn +6 −0 Original line number Diff line number Diff line Loading @@ -218,6 +218,12 @@ module LibNGAP_Pixits { */ modulepar CauseRadioNetwork PX_CAUSE_HANDOVER_CANCEL := unspecified; /** * @desc To indicate the reason for a particular event for the NGAP protocol * @see ETSI TS 138 413 V16.12.0 (2023-05) Clause 9.3.1.2 Cause */ modulepar CauseRadioNetwork PX_CAUSE_MULTIPLE_LOCATION_REPORTING := unspecified; /** * @desc To indicate the reason for a particular event for the NGAP protocol * @see ETSI TS 138 413 V16.12.0 (2023-05) Clause 9.3.1.2 Cause Loading ttcn/LibNGAP/lib/LibNGAP_Templates.ttcn +39 −6 Original line number Diff line number Diff line Loading @@ -7187,8 +7187,7 @@ module LibNGAP_Templates { template (value) InitiatingMessage m_n2_LocationReportingControl( in template (value) AMF_UE_NGAP_ID p_amfUeNgapID := PX_AMF_UE_NGAP_ID, in template (value) RAN_UE_NGAP_ID p_ranUeNgapID := PX_RAN_UE_NGAP_ID, in template (value) LocationReportingRequestType p_locationReportingRequestType := m_locationReportingRequestType(direct, cell) //TODO: do we need PX here? in template (value) LocationReportingRequestType p_locationReportingRequestType ) := { procedureCode := id_LocationReportingControl, criticality := ignore, Loading Loading @@ -7258,6 +7257,40 @@ module LibNGAP_Templates { group Send { } group Receive { /** * @see ETSI TS 138 413 V16.12.0 (2023-05) Clause 9.2.11.2 LOCATION REPORTING FAILURE INDICATION */ template (present) InitiatingMessage mw_n2_LocationReportingFailureIndication( template (present) AMF_UE_NGAP_ID p_amfUeNgapID := PX_AMF_UE_NGAP_ID, template (present) RAN_UE_NGAP_ID p_ranUeNgapID := PX_RAN_UE_NGAP_ID, template (present) CauseRadioNetwork p_cause ) := { procedureCode := id_LocationReportingFailureIndication, criticality := ignore, value_ := { LocationReportingFailureIndication := { protocolIEs := { { id := id_AMF_UE_NGAP_ID, criticality := reject, value_ := { AMF_UE_NGAP_ID := p_amfUeNgapID } }, { id := id_RAN_UE_NGAP_ID, criticality := reject, value_ := { RAN_UE_NGAP_ID := p_ranUeNgapID } }, { id := id_CauseRadioNetwork, criticality := ignore, value_ := { id_CauseRadioNetwork := p_causeRadioNetwork} } } } } } // End of template mw_n2_LocationReportingFailureIndication } } //9.2.11.3 Loading Loading @@ -7554,7 +7587,7 @@ module LibNGAP_Templates { iE_Extensions := p_iE_Extensions } // End of template m_areaOfInterestCellItem template (omit) AreaOfInterestItem m_reaOfInterestItem( template (omit) AreaOfInterestItem m_areaOfInterestItem( in template (value) AreaOfInterest p_areaOfInterest, in template (value) LocationReportingReferenceID p_locationReportingReferenceID, in template (omit) AreaOfInterestItem.iE_Extensions p_iE_Extensions := omit Loading @@ -7562,7 +7595,7 @@ module LibNGAP_Templates { areaOfInterest := p_areaOfInterest, locationReportingReferenceID := p_locationReportingReferenceID, iE_Extensions := p_iE_Extensions } // End of template m_reaOfInterestItem } // End of template m_areaOfInterestItem template (omit) AreaOfInterestRANNodeItem m_areaOfInterestRANNodeItem( in template (value) GlobalRANNodeID p_globalRANNodeID, Loading Loading @@ -15173,7 +15206,7 @@ module LibNGAP_Templates { iE_Extensions := p_iE_Extensions } // End of template mw_areaOfInterestCellItem template (present) AreaOfInterestItem mw_reaOfInterestItem( template (present) AreaOfInterestItem mw_areaOfInterestItem( template (present) AreaOfInterest p_areaOfInterest := ?, template (present) LocationReportingReferenceID p_locationReportingReferenceID := ?, template AreaOfInterestItem.iE_Extensions p_iE_Extensions := * Loading @@ -15181,7 +15214,7 @@ module LibNGAP_Templates { areaOfInterest := p_areaOfInterest, locationReportingReferenceID := p_locationReportingReferenceID, iE_Extensions := p_iE_Extensions } // End of template mw_reaOfInterestItem } // End of template mw_areaOfInterestItem template (present) AreaOfInterestRANNodeItem mw_areaOfInterestRANNodeItem( template (present) GlobalRANNodeID p_globalRANNodeID := ?, Loading
ttcn/AtsNGAP/NGAP_TCFunctions.ttcn +65 −3 Original line number Diff line number Diff line Loading @@ -3085,12 +3085,70 @@ module NGAP_TCFunctions { } // End of group Location_Reporting_Control //8.12.2 group Location_Reporting_Failure_Indication{ /** * @desc Testcase function for TC_NGAP_LRP_01 */ function f_TC_NGAP_GNB_LRP_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_LocationReportingControl( -, -, m_locationReportingRequestType( direct, cell, { m_areaOfInterestItem( m_areaOfInterest, 1, - ), m_areaOfInterestItem( m_areaOfInterest, 1, - ) }, -, - ) ) ) ); f_recv_NGAP_PDU( mw_ngap_initMsg( mw_n2_LocationReportingFailureIndication(-,-,PX_CAUSE_MULTIPLE_LOCATION_REPORTING) ) ); 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_LRP_01 } // End of group Location_Reporting_Failure_Indication //8.12.3 group Location_Report{ /** * @desc Testcase function for TC_NGAP_GNB_TRP_03 * @desc Testcase function for TC_NGAP_LRP_02 */ function f_TC_NGAP_GNB_LRP_02() runs on aMFNGAPComponent { // Local variables Loading @@ -3105,7 +3163,11 @@ module NGAP_TCFunctions { // Body f_send_NGAP_PDU( m_ngap_initMsg( m_n2_LocationReportingControl(-,-,-) m_n2_LocationReportingControl( -, -, m_locationReportingRequestType(direct,cell) ) ) ); Loading @@ -3123,7 +3185,7 @@ module NGAP_TCFunctions { f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); log("*** " & __SCOPE__ & ": INFO: Postamble done. ***"); } // End of function f_TC_NGAP_GNB_LRP_03 } // End of function f_TC_NGAP_LRP_02 } // End of group Location_Report } // End of group Location_Reporting_Procedures Loading
ttcn/AtsNGAP/NGAP_TestCases.ttcn +28 −0 Original line number Diff line number Diff line Loading @@ -1675,6 +1675,34 @@ module NGAP_TestCases { } // End of group Location_Reporting_Control //8.12.2 group Location_Reporting_Failure_Indication{ /** * @desc "Verify that the IUT can send a LOCATION REPORTING FAILURE INDICATION message after that contains mandatory IEs receiving a LOCATION REPORTING CONTROL message with two identical Location Reporting Reference IDs." */ testcase TC_NGAP_GNB_LRP_01() runs on aMFNGAPComponent system TestAdapter { // Local variables var aMFNGAPComponent v_ngap_amf; // Test control if ((not PICS_NGAP_GNB_IUT) and (not PICS_A3_11_3)){ log("*** " & __SCOPE__ & ": ERROR: 'PICS_NGAP_GNB_IUT and PICS_A3_11_2' 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_LRP_01()); // 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_LRP_01 } // End of group Location_Reporting_Failure_Indication //8.12.3 group Location_Report{ Loading
ttcn/LibNGAP/lib/LibNGAP_Pixits.ttcn +6 −0 Original line number Diff line number Diff line Loading @@ -218,6 +218,12 @@ module LibNGAP_Pixits { */ modulepar CauseRadioNetwork PX_CAUSE_HANDOVER_CANCEL := unspecified; /** * @desc To indicate the reason for a particular event for the NGAP protocol * @see ETSI TS 138 413 V16.12.0 (2023-05) Clause 9.3.1.2 Cause */ modulepar CauseRadioNetwork PX_CAUSE_MULTIPLE_LOCATION_REPORTING := unspecified; /** * @desc To indicate the reason for a particular event for the NGAP protocol * @see ETSI TS 138 413 V16.12.0 (2023-05) Clause 9.3.1.2 Cause Loading
ttcn/LibNGAP/lib/LibNGAP_Templates.ttcn +39 −6 Original line number Diff line number Diff line Loading @@ -7187,8 +7187,7 @@ module LibNGAP_Templates { template (value) InitiatingMessage m_n2_LocationReportingControl( in template (value) AMF_UE_NGAP_ID p_amfUeNgapID := PX_AMF_UE_NGAP_ID, in template (value) RAN_UE_NGAP_ID p_ranUeNgapID := PX_RAN_UE_NGAP_ID, in template (value) LocationReportingRequestType p_locationReportingRequestType := m_locationReportingRequestType(direct, cell) //TODO: do we need PX here? in template (value) LocationReportingRequestType p_locationReportingRequestType ) := { procedureCode := id_LocationReportingControl, criticality := ignore, Loading Loading @@ -7258,6 +7257,40 @@ module LibNGAP_Templates { group Send { } group Receive { /** * @see ETSI TS 138 413 V16.12.0 (2023-05) Clause 9.2.11.2 LOCATION REPORTING FAILURE INDICATION */ template (present) InitiatingMessage mw_n2_LocationReportingFailureIndication( template (present) AMF_UE_NGAP_ID p_amfUeNgapID := PX_AMF_UE_NGAP_ID, template (present) RAN_UE_NGAP_ID p_ranUeNgapID := PX_RAN_UE_NGAP_ID, template (present) CauseRadioNetwork p_cause ) := { procedureCode := id_LocationReportingFailureIndication, criticality := ignore, value_ := { LocationReportingFailureIndication := { protocolIEs := { { id := id_AMF_UE_NGAP_ID, criticality := reject, value_ := { AMF_UE_NGAP_ID := p_amfUeNgapID } }, { id := id_RAN_UE_NGAP_ID, criticality := reject, value_ := { RAN_UE_NGAP_ID := p_ranUeNgapID } }, { id := id_CauseRadioNetwork, criticality := ignore, value_ := { id_CauseRadioNetwork := p_causeRadioNetwork} } } } } } // End of template mw_n2_LocationReportingFailureIndication } } //9.2.11.3 Loading Loading @@ -7554,7 +7587,7 @@ module LibNGAP_Templates { iE_Extensions := p_iE_Extensions } // End of template m_areaOfInterestCellItem template (omit) AreaOfInterestItem m_reaOfInterestItem( template (omit) AreaOfInterestItem m_areaOfInterestItem( in template (value) AreaOfInterest p_areaOfInterest, in template (value) LocationReportingReferenceID p_locationReportingReferenceID, in template (omit) AreaOfInterestItem.iE_Extensions p_iE_Extensions := omit Loading @@ -7562,7 +7595,7 @@ module LibNGAP_Templates { areaOfInterest := p_areaOfInterest, locationReportingReferenceID := p_locationReportingReferenceID, iE_Extensions := p_iE_Extensions } // End of template m_reaOfInterestItem } // End of template m_areaOfInterestItem template (omit) AreaOfInterestRANNodeItem m_areaOfInterestRANNodeItem( in template (value) GlobalRANNodeID p_globalRANNodeID, Loading Loading @@ -15173,7 +15206,7 @@ module LibNGAP_Templates { iE_Extensions := p_iE_Extensions } // End of template mw_areaOfInterestCellItem template (present) AreaOfInterestItem mw_reaOfInterestItem( template (present) AreaOfInterestItem mw_areaOfInterestItem( template (present) AreaOfInterest p_areaOfInterest := ?, template (present) LocationReportingReferenceID p_locationReportingReferenceID := ?, template AreaOfInterestItem.iE_Extensions p_iE_Extensions := * Loading @@ -15181,7 +15214,7 @@ module LibNGAP_Templates { areaOfInterest := p_areaOfInterest, locationReportingReferenceID := p_locationReportingReferenceID, iE_Extensions := p_iE_Extensions } // End of template mw_reaOfInterestItem } // End of template mw_areaOfInterestItem template (present) AreaOfInterestRANNodeItem mw_areaOfInterestRANNodeItem( template (present) GlobalRANNodeID p_globalRANNodeID := ?,