Commit c889f9f5 authored by cintiarosa's avatar cintiarosa
Browse files

add function chffunction to aligne with stage 2

parent 252bbb55
Loading
Loading
Loading
Loading
Loading
+143 −0
Original line number Diff line number Diff line
module _3gpp-5gc-nrm-chffunction {
  yang-version 1.1;
  namespace urn:3gpp:sa5:_3gpp-5gc-nrm-chffunction;
  prefix chf3gpp;

  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 CHF function. For more
    information about the CHF, see TS 23.501 and
    TS 32.240.
    Copyright 2025, 3GPP Organizational Partners (ARIB, ATIS,
    CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved.";
  reference "3GPP TS 28.541";

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

  grouping ChfInfoGrp {
    description "This data type represents the Specific
      data for the CHF.
      (See clause 6.1.6.2.32 TS 29.510).";

    list supiRangeList {
      description "List of ranges of SUPIs that can be
        served by the CHF instance. If not provided,
        the CHF can serve any SUPI.";
      key idx;
      leaf idx { type uint32; }
      uses types5g3gpp:SupiRangeGrp;
    }

    list gpsiRangeList {
      description "List of ranges of GPSI that can be
        served by the CHF instance. If not provided,
        the CHF can serve any GPSI.";
      key idx;
      leaf idx { type uint32; }
      uses types5g3gpp:IdentityRangeGrp;
    }

    list plmnRangeList {
      description "List of ranges of PLMNs (including
        the PLMN IDs of the CHF instance) that can be
        served by the CHF instance. If not provided,
        the CHF can serve any PLMN.";
      key "mcc mnc";
      uses types3gpp:PLMNId;
    }

    leaf groupId {
      description "It represents the identity of the CHF
        group that is served by the CHF instance. If not
        provided, the CHF instance does not pertain to
        any CHF group.";
      type string;
    }

    leaf primaryChfInstance {
      description "This attribute represents the NF
        Instance Id of the primary CHF instance. This
        attribute shall be absent if the
        secondaryChfInstance is present.";
      type string;
    }

    leaf secondaryChfInstance {
      description "This attribute represents the NF
        Instance Id of the secondary CHF instance.
        This attribute shall be absent if the
        primaryChfInstance is present.";
      type string;
    }
  }

  grouping CHFFunctionGrp {
    description "Represents the CHFFunction 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 chfInfo {
      description "This attribute represents information
        of a CHF NF Instance.";
      max-elements 1;
      key idx;
      leaf idx { type uint32; }
      uses ChfInfoGrp;
    }
  }

  augment "/me3gpp:ManagedElement" {
    list CHFFunction {
      description "5G Core CHF Function";
      reference "3GPP TS 28.541";
      key id;
      uses top3gpp:Top_Grp;
      container attributes {
        uses CHFFunctionGrp;
      }
      uses mf3gpp:ManagedFunctionContainedClasses;
    }
  }
}
+2 −42
Original line number Diff line number Diff line
@@ -23,6 +23,7 @@ module _3gpp-5gc-nrm-nrffunction {
  import _3gpp-5gc-nrm-gmlcfunction { prefix gmlc3gpp;}
  import _3gpp-5gc-nrm-lmffunction { prefix lmf3gpp;}
  import _3gpp-5gc-nrm-aiot { prefix aiot3gpp;}
  import _3gpp-5gc-nrm-chffunction { prefix chf3gpp;}

  organization "3gpp SA5";
  contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464";
@@ -73,47 +74,6 @@ module _3gpp-5gc-nrm-nrffunction {
      uses types3gpp:Ipv6PrefixRange;
    }
  }
  grouping chfInfo {
    list supiRangeList {
      description "List of ranges of SUPIs that can be served by
       the CHF instance. If not provided, the CHF can serve any SUPI.";
      key "start end pattern";
      min-elements 1;
      uses types5g3gpp:SupiRangeGrp;
    }

    list gpsiRangeList {
      description "List of ranges of GPSI that can be served
      by the CHF instance. If not provided, the CHF can serve any GPSI.";
      key idx;
      leaf idx { type uint32; }
      min-elements 1;
      uses types5g3gpp:IdentityRangeGrp;
    }

    list plmnRangeList {
      description "List of ranges of PLMNs (including the PLMN
      IDs of the CHF instance) that can be served by the CHF instance.
                   If not provided, the CHF can serve any PLMN.";

      min-elements 1;
      key "mcc mnc";
      uses types3gpp:PLMNId;
    }
    leaf primaryChfInstance {
      description "This attribute represents the NF Instance Id of the
      primary CHF instance. This attribute shall be absent if the
      secondaryChfInstance is present.";
      type string;

    }
    leaf secondaryChfInstance {
      description "This attribute represents the NF Instance Id of the
      secondary CHF instance.This attribute shall be absent if the
      primaryChfInstance is present.";
      type string;
    }
  }
  grouping pcscfInfo  {
    description "This data type represents the information of a P-CSCF 
      NF Instance.
@@ -414,7 +374,7 @@ module _3gpp-5gc-nrm-nrffunction {
      }

      min-elements 1;
      uses chfInfo;
      uses chf3gpp:ChfInfoGrp;
    }

    list servedNwdafInfo {