LibNGAP_Templates.ttcn 548 KB
Newer Older
Iztok Juvancic's avatar
Iztok Juvancic committed
            //  type    record  length  (1  ..  NGAP_Constants.maxnoofQosFlows) of  QosFlowParametersItem   QosFlowParametersList;
            //  type    record  QosFlowParametersItem   {
            //  type    NGAP_Containers.NGAP_PROTOCOL_EXTENSION QosFlowParametersItem_ExtIEs    (
            //  type    record  QosFlowPerTNLInformation    {
            //  type    NGAP_Containers.NGAP_PROTOCOL_EXTENSION QosFlowPerTNLInformation_ExtIEs (?);
            //  type    record  length  (1  ..  NGAP_Constants.maxnoofMultiConnectivityMinusOne)    of  QosFlowPerTNLInformationItem    QosFlowPerTNLInformationList;
            //  type    record  QosFlowPerTNLInformationItem    {
            //  type    NGAP_Containers.NGAP_PROTOCOL_EXTENSION QosFlowPerTNLInformationItem_ExtIEs (?);
Iztok Juvancic's avatar
Iztok Juvancic committed
            //  type    record  length  (1  ..  NGAP_Constants.maxnoofQosFlows) of  QosFlowSetupRequestItem QosFlowSetupRequestList;
            template (value) QosFlowSetupRequestList m_ie_qosFlowSetReqList(in QosFlowSetupRequestList p_list) := p_list;
Iztok Juvancic's avatar
Iztok Juvancic committed
            //  type    record  QosFlowSetupRequestItem {
Iztok Juvancic's avatar
Iztok Juvancic committed
            //  type    NGAP_Containers.NGAP_PROTOCOL_EXTENSION QosFlowSetupRequestItem_ExtIEs  (
            template (omit) QosFlowItemWithDataForwarding m_qosFlowItemWithDataForwarding(
                                                                                          in template (value) QosFlowIdentifier p_qosFlowIdentifier,
	                                                                                      in template (omit) DataForwardingAccepted p_dataForwardingAccepted := omit,
                                                                                          in template (omit) QosFlowItemWithDataForwarding.iE_Extensions p_iE_Extensions := omit
                                                                                          ) := {
                qosFlowIdentifier      := p_qosFlowIdentifier,
                dataForwardingAccepted := p_dataForwardingAccepted,
                iE_Extensions          := p_iE_Extensions
            } // End of template m_qosFlowItemWithDataForwarding

            template (omit) QosFlowItemWithDataForwarding.iE_Extensions m_qosFlowItemWithDataForwarding_alternativeQoSParaSetIndex(
                                                                                                                                   in template (value) AlternativeQoSParaSetIndex p_alternativeQoSParaSetIndex
                                                                                                                                   ) := {
                {
                    id             := id_CurrentQoSParaSetIndex,
                    criticality    := ignore,
                    extensionValue := { AlternativeQoSParaSetIndex := p_alternativeQoSParaSetIndex }
                }
            } // End of template m_qosFlowItemWithDataForwarding_alternativeQoSParaSetIndex
Iztok Juvancic's avatar
Iztok Juvancic committed
            //  type    NGAP_Containers.NGAP_PROTOCOL_EXTENSION QosFlowItemWithDataForwarding_ExtIEs    (
            //  type    record  length  (1  ..  NGAP_Constants.maxnoofQosFlows) of  QosFlowToBeForwardedItem    QosFlowToBeForwardedList;
            //  type    record  QosFlowToBeForwardedItem    {
            //  type    NGAP_Containers.NGAP_PROTOCOL_EXTENSION QosFlowToBeForwardedItem_ExtIEs (?);
            //  type    record  length  (1  ..  NGAP_Constants.maxnoofQosFlows) of  QoSFlowsUsageReport_Item    QoSFlowsUsageReportList;
            //  type    record  QoSFlowsUsageReport_Item    {
            //  type    NGAP_Containers.NGAP_PROTOCOL_EXTENSION QoSFlowsUsageReport_Item_ExtIEs (?);
            //  type    enumerated  Range   {
            //  type    ASNAUX.PrintableString  RANNodeName length  (
            //  type    ASNAUX.VisibleString    RANNodeNameVisibleString    length  (
            //  type    ASNAUX.UTF8String   RANNodeNameUTF8String   length  (
            //  type    integer RANPagingPriority   (1  ..  256);   
            //  type    record  RANStatusTransfer_TransparentContainer  {
            //  type    NGAP_Containers.NGAP_PROTOCOL_EXTENSION RANStatusTransfer_TransparentContainer_ExtIEs   (?);
            //  type    integer RAN_UE_NGAP_ID  (0  ..  4294967295);
            template (value) RAN_UE_NGAP_ID m_ie_rANUeNgapId(in integer p_val := 1) := p_val;
Iztok Juvancic's avatar
Iztok Juvancic committed

            //  type    enumerated  RAT_Information {
            //  type    record  length  (1  ..  NGAP_Constants.maxnoofEPLMNsPlusOne)    of  RATRestrictions_Item    RATRestrictions;
            //  type    record  RATRestrictions_Item    {
            //  type    NGAP_Containers.NGAP_PROTOCOL_EXTENSION RATRestrictions_Item_ExtIEs (
            //  type    bitstring   RATRestrictionInformation   length  (
            //  type    record  RecommendedCellsForPaging   {
            //  type    NGAP_Containers.NGAP_PROTOCOL_EXTENSION RecommendedCellsForPaging_ExtIEs    (?);
            //  type    record  length  (1  ..  NGAP_Constants.maxnoofRecommendedCells) of  RecommendedCellItem RecommendedCellList;
            //  type    record  RecommendedCellItem {
            //  type    NGAP_Containers.NGAP_PROTOCOL_EXTENSION RecommendedCellItem_ExtIEs  (?);
            //  type    record  RecommendedRANNodesForPaging    {
            //  type    NGAP_Containers.NGAP_PROTOCOL_EXTENSION RecommendedRANNodesForPaging_ExtIEs (?);
            //  type    record  length  (1  ..  NGAP_Constants.maxnoofRecommendedRANNodes)  of  RecommendedRANNodeItem  RecommendedRANNodeList;
            //  type    record  RecommendedRANNodeItem  {
            //  type    NGAP_Containers.NGAP_PROTOCOL_EXTENSION RecommendedRANNodeItem_ExtIEs   (?);
            //  type    enumerated  RedCapIndication    {
            //  type    enumerated  RedirectionVoiceFallback    {
            //  type    record  RedundantPDUSessionInformation  {
            //  type    NGAP_Containers.NGAP_PROTOCOL_EXTENSION RedundantPDUSessionInformation_ExtIEs   (
            //  type    enumerated  RedundantQosFlowIndicator   {
            //  type    enumerated  ReflectiveQosAttribute  {
            //  type    integer RelativeAMFCapacity (0  ..  255);   
            //  type    enumerated  ReportArea  {
            //  type    integer RepetitionPeriod    (0  ..  131071);    
            //  type    enumerated  ResetAll    {
            //  type    enumerated  ReportAmountMDT {
            //  type    enumerated  ReportIntervalMDT   {
            //  type    enumerated  ExtendedReportIntervalMDT   {
            //  type    union   ResetType   {
            //  type    NGAP_Containers.NGAP_PROTOCOL_IES   ResetType_ExtIEs    (?);
            //  type    octetstring RGLevelWirelineAccessCharacteristics;
            //  type    integer RNC_ID  (0  ..  4095);  
            //  type    octetstring RoutingID;
            //  type    octetstring RRCContainer;
            //  type    enumerated  RRCEstablishmentCause   {
            template (value) RRCEstablishmentCause m_ie_rrcEstCause(template (value) RRCEstablishmentCause p_rrcEstCause:=mo_Signalling):=p_rrcEstCause;
            
Iztok Juvancic's avatar
Iztok Juvancic committed
            //  type    enumerated  RRCInactiveTransitionReportRequest  {
            //  type    enumerated  RRCState    {
            //  type    enumerated  RSN {
            //  type    record  RIMInformationTransfer  {
            //  type    NGAP_Containers.NGAP_PROTOCOL_EXTENSION RIMInformationTransfer_ExtIEs   (?);
            //  type    record  RIMInformation  {
            //  type    NGAP_Containers.NGAP_PROTOCOL_EXTENSION RIMInformation_ExtIEs   (?);
            //  type    bitstring   GNBSetID    length  (22);
            //  type    record  ScheduledCommunicationTime  {
            //  type    NGAP_Containers.NGAP_PROTOCOL_EXTENSION ScheduledCommunicationTime_ExtIEs   (?);
            //  type    record  length  (1  ..  NGAP_Constants.maxnoofXnTLAs)   of  TransportLayerAddress   SCTP_TLAs;
Iztok Juvancic's avatar
Iztok Juvancic committed
            //  type    octetstring SD  length  (3);
            template (value) SD m_ie_sD(in SD p_val := '000000'O) := p_val;
