Equipment

../_images/o-ran-smo-teiv-equipment.svg ../_images/o-ran-smo-teiv-equipment-rel.svg
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-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;
        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.";
                type uint32;
            }

            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;
        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

        uses or-teiv-types:Top_Grp_Type;
        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;
        }
    }
}