Commit 4dbe988a authored by lengyelb's avatar lengyelb
Browse files

S5-252940 and S5-252941 YANG mapping

parent fd0db573
Loading
Loading
Loading
Loading
Loading
+243 −0
Original line number Diff line number Diff line
module _3gpp-5gc-nrm-aiot-ep {
  yang-version 1.1;
  namespace "urn:3gpp:sa5:_3gpp-5gc-nrm-aiot-ep";
  prefix "aiotep3gpp";

  import _3gpp-common-managed-element { prefix me3gpp; }
  import _3gpp-common-top { prefix top3gpp; }
  import _3gpp-common-ep-rp { prefix eprp3gpp; }
  import _3gpp-5gc-nrm-amffunction { prefix amf3gpp; }
  import _3gpp-5gc-nrm-nrffunction { prefix nrf3gpp; }
  import _3gpp-5gc-nrm-neffunction { prefix nef3gpp; }
  import _3gpp-5gc-nrm-aiot { prefix aiot3gpp; }
  
  organization "3GPP SA5";
  contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464";
  description "Defines AIOT related endpoint Classes (IOCs).
    Copyright 2025, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI,
    TTA, TTC). All rights reserved.";
  reference "3GPP TS 28.541";

  revision 2025-11-01 { reference CR-1640; }

  grouping EP_AIOT2Grp {
    description "Represents the EP_AIOT2 IOC.";
    uses eprp3gpp:EP_Common;
  }

  grouping EP_AIOT3Grp {
    description "Represents the EP_AIOT3 IOC.";
    uses eprp3gpp:EP_Common;
  }

  grouping EP_AIOT4Grp {
    description "Represents the EP_AIOT4 IOC.";
    uses eprp3gpp:EP_Common;
  }

  grouping EP_AIOT5Grp {
    description "Represents the EP_AIOT5 IOC.";
    uses eprp3gpp:EP_Common;
  }

  grouping EP_AIOT6Grp {
    description "Represents the EP_AIOT6 IOC.";
    uses eprp3gpp:EP_Common;
  }

  grouping EP_AIOT7Grp {
    description "Represents the EP_AIOT7 IOC.";
    uses eprp3gpp:EP_Common;
  }
  
  grouping EP_AIOT8Grp {
    description "Represents the EP_AIOT8 IOC.";
    uses eprp3gpp:EP_Common;
  }

  feature EP_AIOT2UnderAMFFunction {
    description "EP_AIOT2 shall be contained under AMFFunction.";
  }  
 
  augment /me3gpp:ManagedElement/amf3gpp:AMFFunction {
    if-feature EP_AIOT2UnderAMFFunction;
    list EP_AIOT2 {
      description "This IOC represents the AIOT2 interface between NG-RAN and 
        AIOTF, which is defined in 3GPP TS 23.369.";

      key id;
      uses top3gpp:Top_Grp;
      container attributes {
        uses EP_AIOT2Grp;
      }
    }
  }  

  feature EP_AIOT5UnderNRFFunction {
    description "EP_AIOT5 shall be contained under NRFFunction.";
  }  
 
  augment /me3gpp:ManagedElement/nrf3gpp:NRFFunction {
    if-feature EP_AIOT5UnderNRFFunction;
    list EP_AIOT5 {
      description "This IOC represents the AIOT5 interface between AIOTF and 
        NRF, which is defined in 3GPP TS 23.369.";

      key id;
      uses top3gpp:Top_Grp;
      container attributes {
        uses EP_AIOT5Grp;
      }
    }
  }  

  feature EP_AIOT4UnderNEFFunction {
    description "EP_AIOT4 shall be contained under NEFFunction.";
  }  
 
  feature EP_AIOT8UnderNEFFunction {
    description "EP_AIOT8 shall be contained under NEFFunction.";
  }  
 
  augment /me3gpp:ManagedElement/nef3gpp:NEFFunction {
    if-feature EP_AIOT4UnderNEFFunction;
    list EP_AIOT4 {
      description "This IOC represents the AIOT4 interface between AIOTF and 
        NEF, which is defined in 3GPP TS 23.369.";

      key id;
      uses top3gpp:Top_Grp;
      container attributes {
        uses EP_AIOT4Grp;
      }
    }

    if-feature EP_AIOT8UnderNEFFunction;
    list EP_AIOT8 {
      description "This IOC represents the AIOT8 interface between NEF and ADM, 
        which is defined in 3GPP TS 23.369.";

      key id;
      uses top3gpp:Top_Grp;
      container attributes {
        uses EP_AIOT8Grp;
      }
    }
}  

  feature EP_AIOT3UnderAIOTFFunction {
    description "EP_AIOT3 shall be contained under AIOTFFunction.";
  }  
 
  feature EP_AIOT4UnderAIOTFFunction {
    description "EP_AIOT4 shall be contained under AIOTFFunction.";
  }  
 
  feature EP_AIOT5UnderAIOTFFunction {
    description "EP_AIOT5 shall be contained under AIOTFFunction.";
  }  
 
  feature EP_AIOT6UnderAIOTFFunction {
    description "EP_AIOT6 shall be contained under AIOTFFunction.";
  }  
 
  augment /me3gpp:ManagedElement/aiot3gpp:AIOTFFunction {
    if-feature EP_AIOT3UnderAIOTFFunction;
    list EP_AIOT3 {
      description "This IOC represents the AIOT3 interface between AMF and 
        AIOTF, which is defined in 3GPP TS 23.369.";

      key id;
      uses top3gpp:Top_Grp;
      container attributes {
        uses EP_AIOT3Grp;
      }
    }
     
    if-feature EP_AIOT4UnderAIOTFFunction;
    list EP_AIOT4 {
      description "This IOC represents the AIOT4 interface between AIOTF and 
        NEF, which is defined in 3GPP TS 23.369.";

      key id;
      uses top3gpp:Top_Grp;
      container attributes {
        uses EP_AIOT4Grp;
      }
    }
     
    if-feature EP_AIOT5UnderAIOTFFunction;
    list EP_AIOT5 {
      description "This IOC represents the AIOT5 interface between AIOTF and 
        NRF, which is defined in 3GPP TS 23.369.";

      key id;
      uses top3gpp:Top_Grp;
      container attributes {
        uses EP_AIOT5Grp;
      }
    }
     
    if-feature EP_AIOT6UnderAIOTFFunction;
    list EP_AIOT6 {
      description "This IOC represents the AIOT6 interface between AIOTF and 
        ADM, which is defined in 3GPP TS 23.369.";

      key id;
      uses top3gpp:Top_Grp;
      container attributes {
        uses EP_AIOT6Grp;
      }
    }
  }  

  feature EP_AIOT6UnderADMFunction {
    description "EP_AIOT6 shall be contained under ADMFunction.";
  }  
 
  feature EP_AIOT7UnderADMFunction {
    description "EP_AIOT7 shall be contained under ADMFunction.";
  }  
 
  feature EP_AIOT8UnderADMFunction {
    description "EP_AIOT8 shall be contained under ADMFunction.";
  }  
 
  augment /me3gpp:ManagedElement/aiot3gpp:ADMFunction {
    if-feature EP_AIOT6UnderADMFunction;
    list EP_AIOT6 {
      description "This IOC represents the AIOT6 interface between AIOTF and 
        ADM, which is defined in 3GPP TS 23.369.";

      key id;
      uses top3gpp:Top_Grp;
      container attributes {
        uses EP_AIOT6Grp;
      }
    }
    
    if-feature EP_AIOT7UnderADMFunction;
    list EP_AIOT7 {
      description "This IOC represents the AIOT7 interface between UDR and ADM, 
        which is defined in 3GPP TS 23.369.";

      key id;
      uses top3gpp:Top_Grp;
      container attributes {
        uses EP_AIOT7Grp;
      }
    }
    
    if-feature EP_AIOT8UnderADMFunction;
    list EP_AIOT8 {
      description "This IOC represents the AIOT8 interface between NEF and ADM, 
        which is defined in 3GPP TS 23.369.";

      key id;
      uses top3gpp:Top_Grp;
      container attributes {
        uses EP_AIOT8Grp;
      }
    }
  }  
}
 No newline at end of file
