module o-ran-smo-teiv-equipment {
yang-version 1.1;
namespace "urn:o-ran:smo-teiv-equipment";
prefix or-teiv-equip;
import o-ran-smo-teiv-common-yang-types {prefix or-teiv-types; }
import o-ran-smo-teiv-common-yang-extensions {prefix or-teiv-yext; }
import ietf-geo-location {
prefix geo;
reference "RFC 9179: A YANG Grouping for Geographic Locations";
}
organization "ORAN";
contact "The Authors";
description
"RAN Equipment topology model.
This model contains the topology entities and relations in the
RAN Equipment domain, which is modelled to understand the physical
location of equipment such as antennas associated with a cell/carrier
and their relevant properties e.g. tilt, max power etc.
Copyright (C) 2024 Ericsson
Modifications Copyright (C) 2024 OpenInfra Foundation Europe
Licensed under the Apache License, Version 2.0 (the \"License\");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an \"AS IS\" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and";
revision "2024-10-21" {
description "Deprecate AntennaModule attribute antennaBeamWidth.
To be replaced by horizontalBeamWidth and verticalBeamWidth.";
or-teiv-yext:label 0.6.0;
}
revision "2024-10-08" {
description "Added azimuth attribute for AntennaModule.";
or-teiv-yext:label 0.5.0;
}
revision "2024-10-04" {
description "Added groupings, Origin_Entity_Mapping_Grp or Origin_Relationship_Mapping_Grp
to the corresponding topology objects.";
or-teiv-yext:label 0.4.0;
}
revision "2024-05-24" {
description "Initial revision.";
or-teiv-yext:label 0.3.0;
}
or-teiv-yext:domain EQUIPMENT;
list AntennaModule {
description "An Antenna Module represents the physical aspect of an
antenna.";
uses or-teiv-types:Top_Grp_Type;
uses or-teiv-types:Origin_Entity_Mapping_Grp;
key id;
container attributes {
leaf antennaModelNumber {
description "Vendor-specific antenna model identifier. This
attribute is part of AISG v3 ADB Standard and has no
operational impact.";
type string;
}
leaf mechanicalAntennaBearing {
description "Antenna bearing on antenna subunit where antenna
unit is installed.";
type int32;
}
leaf mechanicalAntennaTilt {
description "The fixed antenna tilt of the installation, defined
as the inclination of the antenna element respect to the
vertical plane. It is a signed value. Positive indicates
downtilt, and negative indicates uptilt.";
type int32;
}
leaf positionWithinSector {
description "Antenna unit position within sector. This attribute
is part of AISG v3 ADB Standard and has no operational
impact.";
type string;
}
leaf totalTilt {
description "Total antenna elevation including the installed
tilt and the tilt applied by the Remote Electrical
Tilt (RET).";
type int32;
}
leaf electricalAntennaTilt {
description "Electrically-controlled tilt of main beam maximum
with respect to direction orthogonal to antenna element
axis (see 3GPP TS 25.466). Value is signed; tilt down is
positive, tilt up is negative.";
type int32;
}
leaf-list antennaBeamWidth {
description "The angular span of the main lobe of the antenna
radiation pattern in the horizontal plane. Measured in
degrees.
Deprecated: Since 24.Q4. Replaced by AntennaModule::horizontalBeamWidth
and AntennaModule::verticalBeamWidth. Planned to be removed.";
type uint32;
}
leaf horizontalBeamWidth {
description "The angular span of the main lobe of the antenna
radiation pattern in the horizontal plane.";
type decimal64 {
fraction-digits 1;
range "0..360";
}
units "decimal degrees";
}
leaf verticalBeamWidth {
description "The angular span of the main lobe of the antenna
radiation pattern in the vertical plane.";
type decimal64 {
fraction-digits 1;
range "0..360";
}
units "decimal degrees";
}
leaf azimuth {
description "The value of the azimuth of the Antenna Module.";
type decimal64 {
fraction-digits 1;
range "0..360";
}
units "decimal degrees";
}
uses geo:geo-location;
}
}
list Site {
description "A site is a physical location where an equipment can be
installed.";
uses or-teiv-types:Top_Grp_Type;
uses or-teiv-types:Origin_Entity_Mapping_Grp;
key id;
container attributes {
leaf name {
description "Name of Site";
type string;
}
uses geo:geo-location;
}
}
or-teiv-yext:biDirectionalTopologyRelationship ANTENNAMODULE_INSTALLED_AT_SITE { // 0..n to 0..1
description
"The aSide of this relationship is an instance of the AntennaModule type.
The bSide of this relationship is an instance of the Site type.
The Site represents the physical location where the AntennaModule is installed.
An AntennaModule instance can only be installed at one Site.
A Site instance can have many installed AntennaModules.
";
uses or-teiv-types:Top_Grp_Type;
uses or-teiv-types:Origin_Relationship_Mapping_Grp;
key id;
leaf installed-at-site {
description "Antenna Module installed at Site.";
or-teiv-yext:aSide AntennaModule;
type instance-identifier;
}
leaf-list installed-antennaModule {
description "Site where Antenna Module is installed.";
or-teiv-yext:bSide Site;
type instance-identifier;
}
}
}