Commit 08f49a4d authored by cintiarosa's avatar cintiarosa
Browse files

aligne stage 2 and 3 adding _3gpp-5gc-nrm-nsacffunction.yang

parent a9ee63e0
Loading
Loading
Loading
Loading
Loading
+13 −510
Original line number Diff line number Diff line
@@ -23,11 +23,6 @@ module _3gpp-5gc-nrm-ep {
  import _3gpp-common-yang-types { prefix types3gpp; }
  import _3gpp-common-top { prefix top3gpp; }
  import ietf-inet-types { prefix inet; }
  import _3gpp-5gc-nrm-neffunction {prefix nef3gpp;}
  import _3gpp-5gc-nrm-gmlcfunction {prefix gmlc3gpp;}
  import _3gpp-5gc-nrm-nwdaffunction {prefix nwdaf3gpp;}
  import _3gpp-nr-nrm-gnbcucpfunction {prefix gnbcucp3gpp;}
  import _3gpp-5gc-nrm-scpfunction {prefix scp3gpp;}

  organization "3GPP SA5";
  contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464";
@@ -131,129 +126,7 @@ module _3gpp-5gc-nrm-ep {
  grouping EP_N31Grp {
    uses eprp3gpp:EP_Common;
  }
  grouping EP_NL1Grp {
    uses eprp3gpp:EP_Common;
  }
  grouping EP_N60Grp {
    uses eprp3gpp:EP_Common;
  }
  grouping EP_N33Grp {
    uses eprp3gpp:EP_Common;
  }
  grouping EP_Npc4Grp {
    uses eprp3gpp:EP_Common;
  }
  grouping EP_Npc6Grp {
    uses eprp3gpp:EP_Common;
  }
  grouping EP_Npc7Grp {
    uses eprp3gpp:EP_Common;
  }
  grouping EP_N88Grp {
    uses eprp3gpp:EP_Common;
  }
  grouping EP_Npc8Grp {
    uses eprp3gpp:EP_Common;
  }
  grouping EP_N58Grp {
    uses eprp3gpp:EP_Common;
  }
  grouping EP_N59Grp {
    uses eprp3gpp:EP_Common;
  }
  grouping EP_N40Grp {
    uses eprp3gpp:EP_Common;
  }
  grouping EP_N41Grp {
    uses eprp3gpp:EP_Common;
  }
  grouping EP_N42Grp {
    uses eprp3gpp:EP_Common;
  }
  grouping EP_N28Grp {
    uses eprp3gpp:EP_Common;
  }
  grouping EP_N61Grp {
    uses eprp3gpp:EP_Common;
  }
  grouping EP_N63Grp {
    uses eprp3gpp:EP_Common;
  }
  grouping EP_N84Grp {
    uses eprp3gpp:EP_Common;
  }
  grouping EP_N85Grp {
    uses eprp3gpp:EP_Common;
  }
  grouping EP_N86Grp {
    uses eprp3gpp:EP_Common;
  }
  grouping EP_N87Grp {
    uses eprp3gpp:EP_Common;
  }
  grouping EP_N89Grp {
    uses eprp3gpp:EP_Common;
  }
  grouping EP_N96Grp {
    uses eprp3gpp:EP_Common;
  }
  grouping EP_NL3Grp {
    uses eprp3gpp:EP_Common;
  }
  grouping EP_NL5Grp {
    uses eprp3gpp:EP_Common;
  }
  grouping EP_NL6Grp {
    uses eprp3gpp:EP_Common;
  }
  grouping EP_NL9Grp {
    uses eprp3gpp:EP_Common;
  }
  grouping EP_N3mbGrp {
    uses eprp3gpp:EP_Common;
  }
  grouping EP_N19mbGrp {
    uses eprp3gpp:EP_Common;
  }
  grouping EP_N4mbGrp {
    uses eprp3gpp:EP_Common;
  }
  grouping EP_N9mbGrp {
    uses eprp3gpp:EP_Common;
  }
  grouping EP_N16mbGrp {
    uses eprp3gpp:EP_Common;
  }
  grouping EP_N11mbGrp {
    uses eprp3gpp:EP_Common;
  }
  grouping EP_Nmb1Grp {
    uses eprp3gpp:EP_Common;
  }
  grouping EP_SM12Grp {
    uses eprp3gpp:EP_Common;
  }
  grouping EP_SM13Grp {
    uses eprp3gpp:EP_Common;
  }
  grouping EP_SM14Grp {
    uses eprp3gpp:EP_Common;
  }
  grouping EP_N34Grp {
    uses eprp3gpp:EP_Common;
  }
  grouping EP_NL7Grp {
    uses eprp3gpp:EP_Common;
  }
  grouping EP_NL8Grp {
    uses eprp3gpp:EP_Common;
  }
  grouping EP_NL10Grp {
    uses eprp3gpp:EP_Common;
  }
  grouping EP_N62Grp {
    uses eprp3gpp:EP_Common;
  }

  grouping EP_N32Grp {
    uses eprp3gpp:EP_Common;
    list  remotePlmnId {
@@ -321,77 +194,21 @@ module _3gpp-5gc-nrm-ep {
  }

  augment "/me3gpp:ManagedElement/af3gpp:AFFunction" {

    list EP_Rx {
      description "Represents the EP_Rx IOC.";
      key id;
      uses top3gpp:Top_Grp;
      container attributes {
        uses EP_RxGrp;
      }
    }
    list EP_N33 {
      description "This IOC represents the N33 interface
       between NEF and AF";
      key id;
      uses top3gpp:Top_Grp;
      container attributes {
        uses EP_N33Grp;
      }
    }
    list EP_N62 {
      description "This IOC represents an end point of N62
       interface between AF and AAnF,";
      key id;
      uses top3gpp:Top_Grp;
      container attributes {
        uses EP_N62Grp;
      }
    }
    list EP_N86 {
      description "Represents the EP_N86 IOC.";
    list EP_N6 {
      description "Represents the EP_N6 IOC.";
      key id;
      uses top3gpp:Top_Grp;
      container attributes {
        uses EP_N86Grp;
      }
        uses EP_N6Grp;
      }
    }
  augment "/me3gpp:ManagedElement/nef3gpp:NEFFunction" {

    list EP_N33 {
      description "This IOC represents the N33 interface 
      between NEF and AF.";
      key id;
      uses top3gpp:Top_Grp;
      container attributes {
        uses EP_N33Grp;
      }
    }
    list EP_N63 {
      description "This IOC represents an end point of N63 interface 
      between NEF and AAnF";
      key id;
      uses top3gpp:Top_Grp;
      container attributes {
        uses EP_N63Grp;
      }
    }
    list EP_N85 {
      description "This IOC represents an end point of N85 interface
       between TSCTSF and NEF";
      key id;
      uses top3gpp:Top_Grp;
      container attributes {
        uses EP_N85Grp;
      }
    }
    list EP_NL5 {
      description "Represents the EP_NL5 IOC.";
    list EP_Rx {
      description "Represents the EP_Rx IOC.";
      key id;
      uses top3gpp:Top_Grp;
      container attributes {
        uses EP_NL5Grp;
        uses EP_RxGrp;
      }
    }
  }
@@ -495,67 +312,15 @@ module _3gpp-5gc-nrm-ep {
        uses EP_NLSGrp;
      }
    }
    list EP_NL1 {
      description "This IOC represents the NL1 interface between
       AMF and LMF";
      reference "3GPP TS 23.501";
      key id;
      uses top3gpp:Top_Grp;
      container attributes {
        uses EP_NL1Grp;
      }
    }
    list EP_N60 {
      description "This IOC represents the N60 interface between
       AMF and ASACF,";
      reference "3GPP TS 23.501";
      key id;
      uses top3gpp:Top_Grp;
      container attributes {
        uses EP_N60Grp;
      }
    }

    list EP_NL2 {
      description "This IOC represents the NL2 interface
       between AMF and GMLC,";
      description "Represents the EP_NL2 IOC.";
      key id;
      uses top3gpp:Top_Grp;
      container attributes {
        uses EP_NL2Grp;
      }
    }
    list EP_N58 {
      description "Represents the EP_N58 IOC.";
      key id;
      uses top3gpp:Top_Grp;
      container attributes {
        uses EP_N58Grp;
      }
    }
    list EP_N41 {
      description "Represents the EP_N41 IOC.";
      key id;
      uses top3gpp:Top_Grp;
      container attributes {
        uses EP_N41Grp;
      }
    }
    list EP_N42 {
      description "Represents the EP_N41 IOC.";
      key id;
      uses top3gpp:Top_Grp;
      container attributes {
        uses EP_N42Grp;
      }
    }
    list EP_N11mb {
      description "Represents the EP_N11mb IOC.";
      key id;
      uses top3gpp:Top_Grp;
      container attributes {
        uses EP_N11mbGrp;
      }
    }
  }

  augment "/me3gpp:ManagedElement/ausf3gpp:AUSFFunction" {
@@ -576,15 +341,8 @@ module _3gpp-5gc-nrm-ep {
        uses EP_N13Grp;
      }
    }
    list EP_N61 {
      description "Represents the EP_N61 IOC.";
      key id;
      uses top3gpp:Top_Grp;
      container attributes {
        uses EP_N61Grp;
      }
    }
  }

  augment "/me3gpp:ManagedElement/dn3gpp:DNFunction" {
    list EP_N6 {
      description "Represents the EP_N6 IOC.";
@@ -605,46 +363,6 @@ module _3gpp-5gc-nrm-ep {
        uses EP_NLSGrp;
      }
    }
    list EP_NL1 {
      description "This IOC represents the NL1 interface
       between AMF and LMF,";
      reference "3GPP TS 23.501";
      key id;
      uses top3gpp:Top_Grp;
      container attributes {
        uses EP_NL1Grp;
      }
    }
    list EP_NL7 {
      description "This IOC represents the NL7 interface
       between two LMFs";
      reference "3GPP TS 23.273";
      key id;
      uses top3gpp:Top_Grp;
      container attributes {
        uses EP_NL7Grp;
      }
    }
    list EP_NL8 {
      description "This IOC represents the NL8 interface
       between LMF and NWDAF";
      reference "3GPP TS 23.273";
      key id;
      uses top3gpp:Top_Grp;
      container attributes {
        uses EP_NL8Grp;
      }
    }
    list EP_NL10 {
      description "This IOC represents the NL10 interface
       between LMF and GMLC";
      reference "3GPP TS 23.273";
      key id;
      uses top3gpp:Top_Grp;
      container attributes {
        uses EP_NL10Grp;
      }
    }
  }

  augment "/me3gpp:ManagedElement/n3iwf3gpp:N3IWFFunction" {
@@ -687,23 +405,7 @@ module _3gpp-5gc-nrm-ep {
        uses EP_N26Grp;
      }
    }
    list EP_N96 {
      description "Represents the EP_N96 IOC.";
      key id;
      uses top3gpp:Top_Grp;
      container attributes {
        uses EP_N96Grp;
      }
    }
    list EP_SM14 {
      description "This IOC represents the SM14 interface
       between MNPF and NRF";
      key id;
      uses top3gpp:Top_Grp;
      container attributes {
        uses EP_SM14Grp;
      }
    }

  }

  augment "/me3gpp:ManagedElement/nssf3gpp:NSSFFunction" {
@@ -724,15 +426,6 @@ module _3gpp-5gc-nrm-ep {
        uses EP_N31Grp;
      }
    }
    list EP_N34 {
      description "This IOC represents the N34 interface
       between NWDAF and NSSF";
      key id;
      uses top3gpp:Top_Grp;
      container attributes {
        uses EP_N34Grp;
      }
    }
  }

  augment "/me3gpp:ManagedElement/pcf3gpp:PCFFunction" {
@@ -780,30 +473,6 @@ module _3gpp-5gc-nrm-ep {
        uses EP_RxGrp;
      }
    }
    list EP_Npc8 {
      description "Represents the EP_Npc8 IOC.";
      key id;
      uses top3gpp:Top_Grp;
      container attributes {
        uses EP_Npc8Grp;
      }
    }
    list EP_N28 {
      description "Represents the EP_N28 IOC.";
      key id;
      uses top3gpp:Top_Grp;
      container attributes {
        uses EP_N28Grp;
      }
    }
    list EP_N84 {
      description "Represents the EP_N84 IOC.";
      key id;
      uses top3gpp:Top_Grp;
      container attributes {
        uses EP_N84Grp;
      }
    }
  }

  augment "/me3gpp:ManagedElement/sepp3gpp:SEPPFunction" {
@@ -900,30 +569,6 @@ module _3gpp-5gc-nrm-ep {
        uses EP_S5CGrp;
      }
    }
    list EP_N88 {
    description "Represents the EP_N88 IOC.";
      key id;
      uses top3gpp:Top_Grp;
      container attributes {
        uses EP_N88Grp;
      }
    }
    list EP_N40 {
    description "Represents the EP_N40 IOC.";
      key id;
      uses top3gpp:Top_Grp;
      container attributes {
        uses EP_N40Grp;
      }
    }
    list EP_N16mb {
    description "Represents the EP_N16mb IOC.";
      key id;
      uses top3gpp:Top_Grp;
      container attributes {
        uses EP_N16mbGrp;
      }
    }
  }

  augment "/me3gpp:ManagedElement/udm3gpp:UDMFunction" {
@@ -935,16 +580,7 @@ module _3gpp-5gc-nrm-ep {
        uses EP_N8Grp;
      }
    }
    list EP_Npc4 {
      description "This IOC represents the Npc4 interface between 
      the UDM and 5G DDNMF,";
      reference "3GPP TS 23.304";
      key id;
      uses top3gpp:Top_Grp;
      container attributes {
        uses EP_Npc4Grp;
      }
    }

    list EP_N10 {
      description "Represents the EP_N10 IOC.";
      key id;
@@ -962,30 +598,7 @@ module _3gpp-5gc-nrm-ep {
        uses EP_N13Grp;
      }
    }
    list EP_N59 {
      description "Represents the EP_N59 IOC.";
      key id;
      uses top3gpp:Top_Grp;
      container attributes {
        uses EP_N59Grp;
      }
    }
    list EP_N87 {
      description "Represents the EP_N87 IOC.";
      key id;
      uses top3gpp:Top_Grp;
      container attributes {
        uses EP_N87Grp;
      }
    }
    list EP_NL6 {
      description "Represents the EP_NL6 IOC.";
      key id;
      uses top3gpp:Top_Grp;
      container attributes {
        uses EP_NL6Grp;
      }
    }

  }

  augment "/me3gpp:ManagedElement/upf3gpp:UPFFunction" {
@@ -1033,115 +646,5 @@ module _3gpp-5gc-nrm-ep {
        uses EP_N6Grp;
      }
    }
    list EP_N19mb {
      description "Represents the EP_N19mb IOC.";
      key id;
      uses top3gpp:Top_Grp;
      container attributes {
        uses EP_N19mbGrp;
      }
    }
  }
  augment "/me3gpp:ManagedElement/gmlc3gpp:GMLCFunction" {
    list EP_NL3 {
      description "Represents the EP_NL3 IOC.";
      key id;
      uses top3gpp:Top_Grp;
      container attributes {
        uses EP_NL3Grp;
      }
    }
    list EP_NL5 {
      description "Represents the EP_NL5 IOC.";
      key id;
      uses top3gpp:Top_Grp;
      container attributes {
        uses EP_NL5Grp;
      }
    }
    list EP_NL6 {
      description "Represents the EP_NL6 IOC.";
      key id;
      uses top3gpp:Top_Grp;
      container attributes {
        uses EP_NL6Grp;
      }
    }
    list EP_NL9 {
      description "Represents the EP_NL9 IOC.";
      key id;
      uses top3gpp:Top_Grp;
      container attributes {
        uses EP_NL9Grp;
      }
    }
    list EP_NL10 {
      description "This IOC represents the NL10 interface
       between LMF and GMLC";
      key id;
      uses top3gpp:Top_Grp;
      container attributes {
        uses EP_NL10Grp;
      }
    }
    list EP_NL2 {
      description "This IOC represents the NL2 interface
       between AMF and GMLC,";
      key id;
      uses top3gpp:Top_Grp;
      container attributes {
        uses EP_NL2Grp;
      }
    }
  }
  augment "/me3gpp:ManagedElement/nwdaf3gpp:NWDAFFunction" {
    list EP_NL9 {
      description "Represents the EP_NL9 IOC.";
      key id;
      uses top3gpp:Top_Grp;
      container attributes {
        uses EP_NL9Grp;
      }
    }
    list EP_N34 {
      description "This IOC represents the N34 interface
       between NWDAF and NSSF";
      key id;
      uses top3gpp:Top_Grp;
      container attributes {
        uses EP_N34Grp;
      }
    }
    list EP_NL8 {
      description "This IOC represents the NL8 interface
       between LMF and NWDAF";
      reference "3GPP TS 23.273";
      key id;
      uses top3gpp:Top_Grp;
      container attributes {
        uses EP_NL8Grp;
      }
    }
  }
  augment "/me3gpp:ManagedElement/gnbcucp3gpp:GNBCUCPFunction" {
    list EP_N3mb {
      description "Represents the EP_N3mb IOC.";
      key id;
      uses top3gpp:Top_Grp;
      container attributes {
        uses EP_N3mbGrp;
      }
    }
  }
  augment "/me3gpp:ManagedElement/scp3gpp:SCPFunction" {
    list EP_SM13 {
      description "This IOC represents the SM13 interface
       between MNPF and SCP";
      key id;
      uses top3gpp:Top_Grp;
      container attributes {
        uses EP_SM13Grp;
      }
    }
  }
}
 No newline at end of file
