Commit 46388a78 authored by juvancic's avatar juvancic
Browse files

Merge branch 'devel' of https://forge.etsi.org/rep/int/5g-core/ngap into devel

parents df67a230 5c8be713
Loading
Loading
Loading
Loading
+95 −0
Original line number Diff line number Diff line
@@ -1141,6 +1141,101 @@ module NGAP_TCFunctions {

               } // End of function f_TC_NGAP_GNB_CMP_03
               
               /**
               * @desc Testcase function for TP_NGAP_GNB_CMP_04
               */
               function f_TC_NGAP_GNB_CMP_04() runs on aMFNGAPComponent {

             	   // 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_InitialContextSetupRequest_optional_MobilityRestriction
                   		(
                   		-,
                   		-,
                   		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,
                   		-,
                   		m_mobilityRestrictionList(
                   			PX_PLMN_IDENTITY
                   		)
                   		)));


                   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_04

            } // End of group Initial_Context_Setup
            //8.3.2
            group UE_Context_Release_Request_NG_RAN_node_initiated{
+28 −0
Original line number Diff line number Diff line
@@ -421,6 +421,34 @@ module NGAP_TestCases {
                    f_cf_Down/*gNBoraMF*/();
                  
                } // End of testcase TC_NGAP_GNB_CMP_03
                
                 /**
                 * @desc Test objective "Verify that the NG-RAN node successfully processes a INITIAL CONTEXT SETUP REQUEST with optional field Mobility Restriction List and answers with INITIAL CONTEXT SETUP RESPONSE with successfully established UE context."
                 */
                testcase TC_NGAP_GNB_CMP_04() 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_04());

                    // 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_04
                
            } // End of group Initial_Context_Setup
            //8.3.2
            group UE_Context_Release_Request_NG_RAN_node_initiated{
+64 −0
Original line number Diff line number Diff line
@@ -1082,6 +1082,70 @@ module LibNGAP_Templates {
                                                                                            }
                                                                            }
                                            }
                              }
                                            
                        /**
                         * @see ETSI TS 138 413 V16.12.0 (2023-05) Clause 9.2.2.1 INITIAL CONTEXT SETUP REQUEST
                         */
                        template (value) InitiatingMessage m_n2_InitialContextSetupRequest_optional_MobilityRestriction(
                                                                                           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) GUAMI p_gUAMI,
                                                                                           in template (value) PDUSessionResourceSetupListCxtReq p_pDUSessionResourceSetupListCxtReq,
                                                                                           in template (value) AllowedNSSAI p_allowedNSSAI,
                                                                                           in template (value) UESecurityCapabilities p_uESecurityCapabilities,
                                                                                           in template (value) SecurityKey p_nextHopNH := PX_NEXT_HOP_NH,
                                                                                           in template (value) MobilityRestrictionList p_mobilityRestrictionList := m_mobilityRestrictionList
                                                                                           ) := {
                            procedureCode := id_InitialContextSetup,
                            criticality   := reject,
                            value_        := {
                                              InitialContextSetupRequest := {
                                                                             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_GUAMI,
                                                                                                 criticality := reject,
                                                                                                 value_ := { GUAMI := p_gUAMI }
                                                                                             },
                                                                                             {
                                                                                                 id := id_PDUSessionResourceSetupListCxtReq,
                                                                                                 criticality := reject,
                                                                                                 value_ := { PDUSessionResourceSetupListCxtReq := p_pDUSessionResourceSetupListCxtReq }
                                                                                             },
                                                                                             {
                                                                                               	 id := id_AllowedNSSAI,
                                                                                                 criticality := reject,
                                                                                                 value_ := { AllowedNSSAI := p_allowedNSSAI }
                                                                                             },
                                                                                             {
                                                                                               	 id := id_UESecurityCapabilities,
                                                                                                 criticality := reject,
                                                                                                 value_ := { UESecurityCapabilities := p_uESecurityCapabilities }
                                                                                             },
                                                                                             {
                                                                                               	 id := id_SecurityKey,
                                                                                                 criticality := reject,
                                                                                                 value_ := { SecurityKey := p_nextHopNH }
                                                                                             },
                                                                                             {
                                                                                               	 id := id_TraceActivation,
                                                                                                 criticality := ignore,
                                                                                                 value_ := { MobilityRestrictionList := p_mobilityRestrictionList }
                                                                                             }
                                                                                            }
                                                                            }
                                            }
                           }
                    } // End of group Send