Commit 6888bbe8 authored by lengyelb's avatar lengyelb Committed by lengyelb
Browse files

added ecmconnectioninfo

parent b60a08eb
Loading
Loading
Loading
Loading
+252 −0
Original line number Diff line number Diff line
module _3gpp-5gc-ecmconnectioninfo {
  yang-version 1.1;
  namespace "urn:3gpp:sa5:_3gpp-5gc-ecmconnectioninfo";
  prefix "econn3gpp";

  import ietf-inet-types { prefix inet; }
  import _3gpp-common-top { prefix top3gpp; }
  import _3gpp-common-yang-types { prefix types3gpp; }

  organization "3GPP SA5";
  contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464";
  description "Defines the YANG mapping of the EcmConnectionInfo Information 
    Object Class (IOC) that is part of the NR Network Resource Model (NRM).
    Copyright 2023, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, 
    TTA, TTC). All rights reserved.";
  reference "3GPP TS 28.541 5G Network Resource Model (NRM)";

  revision 2023-11-05 { reference CR-1131 ; } 
  
  grouping GeoLocGrp {
    description "This datatype represent the geographical location.";
    reference "3GPP 28.538 clause 6.3.4";
    
    list geographicalCoordinates {
      description "This refers to the Topological Service Area, 
        (see clause 7.3.3.2 in TS 23.558) that is defined as a datatype 
        (see clause 6.3.8).";
      key latitude;
      max-elements 1;
      uses types3gpp:GeographicalCoordinates;
    }
    
    leaf civicLocations {
      type string;
    }
  }

  grouping TopologicalServiceAreaGrp {
    description "This datatype represents the topological service area.";
    reference "3GPP TS 28.538 clause 6.3.7";
    
    leaf-list cellIDList {
      description "It represents the list of NR cells. 

        The cell ID, together with the gNB Identifier (using gNBId of the 
        parent GNBCUCPFunction or GNBDUFunction or ExternalCUCPFunction), 
        identifies a NR cell within a PLMN. This is the NR Cell Identity(NCI). 
        See subclause 8.2 of TS 38.300";
      type int32;
    }
    
    list trackingAreaIdList {
      description "It represents the list of tracking areas within a PLMN.";
      min-elements 1;
      key idx;
      
      leaf idx { type uint32; }
      uses types3gpp:TaiGrp;
    }
    
    list servingPLMN {
      description "It specifies the PLMN to be served.";
      max-elements 1;
      key idx;
      
      leaf idx { type uint32; }
      uses types3gpp:PLMNId;
    }
  }
  
  grouping ServingLocationGrp {
    description "This datatype represents the location which is to be served 
      by the node.";
    reference "3GPP TS 28.536 clause 6.3.3";
      
    list geographicalLocation {
      description "This refers to the Geographical Service Area, 
        (see clause 7.3.3.3 in TS 23.558 that is defined as a datatype 
        (see clause 6.3.4).";
      max-elements 1;
      key idx;
      
      leaf idx { type uint32; }
      uses GeoLocGrp;
    }
    
    list topologicalLocation { 
      description "This refers to the Topological Service Area, 
        (see clause 7.3.3.2 in TS 23.558) that is defined as a datatype 
        (see clause 6.3.7). ";
      max-elements 1;
      key idx;
      
      leaf idx { type uint32; }
      uses TopologicalServiceAreaGrp;
    }
  }
  
  grouping _5GCNfConnEcmInfoGrp {
    description "This data type specifies the 5GC NF connection information.";
    
    leaf _5GCNFType {
      type enumeration {
        enum PCF;
        enum NEF;
        enum SCEF;
      }
      description "It indicates the type of a NF instance.";
    }
    
    leaf _5GCNFIpAddress {
      type inet:host;
      mandatory true;
      description "This parameter defines address of a NF instance, 
      It can be IP address (either IPv4 address (See RFC 791) or 
      IPv6 address (See RFC 2373) or FQDN (See TS 23.003). ";
    }
    

    leaf _5GCNFRef {
      type types3gpp:DistinguishedName;
      description "This attribute holds the DN of a NF instance.";
    }
  }

  grouping UPFConnInfoGrp {
    description "This data type specifies the UPF connection information.";
    
    leaf uPFIpAddress {
      type inet:host;
      description "This parameter defines address of an UPF instance, 
        It can be IP address (either IPv4 address (See RFC 791) or 
        IPv6 address (See RFC 2373) or FQDN (See TS 23.003). ";
    }
    
    leaf uPFRef {
      type types3gpp:DistinguishedName;
      description "This attribute holds the DN of an UPF instance.";
    }
  }
  
  grouping EcmConnectionInfoGrp {
    description "Represents the EcmConnectionInfo IOC.";

    list eASServiceArea { 
      description "This parameter defines the EAS service area 
        (see clause 7.3.3.6 in TS 23.558).";
      min-elements 1;
      max-elements 1;
      key idx;
      leaf idx { type uint32 ; }
      uses ServingLocationGrp;
    }
    
    list eESServiceArea {
      description "This parameter defines the EES service area 
        (see clause 7.3.3.5 in TS 23.558).";
      min-elements 1;
      max-elements 1;
      key idx;
      leaf idx { type uint32 ; }
      uses ServingLocationGrp;
    }
    
    list eDNServiceArea {
      description "This parameter defines the EDN service area 
        (see clause 7.3.3.4 in TS 23.558)";
      min-elements 1;
      max-elements 1;
      key idx;
      leaf idx { type uint32 ; }
      uses ServingLocationGrp;
    }
    
    leaf eASIpAddress {
      type inet:ip-address;
      mandatory true;
      description "This parameter defines address of an EAS instance. 
        It can be IP address (either IPv4 address (See RFC 791) or IPv6 
        address (See RFC 2373).";
    }
    
    leaf eESIpAddress {
      type inet:ip-address;
      mandatory true;
      description "This parameter defines address of an EES instance. 
        It can be IP address (either IPv4 address (See RFC 791) or IPv6 
        address (See RFC 2373). ";
    }
    
    leaf eCSIpAddress {
      type inet:ip-address;
      mandatory true;
      description "This parameter defines address of an ECS instance. 
        It can be IP address (either IPv4 address (See RFC 791) or IPv6 
        address (See RFC 2373).";
    }
    
    leaf ednIdentifier {
      type string; 
      description "The identifier of the edge data network (See TS 23.558).";
    }
    
    leaf ecmConnectionType {
      type enumeration {
        enum USERPLANE;
        enum CONTROLPLANE;
        enum BOTH;
      }
      description "It indicates the type of ECM connection (i.e., user plane 
        connection via UPF, control plane connection via PCF or NEF.";
    }
    
    list _5GCNfConnEcmInfoList {
      description "The attribute specifies a list of 5GCNfConnInfo which is 
        defined as a datatype (see clause 5.3.120). It is used to 
        provide 5GC NFs, such as PCF, NEF, SCEF, that are connected EDN NFs, 
        such as EAS, EES, and ECS.";
      config false;
      min-elements 1;
      key idx;
      leaf idx { type uint32 ; }
      uses _5GCNfConnEcmInfoGrp;
    }
    
    list uPFConnectionInfo {
      description "The attribute is defined as a datatype UPFConnInfo 
        (see clause 5.3.121). It is used to provide the UPF IP address and 
        UPF DN. ";
      config false;
      min-elements 1;
      key idx;
      leaf idx { type uint32 ; }
      uses UPFConnInfoGrp;
    }    
  }

  grouping EcmConnectionInfoSubtree {
    description "Subtree containing EcmConnectionInfo.";
    
    list EcmConnectionInfo {
      description "This IOC contains attributes to enable ECSP management 
        system to connect EDN NFs (i.e., EAS, ECS, and EES) to 5GC NFs 
        (i.e. UPF, PCF, NEF, SCEF) (See clause 7.4.3 and 7.4.4 in TS 28.538). ";
      key id;
      uses top3gpp:Top_Grp;
      container attributes {
        uses EcmConnectionInfoGrp;
      }
    }
  }
}
 No newline at end of file
+11 −0
Original line number Diff line number Diff line
@@ -11,6 +11,7 @@ module _3gpp-common-managed-element {
  import _3gpp-common-trace { prefix trace3gpp; }
  import _3gpp-common-files { prefix files3gpp; }
  import _3gpp-5gc-nrm-configurable5qiset { prefix fiveqi3gpp; }
  import _3gpp-5gc-ecmconnectioninfo { prefix econn3gpp ; }
  
  organization "3GPP SA5";
  contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464";
@@ -32,6 +33,7 @@ module _3gpp-common-managed-element {
      3GPP TS 28.620 
      Umbrella Information Model (UIM)";

  revision 2023-11-05 { reference CR-0306 ; } 
  revision 2023-09-17 { reference CR-0270 ; } 
  revision 2022-07-26 { reference CR-0180 ; }
  revision 2021-01-16 { reference "CR-0120"; }  
@@ -43,6 +45,11 @@ module _3gpp-common-managed-element {
  revision 2019-06-17 { reference " S5-203316"; }
  revision 2019-05-08 { reference "Initial revision"; }
  
  feature EcmConnectionInfoUnderManagedElement {
    description "The EcmConnectionInfo shall be contained under
    ManagedElement";
  }

  feature Configurable5QISetUnderManagedElement {
    description "The Configurable5QISet shall be contained under
    ManagedElement";
@@ -281,5 +288,9 @@ module _3gpp-common-managed-element {
    uses fiveqi3gpp:Configurable5QISetSubtree {
      if-feature Configurable5QISetUnderManagedElement;
    }    
    
    uses econn3gpp:EcmConnectionInfoSubtree {
      if-feature EcmConnectionInfoUnderManagedElement;
    }
  }    
}
 No newline at end of file
+11 −0
Original line number Diff line number Diff line
@@ -12,6 +12,7 @@ module _3gpp-common-subnetwork {
  import ietf-yang-schema-mount { prefix yangmnt; }
  import _3gpp-common-files { prefix files3gpp; }
  import _3gpp-5gc-nrm-configurable5qiset { prefix fiveqi3gpp; }
  import _3gpp-5gc-ecmconnectioninfo { prefix econn3gpp ; }
  
  organization "3GPP SA5";
  contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464";
@@ -32,6 +33,7 @@ module _3gpp-common-subnetwork {
      3GPP TS 28.620 
      Umbrella Information Model (UIM)";
  
  revision 2023-11-05 { reference CR-0306 ; } 
  revision 2023-09-17 { reference CR-0270 ; } 
  revision 2022-07-26 { reference CR-0180 ; }
  revision 2021-01-16 { reference "CR-0120"; }  
@@ -55,6 +57,11 @@ module _3gpp-common-subnetwork {
    reference "Initial revision";
  }

  feature EcmConnectionInfoUnderSubNetwork {
    description "The EcmConnectionInfo shall be contained under
    Subnetwork";
  }

  feature Configurable5QISetUnderSubNetwork {
    description "The Configurable5QISet shall be contained under
    Subnetwork";
@@ -240,6 +247,10 @@ module _3gpp-common-subnetwork {
      if-feature Configurable5QISetUnderSubNetwork;
    }

    uses econn3gpp:EcmConnectionInfoSubtree {
      if-feature EcmConnectionInfoUnderSubNetwork;
    }

    yangmnt:mount-point children-of-SubNetwork {
      description "Mountpoint for ManagedElement";
      reference "RFC8528 YANG Schema Mount";
+48 −2
Original line number Diff line number Diff line
@@ -16,6 +16,7 @@ module _3gpp-common-yang-types {
    TTA, TTC). All rights reserved.";
  reference "3GPP TS 28.623";

  revision 2023-11-05 { reference CR-0306 ; } 
  revision 2023-09-17 { reference CR-0270 ; } 
  revision 2023-08-09 { reference CR-0265; }
  revision 2023-05-09 { reference CR-0249; }
@@ -252,6 +253,35 @@ module _3gpp-common-yang-types {
    description "Longitude values";
  }
  
  typedef Altitude  {
    type decimal64 {
      fraction-digits 6;
    }
    units "meters";
    description
      "Height from a reference 0 value.";  
  }
  
  grouping GeographicalCoordinates {
    description "This datatype represents the geographical coordinates";
    reference "#GPP TS 28.558 clause 6.3.8";
    
    leaf latitude {
      type Latitude;
      mandatory true; 
    }
      
    leaf longitude {
      type Longitude;
      mandatory true; 
    }
    
    leaf altitude {
      type Altitude;
    }
    
  }

  typedef OnOff {
    type enumeration {
      enum ON;
@@ -409,7 +439,7 @@ module _3gpp-common-yang-types {
      mandatory true;
      type Mnc;
    }
    reference "TS 23.658";
    reference "TS 38.413 clause 9.3.3.5";
  }
  
  typedef Nci {
@@ -714,6 +744,22 @@ module _3gpp-common-yang-types {
       type uint16;
    }  
  }
    grouping TaiGrp {
    description "This <<dataType>> defines a Tracking Area Identity (TAI) 
      as specified in clause 28.6 of TS 23.003, clause 8.2 of TS 38.300 
      and clause 9.3.3.11 of TS 38.413. It is composed of the PLMN 
      identifier (PLMN-Id, which is composed of the MCC and MNC) and 
      the Tracking Area Code (TAC). ";
    list plmnId {
      description "PLMN Identity.";
      min-elements 1;
      max-elements 1;
      key "mcc mnc";
      uses types3gpp:PLMNId;
    }
    
    leaf tac { type Tac; }
  }
  
  /* DistinguishedName pattern is built up based on the 
    EBNF in 32.300 clause 7.3  EBNF of DN String Representation
@@ -758,7 +804,7 @@ module _3gpp-common-yang-types {
      pattern '[A-Z][^,=+<>#;\\"\r\n*.]*|([A-Z][^,=+<>#;\\"\r\n*.]*\.[a-z][^,=+<>#;\\"\r\n*.]*)';      
    } }

    leaf RegularAttributeValue { type string {       // ( AttributeValueChar  SpaceChar ) , [ { AttributeValueChar } , ( AttributeValueChar  SpaceChar ) ]
    leaf RegularAttributeValue { type string {       // ( AttributeValueChar - SpaceChar ) , [ { AttributeValueChar } , ( AttributeValueChar - SpaceChar ) ]
      pattern '([^,=+<>#;\\"\r\n* ]|(\\[a-fA-F0-9]{2}))(([^,=+<>#;\\"\r\n*]|(\\[a-fA-F0-9]{2}))*([^,=+<>#;\\"\r\n* ]|(\\[a-fA-F0-9]{2})))?' ; 
    } }
    
+14 −2
Original line number Diff line number Diff line
@@ -15,6 +15,7 @@ module _3gpp-nr-nrm-operatordu {
    TTA, TTC). All rights reserved.";
  reference "3GPP TS 28.541 5G Network Resource Model (NRM)";

  revision 2023-11-05 { reference CR-1131 ; } 
  revision 2023-09-17 { reference CR-1042 ; } 
  revision 2021-10-01 { reference "Initial revision"; }

@@ -34,8 +35,19 @@ module _3gpp-nr-nrm-operatordu {
  augment "/me3gpp:ManagedElement/gnbdu3gpp:GNBDUFunction" {

    list OperatorDU {
      description "Contains attributes to support the 5G MOCN network sharing.";
      reference "3GPP TS 28.541";
      description "This IOC contains attributes to support operator specific 
        gNB-DU level information to support the NG-RAN Multi-Operator Core 
        Network (NG-RAN MOCN) network sharing with multiple Cell Identity 
        broadcast feature. An instance of OperatorDU <<IOC>> should be created 
        and configured for each POP. When configured the attributes override 
        those in parent GNBDUFunction instance.
        
        The OperatorDU <<IOC>> is only used to support NG-RAN MOCN with 
        multiple cell identity broadcast feature. If NG-RAN MOCN with multiple 
        cell identity broadcast feature is not supported, is not used. 
        For scenarios with an F1 interface supporting multiple PLMN broadcast, 
        the values of the EP_F1C and EP_F1U attributes contained by different 
        OperatorDU of the same GNBDUFunction should be same.";
      key id;
      uses top3gpp:Top_Grp;
      container attributes {