Iztok Juvancic's avatar
Iztok Juvancic committed

            //  type    record  SecondaryRATUsageInformation    {
            //  type    NGAP_Containers.NGAP_PROTOCOL_EXTENSION SecondaryRATUsageInformation_ExtIEs (?);
            //  type    record  SecondaryRATDataUsageReportTransfer {
            //  type    NGAP_Containers.NGAP_PROTOCOL_EXTENSION SecondaryRATDataUsageReportTransfer_ExtIEs  (?);
            //  type    record  SecurityContext {
            //  type    NGAP_Containers.NGAP_PROTOCOL_EXTENSION SecurityContext_ExtIEs  (?);
            //  type    record  SecurityIndication  {
            //  type    NGAP_Containers.NGAP_PROTOCOL_EXTENSION SecurityIndication_ExtIEs   (
            //  type    bitstring   SecurityKey length  (256);      
            //  type    record  SecurityResult  {
            //  type    NGAP_Containers.NGAP_PROTOCOL_EXTENSION SecurityResult_ExtIEs   (?);
            //  type    record  SensorMeasurementConfiguration  {
            //  type    NGAP_Containers.NGAP_PROTOCOL_EXTENSION SensorMeasurementConfiguration_ExtIEs   (?);
            //  type    record  length  (1  ..  NGAP_Constants.maxnoofSensorName)   of  SensorMeasConfigNameItem    SensorMeasConfigNameList;
            //  type    record  SensorMeasConfigNameItem    {
            //  type    NGAP_Containers.NGAP_PROTOCOL_EXTENSION SensorMeasConfigNameItem_ExtIEs (?);
            //  type    enumerated  SensorMeasConfig    {
            //  type    union   SensorNameConfig    {
            //  type    NGAP_Containers.NGAP_PROTOCOL_IES   SensorNameConfig_ExtIEs (?);
            //  type    bitstring   SerialNumber    length  (16);
            //  type    record  length  (1  ..  NGAP_Constants.maxnoofServedGUAMIs) of  ServedGUAMIItem ServedGUAMIList;
            //  type    record  ServedGUAMIItem {
            //  type    NGAP_Containers.NGAP_PROTOCOL_EXTENSION ServedGUAMIItem_ExtIEs  (
            //  type    record  length  (1  ..  NGAP_Constants.maxnoofEPLMNsPlusOne)    of  ServiceAreaInformation_Item ServiceAreaInformation;
            //  type    record  ServiceAreaInformation_Item {
            //  type    NGAP_Containers.NGAP_PROTOCOL_EXTENSION ServiceAreaInformation_Item_ExtIEs  (?);
            //  type    enumerated  ServiceType {
            //  type    integer SgNB_UE_X2AP_ID (0  ..  4294967295);    
            //  type    record  SharedNGU_MulticastTNLInformation   {
            //  type    NGAP_Containers.NGAP_PROTOCOL_EXTENSION SharedNGU_MulticastTNLInformation_ExtIEs    (?);
            //  type    record  length  (1  ..  NGAP_Constants.maxnoofSliceItems)   of  SliceOverloadItem   SliceOverloadList;
            //  type    record  SliceOverloadItem   {
            //  type    NGAP_Containers.NGAP_PROTOCOL_EXTENSION SliceOverloadItem_ExtIEs    (?);
Iztok Juvancic's avatar
Iztok Juvancic committed
            //  type    record  length  (1  ..  NGAP_Constants.maxnoofSliceItems)   of  SliceSupportItem    SliceSupportList;
            template (value) SliceSupportList m_ie_sliceSupportList(in template (value) SliceSupportList p_list) := p_list;
Iztok Juvancic's avatar
Iztok Juvancic committed

            //  type    record  SliceSupportItem    {
            template (omit) SliceSupportItem m_ie_sliceSupportItem(
                                                                   in template (value) S_NSSAI p_S_NSSAI,
                                                                   in template (omit) SliceSupportItem.iE_Extensions p_iE_Extensions := omit
Yann Garcia's avatar
Yann Garcia committed
                                                                   ) := {  
                s_NSSAI        := p_S_NSSAI,
                iE_Extensions  :=p_iE_Extensions
            } // End of template m_ie_sliceSupportItem
Iztok Juvancic's avatar
Iztok Juvancic committed

            //  type    NGAP_Containers.NGAP_PROTOCOL_EXTENSION SliceSupportItem_ExtIEs (?);
            //  type    record  length  (1  ..  NGAP_Constants.maxnoofSNSSAIforQMC) of  SliceSupportQMC_Item    SliceSupportListQMC;
            //  type    record  SliceSupportQMC_Item    {
            //  type    NGAP_Containers.NGAP_PROTOCOL_EXTENSION SliceSupportQMC_Item_ExtIEs (?);
            //  type    record  SNPN_MobilityInformation    {
            //  type    NGAP_Containers.NGAP_PROTOCOL_EXTENSION SNPN_MobilityInformation_ExtIEs (?);
            //  type    record  S_NSSAI {
            template (omit) S_NSSAI m_ie_sNSSAI(
                                                in template (value) SST p_sST,
                                                in template (value) SD p_sD,
                                                in template (omit) S_NSSAI.iE_Extensions p_iE_Extensions := omit
Yann Garcia's avatar
Yann Garcia committed
                                                ) := {
                sST           := p_sST,//'00'O,
                sD            := p_sD,//'000000'O,
                iE_Extensions := p_iE_Extensions
            } // End of template m_ie_sNSSAI
Iztok Juvancic's avatar
Iztok Juvancic committed

            //  type    NGAP_Containers.NGAP_PROTOCOL_EXTENSION S_NSSAI_ExtIEs  (?);
            //  type    record  SONConfigurationTransfer    {
            //  type    NGAP_Containers.NGAP_PROTOCOL_EXTENSION SONConfigurationTransfer_ExtIEs (?);
            //  type    union   SONInformation  {
            //  type    NGAP_Containers.NGAP_PROTOCOL_IES   SONInformation_ExtIEs   (
            //  type    record  SONInformationReply {
            //  type    NGAP_Containers.NGAP_PROTOCOL_EXTENSION SONInformationReply_ExtIEs  (?);
            //  type    union   SONInformationReport    {
            //  type    NGAP_Containers.NGAP_PROTOCOL_IES   SONInformationReport_ExtIEs (
            //  type    record  length  (1  ..  NGAP_Constants.maxnoofSuccessfulHOReports)  of  SuccessfulHandoverReport_Item   SuccessfulHandoverReportList;
            //  type    record  SuccessfulHandoverReport_Item   {
            //  type    NGAP_Containers.NGAP_PROTOCOL_EXTENSION SuccessfulHandoverReport_Item_ExtIEs    (?);
            //  type    enumerated  SONInformationRequest   {
            //  type    record  SourceNGRANNode_ToTargetNGRANNode_TransparentContainer  {
            //  type    NGAP_Containers.NGAP_PROTOCOL_EXTENSION SourceNGRANNode_ToTargetNGRANNode_TransparentContainer_ExtIEs   (
            //  type    union   SourceNodeID    {
            //  type    NGAP_Containers.NGAP_PROTOCOL_IES   SourceNodeID_ExtIEs (?);
            //  type    enumerated  SourceOfUEActivityBehaviourInformation  {
            //  type    record  SourceRANNodeID {
            //  type    NGAP_Containers.NGAP_PROTOCOL_EXTENSION SourceRANNodeID_ExtIEs  (?);
            //  type    octetstring SourceToTarget_TransparentContainer;
            //  type    record  SourceToTarget_AMFInformationReroute    {
            //  type    NGAP_Containers.NGAP_PROTOCOL_EXTENSION SourceToTarget_AMFInformationReroute_ExtIEs (?);
            //  type    enumerated  SRVCCOperationPossible  {
            //  type    octetstring ConfiguredNSSAI length  (128);      
            //  type    octetstring RejectedNSSAIinPLMN length  (32);
            //  type    octetstring RejectedNSSAIinTA   length  (32);
            //  type    octetstring SST length  (1);
            template (value) SST m_ie_sST(in SST p_val := '00'O) := p_val;
            //  type    record  length  (1  ..  NGAP_Constants.maxnoofTACs) of  SupportedTAItem SupportedTAList;
            template (value) SupportedTAList m_ie_supportedTAList(in template (value) SupportedTAList p_list) := p_list;
Iztok Juvancic's avatar
Iztok Juvancic committed

            //  type    record  SupportedTAItem {
            template (omit) SupportedTAItem m_ie_supportedTAItem(
                                                                 in template (value) TAC p_tAC,
                                                                 in template (value) BroadcastPLMNList p_broadcastPLMNList,
                                                                 in template (omit) SupportedTAItem.iE_Extensions p_iE_Extensions := omit
Yann Garcia's avatar
Yann Garcia committed
                                                                 ) := {
                tAC               := p_tAC,
                broadcastPLMNList := p_broadcastPLMNList,
                iE_Extensions     := p_iE_Extensions
            } // End of template m_ie_supportedTAItem

Iztok Juvancic's avatar
Iztok Juvancic committed
            //  type    NGAP_Containers.NGAP_PROTOCOL_EXTENSION SupportedTAItem_ExtIEs  (
Iztok Juvancic's avatar
Iztok Juvancic committed
            //  type    enumerated  SuspendIndicator    {
            //  type    enumerated  Suspend_Request_Indication  {
            //  type    enumerated  Suspend_Response_Indication {
            //  type    integer SurvivalTime    (
Iztok Juvancic's avatar
Iztok Juvancic committed
            //  type    octetstring TAC length  (3);
            template (value) TAC m_ie_tAC(in template (value) TAC p_val) := p_val;
Iztok Juvancic's avatar
Iztok Juvancic committed

            //  type    record  length  (1  ..  NGAP_Constants.maxnoofTACsinNTN)    of  TAC TACListInNRNTN;
            //  type    record  TAI {
            template (value) TAI m_ie_tAI(
                                         template (value) PLMNIdentity p_plmnId,
                                         template (value) TAC p_tac,
                                         in template (omit) TAI.iE_Extensions p_iE_Extensions := omit
Yann Garcia's avatar
Yann Garcia committed
            ) := {
                pLMNIdentity := p_plmnId,
                tAC := p_tac,
                iE_Extensions     := p_iE_Extensions
            } //End of template m_ie_tAI
            
