Commit a425a386 authored by lengyelb's avatar lengyelb
Browse files

Merge branch 'YANG_Corrections_Rel18-SA5-164_28.111_28.623_28.541' into...

Merge branch 'YANG_Corrections_Rel18-SA5-164_28.111_28.623_28.541' into 'Integration_Rel18_SA5_164_YANG'

YANG_Corrections_Rel18-SA5-164_28.111_28.623-CR0585_28.541-CR1639 into Integration

See merge request !1957
parents ae9807ba c2352feb
Loading
Loading
Loading
Loading
Loading
+8 −3
Original line number Diff line number Diff line
@@ -12,14 +12,16 @@ module _3gpp-5gc-nrm-amffunction {
  import _3gpp-common-top { prefix top3gpp; }
  import _3gpp-nr-nrm-gnbcuupfunction { prefix gnbcuup3gpp; }
  import _3gpp-5gc-nrm-nfprofile { prefix nfp3gpp; }
  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 "AMFFunction derived from basic ManagedFunction.
    Copyright 2024, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, 
    Copyright 2025, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, 
    TTA, TTC). All rights reserved.";
  reference "3GPP TS 28.541 5G Network Resource Model (NRM)";
  
  revision 2025-11-06 { reference CR-1639 ; } 
  revision 2025-08-18 { reference CR-1557 ; }
  revision 2024-10-06 { reference CR-1389; }
  revision 2024-04-04 { reference CR-1139; }