+2 −0
Original line number Diff line number Diff line
@@ -163,6 +163,7 @@ module _3gpp-5gc-nrm-aiot {
      container attributes {
        uses AIOTFFunctionGrp;
      }
      uses mf3gpp:ManagedFunctionContainedClasses;
    }
  }
  
@@ -215,6 +216,7 @@ module _3gpp-5gc-nrm-aiot {
      container attributes {
        uses ADMFunctionGrp;
      }
      uses mf3gpp:ManagedFunctionContainedClasses;
    }
  }  
}
 No newline at end of file
+98 −0
Original line number Diff line number Diff line
module _3gpp-nr-nrm-aiotreader {
  yang-version 1.1;
  namespace "urn:3gpp:sa5:_3gpp-nr-nrm-aiotreader";
  prefix "aiotread3gpp";

  import _3gpp-common-managed-element { prefix me3gpp; }
  import _3gpp-common-top { prefix top3gpp; }
  import _3gpp-common-yang-types { prefix types3gpp; }
  import _3gpp-5gc-nrm-aiot { prefix aiot3gpp; }
  import _3gpp-nr-nrm-gnbdufunction { prefix gnbdu3gpp; }
  
  organization "3GPP SA5";
  contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464";
  description "Defines the YANG mapping the AIoT Reader.
    Copyright 2025, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI,
    TTA, TTC). All rights reserved.";
  reference "3GPP TS 28.541";

  revision 2025-11-07 { reference CR-1640; }

  grouping AIOTReaderGrp {
    description "Attributes of the IOC AIOTReader";

    leaf readerId {
      type int32;
      mandatory true;
      description "It defines the reader identifier to uniquely identify a 
        reader within a gNB.";
    }
    
    leaf administrativeState {
      type types3gpp:BasicAdministrativeState;
      default LOCKED;
      description "It indicates the administrative state of the AIOTReader. 
        It describes the permission to use or prohibition against using the 
        AIOT reader, imposed through the OAM services.";
    }

    leaf-list supportedAIOTServices {
      type enumeration {
        enum INVENTORY;
        enum COMMAND;
      }
      min-elements 1;
      description "It indicates the supported AIOT service type for an 
        AIOT reader.";
    }

    list pLMNId {
      description "Defines which PLMN that can be served by the AIOT reader.";

      min-elements 1;
      max-elements 1;
      key "mcc mnc";
      uses types3gpp:PLMNId;
    }

    list servedAIOTAreas {
      description "This attribute is used to specify the A-IoT areas supported 
        by the A-IoT reader. It contains one or multiple A-IoT Area ID, which 
        is used to uniquely identify an A-IoT Area.

        A-IoT Area ID = PLMN ID +NID (optional) + A-IoT Area Code 
        (OCTET STRING (SIZE(3))), which is defined in TS 38.413.";
      min-elements 1;
      key idx;
      leaf idx { type uint32; }
      uses aiot3gpp:ServedAIOTAreaIDGrp;
    }
    
    leaf readerLocation {
      type string;
      mandatory true;
      description "This specifies the geographical location of a A-IoT reader. 
        Reader Location may represent any of latitude/longitude, or any 
        geographical location/coordinate/area polygon.";
    }
    
    leaf-list nRSectorCarrierRef {
      type types3gpp:DistinguishedName;
      description "This attribute contains the DN of the referenced 
        NRSectorCarrier.";
    }
  }

  augment /me3gpp:ManagedElement/gnbdu3gpp:GNBDUFunction  {
    list AIOTReader {
      description "This IOC represents AIoT Reader which supports AIOT 
        services.";

      key id;
      uses top3gpp:Top_Grp;
      container attributes {
        uses AIOTReaderGrp;
      }
    }
  }
}
 No newline at end of file