Iztok Juvancic's avatar
Iztok Juvancic committed
            //  type    NGAP_Containers.NGAP_PROTOCOL_EXTENSION TAI_ExtIEs  (?);
            //  type    record  length  (1  ..  NGAP_Constants.maxnoofTAIforWarning)    of  TAIBroadcastEUTRA_Item  TAIBroadcastEUTRA;
            //  type    record  TAIBroadcastEUTRA_Item  {
            //  type    NGAP_Containers.NGAP_PROTOCOL_EXTENSION TAIBroadcastEUTRA_Item_ExtIEs   (?);
            //  type    record  length  (1  ..  NGAP_Constants.maxnoofTAIforWarning)    of  TAIBroadcastNR_Item TAIBroadcastNR;
            //  type    record  TAIBroadcastNR_Item {
            //  type    NGAP_Containers.NGAP_PROTOCOL_EXTENSION TAIBroadcastNR_Item_ExtIEs  (?);
            //  type    record  length  (1  ..  NGAP_Constants.maxnoofTAIforWarning)    of  TAICancelledEUTRA_Item  TAICancelledEUTRA;
            //  type    record  TAICancelledEUTRA_Item  {
            //  type    NGAP_Containers.NGAP_PROTOCOL_EXTENSION TAICancelledEUTRA_Item_ExtIEs   (?);
            //  type    record  length  (1  ..  NGAP_Constants.maxnoofTAIforWarning)    of  TAICancelledNR_Item TAICancelledNR;
            //  type    record  TAICancelledNR_Item {
            //  type    NGAP_Containers.NGAP_PROTOCOL_EXTENSION TAICancelledNR_Item_ExtIEs  (?);
            //  type    record  length  (1  ..  NGAP_Constants.maxnoofTAIforInactive)   of  TAIListForInactiveItem  TAIListForInactive;
            //  type    record  TAIListForInactiveItem  {
            //  type    NGAP_Containers.NGAP_PROTOCOL_EXTENSION TAIListForInactiveItem_ExtIEs   (?);
            //  type    record  length  (1  ..  NGAP_Constants.maxnoofTAIforPaging) of  TAIListForPagingItem    TAIListForPaging;
            //  type    record  TAIListForPagingItem    {
            //  type    NGAP_Containers.NGAP_PROTOCOL_EXTENSION TAIListForPagingItem_ExtIEs (?);
            //  type    record  length  (1  ..  NGAP_Constants.maxnoofTAIforRestart)    of  TAI TAIListForRestart;
            //  type    record  length  (1  ..  NGAP_Constants.maxnoofTAIforWarning)    of  TAI TAIListForWarning;
            //  type    record  length  (1  ..  NGAP_Constants.maxnoofNSAGs)    of  TAINSAGSupportItem  TAINSAGSupportList;
            //  type    record  TAINSAGSupportItem  {
            //  type    NGAP_Containers.NGAP_PROTOCOL_EXTENSION TAINSAGSupportItem_ExtIEs   (?);
            //  type    record  TargeteNB_ID    {
            //  type    NGAP_Containers.NGAP_PROTOCOL_EXTENSION TargeteNB_ID_ExtIEs (?);
            //  type    record  TargetHomeENB_ID    {
            //  type    NGAP_Containers.NGAP_PROTOCOL_EXTENSION TargetHomeENB_ID_ExtIEs (?);
            //  type    union   TargetID    {
            //  type    NGAP_Containers.NGAP_PROTOCOL_IES   TargetID_ExtIEs (
            //  type    record  TargetNGRANNode_ToSourceNGRANNode_TransparentContainer  {
            //  type    NGAP_Containers.NGAP_PROTOCOL_EXTENSION TargetNGRANNode_ToSourceNGRANNode_TransparentContainer_ExtIEs   (
            //  type    record  TargetNGRANNode_ToSourceNGRANNode_FailureTransparentContainer   {
            //  type    NGAP_Containers.NGAP_PROTOCOL_EXTENSION TargetNGRANNode_ToSourceNGRANNode_FailureTransparentContainer_ExtIEs    (
            //  type    record  length  (1  ..  NGAP_Constants.maxnoofTargetS_NSSAIs)   of  TargetNSSAI_Item    TargetNSSAI;
            //  type    record  TargetNSSAI_Item    {
            //  type    NGAP_Containers.NGAP_PROTOCOL_EXTENSION TargetNSSAI_Item_ExtIEs (?);
            //  type    record  TargetNSSAIInformation  {
            //  type    NGAP_Containers.NGAP_PROTOCOL_EXTENSION TargetNSSAIInformation_Item_ExtIEs  (?);
            //  type    record  TargetRANNodeID {
            //  type    NGAP_Containers.NGAP_PROTOCOL_EXTENSION TargetRANNodeID_ExtIEs  (?);
            //  type    record  TargetRANNodeID_RIM {
            //  type    NGAP_Containers.NGAP_PROTOCOL_EXTENSION TargetRANNodeID_RIM_ExtIEs  (?);
            //  type    record  TargetRANNodeID_SON {
            //  type    NGAP_Containers.NGAP_PROTOCOL_EXTENSION TargetRANNodeID_SON_ExtIEs  (
            //  type    record  TargetRNC_ID    {
            //  type    NGAP_Containers.NGAP_PROTOCOL_EXTENSION TargetRNC_ID_ExtIEs (?);
            //  type    octetstring TargetToSource_TransparentContainer;
            //  type    octetstring TargettoSource_Failure_TransparentContainer;
            //  type    enumerated  TimerApproachForGUAMIRemoval    {
            //  type    octetstring TimeStamp   length  (4);
            //  type    record  TimeSyncAssistanceInfo  {
            //  type    NGAP_Containers.NGAP_PROTOCOL_EXTENSION TimeSyncAssistanceInfo_ExtIEs   (?);
            //  type    enumerated  TimeToWait  {
            //  type    integer TimeUEStayedInCell  (0  ..  4095);  
            //  type    integer TimeUEStayedInCellEnhancedGranularity   (0  ..  40950); 
            //  type    octetstring TMGI    length  (6);
            //  type    octetstring TNAP_ID;
            //  type    union   TNGF_ID {
            //  type    NGAP_Containers.NGAP_PROTOCOL_IES   TNGF_ID_ExtIEs  (?);
            //  type    integer TNLAddressWeightFactor  (0  ..  255);   
            //  type    record  length  (1  ..  NGAP_Constants.maxnoofTNLAssociations)  of  TNLAssociationItem  TNLAssociationList;
            //  type    record  TNLAssociationItem  {
            //  type    NGAP_Containers.NGAP_PROTOCOL_EXTENSION TNLAssociationItem_ExtIEs   (?);
            //  type    enumerated  TNLAssociationUsage {
            //  type    record  TooearlyIntersystemHO   {
            //  type    NGAP_Containers.NGAP_PROTOCOL_EXTENSION TooearlyIntersystemHO_ExtIEs    (?);
            //  type    record  TraceActivation {
            //  type    NGAP_Containers.NGAP_PROTOCOL_EXTENSION TraceActivation_ExtIEs  (
            //  type    enumerated  TraceDepth  {
            //  type    integer TrafficLoadReductionIndication  (1  ..  99);    

            template (value) TransportLayerAddress m_ie_tla(in bitstring p_val := '0'B) := p_val;