@@ -490,10 +492,13 @@ module _3gpp-5gc-nrm-amffunction {
    
    list managedNFProfile {
      key idx;
      leaf idx { type uint32; }
      min-elements 1;
      max-elements 1;
      uses types3gpp:ManagedNFProfile;
      description "";
      description "This data type represents a Profile definition of a 
      Managed NF ";
      reference "See TS 23.501";
      uses mnfp3gpp:ManagedNFProfileGrp;
    }

    list commModelList {
+8 −3
Original line number Diff line number Diff line
@@ -8,19 +8,20 @@ module _3gpp-5gc-nrm-ausffunction {
  import _3gpp-common-managed-element { prefix me3gpp; }
  import ietf-inet-types { prefix inet; }
  import _3gpp-5g-common-yang-types { prefix types5g3gpp; }
  import _3gpp-common-yang-types { prefix types3gpp; }
  import _3gpp-common-yang-extensions { prefix yext3gpp; }
  import _3gpp-common-top { prefix top3gpp; }
  import _3gpp-5gc-nrm-nfprofile { prefix nfp3gpp; }
  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 AUSF function in 5GC. For more 
    information about the AUSF, see 3GPP TS 23.501.
    Copyright 2023, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, 
    Copyright 2025, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, 
    TTA, TTC). All rights reserved.";
  reference "3GPP TS 28.541";
  
  revision 2025-11-06 { reference CR-1639 ; } 
  revision 2023-09-18 { reference CR-1043 ; } 
  revision 2022-01-07 { reference CR-0643; }
  revision 2020-11-06 { reference CR-0412 ; }
@@ -116,9 +117,13 @@ module _3gpp-5gc-nrm-ausffunction {
    
    list managedNFProfile {
      key idx;
      leaf idx { type uint32; }
      min-elements 1;
      max-elements 1;
      uses types3gpp:ManagedNFProfile;
      description "This data type represents a Profile definition of a 
      Managed NF ";
      reference "See TS 23.501";
      uses mnfp3gpp:ManagedNFProfileGrp;
    }
  
    list commModelList {
+11 −5
Original line number Diff line number Diff line
@@ -9,13 +9,15 @@ module _3gpp-5gc-nrm-lmffunction {
  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";
  description "This IOC represents the LMF function defined in 3GPP TS 23.501.
    Copyright 2023, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, 
    Copyright 2025, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, 
    TTA, TTC). All rights reserved.";
  reference "3GPP TS 28.541";
  
  revision 2025-11-06 { reference CR-1639 ; } 
  revision 2023-09-18 { reference CR-1043 ; } 
  revision 2019-10-25 { reference "S5-194457 S5193518"; }

@@ -29,9 +31,9 @@ module _3gpp-5gc-nrm-lmffunction {
    uses mf3gpp:ManagedFunctionGrp;

    list pLMNIdList {
      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).";

      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;
      max-elements 6;
      key "mcc mnc";
@@ -40,8 +42,12 @@ module _3gpp-5gc-nrm-lmffunction {
    
    list managedNFProfile {
      key idx;
      leaf idx { type uint32; }
      min-elements 1;
      uses types3gpp:ManagedNFProfile;
      description "This data type represents a Profile definition of a 
      Managed NF ";
      reference "See TS 23.501";
      uses mnfp3gpp:ManagedNFProfileGrp;
    }

    list commModelList {
+410 −0
Original line number Diff line number Diff line
module _3gpp-5gc-nrm-managed-nfprofile {
  yang-version 1.1;

  namespace urn:3gpp:sa5:_3gpp-5gc-nrm-managed-nfprofile;
  prefix mnfp3gpp;

  import _3gpp-common-yang-types { prefix types3gpp; }
  import ietf-inet-types { prefix inet; }
  import ietf-yang-types { prefix yang; }
  import _3gpp-5gc-nrm-nfprofile { prefix nfp3gpp; }

organization "3gpp SA5";
contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464";
description "NF profile class.
Copyright 2025, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI,
TTA, TTC). All rights reserved.";
  reference "3GPP TS 29.510";

  revision 2025-11-06 { reference CR-1639 ; } 
  revision 2025-11-06 { reference "initial revision"; }

    grouping SPNInfoIdGrp {
        description "This data type represents the SNPN identification
        consisting of MCC, MNC, and optionally NID.";
        leaf mcc {
            type string;
            description "Mobile Country Code (MCC) of the SNPN.";
        }

        leaf mnc {
            type string;
            description "Mobile Network Code (MNC) of the SNPN.";
        }

        leaf nId {
            type string;
            description "Network Identifier (NID) of the SNPN.";
        }
    }

    grouping SupiRangeGrp {
    leaf start {
        description "First value identifying the start ofa SUPI range.To be
        used when the range of SUPI's can be represented as a numeric range
        (e.g., IMSI ranges).";
        type string {
            pattern '^[0-9]+$';
            }
        }

    leaf end {
        description "Last value identifying the end of a SUPI range.To be
        used when the range of SUPI's can be represented as a numeric range
        (e.g. IMSI ranges).";
        type string {
            pattern '^[0-9]+$';
            }
        }

    leaf pattern {
        description "Pattern representing the set of SUPI's belonging to
        this range.A SUPI value is considered part of the range if and
        only if the SUPI string fully matches the regular expression.";
        type string;
        }
    }

    grouping ConditionItemGrp {
        description "This data type represents a single condition item that
        shall be evaluated to determine whether a discovered NF (Service)
        Instance shall be selected.";

        leaf consumerNfTypes {
            description "It represents the NF types of the consumers for
            which the conditions included in this ConditionItem apply.
            If this attribute is absent, the conditions are applicable
            to all NF consumer types.";
            type types3gpp:NfType;
        }
        leaf serviceFeature {
            description "It represents a feature number of that NF Service
                Instance,under CANARY_RELEASE status. This attribute only
                applies when the          selectionConditions, where this
                ConditionItem is included, is included in a NF Service Instance
                This condition is evaluated to <true> when the service requests
                froma consumer of this NF Service Instance require the support
                 of the indicated feature on the NF Service Instance.";
            type uint32; // positive integer, 0 excluded by context
        }
        leaf vsServiceFeature {
            description "It represents a Vendor-Specific feature
                number of thatNF Service Instance, under CANARY_RELEASE
                status. This attribute only applies when the
                selectionConditions, where this ConditionItem is included,
                is included in a NF Service Instance.This condition is
                evaluated to true when the service requests from a
                consumer of this NF Service Instance require the support
                of the indicated Vendor-Specific feature on the NF
                Service Instance.";
            type uint32;
        }
        list supiRangeList {
            description "It represents a set of SUPIs for which
                the NF (Service) instance under CANARY_RELEASE status shall
                 be selected.";
            key idx;
            leaf idx { type uint32; }
            uses SupiRangeGrp;
        }
        list gpsiRangeList {
            description "It represents a set of GPSIs for which the NF
                (Service)
                instance under CANARY_RELEASE status shall be selected";
            min-elements 1;
            key idx;
            leaf idx { type uint32; }
            uses IdentityRange;
        }
        list impuRangeList {
            description "It represents a set of IMS Public Identities
                for which the NF (Service) instance under CANARY_RELEASE
                 status shall be selected";
            min-elements 1;
            key idx;
            leaf idx { type uint32; }
            uses IdentityRange;
        }
        list impiRangeList {
            description "It represents a set of IMS Private Identities
                for which theNF (Service) instance under
                CANARY_RELEASE status shall be selected.";
            min-elements 1;
            key idx;
            leaf idx { type uint32; }
            uses IdentityRange;
        }
        leaf peiList {
            description "It represents a set of PEIs of the UEs for
                which the NF(Service) instance under CANARY_RELEASE status
                shall be selected";
            type string;
        }
        list taiRangeList {
            description "It represents a set of TAIs where the
                NF(Service) instance under CANARY_RELEASE status shall
                be selected for a certain UE";
            min-elements 1;
            key idx;
            leaf idx { type uint32; }
            uses nfp3gpp:TaiRangeGrp;
        }
        leaf dnnList {
            description " It represents a set of TAIs where the NF
                (Service) instance under CANARY_RELEASE status shall be
                selected for a certain UE";
             type string;
        }
    }
    grouping PlmnSnssai {
        list plmnId {
            description "PLMN ID for which list of supported S-NSSAI(s)
            is provided.";
            min-elements 1;
            max-elements 1;
            key "mcc mnc";
            uses types3gpp:PLMNId;
        }
        list sNssaiList {
            description "The specific list of S-NSSAIs supported
            by the given PLMN.";
            min-elements 1;
            max-elements 1;
            key "sst sd";
            uses types3gpp:SNssai;
        }
        leaf nid {
            description "Network Identity; Shall be present if PlmnIdNid
            identifies an SNPN ";
            reference "see clauses 5.30.2.3, 5.30.2.9, 6.3.4,
            and 6.3.8 in 3GPP TS 23.501 ";
            type string;
        }
    }
 
    grouping IdentityRange {
        leaf start {
            description "First value identifying the start of an identity range.
            To be used when the range of identities can be represented
            as a numeric range (e.g., MSISDN ranges).";
            type string {
                pattern '^[0-9]+$';
                }
        }
        leaf end {type string; } // dummy
        leaf pattern {type string; } // dummy
    }

grouping ManagedNFProfileGrp {

    leaf nfInstanceId {
        description "String uniquely identifying a NF instance.";
        mandatory true;
        type string;
    }

    leaf nfType {
        description "Type of Network Function.";
        mandatory true;
        type types3gpp:NfType;
    }

    leaf heartBeatTimer {
        description "Time in seconds expected between 2 consecutive
       heart-beat messages from an NF Instance to the NRF.
       It may be included in the registration request.
       When present in the request it shall contain the
       heartbeat time proposed by the NF service consumer.";
       type uint16;
    }

    leaf hostAddr {
      mandatory true;
      type inet:host ;
      description "Host address of a NF";
    }

    leaf authzInfo {
      description "This parameter defines NF Specific Service authorization
       information. It shall include the NF type (s) and NF realms/origins
      allowed to consume NF Service(s) of NF Service Producer ";
      reference "TS 23.501";
      type string;
    }

    list allowedPlmns {
      description "PLMNs allowed to access the NF instance.
      If not provided, any PLMN is allowed to access the NF.";
      min-elements 1;
      key "mcc mnc";
      uses types3gpp:PLMNId;
    }

    list sNPNList {
      key "mcc mnc nId";
      description "SNPN(s) of the Network Function. This attributeIE shall be
      present if the NF pertains to one or more SNPNs.";
      reference "TS 29.510";
      uses SPNInfoIdGrp;
    }

    list allowedSNPNs {
      description "SNPNs allowed to access the NF instance.
      The absence of this attribute in the NF profile indicates that no SNPN,
      other than the SNPN(s) registered in the snpnList attribute of the
      NF Profile, is allowed to access the service instance";
      key "mCC mNC";
      uses types3gpp:SNPNIdGrp;
    }

    leaf-list allowedNfTypes {
      description "Type of the NFs allowed to access the NF instance.
                   If not provided, any NF type is allowed to access the NF.";
      min-elements 1;
      type types3gpp:NfType;
    }

    leaf-list allowedNfDomains {
      description "Pattern (regular expression according to the ECMA-262
      dialect [75]) representing the NF domain names within the PLMN of
      the NRF allowed to access the NF instance If not provided,
      any NF domain is allowed to access the NF.";
      type string;
    }

    list allowedNSSAIs {
        description "S-NSSAI of the allowed slices to access the NF instance.
        If not provided, any slice is allowed to access the NF.";
      key "sst sd";
      uses types3gpp:SNssai;
    }

    leaf locality {
      description "Operator defined information about the location
       of the NF instance (e.g. geographic location, data center).";
      type string;
    }

    leaf capacity {
      description "Static capacity information in the range of 0-65535,
       expressed as a weight relative to other NF instances of
        the same type; if capacity is also present in the nfServiceList
         parameters, those will have precedence over this value.";
      type uint16;
    }

    leaf-list recoveryTime {
      description "Timestamp when the NF was (re)started. The NRF shall notify
      NFs subscribed to receiving notifications of changes of the NF profile,
      if the NF recoveryTime is changed";
      type yang:date-and-time;
    }
    leaf nfServicePersistence {
      description "This parameter indicates whether the different service
      instances of a same NF Service in the NF instance, supporting a same
      API version, are capable to persist their resource state in shared
      storage and therefore these resources are available after a new NF
      service instance supporting the same API version is selected by a NF
      Service Consumer ";
      reference "TS 29.510";
      type boolean;
    }
    leaf-list nfSetIdList {
      type string ;
      min-elements 1;
      description "A NF Set Identifier is a globally unique identifier of
      a set of equivalent and interchangeable CP NFs from a given network
      that provide distribution, redundancy and scalability
      (see clause 5.21.3 of 3GPP TS 23.501 [2]).An NF Set Identifier shall
      be constructed from the MCC, MNC, NID (for SNPN), NF type and a Set ID.
      A NF Set Identifier shall be formatted as the following string:
      set<Set ID>.<nftype>set.5gc.mnc<MNC>.mcc<MCC> for a NF Set in a PLMN, or
      set<Set ID>.<nftype>set.5gc.nid<NID>.mnc<MNC>.mcc<MCC> for a NF Set
      in a SNPN.At most one NF Set ID shall be indicated per PLMN-ID or SNPN
       of the NF.";
    }
    leaf-list nfProfileChangesSupportInd {
      description "This parameter indicates if the NF Service Consumer supports
       or does not support receiving NF Profile Changes. It may be present in
       the NFRegister or NFUpdate (NF Profile Complete Replacement) request and
       shall be absent in the response (see Annex B 3GPP TS 29.510 [23]).  ";
       max-elements 1;
      type boolean;
    }
     leaf-list nfProfilePartialUpdateChangesSupportInd {
      description "It represents NF Profile Partial Update Changes Support
      Indicator. TRUE: the NF Service Consumer supports receiving NF Profile
      Changes in the response to an NF Profile Partial Update operation.
      FALSE (default): the NF Service Consumer does not support receiving
      NF Profile Changes in the response to an NF Profile Partial Update
      operation";
      max-elements 1;
      type boolean;
    }

    list defaultNotificationSubscriptions {
      description "Notification endpoints for different notification types.
      This attribute may contain multiple default subscriptions for a same
      notification type; in that case, those default subscriptions are used
      as alternative notification endpoints.";
      key notificationType;
      min-elements 1;
      uses types3gpp:DefaultNotificationSubscription;
    }
    leaf servingScope {
      description "This parameter indicates the served geographical areas
      of a NF instance.";
      type string;
    }
    leaf-list lcHSupportInd {
      description "This parameter indicates whether the NF supports or does
      not support Load Control based on LCI Header.";
      reference "clause 6.3 of 3gpp TS 29.500";
      max-elements 1;
      type boolean;
    }
    leaf-list olcHSupportInd {
      description "This parameter indicates whether the NF supports or does
      not support Overload Control based on OCI Header .";
      reference "clause 6.4 of 3gpp TS 29.500";
      max-elements 1;
      type boolean;
    }
    leaf-list nfSetRecoveryTimeList {
      description "This parameter contains the recovery time of NF Set(s)
      indicated by the NfSetId, where the NF instance belongs.";
      type yang:date-and-time ;
      max-elements 1;
    }
    leaf-list serviceSetRecoveryTimeList {
      description "This parameter contains the recovery time of NF Service
      Set(s) configured in the NF instance, which are indicated by the
      NfServiceSetId";
      type yang:date-and-time ;
      max-elements 1;
    }
    leaf scpDomains {
      description "This parameter shall carry the list of SCP domains the
      SCP belongs to, or the SCP domain the NF (other than SCP) or the SEPP
      belongs to..";
      type string;
    }
    leaf vendorId {
      description "Vendor ID of the NF instance, according to the
      IANA-assigned SMI Network Management Private Enterprise Codes [77].
      allowedValues: 6 decimal digits; if the SMI code has less than
      6 digits, it shall be padded with leading digits 0 to complete
      a 6-digit string value.";
      type string;
    }

    leaf-list interPlmnFqdn {
      description "If the NF needs to be discoverable by other
       NFs in a different PLMN, then an FQDN that is used
        for inter-PLMN routing is specified.";
      type inet:domain-name;
    }

}
}
+8 −3
Original line number Diff line number Diff line
@@ -11,6 +11,7 @@ module _3gpp-5gc-nrm-neffunction {
  import _3gpp-common-yang-extensions { prefix yext3gpp; }
  import _3gpp-common-top { prefix top3gpp; }
  import _3gpp-5gc-nrm-nfprofile { prefix nfp3gpp; }
  import _3gpp-5gc-nrm-managed-nfprofile { prefix mnfp3gpp; }
  
  organization "3gpp SA5";
  contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464";
@@ -20,6 +21,7 @@ module _3gpp-5gc-nrm-neffunction {
    TTA, TTC). All rights reserved.";
  reference "3GPP TS 28.541";
  
  revision 2025-11-06 { reference CR-1639 ; } 
  revision 2025-08-18 { reference CR-1557 ; }
  revision 2024-05-18 { reference CR-1273 ; } 
  revision 2024-04-12 { reference CR-1218 ; } 
@@ -294,11 +296,14 @@ module _3gpp-5gc-nrm-neffunction {
    }

    list managedNFProfile {
      description "This parameter defines profile for managed NF(See TS 23.501)";
      key idx;
      leaf idx { type uint32; }
      min-elements 1;
      max-elements 1;
      key idx;
      uses types3gpp:ManagedNFProfile;
      description "This data type represents a Profile definition of a 
      Managed NF ";
      reference "See TS 23.501";
      uses mnfp3gpp:ManagedNFProfileGrp;
    }
    
    leaf-list capabilityList {
Loading