Commit f35c7de2 authored by Yann Garcia's avatar Yann Garcia
Browse files

Implement TC_NGAP_GNB_MMP_07

parent 3913ead4
Loading
Loading
Loading
Loading
+6 −0
Original line number Original line Diff line number Diff line
@@ -82,6 +82,12 @@ NGAP_TestCases.TC_NGAP_gNB_or_aMF_testcaseName_01
#NGAP_TestCases.TC_NGAP_GNB_MMP_07
#NGAP_TestCases.TC_NGAP_GNB_MMP_07
# Verify that the AMF node successfully sends a PATH SWITCH REQUEST message that contains mandatory IEs to the AMF.
# Verify that the AMF node successfully sends a PATH SWITCH REQUEST message that contains mandatory IEs to the AMF.
#NGAP_TestCases.TC_NGAP_GNB_MMP_08
#NGAP_TestCases.TC_NGAP_GNB_MMP_08
# Verify that the GNB node successfully sends a HANDOVER CANCEL message that contains mandatory IEs to the AMF.
#NGAP_TestCases.TC_NGAP_GNB_MMP_09
# Verify that the NG-RAN node successfully send a UPLINK RAN STATUS TRANSFER message to the AMF.
#NGAP_TestCases.TC_NGAP_GNB_MMP_10
# Verify that the NG-RAN node successfully sends a UPLINK RAN EARLY STATUS TRANSFER message to the AMF.
#NGAP_TestCases.TC_NGAP_GNB_MMP_11