Iztok Juvancic's avatar
Iztok Juvancic committed
            //  type    enumerated  TypeOfError {
            //  type    record  TAIBasedMDT {
            //  type    NGAP_Containers.NGAP_PROTOCOL_EXTENSION TAIBasedMDT_ExtIEs  (?);
            //  type    record  length  (1  ..  NGAP_Constants.maxnoofTAforMDT) of  TAI TAIListforMDT;
            //  type    record  TAIBasedQMC {
            //  type    NGAP_Containers.NGAP_PROTOCOL_EXTENSION TAIBasedQMC_ExtIEs  (?);
            //  type    record  length  (1  ..  NGAP_Constants.maxnoofTAforQMC) of  TAI TAIListforQMC;
            //  type    record  TABasedQMC  {
            //  type    NGAP_Containers.NGAP_PROTOCOL_EXTENSION TABasedQMC_ExtIEs   (?);
            //  type    record  length  (1  ..  NGAP_Constants.maxnoofTAforQMC) of  TAC TAListforQMC;
            //  type    record  TABasedMDT  {
            //  type    NGAP_Containers.NGAP_PROTOCOL_EXTENSION TABasedMDT_ExtIEs   (?);
            //  type    record  length  (1  ..  NGAP_Constants.maxnoofTAforMDT) of  TAC TAListforMDT;
            //  type    integer Threshold_RSRP  (0  ..  127);   
            //  type    integer Threshold_RSRQ  (0  ..  127);   
            //  type    integer Threshold_SINR  (0  ..  127);   
            //  type    enumerated  TimeToTrigger   {
            //  type    octetstring TWAP_ID;
            //  type    union   TWIF_ID {
            //  type    NGAP_Containers.NGAP_PROTOCOL_IES   TWIF_ID_ExtIEs  (?);
            //  type    record  TSCAssistanceInformation    {
            //  type    NGAP_Containers.NGAP_PROTOCOL_EXTENSION TSCAssistanceInformation_ExtIEs (
            //  type    record  TSCTrafficCharacteristics   {
            //  type    NGAP_Containers.NGAP_PROTOCOL_EXTENSION TSCTrafficCharacteristics_ExtIEs    (?);
            //  type    record  UEAggregateMaximumBitRate   {
            //  type    NGAP_Containers.NGAP_PROTOCOL_EXTENSION UEAggregateMaximumBitRate_ExtIEs    (?);
            //  type    record  length  (1  ..  NGAP_Constants.maxnoofUEAppLayerMeas)   of  UEAppLayerMeasInfoItem  UEAppLayerMeasInfoList;
            //  type    record  UEAppLayerMeasInfoItem  {
            //  type    NGAP_Containers.NGAP_PROTOCOL_EXTENSION UEAppLayerMeasInfoItem_ExtIEs   (?);
            //  type    record  UEAppLayerMeasConfigInfo    {
            //  type    NGAP_Containers.NGAP_PROTOCOL_EXTENSION UEAppLayerMeasConfigInfo_ExtIEs (?);
            //  type    record  length  (1  ..  NGAP_Constants.maxnoofNGConnectionsToReset) of  UE_associatedLogicalNG_connectionItem   UE_associatedLogicalNG_connectionList;
            //  type    record  UE_associatedLogicalNG_connectionItem   {
            //  type    NGAP_Containers.NGAP_PROTOCOL_EXTENSION UE_associatedLogicalNG_connectionItem_ExtIEs    (?);
            //  type    enumerated  UECapabilityInfoRequest {
            //  type    enumerated  UEContextRequest    {
            //  type    record  UEContextResumeRequestTransfer  {
            //  type    NGAP_Containers.NGAP_PROTOCOL_EXTENSION UEContextResumeRequestTransfer_ExtIEs   (?);
            //  type    record  UEContextResumeResponseTransfer {
            //  type    NGAP_Containers.NGAP_PROTOCOL_EXTENSION UEContextResumeResponseTransfer_ExtIEs  (?);
            //  type    record  UEContextSuspendRequestTransfer {
            //  type    NGAP_Containers.NGAP_PROTOCOL_EXTENSION UEContextSuspendRequestTransfer_ExtIEs  (?);
            //  type    record  UE_DifferentiationInfo  {
            //  type    NGAP_Containers.NGAP_PROTOCOL_EXTENSION UE_DifferentiationInfo_ExtIEs   (?);
            //  type    record  length  (1  ..  NGAP_Constants.maxnoofCellsinUEHistoryInfo) of  LastVisitedCellItem UEHistoryInformation;
            //  type    union   UEHistoryInformationFromTheUE   {
            //  type    NGAP_Containers.NGAP_PROTOCOL_IES   UEHistoryInformationFromTheUE_ExtIEs    (?);
            //  type    union   UEIdentityIndexValue    {
            //  type    NGAP_Containers.NGAP_PROTOCOL_IES   UEIdentityIndexValue_ExtIEs (?);
            //  type    union   UE_NGAP_IDs {
            //  type    NGAP_Containers.NGAP_PROTOCOL_IES   UE_NGAP_IDs_ExtIEs  (?);
            //  type    record  UE_NGAP_ID_pair {
            //  type    NGAP_Containers.NGAP_PROTOCOL_EXTENSION UE_NGAP_ID_pair_ExtIEs  (?);
            //  type    union   UEPagingIdentity    {
            //  type    NGAP_Containers.NGAP_PROTOCOL_IES   UEPagingIdentity_ExtIEs (?);
            //  type    enumerated  UEPresence  {
            //  type    record  length  (1  ..  NGAP_Constants.maxnoofAoI)  of  UEPresenceInAreaOfInterestItem  UEPresenceInAreaOfInterestList;
            //  type    record  UEPresenceInAreaOfInterestItem  {
            //  type    NGAP_Containers.NGAP_PROTOCOL_EXTENSION UEPresenceInAreaOfInterestItem_ExtIEs   (?);
            //  type    octetstring UERadioCapability;
            //  type    record  UERadioCapabilityForPaging  {
            //  type    NGAP_Containers.NGAP_PROTOCOL_EXTENSION UERadioCapabilityForPaging_ExtIEs   (
            //  type    octetstring UERadioCapabilityForPagingOfNB_IoT;
            //  type    octetstring UERadioCapabilityForPagingOfNR;
            //  type    octetstring UERadioCapabilityForPagingOfEUTRA;
            //  type    octetstring UERadioCapabilityID;
            //  type    enumerated  UERetentionInformation  {
            //  type    union   UERLFReportContainer    {
            //  type    NGAP_Containers.NGAP_PROTOCOL_IES   UERLFReportContainer_ExtIEs (?);
            //  type    record  UESecurityCapabilities  {
            //  type    NGAP_Containers.NGAP_PROTOCOL_EXTENSION UESecurityCapabilities_ExtIEs   (?);
            //  type    record  length  (1  ..  NGAP_Constants.maxnoofAllowedS_NSSAIs)  of  UESliceMaximumBitRateItem   UESliceMaximumBitRateList;
            //  type    record  UESliceMaximumBitRateItem   {
            //  type    NGAP_Containers.NGAP_PROTOCOL_EXTENSION UESliceMaximumBitRateItem_ExtIEs    (?);
            //  type    enumerated  UE_UP_CIoT_Support  {
            //  type    record  UL_CP_SecurityInformation   {
            //  type    NGAP_Containers.NGAP_PROTOCOL_EXTENSION UL_CP_SecurityInformation_ExtIEs    (?);
            //  type    bitstring   UL_NAS_MAC  length  (16);
            //  type    bitstring   UL_NAS_Count    length  (5);
            //  type    record  length  (1  ..  NGAP_Constants.maxnoofMultiConnectivity)    of  UL_NGU_UP_TNLModifyItem UL_NGU_UP_TNLModifyList;
            //  type    record  UL_NGU_UP_TNLModifyItem {
            //  type    NGAP_Containers.NGAP_PROTOCOL_EXTENSION UL_NGU_UP_TNLModifyItem_ExtIEs  (
            //  type    record  length  (1  ..  NGAP_Constants.maxnoofServedGUAMIs) of  UnavailableGUAMIItem    UnavailableGUAMIList;
            //  type    record  UnavailableGUAMIItem    {
            //  type    NGAP_Containers.NGAP_PROTOCOL_EXTENSION UnavailableGUAMIItem_ExtIEs (?);
            //  type    enumerated  ULForwarding    {
            //  type    bitstring   UpdateFeedback  length  (
Iztok Juvancic's avatar
Iztok Juvancic committed
            //  type    union   UPTransportLayerInformation {
            template (value) UPTransportLayerInformation m_ie_uPTLInf(
                                                                      in template (value) GTPTunnel p_gtpt
                                                                      ) := {
               gTPTunnel := p_gtpt
            } // End of template m_ie_uPTLInf

Iztok Juvancic's avatar
Iztok Juvancic committed
            //  type    NGAP_Containers.NGAP_PROTOCOL_IES   UPTransportLayerInformation_ExtIEs  (?);
            //  type    record  length  (1  ..  NGAP_Constants.maxnoofMultiConnectivityMinusOne)    of  UPTransportLayerInformationItem UPTransportLayerInformationList;
            //  type    record  UPTransportLayerInformationItem {
            //  type    NGAP_Containers.NGAP_PROTOCOL_EXTENSION UPTransportLayerInformationItem_ExtIEs  (
            //  type    record  length  (1  ..  NGAP_Constants.maxnoofMultiConnectivityMinusOne)    of  UPTransportLayerInformationPairItem UPTransportLayerInformationPairList;
            //  type    record  UPTransportLayerInformationPairItem {
            //  type    NGAP_Containers.NGAP_PROTOCOL_EXTENSION UPTransportLayerInformationPairItem_ExtIEs  (?);
            //  type    ASNAUX.VisibleString    URI_address;
            //  type    union   UserLocationInformation {
Yann Garcia's avatar
Yann Garcia committed
            template (value) UserLocationInformation m_ie_userLocInf_NR(template (value) UserLocationInformationNR p_ulinr) := {
               userLocationInformationNR := p_ulinr
            } // End of template m_ie_userLocInf
            
Iztok Juvancic's avatar
Iztok Juvancic committed
            //  type    NGAP_Containers.NGAP_PROTOCOL_IES   UserLocationInformation_ExtIEs  (
            //  type    record  UserLocationInformationEUTRA    {
            //  type    NGAP_Containers.NGAP_PROTOCOL_EXTENSION UserLocationInformationEUTRA_ExtIEs (
            //  type    record  UserLocationInformationN3IWF    {
            //  type    NGAP_Containers.NGAP_PROTOCOL_EXTENSION UserLocationInformationN3IWF_ExtIEs (
            //  type    record  UserLocationInformationTNGF {
            //  type    NGAP_Containers.NGAP_PROTOCOL_EXTENSION UserLocationInformationTNGF_ExtIEs  (
            //  type    record  UserLocationInformationTWIF {
            //  type    NGAP_Containers.NGAP_PROTOCOL_EXTENSION UserLocationInformationTWIF_ExtIEs  (
            //  type    union   UserLocationInformationW_AGF    {
            //  type    NGAP_Containers.NGAP_PROTOCOL_IES   UserLocationInformationW_AGF_ExtIEs (
            //  type    record  UserLocationInformationNR   {
            template (value) UserLocationInformationNR m_ie_userLocInfNR(
                                                                         template (value) NR_CGI p_nrcgi,
                                                                         template (value) TAI p_tai,
                                                                         in template (omit) UserLocationInformationNR.iE_Extensions p_iE_Extensions := omit
Yann Garcia's avatar
Yann Garcia committed
            ) := {
                nR_CGI := p_nrcgi,
                tAI := p_tai,
                timeStamp := omit, // optional,
                iE_Extensions := p_iE_Extensions
            } // End of template m_ie_userLocInfNR
            
