Commit 9cd8ae5c authored by cintiarosa's avatar cintiarosa
Browse files

add _3gpp-5gc-nrm-mfaffunction.yang to align with tage 2

parent de3969c1
Loading
Loading
Loading
Loading
Loading
+136 −0
Original line number Diff line number Diff line
module _3gpp-5gc-nrm-mfaffunction {
  yang-version 1.1;
  namespace urn:3gpp:sa5:_3gpp-5gc-nrm-mfaffunction;
  prefix mfaf3gpp;

  import _3gpp-common-managed-function { prefix mf3gpp; }
  import _3gpp-common-managed-element { prefix me3gpp; }
  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; }
  import ietf-inet-types { prefix inet; }

  organization "3gpp SA5";
  contact
    "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464";
  description "This IOC represents the MFAF function in 5GC.
    For more information about the MFAF, see TS 23.501.
    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 MfafInfoGrp {
    description "This data type represents the Specific
      data for the MFAF.
      (See clause 6.1.6.2.75 TS 29.510).";

    leaf-list servingNfTypeList {
      type types3gpp:NfType;
      description "This attribute represents a List of
        NF type(s) served by MFAF NF. The absence of
        this attribute indicates that the MFAF can be
        selected for any NF type.";
        //optional
    }

    leaf-list servingNfSetIdList {
      type string;
      description "This attribute represents a List of
        NF Set Id(s) served by MFAF NF. The absence of
        this attribute indicates that the MFAF can be
        selected for any NF Set Id.";
        //optional
    }

    list taiList {
      description "This attribute represents a List of
        TAIs the MFAF can serve. It may contain one or
        more non-3GPP access TAIs. The absence of both
        this attribute and the taiRangeList attribute
        indicates that the MFAF can be selected for any
        TAI in the serving network.";
        //optional
      key idx;
      leaf idx { type uint32; }
      uses types3gpp:TaiGrp;
    }

    list taiRangeList {
      description "This attribute represents the range
        of TAIs the MFAF can serve. It may contain one
        or more non-3GPP access TAI ranges. The absence
        of both this attribute and the taiList attribute
        indicates that the MFAF can be selected for any
        TAI in the serving network.";
        //optional
      key idx;
      leaf idx { type uint32; }
      uses types5g3gpp:TaiRangeGrp;
    }
  }

  grouping MFAFFunctionGrp {
    description "Represents the MFAFFunction IOC.";
    uses mf3gpp:ManagedFunctionGrp;

    list pLMNInfoList {
      description "It defines the PLMN(s) of a Network
        Function.";
      key "mcc mnc sd sst";
      min-elements 1;
      uses types5g3gpp:PLMNInfo;
    }

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

    list managedNFProfile {
      key idx;
      leaf idx { type uint32; }
      min-elements 1;
      max-elements 1;
      description "Profile definition of a Managed NF
        (See TS 23.501).";
      uses mnfp3gpp:ManagedNFProfileGrp;
    }

    list commModelList {
      min-elements 1;
      key "groupId";
      description "Specifies a list of commModel. It can
        be used by NF and NF services to interact with
        each other in 5G Core network.";
      reference "3GPP TS 23.501";
      uses types5g3gpp:CommModel;
    }

    list mfafInfo {
      description "This attribute represents information
        of an MFAF NF Instance.";
      max-elements 1;
      key idx;
      leaf idx { type uint32; }
      uses MfafInfoGrp;
      //optional
    }
  }

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