Commit 1986ad6a authored by Yann Garcia's avatar Yann Garcia
Browse files

Implement TC_NGAP_GNB_MMP_01/02

parent 0c501cb4
Loading
Loading
Loading
Loading
+8 −1
Original line number Diff line number Diff line
@@ -191,12 +191,19 @@ module NGAP_Steps {
        } // End of function f_NGAP_gnb_UE_PDU_ResourceSetup();

        /**
         * @desc 
         * @desc The IUT entity indicate the initiation "of a Handover Required procedure"
         */
        function f_NGAP_amf_UE_MMP_Initiate_Handover() runs on NGAPComponent {
        //FIXME: Implementation of Handover init                
        } // End of function f_NGAP_amf_UE_MMP_Initiate_Handover();

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

    }//end group BehaviorFunctions

} // End of module NGAP_Steps
+83 −4
Original line number Diff line number Diff line
@@ -824,7 +824,7 @@ module NGAP_TCFunctions {
                // Preamble
                f_NGAP_amf_init();
                f_NGAP_amf_UE_Register();
                f_NGAP_amf_UE_MMP_Initiate_Handover();
                f_NGAP_amf_UE_MMP_Initiate_Handover_Completed();
                f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict());
                log("*** " & __SCOPE__ & ": INFO: Preamble done. ***");

@@ -836,12 +836,12 @@ module NGAP_TCFunctions {
                                                                       PX_RAN_UE_NGAP_ID,
                                                                       PX_HANDOVER_TYPE,
                                                                       -,
                                                                       mw_targetID_targeteNB_ID, // ??
                                                                       mw_targetID_targeteNB_ID, // FIXME FSCOM To be check
                                                                       {
                                                                          *,
                                                                          mw_pDUSessionResourceItemHORqd(
                                                                          mw_pDUSessionResourceItemHORqd( // TODO FSCOM Make the template more restrictive
                                                                                                         PX_PDU_SESSION_ID
                                                                                                         ), // FSCOM To be refined
                                                                                                         ),
                                                                          *
                                                                       }
                )));
@@ -862,6 +862,85 @@ module NGAP_TCFunctions {
            group UE_Context_Release_Request_NG_RAN_node_initiated{

              function f_TC_NGAP_GNB_MMP_02() 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_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_succMsg(
                                                mw_n2_HandoverRequestAcknowledge(
                                                                                 PX_AMF_UE_NGAP_ID,
                                                                                 PX_RAN_UE_NGAP_ID,
                                                                                 {
                                                                                     *,
                                                                                     mw_pDUSessionResourceAdmittedItem( // TODO FSCOM Make the template more restrictive
                                                                                                                       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_MMP_02

+26 −0
Original line number Diff line number Diff line
@@ -340,6 +340,22 @@ module LibNGAP_Pixits {
     */
    modulepar NRintegrityProtectionAlgorithms PX_NR_INTEGRITY_PROTECTION_ALGORITHMS;

    /** 
     * @desc Each position in the bitmap represents an encryption algorithm
     * @see ETSI TS 138 413 V16.12.0 (2023-05) Clause 9.3.1.86 UE Security Capabilities
     */
    modulepar EUTRAencryptionAlgorithms PX_EUTRA_ENCRYPTION_ALGORITHMS;

    /** 
     * @desc Each position in the bitmap represents an encryption algorithm
     * @see ETSI TS 138 413 V16.12.0 (2023-05) Clause 9.3.1.86 UE Security Capabilities
     */
    modulepar EUTRAintegrityProtectionAlgorithms PX_EUTRA_INTEGRITY_PROTECTION_ALGORITHMS;

    modulepar NextHopChainingCount PX_NEXT_HOP_CHAINING_COUNT;

    modulepar SecurityKey PX_NEXT_HOP_NH;

    /** 
     * @desc Contains the DRB ID
     * @see ETSI TS 138 413 V16.12.0 (2023-05) Clause 9.3.1.53 DRB ID
@@ -388,6 +404,16 @@ module LibNGAP_Pixits {
     */
    modulepar NumberOfBroadcastsRequested PX_NUMBER_OF_BROADCASTS_REQUESTED := 4;

    modulepar octetstring PX_SOURCE_TO_TARGET_TRANSPARENT_CONTAINER;

    modulepar EPS_TAC PX_EPS_TAC := '0000'O;

    modulepar Bit20 PX_MACRO_NGENB_ID;

    modulepar Bit18 PX_SHORT_MACRO_NGENB_ID;

    modulepar Bit21 PX_LONG_MACRO_NGENB_ID;

    /** 
     * @desc eNB Identity.
     * @see ETSI TS 136 413 Clause 9.2.1.37 Global eNB ID
+99 −31

File changed.

Preview size limit exceeded, changes collapsed.