Iztok Juvancic's avatar
Iztok Juvancic committed
            //  type    NGAP_Containers.NGAP_PROTOCOL_EXTENSION UserLocationInformationNR_ExtIEs    (
            //  type    record  UserPlaneSecurityInformation    {
            //  type    NGAP_Containers.NGAP_PROTOCOL_EXTENSION UserPlaneSecurityInformation_ExtIEs (?);
            //  type    record  length  (1  ..  NGAP_Constants.maxnoofTimePeriods)  of  VolumeTimedReport_Item  VolumeTimedReportList;
            //  type    record  VolumeTimedReport_Item  {
            //  type    NGAP_Containers.NGAP_PROTOCOL_EXTENSION VolumeTimedReport_Item_ExtIEs   (?);
            //  type    union   W_AGF_ID    {
            //  type    NGAP_Containers.NGAP_PROTOCOL_IES   W_AGF_ID_ExtIEs (?);
            //  type    octetstring WarningAreaCoordinates  length  (1  ..  1024);
            //  type    union   WarningAreaList {
            //  type    NGAP_Containers.NGAP_PROTOCOL_IES   WarningAreaList_ExtIEs  (?);
            //  type    octetstring WarningMessageContents  length  (1  ..  9600);
            //  type    octetstring WarningSecurityInfo length  (50);
            //  type    octetstring WarningType length  (2);
            //  type    record  WLANMeasurementConfiguration    {
            //  type    NGAP_Containers.NGAP_PROTOCOL_EXTENSION WLANMeasurementConfiguration_ExtIEs (?);
            //  type    record  length  (1  ..  NGAP_Constants.maxnoofWLANName) of  WLANMeasConfigNameItem  WLANMeasConfigNameList;
            //  type    record  WLANMeasConfigNameItem  {
            //  type    NGAP_Containers.NGAP_PROTOCOL_EXTENSION WLANMeasConfigNameItem_ExtIEs   (?);
            //  type    enumerated  WLANMeasConfig  {
            //  type    octetstring WLANName    length  (1  ..  32);
            //  type    record  WUS_Assistance_Information  {
            //  type    NGAP_Containers.NGAP_PROTOCOL_EXTENSION WUS_Assistance_Information_ExtIEs   (?);
            //  type    record  length  (1  ..  NGAP_Constants.maxnoofXnExtTLAs)    of  XnExtTLA_Item   XnExtTLAs;
            //  type    record  XnExtTLA_Item   {
            //  type    NGAP_Containers.NGAP_PROTOCOL_EXTENSION XnExtTLA_Item_ExtIEs    (
            //  type    record  length  (1  ..  NGAP_Constants.maxnoofXnGTP_TLAs)   of  TransportLayerAddress   XnGTP_TLAs;
            //  type    record  length  (1  ..  NGAP_Constants.maxnoofXnTLAs)   of  TransportLayerAddress   XnTLAs;
            //  type    record  XnTNLConfigurationInfo  {
            //  type    NGAP_Containers.NGAP_PROTOCOL_EXTENSION XnTNLConfigurationInfo_ExtIEs   (?);

        } // End of group send

        group Receive{

            template (present) AdditionalDLUPTNLInformationForHOItem mw_additionalDLUPTNLInformationForHOItem(
                                                                                                              template (present) UPTransportLayerInformation p_additionalDL_NGU_UP_TNLInformation := ?,
                                                                                                              template (present) QosFlowListWithDataForwarding p_additionalQosFlowSetupResponseList := ?,
                                                                                                              template UPTransportLayerInformation p_additionalDLForwardingUPTNLInformation := *,
                                                                                                              template AdditionalDLUPTNLInformationForHOItem.iE_Extensions p_iE_Extensions := *
                                                                                                              ) := {
                additionalDL_NGU_UP_TNLInformation     := p_additionalDL_NGU_UP_TNLInformation,
                additionalQosFlowSetupResponseList     := p_additionalQosFlowSetupResponseList,
                additionalDLForwardingUPTNLInformation := p_additionalDLForwardingUPTNLInformation,
                iE_Extensions                          := p_iE_Extensions
            } // End of template mw_additionalDLUPTNLInformationForHOItem

            template (present) AdditionalDLUPTNLInformationForHOItem.iE_Extensions mw_additionalDLUPTNLInformationForHOItem_uPTransportLayerInformation(
                                                                                                                                                        template (present) UPTransportLayerInformation p_uPTransportLayerInformation := ?
                                                                                                                                                        ) := {
                {
                    id             := id_AdditionalRedundantDL_NGU_UP_TNLInformation,
                    criticality    := ignore,
                    extensionValue := { UPTransportLayerInformation := p_uPTransportLayerInformation }
                }
            } // End of template mw_additionalDLUPTNLInformationForHOItem_iE_Extensions

            template (present) AdditionalQosFlowInformation mw_additionalQosFlowInformation(template (present) AdditionalQosFlowInformation p_value := ?) := p_value;

            template (present) AllocationAndRetentionPriority mw_allocationAndRetentionPriority(
                                                                                                template (present) PriorityLevelARP p_priorityLevelARP := ?,
                                                                                                template (present) Pre_emptionCapability p_pre_emptionCapability := ?,
                                                                                                template (present) Pre_emptionVulnerability p_pre_emptionVulnerability := ?,
                                                                                                template AllocationAndRetentionPriority.iE_Extensions p_iE_Extensions := *
                                                                                                ) := {
                priorityLevelARP         := p_priorityLevelARP,
                pre_emptionCapability    := p_pre_emptionCapability,
                pre_emptionVulnerability := p_pre_emptionVulnerability,
                iE_Extensions            := p_iE_Extensions
            } // End of template mw_allocationAndRetentionPriority
Iztok Juvancic's avatar
Iztok Juvancic committed
            //  type    record  length  (1  ..  NGAP_Constants.maxnoofAllowedCAGsperPLMN)   of  CAG_ID  Allowed_CAG_List_per_PLMN;
            //  type    record  length  (1  ..  NGAP_Constants.maxnoofAllowedS_NSSAIs)  of  AllowedNSSAI_Item   AllowedNSSAI;
            //  type    record  AllowedNSSAI_Item   {
            //  type    NGAP_Containers.NGAP_PROTOCOL_EXTENSION AllowedNSSAI_Item_ExtIEs    (?);
            //  type    record  length  (1  ..  NGAP_Constants.maxnoofEPLMNsPlusOne)    of  Allowed_PNI_NPN_Item    Allowed_PNI_NPN_List;
            //  type    record  Allowed_PNI_NPN_Item    {
            //  type    NGAP_Containers.NGAP_PROTOCOL_EXTENSION Allowed_PNI_NPN_Item_ExtIEs (?);
            //  type    record  length  (1  ..  NGAP_Constants.maxnoofAllowedAreas) of  TAC AllowedTACs;
            template (present) AlternativeQoSParaSetIndex mw_alternativeQoSParaSetIndex(in template (present) integer p_value := ?) := p_value;

            template (present) AlternativeQoSParaSetNotifyIndex mw_alternativeQoSParaSetNotifyIndex(in template (present) integer p_value := ?) := p_value;

            template (present) AlternativeQoSParaSetItem mw_alternativeQoSParaSetItem(
                                                                                      template (present) AlternativeQoSParaSetIndex p_alternativeQoSParaSetIndex := ?,
                                                                                      template BitRate p_guaranteedFlowBitRateDL := *,
                                                                                      template BitRate p_guaranteedFlowBitRateUL := *,
                                                                                      template PacketDelayBudget p_packetDelayBudget := *,
                                                                                      template PacketErrorRate p_packetErrorRate := *,
                                                                                      template AlternativeQoSParaSetItem.iE_Extensions p_iE_Extensions := *
                                                                                      ) := {
                alternativeQoSParaSetIndex := p_alternativeQoSParaSetIndex,
                guaranteedFlowBitRateDL    := p_guaranteedFlowBitRateDL,
                guaranteedFlowBitRateUL    := p_guaranteedFlowBitRateUL,
                packetDelayBudget          := p_packetDelayBudget,
                packetErrorRate            := p_packetErrorRate,
                iE_Extensions              := p_iE_Extensions
            } // End of template mw_alternativeQoSParaSetItem

            template (present) AMFName mw_aMFName(template (present) AMFName p_value := ?) := p_value;

            template (present) AMFNameVisibleString mw_aMFNameVisibleString(template (present) AMFNameVisibleString p_value := ?) := p_value;

            template (present) AMFNameUTF8String mw_aMFNameUTF8String(template (present) AMFNameUTF8String p_value := ?) := p_value;

            template (present) AMFPagingTarget mw_aMFPagingTarget_globalRANNodeID(
                                                                                  template (present) GlobalRANNodeID p_globalRANNodeID := ?
                                                                                  ) := {
                globalRANNodeID := p_globalRANNodeID
            } // End of template mw_aMFPagingTarget_globalRANNodeID
            template (present) AMFPagingTarget mw_aMFPagingTarget_tAI(
                                                                      template (present) TAI p_tAI := ?
                                                                      ) := {
                tAI := p_tAI
            } // End of template mw_aMFPagingTarget_tAI
            template (present) AMFPagingTarget mw_aMFPagingTarget_ext(
                                                                      template (present) AMFPagingTarget.choice_Extensions p_choice_Extensions := ?
                                                                      ) := {
                choice_Extensions := p_choice_Extensions
            } // End of template mw_aMFPagingTarget_ext

            template (present) AMF_TNLAssociationSetupItem mw_aMF_TNLAssociationSetupItem(
                                                                                          template (present) CPTransportLayerInformation p_aMF_TNLAssociationAddress := ?,
                                                                                          template AMF_TNLAssociationSetupItem.iE_Extensions p_iE_Extensions := *
                                                                                          ) := {
                aMF_TNLAssociationAddress := p_aMF_TNLAssociationAddress,
                iE_Extensions             := p_iE_Extensions
            } // End of template mw_aMF_TNLAssociationSetupItem

            template (present) AMF_TNLAssociationToAddItem mw_aMF_TNLAssociationToAddItem( 
                                                                                          template (present) CPTransportLayerInformation p_aMF_TNLAssociationAddress := ?,
                                                                                          template (present) TNLAddressWeightFactor p_tNLAddressWeightFactor := ?,
                                                                                          template TNLAssociationUsage p_tNLAssociationUsage := *,
                                                                                          template AMF_TNLAssociationToAddItem.iE_Extensions p_iE_Extensions := *
                                                                                          ):= {
                aMF_TNLAssociationAddress := p_aMF_TNLAssociationAddress,
                tNLAssociationUsage       := p_tNLAssociationUsage,
                tNLAddressWeightFactor    := p_tNLAddressWeightFactor,
                iE_Extensions             := p_iE_Extensions
            } // End of template mw_aMF_TNLAssociationToAddItem

            template (present) AMF_TNLAssociationToRemoveItem mw_aMF_TNLAssociationToRemoveItem(
                                                                                                template (present) CPTransportLayerInformation p_aMF_TNLAssociationAddress := ?,
                                                                                                template AMF_TNLAssociationToRemoveItem.iE_Extensions p_iE_Extensions := *
                                                                                                ) := {
                aMF_TNLAssociationAddress := p_aMF_TNLAssociationAddress,
                iE_Extensions             := p_iE_Extensions
            } // End of template mw_aMF_TNLAssociationToRemoveItem

            template (present) AMF_TNLAssociationToUpdateItem mw_aMF_TNLAssociationToUpdateItem(
                                                                                                template (present) CPTransportLayerInformation p_aMF_TNLAssociationAddress := ?,
                                                                                                template TNLAssociationUsage p_tNLAssociationUsage := *,
                                                                                                template TNLAddressWeightFactor p_tNLAddressWeightFactor := *,
                                                                                                template AMF_TNLAssociationToUpdateItem.iE_Extensions p_iE_Extensions := *
                                                                                                ) := {
                aMF_TNLAssociationAddress := p_aMF_TNLAssociationAddress,
                tNLAssociationUsage       := p_tNLAssociationUsage,
                tNLAddressWeightFactor    := p_tNLAddressWeightFactor,
                iE_Extensions             := p_iE_Extensions
            } // End of template mw_aMF_TNLAssociationToUpdateItem

            template (present) AMF_UE_NGAP_ID mw_ie_aMFUeNgapId(template (present) integer p_val := ?) := p_val;

            template AreaOfInterest mw_areaOfInterest(
                                                      template AreaOfInterestTAIList p_areaOfInterestTAIList := *,
                                                      template AreaOfInterestCellList p_areaOfInterestCellList := *,
                                                      template AreaOfInterestRANNodeList p_areaOfInterestRANNodeList := *,
                                                      template AreaOfInterest.iE_Extensions p_iE_Extensions := *
                                                      ) := {
                areaOfInterestTAIList     := p_areaOfInterestTAIList,
                areaOfInterestCellList    := p_areaOfInterestCellList,
                areaOfInterestRANNodeList := p_areaOfInterestRANNodeList,
                iE_Extensions             := p_iE_Extensions
            } // End of template mw_areaOfInterest
            template (present) AreaOfInterestCellItem mw_areaOfInterestCellItem(
                                                                                template (present) NGRAN_CGI p_nGRAN_CGI := ?,
                                                                                template AreaOfInterestCellItem.iE_Extensions p_iE_Extensions := *
                                                                                ) := {
                nGRAN_CGI     := p_nGRAN_CGI,
                iE_Extensions := p_iE_Extensions
            } // End of template mw_areaOfInterestCellItem

            template (present) AreaOfInterestItem mw_reaOfInterestItem(
                                                                       template (present) AreaOfInterest p_areaOfInterest := ?,
                                                                       template (present) LocationReportingReferenceID p_locationReportingReferenceID := ?,
                                                                       template AreaOfInterestItem.iE_Extensions p_iE_Extensions := *
                                                                       ) := {
                areaOfInterest               := p_areaOfInterest,
                locationReportingReferenceID := p_locationReportingReferenceID,
                iE_Extensions                := p_iE_Extensions
            } // End of template mw_reaOfInterestItem

            template (present) AreaOfInterestRANNodeItem mw_areaOfInterestRANNodeItem(
                                                                                      template (present) GlobalRANNodeID p_globalRANNodeID := ?,
                                                                                      template AreaOfInterestRANNodeItem.iE_Extensions p_iE_Extensions := *
                                                                                      ):= {
                globalRANNodeID := p_globalRANNodeID,
                iE_Extensions   := p_iE_Extensions
            } // End of template mw_areaOfInterestRANNodeItem

            template (present) AreaOfInterestTAIItem mw_areaOfInterestTAIItem(
                                                                              template (present) TAI p_tAI := ?,
                                                                              template AreaOfInterestTAIItem.iE_Extensions p_iE_Extensions := *
                                                                              ) := {
                tAI           := p_tAI,
                iE_Extensions := p_iE_Extensions
            } // End of template mw_areaOfInterestTAIItem

            template AssistanceDataForPaging mw_assistanceDataForPaging(
                                                                        template AssistanceDataForRecommendedCells p_assistanceDataForRecommendedCells := *,
                                                                        template PagingAttemptInformation p_pagingAttemptInformation := *,
                                                                        template AssistanceDataForPaging.iE_Extensions p_iE_Extensions := *
                                                                        ) := {
                assistanceDataForRecommendedCells := p_assistanceDataForRecommendedCells,
                pagingAttemptInformation          := p_pagingAttemptInformation,
                iE_Extensions                     := p_iE_Extensions
            } // End of template mw_assistanceDataForPaging

            template (present) AssistanceDataForPaging.iE_Extensions mw_assistanceDataForPaging_NPN_PagingAssistanceInformation(
                                                                                                                                template (present) NPN_PagingAssistanceInformation p_nPN_PagingAssistanceInformation := ?
                                                                                                                                ) := {
                {
                    id             := id_NPN_PagingAssistanceInformation,
                    criticality    := ignore,
                    extensionValue := { NPN_PagingAssistanceInformation := p_nPN_PagingAssistanceInformation }
                }
            } // End of template mw_assistanceDataForPaging_NPN_PagingAssistanceInformation

            template (present) AssistanceDataForPaging.iE_Extensions mw_assistanceDataForPaging_pagingAssisDataforCEcapabUE(
                                                                                                                            template (present) PagingAssisDataforCEcapabUE p_pagingAssisDataforCEcapabUE := ?
                                                                                                                            ) := {
                {
                    id             := id_PagingAssisDataforCEcapabUE,
                    criticality    := ignore,
                    extensionValue := { PagingAssisDataforCEcapabUE := p_pagingAssisDataforCEcapabUE }
                }
            } // End of template mw_assistanceDataForPaging_pagingAssisDataforCEcapabUE

            template (present) AssistanceDataForRecommendedCells mw_assistanceDataForRecommendedCells(
                                                                                                      template (present) RecommendedCellsForPaging p_recommendedCellsForPaging := ?,
                                                                                                      template AssistanceDataForRecommendedCells.iE_Extensions p_iE_Extensions := *
                                                                                                      ) :=  {
                recommendedCellsForPaging := p_recommendedCellsForPaging,
                iE_Extensions             := p_iE_Extensions
            } // End of template mw_assistanceDataForRecommendedCells

            template (present) AssociatedMBSQosFlowSetupRequestItem mw_associatedMBSQosFlowSetupRequestItem(
                                                                                                            template (present) QosFlowIdentifier p_mBS_QosFlowIdentifier := ?,
                                                                                                            template (present) QosFlowIdentifier p_associatedUnicastQosFlowIdentifier := ?,
                                                                                                            template AssociatedMBSQosFlowSetupRequestItem.iE_Extensions	p_iE_Extensions := *
                                                                                                            ) := {
                mBS_QosFlowIdentifier              := p_mBS_QosFlowIdentifier,
                associatedUnicastQosFlowIdentifier := p_associatedUnicastQosFlowIdentifier,
                iE_Extensions                      := p_iE_Extensions
            } // End of template mw_associatedMBSQosFlowSetupRequestItem

            template (present) AssociatedMBSQosFlowSetuporModifyRequestItem mw_associatedMBSQosFlowSetuporModifyRequestItem(
                                                                                                                            template (present) QosFlowIdentifier p_mBS_QosFlowIdentifier := ?,
                                                                                                                            template (present) QosFlowIdentifier p_associatedUnicastQosFlowIdentifier := ?,
                                                                                                                            template AssociatedMBSQosFlowSetuporModifyRequestItem.iE_Extensions p_iE_Extensions := *
                                                                                                                            ) := {
                mBS_QosFlowIdentifier              := p_mBS_QosFlowIdentifier,
                associatedUnicastQosFlowIdentifier := p_associatedUnicastQosFlowIdentifier,
                iE_Extensions                      := p_iE_Extensions
            } // End of template mw_associatedMBSQosFlowSetuporModifyRequestItem

            template (present) AssociatedQosFlowItem mw_associatedQosFlowItem(
                                                                              template (present) QosFlowIdentifier p_qosFlowIdentifier := ?,
                                                                              template AssociatedQosFlowItem.qosFlowMappingIndication p_qosFlowMappingIndication := *,
                                                                              template AssociatedQosFlowItem.iE_Extensions p_iE_Extensions := *
                                                                              ) := {
                qosFlowIdentifier        := p_qosFlowIdentifier,
                qosFlowMappingIndication := p_qosFlowMappingIndication,
                iE_Extensions            := p_iE_Extensions
            } // End of template mw_associatedQosFlowItem

            template (present) AssociatedQosFlowItem.iE_Extensions mw_associatedQosFlowItem_alternativeQoSParaSetIndex(
                                                                                                                       template (present) AlternativeQoSParaSetIndex p_alternativeQoSParaSetIndex := ?
            ) := {
                {
                    id             := id_CurrentQoSParaSetIndex,
                    criticality    := ignore,
                    extensionValue := { AlternativeQoSParaSetIndex := p_alternativeQoSParaSetIndex }
                }
            } // End of template mw_associatedQosFlowItem_alternativeQoSParaSetIndex

            template (present) AuthenticatedIndication mw_authenticatedIndication(template (present) AuthenticatedIndication p_value := true_) := p_value;

            template (present) AreaScopeOfMDT_NR mw_areaScopeOfMDT_NR_cellBased(
                                                                                template (present) CellBasedMDT_NR p_cellBased := ?
                                                                                ) := {
	            cellBased := p_cellBased
            } // End of template mw_areaScopeOfMDT_cellBased

            template (present) AreaScopeOfMDT_NR mw_areaScopeOfMDT_tABased(
                                                                           template (present) TABasedMDT p_tABased := ?
                                                                           ) := {
                tABased := p_tABased
            } // End of template mw_areaScopeOfMDT_tABased

            template (present) AreaScopeOfMDT_NR mw_areaScopeOfMDT_pLMNWide := {
                pLMNWide := NULL
            } // End of template mw_areaScopeOfMDT_pLMNWide

            template (present) AreaScopeOfMDT_NR mw_areaScopeOfMDT_tAIBased(
                                                                            template (present) TAIBasedMDT p_tAIBased := ?
                                                                            ) := {
                tAIBased := p_tAIBased
            } // End of template mw_areaScopeOfMDT_tAIBased

            template (present) AreaScopeOfMDT_NR mw_areaScopeOfMDT_ext(
                                                                       template (present) AreaScopeOfMDT_NR.choice_Extensions p_choice_Extensions := ?
                                                                       ) := {
                choice_Extensions := p_choice_Extensions
            } // End of template mw_areaScopeOfMDT_ext

            template (present) AreaScopeOfNeighCellsItem mw_areaScopeOfNeighCellsItem(
                                                                                      template (present) NRFrequencyInfo p_nrFrequencyInfo := ?,
                                                                                      template PCIListForMDT p_pciListForMDT := *,
                                                                                      template AreaScopeOfNeighCellsItem.iE_Extensions p_iE_Extensions := *
                                                                                      ) := {
                nrFrequencyInfo := p_nrFrequencyInfo,
                pciListForMDT   := p_pciListForMDT,
                iE_Extensions   := p_iE_Extensions
            } // End of template mw_areaScopeOfNeighCellsItem

            template (present) AreaScopeOfQMC mw_areaScopeOfQMC_cellBased(
                                                                          template (present) CellBasedQMC p_cellBased := ?
                                                                          ) := {
	            cellBased := p_cellBased
            } // End of template mw_areaScopeOfQMC_cellBased

            template (present) AreaScopeOfQMC mw_areaScopeOfQMC_tABased(
                                                                        template (present) TABasedQMC p_tABased := ?
                                                                        ) := {
                tABased := p_tABased
            } // End of template mw_areaScopeOfQMC_tABased

            template (present) AreaScopeOfQMC mw_areaScopeOfQMC_tAIBased(
                                                                         template (present) TAIBasedQMC p_tAIBased := ?
                                                                         ) := {
                tAIBased := p_tAIBased
            } // End of template mw_areaScopeOfQMC_tAIBased

            template (present) AreaScopeOfQMC mw_areaScopeOfQMC_pLMNAreaBased(
                                                                              template (present) PLMNAreaBasedQMC p_pLMNAreaBased := ?
                                                                              ) := {
                pLMNAreaBased := p_pLMNAreaBased
            } // End of template mw_areaScopeOfQMC_pLMNAreaBased

            template (present) AreaScopeOfQMC mw_areaScopeOfQMC_ext(
                                                                    template (present) AreaScopeOfQMC.choice_Extensions p_choice_Extensions := ?
                                                                    ) := {
                choice_Extensions := p_choice_Extensions
            } // End of template mw_areaScopeOfQMC_ext

            template (present) AreaScopeOfMDT_EUTRA mw_areaScopeOfMDT_EUTRA_cellBased(
                                                                                      template (present) CellBasedMDT_EUTRA p_cellBased
                                                                                      ) := {
	            cellBased := p_cellBased
            } // End of template mw_areaScopeOfMDT_EUTRA_cellBased

            template (present) AreaScopeOfMDT_EUTRA mw_areaScopeOfMDT_EUTRA_tABased(
                                                                                    template (present) TABasedMDT p_tABased
                                                                                    ) := {
                tABased := p_tABased
            } // End of template mw_areaScopeOfMDT_EUTRA_tABased

            template (present) AreaScopeOfMDT_EUTRA mw_areaScopeOfMDT_EUTRA_pLMNWide := {
                pLMNWide := NULL
            } // End of template mw_areaScopeOfMDT_EUTRA_pLMNWide

            template (present) AreaScopeOfMDT_EUTRA mw_areaScopeOfMDT_EUTRA_tAIBased(
                                                                                     template (present) TAIBasedMDT p_tAIBased
                                                                                     ) := {
                tAIBased := p_tAIBased
            } // End of template mw_areaScopeOfMDT_EUTRA_tAIBased

            template (present) AreaScopeOfMDT_EUTRA mw_areaScopeOfMDT_EUTRA_ext(
                                                                                template (present) AreaScopeOfMDT_EUTRA.choice_Extensions p_choice_Extensions
                                                                                ) := {
                choice_Extensions := p_choice_Extensions
            } // End of template mw_areaScopeOfMDT_EUTRA_ext

            template AvailableRANVisibleQoEMetrics mw_availableRANVisibleQoEMetrics(
                                                                                    template AvailableRANVisibleQoEMetrics.applicationLayerBufferLevelList p_applicationLayerBufferLevelList := *,
                                                                                    template AvailableRANVisibleQoEMetrics.playoutDelayForMediaStartup p_playoutDelayForMediaStartup := *,
                                                                                    template AvailableRANVisibleQoEMetrics.iE_Extensions p_iE_Extensions := *
                                                                                    ) := {
                applicationLayerBufferLevelList := p_applicationLayerBufferLevelList,
                playoutDelayForMediaStartup     := p_playoutDelayForMediaStartup,
                iE_Extensions                   := p_iE_Extensions
            } // End of template mw_availableRANVisibleQoEMetrics

            template BeamMeasurementsReportConfiguration mw_beamMeasurementsReportConfiguration(
                                                                                                template BeamMeasurementsReportQuantity p_beamMeasurementsReportQuantity := *,
                                                                                                template MaxNrofRS_IndexesToReport p_maxNrofRS_IndexesToReport := *,
                                                                                                template BeamMeasurementsReportConfiguration.iE_Extensions p_iE_Extensions := *
                                                                                                ) := {
                beamMeasurementsReportQuantity := p_beamMeasurementsReportQuantity,
                maxNrofRS_IndexesToReport      := p_maxNrofRS_IndexesToReport,
                iE_Extensions                  := p_iE_Extensions
            } // End of template mw_beamMeasurementsReportConfiguration

            template BeamMeasurementsReportQuantity mw_beamMeasurementsReportQuantity(
                                                                                      template BeamMeasurementsReportQuantity.rSRP p_rSRP := true_,
                                                                                      template BeamMeasurementsReportQuantity.rSRQ p_rSRQ := true_,
                                                                                      template BeamMeasurementsReportQuantity.sINR p_sINR := true_,
                                                                                      template BeamMeasurementsReportQuantity.iE_Extensions p_iE_Extensions := *
                                                                                      ) := {
                rSRP          := p_rSRP,
                rSRQ          := p_rSRQ,
                sINR          := p_sINR,
                iE_Extensions := p_iE_Extensions
            } // End of template mw_beamMeasurementsReportQuantity

            template (present) BitRate mw_bitRate (template (present) BitRate p_value := ?) := p_value;

            template (present) BroadcastCancelledAreaList mw_broadcastCancelledAreaList_cellIDCancelledEUTRA(
                                                                                                             template (present) CellIDCancelledEUTRA p_cellIDCancelledEUTRA := ?
                                                                                                             ) := {
                cellIDCancelledEUTRA := p_cellIDCancelledEUTRA
            } // End of template mw_broadcastCancelledAreaList_cellIDCancelledEUTRA

            template (present) BroadcastCancelledAreaList mw_broadcastCancelledAreaList_tAICancelledEUTRA(
                                                                                                          template (present) TAICancelledEUTRA p_tAICancelledEUTRA := ?
                                                                                                          ) := {
                tAICancelledEUTRA := p_tAICancelledEUTRA
            } // End of template mw_broadcastCancelledAreaList_tAICancelledEUTRA

            template (present) BroadcastCancelledAreaList mw_broadcastCancelledAreaList_emergencyAreaIDCancelledEUTRA(
                                                                                                                      template (present) EmergencyAreaIDCancelledEUTRA p_emergencyAreaIDCancelledEUTRA := ?
                                                                                                                      ) := {
                emergencyAreaIDCancelledEUTRA := p_emergencyAreaIDCancelledEUTRA
            } // End of template mw_broadcastCancelledAreaList_emergencyAreaIDCancelledEUTRA

            template (present) BroadcastCancelledAreaList mw_broadcastCancelledAreaList_cellIDCancelledNR(
                                                                                                          template (present) CellIDCancelledNR p_cellIDCancelledNR := ?
                                                                                                          ) := {
                cellIDCancelledNR := p_cellIDCancelledNR
            } // End of template mw_broadcastCancelledAreaList_cellIDCancelledNR

            template (present) BroadcastCancelledAreaList mw_broadcastCancelledAreaList_tAICancelledNR(
                                                                                                       template (present) TAICancelledNR p_tAICancelledNR := ?
                                                                                                       ) := {
                tAICancelledNR := p_tAICancelledNR
            } // End of template mw_broadcastCancelledAreaList_tAICancelledNR

            template (present) BroadcastCancelledAreaList mw_broadcastCancelledAreaList_emergencyAreaIDCancelledNR(
                                                                                                                   template (present) EmergencyAreaIDCancelledNR p_emergencyAreaIDCancelledNR := ?
                                                                                                                   ) := {
                emergencyAreaIDCancelledNR := p_emergencyAreaIDCancelledNR
            } // End of template mw_broadcastCancelledAreaList_ext

            template (present) BroadcastCancelledAreaList mw_broadcastCancelledAreaList_ext(
                                                                                            template (present) BroadcastCancelledAreaList.choice_Extensions p_choice_Extensions := ?
                                                                                            ) := {
                choice_Extensions := p_choice_Extensions
            } // End of template mw_broadcastCancelledAreaList_ext

            template (present) BroadcastCompletedAreaList mw_broadcastCompletedAreaList_cellIDBroadcastEUTRA(
                                                                                                             template (present) CellIDBroadcastEUTRA p_cellIDBroadcastEUTRA
                                                                                                             ) := {
                cellIDBroadcastEUTRA := p_cellIDBroadcastEUTRA
            } // End of template mw_broadcastCompletedAreaList_cellIDCancelledEUTRA

            template (present) BroadcastCompletedAreaList mw_broadcastCompletedAreaList_tAIBroadcastEUTRA(
                                                                                                          template (present) TAIBroadcastEUTRA p_tAIBroadcastEUTRA
                                                                                                          ) := {
                tAIBroadcastEUTRA := p_tAIBroadcastEUTRA
            } // End of template mw_broadcastCompletedAreaList_tAIBroadcastEUTRA

            template (present) BroadcastCompletedAreaList mw_broadcastCompletedAreaList_emergencyAreaIDBroadcastEUTRA(
                                                                                                                      template (present) EmergencyAreaIDBroadcastEUTRA p_emergencyAreaIDBroadcastEUTRA
                                                                                                                      ) := {
                emergencyAreaIDBroadcastEUTRA := p_emergencyAreaIDBroadcastEUTRA
            } // End of template mw_broadcastCompletedAreaList_emergencyAreaIDBroadcastEUTRA

            template (present) BroadcastCompletedAreaList mw_broadcastCompletedAreaList_cellIDBroadcastNR(
                                                                                                          template (present) CellIDBroadcastNR p_cellIDBroadcastNR
                                                                                                          ) := {
                cellIDBroadcastNR := p_cellIDBroadcastNR
            } // End of template mw_broadcastCompletedAreaList_cellIDBroadcastNR

            template (present) BroadcastCompletedAreaList mw_broadcastCompletedAreaList_tAIBroadcastNR(
                                                                                                       template (present) TAIBroadcastNR p_tAIBroadcastNR
                                                                                                       ) := {
                tAIBroadcastNR := p_tAIBroadcastNR
            } // End of template mw_broadcastCompletedAreaList_tAIBroadcastNR

            template (present) BroadcastCompletedAreaList mw_broadcastCompletedAreaList_emergencyAreaIDBroadcastNR(
                                                                                                                   template (present) EmergencyAreaIDBroadcastNR p_emergencyAreaIDBroadcastNR
                                                                                                                   ) := {
                emergencyAreaIDBroadcastNR := p_emergencyAreaIDBroadcastNR
            } // End of template mw_broadcastCompletedAreaList_emergencyAreaIDBroadcastNR

            template (present) BroadcastCompletedAreaList mw_broadcastCompletedAreaList_ext(
                                                                                            template (present) BroadcastCompletedAreaList.choice_Extensions p_choice_Extensions
                                                                                            ) := {
                choice_Extensions := p_choice_Extensions
            } // End of template mw_broadcastCompletedAreaList_ext

            template (present) BroadcastPLMNItem mw_ie_broadcastPLMNItem(
                                                                         template (present) PLMNIdentity p_plmnId := ?,
                                                                         template (present) SliceSupportList p_ssl := ?,
                                                                         template BroadcastPLMNItem.iE_Extensions p_iE_Extensions := *
                                                                         ) := {
                pLMNIdentity        :=  p_plmnId,
                tAISliceSupportList := p_ssl,
                iE_Extensions       := p_iE_Extensions
            } // End of template mw_ie_broadcastPLMNItem

            template (present) BluetoothMeasurementConfiguration mw_bluetoothMeasurementConfiguration(
                                                                                                     template (present) BluetoothMeasConfig p_bluetoothMeasConfig := ?,
                                                                                                     template BluetoothMeasConfigNameList p_bluetoothMeasConfigNameList := *,
                                                                                                     template BluetoothMeasurementConfiguration.bt_rssi p_bt_rssi := *,
                                                                                                     template BluetoothMeasurementConfiguration.iE_Extensions p_iE_Extensions := *
                                                                                                     ) := {
                bluetoothMeasConfig         := p_bluetoothMeasConfig,
                bluetoothMeasConfigNameList := p_bluetoothMeasConfigNameList,
                bt_rssi                     := p_bt_rssi,
                iE_Extensions               := p_iE_Extensions
            } // End of template mw_bluetoothMeasurementConfiguration

            template (present) BluetoothMeasConfigNameItem mw_bluetoothMeasConfigNameItem(
                                                                                          template (present) BluetoothName p_bluetoothName := ?,
                                                                                          template BluetoothMeasConfigNameItem.iE_Extensions p_iE_Extensions := *
                                                                                          ) := {
                bluetoothName := p_bluetoothName,
                iE_Extensions := p_iE_Extensions
            } // End of template mw_bluetoothMeasConfigNameItem

            template (present) BluetoothMeasConfig mw_bluetoothMeasConfig(template (present) BluetoothMeasConfig p_value := setup) := p_value;

            template (present) CancelAllWarningMessages mw_cancelAllWarningMessages(template (present) CancelAllWarningMessages p_value := true_) := p_value;


            template (present) CancelledCellsInEAI_EUTRA_Item mw_cancelledCellsInEAI_EUTRA_Item(
                                                                                                template (present) EUTRA_CGI p_eUTRA_CGI := ?,
                                                                                                template (present) NumberOfBroadcasts p_numberOfBroadcasts := ?,
                                                                                                template CancelledCellsInEAI_EUTRA_Item.iE_Extensions p_iE_Extensions := *
                                                                                                ) := {
                eUTRA_CGI          := p_eUTRA_CGI,
                numberOfBroadcasts := p_numberOfBroadcasts,
                iE_Extensions      := p_iE_Extensions
            } // End of template mw_cancelledCellsInEAI_EUTRA_Item

            template (present) CancelledCellsInEAI_NR_Item mw_cancelledCellsInEAI_NR_Item(
                                                                                          template (present) NR_CGI p_nR_CGI := ?,
                                                                                          template (present) NumberOfBroadcasts p_numberOfBroadcasts := ?,
                                                                                          template CancelledCellsInEAI_NR_Item.iE_Extensions p_iE_Extensions := *
                                                                                          ) := {
                nR_CGI             := p_nR_CGI,
                numberOfBroadcasts := p_numberOfBroadcasts,
                iE_Extensions      := p_iE_Extensions
            } // End of template mw_cancelledCellsInEAI_NR_Item

            template (present) CancelledCellsInTAI_EUTRA_Item mw_cancelledCellsInTAI_EUTRA_Item(
                                                                                                template (present) EUTRA_CGI p_eUTRA_CGI := ?,
                                                                                                template (present) NumberOfBroadcasts p_numberOfBroadcasts := ?,
                                                                                                template CancelledCellsInTAI_EUTRA_Item.iE_Extensions p_iE_Extensions := *
                                                                                                ) := {
                eUTRA_CGI          := p_eUTRA_CGI,