1 module o-ran-smo-teiv-ran {
3 namespace "urn:o-ran:smo-teiv-ran";
6 import o-ran-smo-teiv-common-yang-types {prefix or-teiv-types; }
8 import o-ran-smo-teiv-common-yang-extensions {prefix or-teiv-yext; }
10 import _3gpp-common-yang-types { prefix types3gpp; }
12 import ietf-geo-location {
14 reference "RFC 9179: A YANG Grouping for Geographic Locations";
18 contact "The Authors";
20 "RAN Logical topology model.
22 This model contains the topology entities and relations in the
23 RAN Logical domain, which represents the functional capability
24 of the deployed RAN that are relevant to rApps use cases.
26 Copyright (C) 2024 Ericsson
27 Modifications Copyright (C) 2024 OpenInfra Foundation Europe
29 Licensed under the Apache License, Version 2.0 (the \"License\");
30 you may not use this file except in compliance with the License.
31 You may obtain a copy of the License at
33 http://www.apache.org/licenses/LICENSE-2.0
35 Unless required by applicable law or agreed to in writing, software
36 distributed under the License is distributed on an \"AS IS\" BASIS,
37 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
38 See the License for the specific language governing permissions and
39 limitations under the License.
41 SPDX-License-Identifier: Apache-2.0";
43 revision "2024-05-24" {
44 description "Initial revision.";
45 or-teiv-yext:label 0.3.0;
48 or-teiv-yext:domain RAN;
51 description "gNodeB Distributed Unit (gNB-DU).
53 A gNB may consist of a gNB-Centralized Unit (gNB-CU) and a gNB-DU.
54 The CU processes non-real time protocols and services, and the DU
55 processes PHY level protocol and real time services. The gNB-CU and
56 the gNB-DU units are connected via F1 logical interface.
58 The following is true for a gNB-DU:
59 Is connected to the gNB-CU-CP through the F1-C interface. Is
60 connected to the gNB-CU-UP through the F1-U interface. One gNB-DU is
61 connected to only one gNB-CU-CP. One gNB-DU can be connected to
62 multiple gNB-CU-UPs under the control of the same gNB-CU-CP.
64 Note: A gNB may consist of a gNB-CU-CP, multiple gNB-CU-UPs and
65 multiple gNB-DUs. gNB-DU is a concrete class that extends the NG-RAN
66 node object. In Topology, you can create, read, update, and delete
69 uses or-teiv-types:Top_Grp_Type;
72 container attributes {
74 description "PLMN identifier used as part of PM Events data";
75 uses types3gpp:PLMNId;
79 description "Unique identifier for the DU within a gNodeB";
84 description "Identity of gNodeB within a PLMN";
89 description "Length of gNBId bit string representation";
95 list GNBCUCPFunction {
96 description "gNodeB Centralized Unit Control Plane (gNB-CU-CP)
98 This is a logical node hosting the Radio Resource Control (RRC) and
99 the control plane part of the Packet Data Convergence Protocol
100 (PDCP) of the gNodeB Centralized Unit (gNB-CU) for an E-UTRAN gNodeB
101 (en-gNB) or a gNodeB (gNB). The gNB-CU-CP terminates the E1
102 interface connected with the gNB-CU-UP and the F1-C interface
103 connected with the gNodeB Distributed Unit (gNB-DU).
105 The following is true for a gNB-CU-CP:
106 Is connected to the gNB-DU through the F1-C interface. Is connected
107 to the gNB-CU-UP through the E1 interface. Only one gNB-CU-CP is
108 connected to one gNB-DU. Only one gNB-CU-CP is connected to one
109 gNB-CU-UP. One gNB-DU can be connected to multiple gNB-CU-UPs under
110 the control of the same gNB-CU-CP.One gNB-CU-UP can be connected to
111 multiple DUs under the control of the same gNB-CU-CP.
113 Note: A gNB may consist of a gNB-CU-CP, multiple gNB-CU-UPs and
114 multiple gNB-DUs. A gNB-CU-CP is a concrete class that extends the
115 NG-RAN node object. In Topology, you can create, read, update, and
116 delete the gNB-CU-CP object.";
118 uses or-teiv-types:Top_Grp_Type;
121 container attributes {
123 description "Name of gNodeB-CU";
128 description "Identity of gNodeB within a PLMN";
133 description "Length of gNBId bit string representation";
138 description "PLMN identifier to be used as part of global RAN
140 uses types3gpp:PLMNId;
145 list GNBCUUPFunction {
146 description "gNodeB Centralized Unit User Plane (gNB-CU-UP)
148 A gNB-CU-UP is a logical node hosting the User Plane part of the
149 Packet Data Convergence, Protocol (PDCP) of the gNodeB Centralized
150 Unit (gNB-CU) for an E-UTRAN gNodeB (en-gNB), and the User Plane
151 part of the PDCP protocol and the Service Data Adaptation Protocol
152 (SDAP) of the gNB-CU for a gNodeB (gNB). The gNB-CU-UP terminates
153 the E1 interface connected with the gNB-CU-CP and the F1-U interface
154 connected with the gNodeB Distributed Unit (gNB-DU).
156 The following is true for a gNB-CU-UP:
157 Is connected to the gNB-DU through the F1-U interface. Is connected
158 to the gNB-CU-CP through the E1 interface. One gNB-CU-UP is
159 connected to only one gNB-CU-CP. One gNB-DU can be connected to
160 multiple gNB-CU-UPs under the control of the same gNB-CU-CP. One
161 gNB-CU-UP can be connected to multiple DUs under the control of the
164 Note: A gNB may consist of a gNB-CU-CP, multiple gNB-CU-UPs and
165 multiple gNB-DUs. A gNB-CU-UP is a concrete class that extends the
166 NG-RAN node object. In Topology, you can create, read, update, and
167 delete the gNB-CU-UP object.";
169 uses or-teiv-types:Top_Grp_Type;
172 container attributes {
174 description "Identity of gNodeB within a PLMN";
179 description "Length of gNBId bit string representation";
186 description "Represents an NR Cell in gNodeB-CU.
188 5G NR is a new radio access technology (RAT) developed by 3GPP for
189 the 5G (fifth generation) mobile network. It is designed to be the
190 global standard for the air interface of 5G networks.
192 5G NR has synchronization signal that is known as Primary
193 Synchronization Signal (PSS) and Secondary Synchronization
194 Signal (SSS). These signals are specific to NR physical layer and
195 provide the following information required by UE for downlink
196 synchronization: PSS provides Radio Frame Boundary (Position of 1st
197 Symbol in a Radio frame) SSS provides Subframe Boundary (Position of
198 1st Symbol in a Subframe) Physical Layer Cell ID (PCI) information
199 using both PSS and SSS.";
201 uses or-teiv-types:Top_Grp_Type;
204 container attributes {
206 description "Used together with gNodeB identifier to identify NR
207 cell in PLMN. Used together with gNBId to form NCI.";
212 description "PLMN ID for NR CGI. If empty,
213 GNBCUCPFunction::pLMNId is used for PLMN ID in NR CGI";
214 uses types3gpp:PLMNId;
218 description "NR Cell Identity";
223 description "NR Tracking Area Code (TAC)";
230 description "Represents an NR Cell in gNodeB-DU.
232 5G NR is a new radio access technology (RAT) developed by 3GPP for
233 the 5G (fifth generation) mobile network. It is designed to be the
234 global standard for the air interface of 5G networks.
236 5G NR has synchronization signal that is known as Primary
237 Synchronization signal (PSS) and Secondary Synchronization signal
238 (SSS). These signals are specific to NR physical layer and provide
239 the following information required by UE for downlink
240 synchronization: PSS provides Radio Frame Boundary (Position of 1st
241 Symbol in a Radio frame) SSS provides Subframe Boundary (Position of
242 1st Symbol in a Subframe) Physical Layer Cell ID (PCI) information
243 using both PSS and SSS.";
245 uses or-teiv-types:Top_Grp_Type;
248 container attributes {
250 description "Used together with gNodeB identifier to identify NR
251 cell in PLMN. Used together with gNBId to form NCI.";
256 description "NR Cell Identity.";
261 description "The Physical Cell Identity (PCI) of the NR cell.";
266 description "NR Tracking Area Code (TAC).";
272 list ENodeBFunction {
273 description "An Evolved Node B (eNodeB) is the only mandatory node in
274 the radio access network (RAN) of Long-Term Evolution (LTE). The
275 eNodeB is a complex base station that handles radio communications
276 in the cell and carries out radio resource management and handover
277 decisions. Unlike 2/3G wireless RAN, there is no centralized radio
278 network controller in LTE. It is the hardware that is connected to
279 the mobile phone network that communicates directly with mobile
280 handsets (User Equipment), like a base transceiver station (BTS) in
281 GSM networks. This simplifies the architecture and allows lower
284 uses or-teiv-types:Top_Grp_Type;
287 container attributes {
289 description "The ENodeB ID that forms part of the Cell Global
290 Identity, and is also used to identify the node over the S1
295 container eNodeBPlmnId {
296 description "The ENodeB Public Land Mobile Network (PLMN) ID
297 that forms part of the ENodeB Global ID used to identify the
298 node over the S1 interface. Note: The value
299 (MCC=001, MNC=01) indicates that the PLMN is not initiated.
300 The value can not be used as a valid PLMN Identity.";
303 description "The MCC part of a PLMN identity used in the
310 description "The MNC part of a PLMN identity used in the
317 description "The length of the MNC part of a PLMN identity
318 used in the radio network.";
328 description "Represents an FDD or TDD EUtranCell and
329 contains parameters needed by the cell.
330 It also contains parameters for the
331 mandatory common channels. An EUTRAN stands
332 for Evolved Universal Mobile Telecommunications
333 System (UMTS) Terrestrial Radio Access Network
334 which contains an eNodeB. The eNodeB concrete
335 class is extended from the EUTRAN Node abstract class.";
337 uses or-teiv-types:Top_Grp_Type;
340 container attributes {
342 description "RBS internal ID attribute for EUtranCell. Must be
343 unique in the RBS. Together with the Node ID and Public
344 Land Mobile Network (PLMN) this is a universally unique
350 description "The channel number for the central downlink
356 description "Channel number for the central uplink frequency";
360 leaf dlChannelBandwidth {
361 description "The downlink channel bandwidth in the FDD cell.";
366 description "The E-UTRA Absolute Radio Frequency Channel Number
367 (EARFCN) for the TDD cell";
371 leaf channelBandwidth {
372 description "The channel bandwidth in the TDD cell.";
377 description "Tracking Area Code for the EUtran Cell";
382 description "Indicator of EUtranCell type, FDD or TDD";
397 list NRSectorCarrier {
398 description "The NR Sector Carrier object provides the attributes for
399 defining the logical characteristics of a carrier (cell) in a
400 sector. A sector is a coverage area associated with a base station
401 having its own antennas, radio ports, and control channels. The
402 concept of sectors was developed to improve co-channel interference
403 in cellular systems, and most wireless systems use three sector
406 uses or-teiv-types:Top_Grp_Type;
409 container attributes {
411 description "NR Absolute Radio Frequency Channel Number
412 (NR-ARFCN) for downlink";
417 description "NR Absolute Radio frequency Channel Number
418 (NR-ARFCN) for uplink.";
423 description "RF Reference Frequency of downlink channel";
428 description "RF Reference Frequency of uplink channel";
433 description "BS Channel bandwidth in MHz for downlink.";
439 list LTESectorCarrier {
440 description "The LTE Sector Carrier object provides the attributes for
441 defining the logical characteristics of a carrier (cell) in a
442 sector. A sector is a coverage area associated with a base station
443 having its own antennas, radio ports, and control channels. The
444 concept of sectors was developed to improve co-channel interference
445 in cellular systems, and most wireless systems use three sector
448 uses or-teiv-types:Top_Grp_Type;
451 container attributes {
452 leaf sectorCarrierType {
453 description "Indicates whether or not the sector carrier
454 modelled by MO SectorCarrier is a digital sector.";
458 description "Not a digital sector";
460 enum left_digital_sector {
462 description "Left digital sector for 2DS";
464 enum right_digital_sector {
466 description "Right digital sector for 2DS";
468 enum left_digital_sector_3ds {
470 description "Left digital sector for 3DS";
472 enum right_digital_sector_3ds {
474 description "Right digital sector for 3DS";
476 enum middle_digital_sector_3ds {
478 description "Middle digital sector for 3DS";
485 list AntennaCapability {
486 description "This MO serves as a mapping between the cell and the RBS
487 equipment used to provide coverage in a certain geographical area.
488 The MO also controls the maximum output power of the sector.";
490 uses or-teiv-types:Top_Grp_Type;
493 container attributes {
494 leaf-list eUtranFqBands {
495 description "List of LTE frequency bands that associated
500 leaf-list geranFqBands {
501 description "List of GERAN frequency bands that associated
506 leaf-list nRFqBands {
507 description "List of NR frequency bands associated hardware
515 description "A group of co-located Cells that have a shared
518 uses or-teiv-types:Top_Grp_Type;
521 container attributes {
523 description "Universally unique ID generated by the sector's
524 discovery mechanism.";
528 uses geo:geo-location;
531 description "Average value of the azimuths of the cells
532 comprising the sector, determined during sector discovery.";
542 or-teiv-yext:biDirectionalTopologyRelationship ENODEBFUNCTION_PROVIDES_EUTRANCELL { // 1 to 0..n
544 uses or-teiv-types:Top_Grp_Type;
547 leaf-list provided-euTranCell {
548 description "eNodeB Function provides EUTRAN Cell.";
549 or-teiv-yext:aSide ENodeBFunction;
550 type instance-identifier;
553 leaf provided-by-enodebFunction {
554 description "EUTRAN Cell provided by eNodeB Function.";
555 or-teiv-yext:bSide EUtranCell;
556 type instance-identifier;
561 or-teiv-yext:biDirectionalTopologyRelationship ENODEBFUNCTION_PROVIDES_LTESECTORCARRIER { // 1 to 0..n
563 uses or-teiv-types:Top_Grp_Type;
566 leaf-list provided-lteSectorCarrier {
567 description "eNodeB Function provides LTE Sector Carrier.";
568 or-teiv-yext:aSide ENodeBFunction;
569 type instance-identifier;
572 leaf provided-by-enodebFunction {
573 description "LTE Sector Carrier provided by eNodeB Function.";
574 or-teiv-yext:bSide LTESectorCarrier;
575 type instance-identifier;
580 or-teiv-yext:biDirectionalTopologyRelationship GNBDUFUNCTION_PROVIDES_NRCELLDU { // 1 to 0..n
582 uses or-teiv-types:Top_Grp_Type;
585 leaf-list provided-nrCellDu {
586 description "gNodeB-DU Function provides NR Cell-DU.";
587 or-teiv-yext:aSide GNBDUFunction;
588 type instance-identifier;
591 leaf provided-by-gnbduFunction {
592 description "NR Cell-DU provided by gNodeB-DU Function.";
593 or-teiv-yext:bSide NRCellDU;
594 type instance-identifier;
599 or-teiv-yext:biDirectionalTopologyRelationship GNBDUFUNCTION_PROVIDES_NRSECTORCARRIER { // 1 to 0..n
601 uses or-teiv-types:Top_Grp_Type;
604 leaf-list provided-nrSectorCarrier {
605 description "gNodeB-DU Function provides NR Sector Carrier.";
606 or-teiv-yext:aSide GNBDUFunction;
607 type instance-identifier;
610 leaf provided-by-gnbduFunction {
611 description "NR Sector Carrier provided by gNodeB-DU Function.";
612 or-teiv-yext:bSide NRSectorCarrier;
613 type instance-identifier;
618 or-teiv-yext:biDirectionalTopologyRelationship GNBCUCPFUNCTION_PROVIDES_NRCELLCU { // 1 to 0..n
620 uses or-teiv-types:Top_Grp_Type;
623 leaf-list provided-nrCellCu {
624 description "gNodeB-CUCP Function provides NR Cell-CU.";
625 or-teiv-yext:aSide GNBCUCPFunction;
626 type instance-identifier;
629 leaf provided-by-gnbcucpFunction {
630 description "NR Cell-CU provided by gNodeB-CUCP Function.";
631 or-teiv-yext:bSide NRCellCU;
632 type instance-identifier;
637 or-teiv-yext:biDirectionalTopologyRelationship EUTRANCELL_USES_LTESECTORCARRIER { // 0..1 to 0..n
639 uses or-teiv-types:Top_Grp_Type;
642 leaf-list used-lteSectorCarrier {
643 description "EUTRAN Cell uses LTE Sector Carrier.";
644 or-teiv-yext:aSide EUtranCell;
645 type instance-identifier;
648 leaf used-by-euTranCell {
649 description "LTE Sector Carrier used by EUTRAN Cell.";
650 or-teiv-yext:bSide LTESectorCarrier;
651 type instance-identifier;
655 or-teiv-yext:biDirectionalTopologyRelationship LTESECTORCARRIER_USES_ANTENNACAPABILITY { // 0..n to 0..1
657 uses or-teiv-types:Top_Grp_Type;
660 leaf used-antennaCapability {
661 description "LTE Sector Carrier uses Antenna Capability.";
662 or-teiv-yext:aSide LTESectorCarrier;
663 type instance-identifier;
666 leaf-list used-by-lteSectorCarrier {
667 description "Antenna Capability used by LTE Sector Carrier.";
668 or-teiv-yext:bSide AntennaCapability;
669 type instance-identifier;
673 or-teiv-yext:biDirectionalTopologyRelationship NRCELLDU_USES_NRSECTORCARRIER { // 0..1 to 0..n
675 uses or-teiv-types:Top_Grp_Type;
678 leaf-list used-nrSectorCarrier {
679 description "NR Cell-DU uses NR Sector Carrier.";
680 or-teiv-yext:aSide NRCellDU;
681 type instance-identifier;
684 leaf used-by-nrCellDu {
685 description "NR Sector Carrier used by NR Cell-DU.";
686 or-teiv-yext:bSide NRSectorCarrier;
687 type instance-identifier;
691 or-teiv-yext:biDirectionalTopologyRelationship NRSECTORCARRIER_USES_ANTENNACAPABILITY { // 0..n to 0..1
693 uses or-teiv-types:Top_Grp_Type;
696 leaf used-antennaCapability {
697 description "NR Sector Carrier uses Antenna Capability.";
698 or-teiv-yext:aSide NRSectorCarrier;
699 type instance-identifier;
702 leaf-list used-by-nrSectorCarrier {
703 description "Antenna Capability used by NR Sector Carrier.";
704 or-teiv-yext:bSide AntennaCapability;
705 type instance-identifier;
709 or-teiv-yext:biDirectionalTopologyRelationship SECTOR_GROUPS_NRCELLDU { // 0..1 to 0..n
711 uses or-teiv-types:Top_Grp_Type;
714 leaf-list grouped-nrCellDu {
715 description "Sector groups NR Cell-DU.";
716 or-teiv-yext:aSide Sector;
717 type instance-identifier;
720 leaf grouped-by-sector {
721 description "NR Cell-DU grouped by Sector.";
722 or-teiv-yext:bSide NRCellDU;
723 type instance-identifier;
727 or-teiv-yext:biDirectionalTopologyRelationship SECTOR_GROUPS_EUTRANCELL { // 0..1 to 0..n
729 uses or-teiv-types:Top_Grp_Type;
732 leaf-list grouped-euTranCell {
733 description "Sector groups EUTRAN Cell.";
734 or-teiv-yext:aSide Sector;
735 type instance-identifier;
738 leaf grouped-by-sector {
739 description "EUTRAN Cell grouped by Sector.";
740 or-teiv-yext:bSide EUtranCell;
741 type instance-identifier;