Commit 10dd097a authored by lengyelb's avatar lengyelb
Browse files

Merge branch 'YANG-stage3-Corrections-Rel19-SA5-167' into 'Integration_Rel19_SA5_167_YANG'

YANG-stage3-Corrections-Rel19-SA5-167-28541-cr1702-1708 into Integration

See merge request !2104
parents 6e17fec9 604b8417
Loading
Loading
Loading
Loading
Loading
+27 −1
Original line number Diff line number Diff line
@@ -11,10 +11,11 @@ module _3gpp-5g-common-yang-types {
  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-1694 ; }
  revision 2025-11-07 { reference CR-1640 ; }
  revision 2025-11-01 { reference CR-1657 ; }
@@ -29,6 +30,31 @@ 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 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-25 { reference CR-1702; }

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

    leaf-list routingIndicators {
      description "This attribute represents the List of
        Routing Indicators supported by the AAnf
        instance. If not provided, the AAnf can serve
        any Routing Indicator.";
        //optional
      type string {
        pattern '[0-9]{1,4}';
      }
    }
  }

  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.";
        //optional
      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;
    }
  }
}
+97 −1
Original line number Diff line number Diff line
@@ -6,24 +6,120 @@ 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-19 { reference CR-1702 ; } 
  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).";
    }
  }
  
  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" {
+4 −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-1702 ; }
  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
+188 −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-25 { reference CR-1702; }

  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 "This attribute represents the list of
        ranges of IPv4 addresses handled by BSF. If not
        provided, the BSF can serve any IPv4 address.";
      key "start end";
      //optional
      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 "This attribute represents the 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 "This attribute represents the 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. String contains a Diameter Identity
        (FQDN).";
      type string;
    }

    leaf groupId {
      description "This attribute 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 "This attribute represents list of
        ranges of SUPIs served by the BSF instance.";
        //optional
      key idx;
      leaf idx { type uint32; }
      uses types5g3gpp:SupiRangeGrp;
    }

    list gpsiRanges {
      description "This attribute represents 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, 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