Commit f82495de authored by lengyelb's avatar lengyelb
Browse files

Merge branch 'YANG-stage3-Corrections-Rel20-SA5-167' into 'Integration_Rel20_SA5_167_YANG'

YANG-stage3-Corrections-Rel20-SA5-167-28.541-CR1703-1709 into Integration

See merge request !2103
parents 1319a07d 8a9e3b14
Loading
Loading
Loading
Loading
Loading
+89 −2
Original line number Diff line number Diff line
@@ -6,17 +6,18 @@ module _3gpp-5g-common-yang-types {
  import ietf-yang-types { prefix yang; }
  import ietf-inet-types { prefix inet; }
  import _3gpp-common-yang-types { prefix types3gpp; }
  import _3gpp-common-yang-extensions { prefix yext3gpp; }

  organization "3GPP SA5";
  contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464";
  description "The model defines common types for 5G networks and
    network slicing.
    Copyright 2025, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI,
    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-"; }  
  revision 2026-01-25 { reference "CR-0060"; }  // common for R19, R20
  revision 2026-01-25 { reference "CR-0060"; }  
  revision 2025-11-07 { reference CR-1640 ; }
  revision 2025-11-02 { reference CR-1658 ; }
  revision 2025-07-25 { reference CR-1558 ; }
@@ -30,6 +31,92 @@ module _3gpp-5g-common-yang-types {
  revision 2020-11-05 { reference CR-0412 ; }
  revision 2019-10-20 { reference "Initial version."; }

  typedef NwdafEvent {
    description "The detailed ENUM value for NwdafEvent see the
      Table 5.1.6.3.4-1 in TS 29.520";
    type union {
      type enumeration {
        enum SLICE_LOAD_LEVEL;
        enum NETWORK_PERFORMANCE;
        enum NF_LOAD;
        enum SERVICE_EXPERIENCE;
        enum UE_MOBILITY;
        enum UE_COMMUNICATION;
        enum QOS_SUSTAINABILITY;
        enum ABNORMAL_BEHAVIOUR;
        enum USER_DATA_CONGESTION;
        enum NSI_LOAD_LEVEL;
        enum DN_PERFORMANCE;
        enum DISPERSION;
        enum RED_TRANS_EXP;
        enum WLAN_PERFORMANCE;
        enum SM_CONGESTION;
      }
      type string;
    }
  }  
  
  grouping VflInfoGrp {
    description "Represents the data type VflInfo";
    
    leaf-list vflAnalyticsIds {
      min-elements 1;
      type NwdafEvent;
      description "This attribute indicates the Analytics Id(s) (identified by z
        nwdafEvent defined in TS 29.520) for which VFL is supported.
        The included Analytics Id(s) shall have the same attribute values, 
        e.g. they shall share the same vflCapabilityType.";
    }

    leaf vflCapabilityType {
      type enumeration {
        enum VFL_SERVER;
        enum VFL_CLIENT;
        enum VFL_SERVER_AND_CLIENT;
      }
      mandatory true;
      description "This attribute indicates the type of the supported VFL
        capability as specified in clause 5.2 of 3GPP TS 23.288.";
    }
    leaf vflClientAggrCap {
      type boolean;
      yext3gpp:initial-value false;
      description "This attribute indicates whether a VFL client supports 
        aggregating the intermediate results of other VFL clients.
        This attribute shall be present if aggregating the intermediate results 
        of other VFL clients is supported and the vflCapabilityType is set 
        to 'VFL_CLIENT' or 'VFL_SERVER_AND_CLIENT'.";
    }

    list vflTimeInterval {
      key idx ;
      leaf idx { type uint32; }
      description "This attribute indicate the Time interval supporting VFL as 
        specified in clause 5.2 of 3GPP TS 23.288.
        This attribute shall be present if the vflCapabilityType attribute is 
        present.";
      uses types3gpp:TimeWindowGrp;
    }

    leaf vflInterInfo {
      type string;
      description "This attribute indicate the VFL interoperability indicator.
      This attribute shall be present if the NWDAF or AF supports the VFL 
      interoperability for the provided Analytics Id(s). If none are provided 
      the NWDAF is not allowed to perform the VFL operation.";
    }

    leaf-list featureId {
      type string;
      description "This attribute indicate the different feature information 
        supported by the NWDAF or AF for the provided Analytics Id(s). Only 
        the VFL clients and the VFL server sharing the same VFL interoperability 
        indicator can understand the content of feature ID(s).
        This attribute shall be present if the vflCapabilityType attribute is 
        present.";
    }
  }
  
  grouping AreaScopeGrp {
    description "This <<dataType>> defines an area scope.";

+102 −0
Original line number Diff line number Diff line
module _3gpp-5gc-nrm-aanffunction {
  yang-version 1.1;
  namespace urn:3gpp:sa5:_3gpp-5gc-nrm-aanffunction;
  prefix aanf3gpp;

  import _3gpp-common-managed-function { prefix mf3gpp; }
  import _3gpp-common-managed-element { prefix me3gpp; }
  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 AAnF function in 5GC.
    For more information about the AANF, see TS 33.535.
    Copyright 2026, 3GPP Organizational Partners (ARIB, ATIS,
    CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved.";
  reference "3GPP TS 28.541";

  revision 2026-04-26 { reference CR-1703; }

  grouping AanfInfoGrp {
    description "This data type represents the Specific
      data for the AAnF.";
      reference "See clause 6.1.6.2.73 TS 29.510).";

    leaf-list routingIndicators {
      description "It represents list of Routing Indicator
        information that allows to route network
        signalling with SUCI (see TS 23.003) to the
        AAnF instance. If not provided, the AAnF can
        serve any Routing Indicator.";
      type string {
        pattern '[0-9]{1,4}';
      }
      min-elements 1;
    }
  }

  grouping AANFFunctionGrp {
    description "Represents the AANFFunction 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 aanfInfo {
      description "This attribute represents information
        of an AAnF NF Instance.";
      max-elements 1;
      key idx;
      leaf idx { type uint32; }
      uses AanfInfoGrp;
    }
  }

  augment "/me3gpp:ManagedElement" {
    list AANFFunction {
      description "5G Core AAnF Function";
      reference "3GPP TS 28.541";
      key id;
      uses top3gpp:Top_Grp;
      container attributes {
        uses AANFFunctionGrp;
      }
      uses mf3gpp:ManagedFunctionContainedClasses;
    }
  }
}
+120 −1
Original line number Diff line number Diff line
@@ -6,24 +6,143 @@ module _3gpp-5gc-nrm-affunction {
  
  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-5gc-nrm-neffunction { prefix nef3gpp; }
  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 is defined only to describe the IOCs representing
               its interaction interface with 5GC (i.e. EP_Rx and EP_N5).
               It has no attributes defined.
    Copyright 2023, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, 
    Copyright 2026, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, 
    TTA, TTC). All rights reserved.";
  reference "3GPP TS 28.541";
  
  revision 2026-05-20 { reference CR-1703 ; } 
  revision 2023-09-18 { reference CR-1043 ; } 
  revision 2023-04-26 { reference CR-0916; }
  revision 2019-10-28 { reference S5-193518 ; }
  revision 2019-05-15 {reference "initial revision"; }
  
  grouping TrustAfInfoGrp {
    description "Represent the data type TrustAfInfo.";
    
    list sNssaiInfoList {
      description "It represents S-NSSAIs and DNNs supported by the trust AF.";
      min-elements 1;
      key idx;
      leaf idx { type uint32 ; }
      uses nef3gpp:SnssaiInfoItemGrp;
    }

    leaf-list afEvents {                   
      type enumeration {
        enum SVC_EXPERIENCE;
        enum UE_MOBILITY;
        enum UE_COMM;
        enum EXCEPTIONS;
        enum USER_DATA_CONGESTION;
        enum PERF_DATA;
        enum COLLECTIVE_BEHAVIOUR;
        enum DISPERSION;
        enum MS_QOE_METRICS;
        enum MS_CONSUMPTION;
        enum MS_NET_ASSIST_INVOCATION;
        enum MS_DYN_POLICY_INVOCATION;
        enum MS_ACCESS_ACTIVITY;
      }                                                    
      description "This attribute represents list of AF Event(s) supported 
        by the trusted AF.";   
      reference "Clause 5.6.3.3 TS 29.517";
    }                                                                 

    leaf-list appIds {  
      type string;
      description "This attribute represents a list of Application ID(s) 
        supported by the trusted AF. The absence of this attribute indicate 
        that the AF can be selected for any Application.";
    }

    leaf-list internalGroupId {
      type string {
        pattern 
          '[A-Fa-f0-9]{8}-[0-9]{3}-[0-9]{2,3}-([A-Fa-f0-9][A-Fa-f0-9]){1,10}';
      }
      description "This attribute represents a list of Internal Group 
        Identifiers supported by the trusted AF.
        If not provided, it does not imply that the AF supports all internal 
        groups.";
    }

    leaf mappingInd {
      type boolean;
      default false;
      description "This attribute indicates whether the trusted AF supports 
        mapping between UE IP address (IPv4 address or IPv6 prefix) and UE ID 
        (i.e. SUPI).";
    }

    list taiList {                              
      description "Indicates the list of TAIs the trusted AF can serve.";
      key idx;                                  
      min-elements 1;                           
      leaf idx { type uint32; }                 
      uses types3gpp:TaiGrp;                    
    }                                           

    list taiRangeList {                
      description "Indicates the range of TAIs the trusted AF can serve.";
      min-elements 1;                  
      key idx;                         
      leaf idx { type uint32; }        
      uses types5g3gpp:TaiRangeGrp;    
    }                                  

    list vflInfo {
      description "";
      key idx;
      leaf idx { type uint32 ; }
      uses types5g3gpp:VflInfoGrp;
    }
  }
  
  grouping AFFunctionGrp {
    uses mf3gpp:ManagedFunctionGrp;
    
    list pLMNIdList {
      description "List of PLMN IDs.";
      key "mcc mnc";
      uses types3gpp:PLMNId;
    }

    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 trustAfInfo {
      description "Represents information of a trusted AF Instance.";
      key idx;                                                         
      leaf idx { type uint32;}                                         
      max-elements 1;                                                  
      uses TrustAfInfoGrp;                               
     }
  }
  
  augment "/me3gpp:ManagedElement" {
+21 −3
Original line number Diff line number Diff line
@@ -17,10 +17,11 @@ module _3gpp-5gc-nrm-amffunction {
  organization "3gpp SA5";
  contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464";
  description "AMFFunction derived from basic ManagedFunction.
    Copyright 2025, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI,
    Copyright 2026, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI,
    TTA, TTC). All rights reserved.";
  reference "3GPP TS 28.541 5G Network Resource Model (NRM)";

  revision 2026-05-25 { reference CR-1703 ; }
  revision 2025-07-25 { reference CR-1558 ; }
  revision 2025-03-25 { reference "CR-1489 CR-1512" ; }
  revision 2024-11-01 { reference CR-1405; }
@@ -368,14 +369,14 @@ module _3gpp-5gc-nrm-amffunction {
  grouping AmfInfoGrp {
    description "Represents the data type AmfInfo.";

    leaf amfRegionId {
    leaf aMFRegionId {
      type int64;
      mandatory true;
      description "It represents the AMF Region ID, which identifies the
        region. AllowedValues: defined in subclause 2.10.1 of 3GPP TS 23.003 ";
    }

    leaf amfSetId {
    leaf aMFSetId {
      type int64;
      mandatory true;
      description "It represents the AMF Set ID, which is uniquely identifies
@@ -455,6 +456,23 @@ module _3gpp-5gc-nrm-amffunction {
        NR RedCap UE;
        - TRUE: AMF supports High Latency communication e.g. for NR RedCap UE;";
    }

    leaf-list amfEvents {
      type string;
      min-elements 1;
      description "This attribute indicates AMF event types supported
        by the AMF, see TS 29.510.
        allowedValues: See clause 6.2.6.3.3 of TS 29.518 for
        AmfEventType.";
    }

    leaf-list praIdList {
      type string;
      min-elements 1;
      description "This attribute indicates the identifier of the Core
        Network predefined PRA(s) supported by the AMF, see
        TS 29.510.";
    }
  }

  grouping AMFFunctionGrp {
+182 −0
Original line number Diff line number Diff line
module _3gpp-5gc-nrm-bsffunction {
  yang-version 1.1;
  namespace urn:3gpp:sa5:_3gpp-5gc-nrm-bsffunction;
  prefix bsf3gpp;

  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 BSF function in 5GC.
    For more information about the BSF, see TS 23.503.
    Copyright 2026, 3GPP Organizational Partners (ARIB, ATIS,
    CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved.";
  reference "3GPP TS 28.541";

  revision 2026-04-26 { reference CR-1703; }

  grouping BsfInfoGrp {
    description "This data type represents the Specific
      data for the BSF.
      (See clause 6.1.6.2.21 TS 29.510).";

    list ipv4AddressRanges {
      description "List of ranges of IPv4 addresses
        handled by BSF. If not provided, the BSF can
        serve any IPv4 address.";
        //optional
      key "start end";
      uses types3gpp:Ipv4AddressRange;
    }

    leaf-list dnnList {
      description "This attribute represents the list of DNNs handled by the 
      BSF. The DNN shall contain the Network Identifier and it may 
      additionally contain an Operator Identifier. If the Operator Identifier
      is not included, the DNN is supported for all the PLMNs in the plmnList
      of the NF Profile. If not provided, the BSF can serve any DNN.";
        //optional
      type string;
    }

    leaf-list ipDomainList {
      description "List of IPv4 address domains, as
        described in clause 6.2 of 3GPP TS 29.513,
        handled by the BSF. If not provided, the BSF
        can serve any IP domain.";
        //optional
      type string;
    }

    list ipv6PrefixRanges {
      description "List of ranges of IPv6 prefixes
        handled by the BSF. If not provided, the BSF
        can serve any IPv6 prefix.";
        //optional
      key "start end";
      uses types3gpp:Ipv6PrefixRange;
    }

    leaf rxDiamHost {
      description "This attribute represents the Diameter host of the Rx
      interface for the BSF";
      type string;
    }

    leaf rxDiamRealm {
      description "This attribute represents the Diameter realm of the Rx
      interface for the BSF. See TS 29.571 [61]. String contains a Diameter
      Identity (FQDN).";
      type string;
    }

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

    list supiRanges {
      description "List of ranges of SUPIs served by
        the BSF instance.";
        //optional
      key idx;
      leaf idx { type uint32; }
      uses types5g3gpp:SupiRangeGrp;
    }

    list gpsiRanges {
      description "List of ranges of GPSIs served by
        the BSF instance.";
        //optional
      key idx;
      leaf idx { type uint32; }
      uses types5g3gpp:IdentityRangeGrp;
    }
  }

  grouping BSFFunctionGrp {
    description "Represents the BSFFunction 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;
    }

    leaf-list cNSIIdList {
      description "NSI ID. NSI ID is an identifier for
        identifying the Core Network part of a Network
        Slice instance when multiple Network Slice
        instances of the same Network Slice are deployed,
        and there is a need to differentiate between them
        in the 5GC";
        reference "see clause 3.1 of TS 23.501 and
        subclause 6.1.6.2.7 of 3GPP TS 29.531.";
        //optional
      type string;
    }

    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 bsfInfo {
      description "This attribute represents information of a BSF NF
      Instance. Multiple bsfInfo may be allowed when BSF provides binding
       service for various combinations of IPv4 addresses and ipDomains";
        //optional
      key idx;
      leaf idx { type uint32; }
      uses BsfInfoGrp;
    }
  }

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