+276 −0
Original line number Diff line number Diff line
module _3gpp-5gc-nrm-nsacffunction {
  yang-version 1.1;

  namespace urn:3gpp:sa5:_3gpp-5gc-nrm-nsacffunction;
  prefix nsacf3gpp;

  import _3gpp-common-managed-function { prefix mf3gpp; }
  import _3gpp-common-managed-element { prefix me3gpp; }
  import ietf-inet-types { prefix inet; }
  import _3gpp-common-yang-types { prefix types3gpp; }
  import _3gpp-5g-common-yang-types { prefix types5g3gpp; }
  import _3gpp-common-top { prefix top3gpp; }
  import _3gpp-5gc-nrm-managed-nfprofile { prefix mnfp3gpp; }

  organization "3gpp SA5";
  contact
    "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464";
  description "This IOC represents the NSACF function in 5GC.
    The NSACF monitors and controls the number of registered
    UEs per network slice for the network slices that are
    subject to Network Slice Admission Control (NSAC).
    For more information about the NSACF, see TS 23.501
    and TS 23.502.
    Copyright 2026, 3GPP Organizational Partners (ARIB, ATIS,
    CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved.";
  reference "3GPP TS 28.541";

  revision 2026-03-25 { reference "CR-"; }

  grouping NsacfCapabilityGrp {
    description "This data type represents the NSACF service
      capability. (See TS 29.510).";
    reference "3GPP TS 29.510";

    leaf supportUeSAC {
      type boolean;
      description "This attribute indicates the service capability of the
      NSACF to monitor and control the number of
      registered UEs per network slice for the network
      slice that is subject to NSAC.";
    }

    leaf supportPduSAC {
      type boolean;
      description "This attribute indicates the service capability of the
      NSACF to monitor and control the number of
      established PDU sessions per network slice for the
      network slice that is subject to NSAC.";
    }
  }

  grouping NsacfInfoGrp {
    description "This data type represents the information
      of an NSACF NF Instance. (see TS 29.510).";
    reference "3GPP TS 29.510";

    list nsacfCapability {
      description "It represents the NSACF service
        capability.";
      min-elements 1;
      max-elements 1;
      key idx;
      leaf idx { type uint32; }
      uses NsacfCapabilityGrp;
    }

    list taiList {
      description "List of TAIs.";
      key idx;
      leaf idx { type uint32; }
      uses types3gpp:TaiGrp;
    }

    list taiRangeList {
      description "Range of TAIs.";
      key idx;
      leaf idx { type uint32; }
      uses types5g3gpp:TaiRangeGrp;
    }
  }

  grouping SnssaiInfoGrp {
    description "This data type defines generic information
      for a S-NSSAI.";

    list pLMNInfo {
      description "It represents the PLMN and S-NSSAI
        information.";
      min-elements 1;
      max-elements 1;
      key "mcc mnc sd sst";
      uses types5g3gpp:PLMNInfo;
    }

    leaf administrativeState {
      type types3gpp:BasicAdministrativeState;
      mandatory true;
      description "It represents the administrative state
        of the Network Slice.";
    }
  }

  grouping NsacfInfoSnssaiGrp {
    description "This data type defines NSACF specific
      information per S-NSSAI.";

    list snssaiInfo {
      description "It defines generic information for a
        S-NSSAI. The information includes global unique
        identifier of a Network Slice and
        administrativeState of the Network Slice.";
      min-elements 1;
      max-elements 1;
      key idx;
      leaf idx { type uint32; }
      uses SnssaiInfoGrp;
    }

    leaf isSubjectToNsac {
      type boolean;
      mandatory true;
      description "It defines if the Network Slice subjects
        to network slice admission control. The value is
        set to False if the maxNumberofUEs attribute in
        corresponding SliceProfile is absent.";
    }

    leaf maxNumberofUEs {
      type uint16 {
        range "0..65535";
      }
      mandatory true;
      description "It defines the maximum number of UEs
        which are allowed to be served by the Network
        Slice that is subject to network slice admission
        control.";
    }

    leaf eACMode {
      type enumeration {
        enum ACTIVE;
        enum INACTIVE;
      }
      default INACTIVE;
      description "It represents if early admission
        control (EAC) mode is activated.";
    }

    leaf activeEacThreshold {
      type uint8 {
        range "0..100";
      }
      default 0;
      description "It defines threshold in percentage
        value of the number of the UEs registered with
        the network slice to the maximum number of UEs
        allowed to register with the network slice. The
        eACMode is set to active when the number of the
        UEs registered with the network slice is above
        this threshold.";
    }

    leaf deactiveEacThreshold {
      type uint8 {
        range "0..100";
      }
      default 100;
      description "It defines threshold in percentage
        value of the number of the UEs registered with
        the network slice to the maximum number of UEs
        allowed to register with the network slice. The
        eACMode is set to inactive when the number of
        the UEs registered with the network slice is
        below this threshold. If this attribute is
        absent, activeEacThreshold is used to trigger
        deactivation of eACMode.";
    }

    leaf numberofUEs {
      type uint16 {
        range "0..65535";
      }
      config false;
      description "It represents the number of the UEs
        registered with the network slice. This attribute
        is updated by NSACF.";
    }

    leaf-list uEIdList {
      type string;
      config false;
      description "It represents the UEs registered with
        the network slice. This attribute is updated by
        NSACF.";
    }

    list taiList {
      description "Tracking Area Identity list.";
      key idx;
      leaf idx { type uint32; }
      uses types3gpp:TaiGrp;
    }

    leaf maxNumberofPDUSessions {
      type uint32;
      mandatory true;
      description "It defines the maximum number of
        concurrent PDU sessions supported by the network
        slice.";
    }
  }

  grouping NSACFFunctionGrp {
    description "Represents the NSACFFunction IOC.";
    uses mf3gpp:ManagedFunctionGrp;

    list pLMNInfoList {
      description "List of at most six entries of PLMN
        Identifiers, but at least one (the primary
        PLMN Id). The PLMN Identifier is composed of a
        Mobile Country Code (MCC) and a Mobile Network
        Code (MNC).";
      min-elements 1;
      key idx;
      leaf idx { type uint32; }
      uses types5g3gpp:PLMNInfo;
    }

    leaf sBIFQDN {
      description "The FQDN of the registered NF instance
        in the service-based interface.";
      type inet:domain-name;
    }

    list managedNFProfile {
      description "This data type represents a Profile
        definition of a Managed NF.";
      key idx;
      leaf idx { type uint32; }
      min-elements 1;
      max-elements 1;
      uses mnfp3gpp:ManagedNFProfileGrp;
    }

    list nsacfInfoSnssaiList {
      description "It represents a list of NSACF
        information per SNSSAI.";
      key idx;
      leaf idx { type uint32; }
      uses NsacfInfoSnssaiGrp;
    }

    list nsacfInfo {
      description "This attribute represents the
        information of an NSACF NF Instance.
        (see TS 29.510).";
      max-elements 1;
      key idx;
      leaf idx { type uint32; }
      uses NsacfInfoGrp;
    }
  }

  augment "/me3gpp:ManagedElement" {
    list NSACFFunction {
      description "5G Core NSACF Function";
      reference "3GPP TS 28.541";
      key id;
      uses top3gpp:Top_Grp;
      container attributes {
        uses NSACFFunctionGrp;
      }
      uses mf3gpp:ManagedFunctionContainedClasses;
    }
  }
}