+12 −3
Original line number Diff line number Diff line
@@ -20,6 +20,7 @@ module _3gpp-nr-nrm-ep {
    TTA, TTC). All rights reserved.";
  reference "3GPP TS 28.541 5G Network Resource Model (NRM)";

  revision 2025-11-07 { reference CR-1640; }
  revision 2025-10-01 { reference CR-1616 ; } 
  revision 2025-05-06 { reference "CR-1526 CR-1527" ; }  // common for R18, R19
  revision 2023-09-18 { reference CR-1043 ; } 
@@ -152,9 +153,17 @@ module _3gpp-nr-nrm-ep {
    uses EP_F1CSubtree;

    list EP_NgC {
      description "Represents the local end point of the control plane
        interface (NG-C) between the gNB and AMF.";
      reference "3GPP TS 28.541, 3GPP TS 38.470";
      description "This IOC represents the local end point of the control 
        plane interface (NG-C) between the gNB and AMF or the gNB and AIOTF. 
        The transport network layer is built on IP transport. For the reliable 
        transport of signalling messages, SCTP is added on top of IP. 
        The application layer signalling protocol is referred to as NG-AP 
        (NG Application Protocol).

        3GPP TS 38.470 noted that 'one gNB-CU and a set of gNB-DUs are 
        visible to other logical nodes as a gNB or an en-gNB where the gNB 
        terminates the Xn and the NG interfaces, and the en-gNB terminates 
        the X2 and the S1-U interfaces'.";
      key id;
      uses top3gpp:Top_Grp;
      container attributes {    
+3 −2
Original line number Diff line number Diff line
@@ -19,6 +19,7 @@ module _3gpp-nr-nrm-nrcelldu {
    TTA, TTC). All rights reserved.";
  reference "3GPP TS 28.541 5G Network Resource Model (NRM)";

  revision 2025-11-07 { reference CR-1640; }
  revision 2025-07-25 { reference CR-1558 ; }
  revision 2025-02-07 { reference CR-1442; }
  revision 2024-05-25 { reference CR-1412 ; }
@@ -340,8 +341,8 @@ module _3gpp-nr-nrm-nrcelldu {
    }

    leaf-list nRSectorCarrierRef {
      description "Reference to corresponding NRSectorCarrier instance.";
      min-elements 1;
      description "This attribute contains the DN of the referenced 
        NRSectorCarrier.";
      type types3gpp:DistinguishedName;
    }