# Verify that the GNB node successfully sends a NG SETUP REQEST message to the AMF.
# Verify that the GNB node successfully sends a NG SETUP REQEST message to the AMF.
#NGAP_TestCases.TC_NGAP_GNB_IMP_01
#NGAP_TestCases.TC_NGAP_GNB_IMP_01
+8 −0
Original line number Original line Diff line number Diff line
@@ -194,6 +194,14 @@ module NGAP_Steps {
        //FIXME: Implementation of Handover init                
        //FIXME: Implementation of Handover init                
        } // End of function f_NGAP_amf_UE_MMP_Initiate_Handover_Completed()
        } // End of function f_NGAP_amf_UE_MMP_Initiate_Handover_Completed()


        /**
         * @desc 
         */
        function f_NGAP_amf_UE_MMP_Handover_Completed() runs on NGAPComponent {
        //FIXME: Implementation of Handover init                
        } // End of function f_NGAP_amf_UE_MMP_Handover_Completed()


        /******************************************************************/
        /******************************************************************/


        /**
        /**
+225 −6
Original line number Original line Diff line number Diff line
@@ -1518,7 +1518,38 @@ module NGAP_TCFunctions {
                                                                                               ) 
                                                                                               ) 
                                                                         },
                                                                         },
                                                                         PX_SOURCE_TO_TARGET_TRANSPARENT_CONTAINER, // FIXME FSCOM Should be a bit2oct(enc(???))
                                                                         PX_SOURCE_TO_TARGET_TRANSPARENT_CONTAINER, // FIXME FSCOM Should be a bit2oct(enc(???))
                                                                         m_gUAMI
                                                                         m_gUAMI,
                                                                         m_coreNetworkAssistanceInformationForInactive(
                                                                                                                       m_uEIdentityIndexValue_indexLength10(PX_UE_IDENTITY_INDEX_VALUE),
                                                                                                                       -,
                                                                                                                       {
                                                                                                                          m_tAIListForInactiveItem(
                                                                                                                                                   m_tAI
                                                                                                                                                   )
                                                                                                                        }
                                                                                                                       ),
                                                                         m_newSecurityContextInd,
                                                                         ''O, // FSCOM FIXME NAS_PDU field shall be bit2oct(enc(???))
                                                                         m_traceActivation(
                                                                                           -, -,
                                                                                           m_traceDepth
                                                                                           ),
                                                                         m_rRCInactiveTransitionReportRequest,
                                                                         m_redirectionVoiceFallback,
                                                                         m_cNAssistedRANTuning,
                                                                         m_sRVCCOperationPossible,
                                                                         m_enhanced_CoverageRestriction,
                                                                         m_uE_DifferentiationInfo,
                                                                         m_nRV2XServicesAuthorized,
                                                                         m_lTEV2XServicesAuthorized,
                                                                         m_nRUESidelinkAggregateMaximumBitrate,
                                                                         m_lTEUESidelinkAggregateMaximumBitrate,
                                                                         m_pC5QoSParameters(
                                                                                            { m_pC5QoSFlowItem }
                                                                                            ),
                                                                         m_cEmodeBrestricted,
                                                                         m_uE_UP_CIoT_Support,
                                                                         { PX_PLMN_IDENTITY }
                                )));
                                )));


                f_recv_NGAP_PDU(
                f_recv_NGAP_PDU(
@@ -1547,36 +1578,224 @@ module NGAP_TCFunctions {
              } // End of function f_TC_NGAP_GNB_MMP_04
              } // End of function f_TC_NGAP_GNB_MMP_04


              function f_TC_NGAP_GNB_MMP_05() runs on aMFNGAPComponent {
              function f_TC_NGAP_GNB_MMP_05() runs on aMFNGAPComponent {
                // Local variables

                // Preamble
                f_NGAP_amf_init();
                f_NGAP_amf_UE_Register();
                f_NGAP_amf_UE_MMP_Initiate_Handover_Completed();
                f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict());
                log("*** " & __SCOPE__ & ": INFO: Preamble done. ***");

                // Body
                f_NGAP_amf_UE_NoLongerAvailable();
                f_send_NGAP_PDU(
                                m_ngap_initMsg(
                                               m_n2_HandoverRequest(
                                                                    -, -, -,
                                                                    m_uEAggregateMaximumBitRate,
                                                                    m_uESecurityCapabilities,
                                                                    m_securityContext,
                                                                    {
                                                                      m_pDUSessionResourceSetupItemHOReq(
                                                                                                         -,
                                                                                                         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_allowedNSSAI_Item(
                                                                                          m_s_NSSAI('00'O, '000000'O)
                                                                                          ) 
                                                                    },
                                                                    PX_SOURCE_TO_TARGET_TRANSPARENT_CONTAINER, // FIXME FSCOM Should be a bit2oct(enc(???))
                                                                    m_gUAMI
                                )));

                f_recv_NGAP_PDU(
                                mw_ngap_unsuccMsg(
                                                  mw_n2_HandoverFailure(
                                                                        PX_AMF_UE_NGAP_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_MMP_05
              } // End of function f_TC_NGAP_GNB_MMP_05


              function f_TC_NGAP_GNB_MMP_06() runs on aMFNGAPComponent {
              function f_TC_NGAP_GNB_MMP_06() runs on aMFNGAPComponent {
                // Local variables


              } // End of function f_TC_NGAP_GNB_MMP_06
                // Preamble
                f_NGAP_amf_init();
                f_NGAP_amf_UE_Register();
                f_NGAP_amf_UE_MMP_Initiate_Handover_Completed();
                f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict());
                log("*** " & __SCOPE__ & ": INFO: Preamble done. ***");


              function f_TC_NGAP_GNB_MMP_07() runs on aMFNGAPComponent {
                // Body
                f_NGAP_amf_UE_NoLongerAvailable();
                f_send_NGAP_PDU(
                                m_ngap_initMsg(
                                               m_n2_HandoverRequest(
                                                                    -, -, -,
                                                                    m_uEAggregateMaximumBitRate,
                                                                    m_uESecurityCapabilities,
                                                                    m_securityContext,
                                                                    {
                                                                      m_pDUSessionResourceSetupItemHOReq(
                                                                                                         -,
                                                                                                         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_allowedNSSAI_Item(
                                                                                          m_s_NSSAI('00'O, '000000'O)
                                                                                          ) 
                                                                    },
                                                                    PX_SOURCE_TO_TARGET_TRANSPARENT_CONTAINER, // FIXME FSCOM Should be a bit2oct(enc(???))
                                                                    m_gUAMI
                                )));


              } // End of function f_TC_NGAP_GNB_MMP_07
                f_recv_NGAP_PDU(
                                mw_ngap_unsuccMsg(
                                                  mw_n2_HandoverFailure(
                                                                        PX_AMF_UE_NGAP_ID
                                )));


              function f_TC_NGAP_GNB_MMP_08() runs on aMFNGAPComponent {


              } // End of function f_TC_NGAP_GNB_MMP_08
                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_MMP_06


            } // End of group Handover_Resource_Allocation
            } // End of group Handover_Resource_Allocation
            //8.4.3
            //8.4.3
            group Handover_Notification{
            group Handover_Notification{

              function f_TC_NGAP_GNB_MMP_07() runs on aMFNGAPComponent {

                   // Local variables

                   // Preamble
                   f_NGAP_amf_init();
                   f_NGAP_amf_UE_Register();
                   f_NGAP_amf_UE_PDU_ResourceSetup();
                   f_NGAP_amf_UE_MMP_Handover_Completed()
                   f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict());
                   log("*** " & __SCOPE__ & ": INFO: Preamble done. ***");

                   // Body
                   f_recv_NGAP_PDU(
                                   mw_ngap_initMsg(
                                                   mw_n2_HandoverNotify(
                                                                        -,
                                                                        -,
                                                                        ?
                                   )));

                   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_MMP_07

            } // End of group Handover_Notification
            } // End of group Handover_Notification
            //8.4.4
            //8.4.4
            group Path_Switch_Request{
            group Path_Switch_Request{

              function f_TC_NGAP_GNB_MMP_08() runs on aMFNGAPComponent {

              } // End of function f_TC_NGAP_GNB_MMP_08

            } // End of group Path_Switch_Request
            } // End of group Path_Switch_Request
            //8.4.5
            //8.4.5
            group Handover_Cancellation{
            group Handover_Cancellation{

              function f_TC_NGAP_GNB_MMP_09() runs on aMFNGAPComponent {

              } // End of function f_TC_NGAP_GNB_MMP_09

            } // End of group Handover_Cancellation
            } // End of group Handover_Cancellation
            //8.4.6
            //8.4.6
            group Uplink_RAN_Status_Transfer{
            group Uplink_RAN_Status_Transfer{

              function f_TC_NGAP_GNB_MMP_10() runs on aMFNGAPComponent {

              } // End of function f_TC_NGAP_GNB_MMP_10

            } // End of group Uplink_RAN_Status_Transfer
            } // End of group Uplink_RAN_Status_Transfer
            //8.4.7
            //8.4.7
            group Downlink_RAN_Status_Transfer{
            group Downlink_RAN_Status_Transfer{

              function f_TC_NGAP_GNB_MMP_11() runs on aMFNGAPComponent {

              } // End of function f_TC_NGAP_GNB_MMP_11

            } // End of group Downlink_RAN_Status_Transfer
            } // End of group Downlink_RAN_Status_Transfer
            //8.4.8
            //8.4.8
            group Handover_Success{
            group Handover_Success{
+84 −0

File changed.

Preview size limit exceeded, changes collapsed.

+16 −0
Original line number Original line Diff line number Diff line
@@ -414,6 +414,22 @@ module LibNGAP_Pixits {


    modulepar Bit21 PX_LONG_MACRO_NGENB_ID;
    modulepar Bit21 PX_LONG_MACRO_NGENB_ID;


    modulepar Bit10 PX_UE_IDENTITY_INDEX_VALUE;

    modulepar PeriodicRegistrationUpdateTimer PX_PERIODIC_REGISTRATION_UPDATE_TIMER;

    modulepar NGRANTraceID PX_NGRAN_TRACE_ID;

    modulepar InterfacesToTrace PX_INTERFACES_TO_TRACE;

    modulepar UERadioCapabilityID PX_U_E_RADIO_CAPABILITY_ID;

    modulepar Extended_ConnectedTime PX_EXTENDED_CONNECTED_TIME;

    modulepar BitRate PX_UE_SIDELINK_AGGREGATE_MAXIMUM_BIT_RATE;

    modulepar FiveQI PX_FIVE_QI;

    /** 
    /** 
     * @desc eNB Identity.
     * @desc eNB Identity.
     * @see ETSI TS 136 413 Clause 9.2.1.37 Global eNB ID
     * @see ETSI TS 136 413 Clause 9.2.1.37 Global eNB ID
Loading