UBNT-MIB DEFINITIONS ::= BEGIN
    IMPORTS
        MODULE-IDENTITY, OBJECT-TYPE, Integer32, Gauge32, Counter64, 
        IpAddress, TimeTicks, enterprises  FROM SNMPv2-SMI
        DisplayString, TruthValue, MacAddress FROM SNMPv2-TC
        OBJECT-GROUP, MODULE-COMPLIANCE FROM SNMPv2-CONF;
        -- ubntAirosGroups, ubntMIB FROM UBNT-MIB;


    ubntMIB MODULE-IDENTITY
    LAST-UPDATED "201709290000Z"
    ORGANIZATION "Ubiquiti Networks, Inc."
    CONTACT-INFO "support@ubnt.com"
    DESCRIPTION  "The MIB module for Ubiquiti Networks, Inc. entities"
    REVISION "201709290000Z"
    DESCRIPTION "AF.v4.1 revision"
    ::= { ubnt 1 }

    -- --------------------------------------------------------------------------------
    --                         Ubiquiti Networks Root
    -- --------------------------------------------------------------------------------

    ubnt OBJECT IDENTIFIER ::= { enterprises 41112 }

    -- --------------------------------------------------------------------------------
    --                         Ubiquiti Networks SNMP Information
    -- --------------------------------------------------------------------------------

    ubntSnmpInfo OBJECT IDENTIFIER ::= { ubntMIB 2 }
    ubntSnmpGroups OBJECT IDENTIFIER ::= { ubntSnmpInfo 1}
    ubntAirosGroups OBJECT IDENTIFIER ::= { ubntSnmpInfo 2}
    ubntAirFiberGroups OBJECT IDENTIFIER ::= { ubntSnmpInfo 3}
    ubntEdgeMaxGroups OBJECT IDENTIFIER ::= { ubntSnmpInfo 4}
    ubntUniFiGroups OBJECT IDENTIFIER ::= { ubntSnmpInfo 5}
    ubntAirVisionGroups OBJECT IDENTIFIER ::= { ubntSnmpInfo 6}
    ubntMFiGroups OBJECT IDENTIFIER ::= { ubntSnmpInfo 7}
    ubntUniTelGroups OBJECT IDENTIFIER ::= { ubntSnmpInfo 8}

    -- --------------------------------------------------------------------------------
    --                         Ubiquiti Networks Products
    -- --------------------------------------------------------------------------------
    
    ubntAirFIBER OBJECT IDENTIFIER ::= { ubntMIB 3 }
    ubntAirMAX OBJECT IDENTIFIER ::= { ubntMIB 4 }
    ubntEdgeMax OBJECT IDENTIFIER ::= { ubntMIB 5 }
    ubntUniFi OBJECT IDENTIFIER ::= { ubntMIB 6 }
    ubntAirVision OBJECT IDENTIFIER ::= { ubntMIB 7 }
    ubntMFi OBJECT IDENTIFIER ::= { ubntMIB 8 }
    ubntUniTel OBJECT IDENTIFIER ::= { ubntMIB 9 }

    -- --------------------------------------------------------------------------------
    --                         Ubiquiti Networks OR table
    -- --------------------------------------------------------------------------------


    ubntORTable OBJECT-TYPE
        SYNTAX     SEQUENCE OF UbntOREntry
        MAX-ACCESS not-accessible
        STATUS     current
        DESCRIPTION "Capabilities"
        ::= { ubntMIB 1 }


    ubntOREntry OBJECT-TYPE
       SYNTAX     UbntOREntry
       MAX-ACCESS not-accessible
       STATUS     current
       DESCRIPTION "An entry in the ubntORTable"
       INDEX      { ubntORIndex }
       ::= { ubntORTable 1 }


    UbntOREntry ::= SEQUENCE {
        ubntORIndex     Integer32,
        ubntORID        OBJECT IDENTIFIER,
        ubntORDescr     DisplayString
    }


    ubntORIndex OBJECT-TYPE
        SYNTAX     Integer32 (1..255)
        MAX-ACCESS not-accessible
        STATUS     current
        DESCRIPTION "Index for the ubntORTable"
        ::= { ubntOREntry 1 }


    ubntORID OBJECT-TYPE
        SYNTAX     OBJECT IDENTIFIER
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION "OR ID"
        ::= { ubntOREntry 2 }


    ubntORDescr OBJECT-TYPE
        SYNTAX     DisplayString
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION "Description of idenfifier"
        ::= { ubntOREntry 3 }


    ubntORInfoGroup OBJECT-GROUP OBJECTS {
        ubntORID, ubntORDescr
    }
    STATUS current
    DESCRIPTION "Collection of related objects"
    ::= { ubntSnmpGroups 1 }

ubntAirFIBER OBJECT IDENTIFIER ::= { ubntMIB 3 }

    -- --------------------------------------------------------------------------------
    --                           AirFiber Config Table
    -- --------------------------------------------------------------------------------


    airFiberConfig OBJECT-TYPE
        SYNTAX     SEQUENCE OF AirFiberConfigEntry
        MAX-ACCESS not-accessible
        STATUS     current
        DESCRIPTION "AirFiber Configuration Group"
        ::= { ubntAirFIBER 1 }


    airFiberConfigEntry OBJECT-TYPE
       SYNTAX     AirFiberConfigEntry
       MAX-ACCESS not-accessible
       STATUS     current
       DESCRIPTION "An entry in the airFiberConfig Table"
       INDEX      { airFiberConfigIndex }
       ::= { airFiberConfig 1 }


    AirFiberConfigEntry ::= SEQUENCE {
    airFiberConfigIndex Integer32,
    radioEnable         INTEGER,
    radioLinkMode       INTEGER,
    radioDuplex         INTEGER,
    txFrequency         Integer32,
    rxFrequency         Integer32,
    regDomain           DisplayString,
    gpsSync             INTEGER,
    txPower             Integer32,
    rxGain              INTEGER,
    maxTxModRate        INTEGER,
    modRateControl      INTEGER,
    ethDPortLinkSpeed   INTEGER,
    linkName            DisplayString,
    encryptKey          DisplayString,
    ethFlowControl      INTEGER,
    ethMcastFilter      INTEGER,
    ethTrackRFLink      INTEGER,
    ethLinkOffDuration  Integer32,
    ethLinkOffSpacing   Integer32,
    txFrequency1        Integer32,
    rxFrequency1        Integer32,
    txFrequency2        Integer32,
    rxFrequency2        Integer32,
    txFrequency3        Integer32,
    rxFrequency3        Integer32,
    channelWidth        Integer32,
    txChannelWidth      Integer32,
    rxChannelWidth      Integer32
    }


    airFiberConfigIndex OBJECT-TYPE
        SYNTAX     Integer32 (1..255)
        MAX-ACCESS not-accessible
        STATUS     current
        DESCRIPTION "Index for the airFiberConfig"
        ::= { airFiberConfigEntry 1 }

    radioEnable OBJECT-TYPE
        SYNTAX     INTEGER {
                enabled   (1),
                disabled  (2)
        } 
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION "Radio Enabled State (Enabled/Disabled)"
        ::= { airFiberConfigEntry 2 }

   radioLinkMode OBJECT-TYPE
        SYNTAX     INTEGER {
                master (1),
                slave  (2),
                spectral (3)
        } 
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION "Radio Operating Mode"
        ::= { airFiberConfigEntry 3 }

    radioDuplex OBJECT-TYPE
        SYNTAX     INTEGER {
                halfDuplex (1),
                fullDuplex (2)
        } 
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION "Radio Duplex Mode"
        ::= { airFiberConfigEntry 4 }

    txFrequency OBJECT-TYPE
        SYNTAX Integer32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION "TX Operating frequency (MHz)"
        ::= { airFiberConfigEntry 5 }

    rxFrequency OBJECT-TYPE
        SYNTAX Integer32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION "RX Operating frequency (MHz)"
        ::= { airFiberConfigEntry 6 }

    regDomain OBJECT-TYPE
        SYNTAX     DisplayString
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION "Regulatory Domain"
        ::= { airFiberConfigEntry 7 }

    gpsSync OBJECT-TYPE
        SYNTAX     INTEGER {
                off (1),
                on  (2)
        } 
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION "GPS Synchronization state (OFF, ON)"
        ::= { airFiberConfigEntry 8 }
        
    txPower OBJECT-TYPE
        SYNTAX Integer32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION "Radio Transmit Power Setting (dBm)"
        ::= { airFiberConfigEntry 9 }

    rxGain OBJECT-TYPE
        SYNTAX     INTEGER {
                low  (1),
                high (2)
        } 
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION "Radio Receiver Gain Setting"
        ::= { airFiberConfigEntry 10 }

    maxTxModRate OBJECT-TYPE
        SYNTAX     INTEGER {
            qPSK-SISO-1-4x   (0),
            qPSK-SISO-1x     (1),
            qPSK-MIMO-2x     (2),
            qAM8-MIMO-3x     (3),
            qAM16-MIMO-4x    (4),
            qAM32-MIMO-5x    (5),
            qAM64-MIMO-6x    (6),
            qAM128-MIMO-7x   (7),
            qAM256-MIMO-8x   (8),
            qAM512-MIMO-9x   (9),
            qAM1024-MIMO-10x (10),
            qAM8-SISO-1p5x   (11),
            qAM16-SISO-2x    (12),
            qAM32-SISO-2p5x  (13),
            qAM64-SISO-3x    (14),
            qAM128-SISO-3p5x (15),
            qAM256-SISO-4x   (16),
            qAM512-SISO-4p5x (17),
            qAM1024-SISO-5x  (18)
        } 
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION "Maximum TX Modulation Rate"
        ::= { airFiberConfigEntry 11 }

    modRateControl OBJECT-TYPE
        SYNTAX     INTEGER {
                manual    (1),
                automatic (2)
        }
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION "Transmit Modulation Rate Control"
        ::= { airFiberConfigEntry 12 }

    ethDPortLinkSpeed OBJECT-TYPE
        SYNTAX     INTEGER {
            auto          (1),
            half-10Mbps   (2),
            half-100Mbps  (3),
            full-10Mbps   (4),
            full-100Mbps  (5),
            full-1000Mbps (6)
        } 
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION "Ethernet Data Port Configuration"
        ::= { airFiberConfigEntry 13 }

    linkName OBJECT-TYPE
        SYNTAX     DisplayString
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION "Radio Link Name"
        ::= { airFiberConfigEntry 14 }

    encryptKey OBJECT-TYPE
        SYNTAX     DisplayString
        MAX-ACCESS read-only
        STATUS     obsolete
        DESCRIPTION "Radio Link Encryption Key"
        ::= { airFiberConfigEntry 15 }

    ethFlowControl OBJECT-TYPE
        SYNTAX     INTEGER {
                off (1),
                on  (2)
        }         
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION "Ethernet DATA port Flow Control (OFF, ON)"
        ::= { airFiberConfigEntry 16 }
   
    ethMcastFilter OBJECT-TYPE
        SYNTAX     INTEGER {
                off (1),
                on  (2)
        }         
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION "Ethernet DATA port Multicast Filter.  Enabling Filter prevents all multicast packets from reaching the CPU."
        ::= { airFiberConfigEntry 17 }

    ethTrackRFLink OBJECT-TYPE
        SYNTAX     INTEGER {
                disabled (0),
                use-Timers (1),
                enabled  (2)
        }         
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION "Enable Ethernet DATA port state to track RF Link.  Enabled forces DATA port to follow RF Link State. Use-Timers drops Data Port for timeout period"
        ::= { airFiberConfigEntry 18 }

    ethLinkOffDuration OBJECT-TYPE
        SYNTAX Integer32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION "Duration (seconds) of Ethernet Link Drop when ethTrackRFLink is set to Use-Timers"
        ::= { airFiberConfigEntry 19 }

    ethLinkOffSpacing OBJECT-TYPE
        SYNTAX Integer32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION "Spacing (seconds) of consecutive Etherenet Link Drops when ethTrackLink is set to Use-Timers"
        ::= { airFiberConfigEntry 20 }
        
    txFrequency1 OBJECT-TYPE
        SYNTAX Integer32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION "First configured TX Frequency (MHz) of radio."
        ::= { airFiberConfigEntry 21 }

    rxFrequency1 OBJECT-TYPE
        SYNTAX Integer32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION "First configured RX Frequency (MHz) of radio."
        ::= { airFiberConfigEntry 22 }

    txFrequency2 OBJECT-TYPE
        SYNTAX Integer32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION "Second configured TX Frequency (MHz) of radio. 5 GHz radios only."
        ::= { airFiberConfigEntry 23 }

    rxFrequency2 OBJECT-TYPE
        SYNTAX Integer32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION "Second configured RX Frequency (MHz) of radio.  5 GHz radios only."
        ::= { airFiberConfigEntry 24 }

    txFrequency3 OBJECT-TYPE
        SYNTAX Integer32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION "Third configured TX Frequency (MHz) of radio. 5 GHz radios only."
        ::= { airFiberConfigEntry 25 }

    rxFrequency3 OBJECT-TYPE
        SYNTAX Integer32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION "Third configured RX Frequency (MHz) of radio.  5 GHz radios only."
        ::= { airFiberConfigEntry 26 }

    channelWidth OBJECT-TYPE
        SYNTAX Integer32
        MAX-ACCESS read-only
        STATUS obsolete
        DESCRIPTION "Current RF Channel Bandwidth.  5 GHz radios only."
        ::= { airFiberConfigEntry 27 }

    txChannelWidth OBJECT-TYPE
        SYNTAX Integer32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION "Current TX RF Channel Bandwidth (MHz).  5 GHz radios only."
        ::= { airFiberConfigEntry 28 }

    rxChannelWidth OBJECT-TYPE
        SYNTAX Integer32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION "Current RX RF Channel Bandwidth (MHz).  5 GHz radios only."
        ::= { airFiberConfigEntry 29 }

    -- --------------------------------------------------------------------------------
    --                           AirFiber Status Table
    -- --------------------------------------------------------------------------------


    airFiberStatus OBJECT-TYPE
        SYNTAX     SEQUENCE OF AirFiberStatusEntry
        MAX-ACCESS not-accessible
        STATUS     current
        DESCRIPTION "AirFiber Status Group"
        ::= { ubntAirFIBER 2 }


    airFiberStatusEntry OBJECT-TYPE
       SYNTAX     AirFiberStatusEntry
       MAX-ACCESS not-accessible
       STATUS     current
       DESCRIPTION "An entry in the airFiberStatus Table"
       INDEX      { airFiberStatusIndex }
       ::= { airFiberStatus 1 }


    AirFiberStatusEntry ::= SEQUENCE {
    airFiberStatusIndex     Integer32,
    curTXModRate            INTEGER,
    radioLinkDistFt         Integer32,
    radioLinkDistM          Integer32,
    rxCapacity              Integer32,
    txCapacity              Integer32,
    radio0TempF             Integer32,
    radio0TempC             Integer32,
    radio1TempF             Integer32,
    radio1TempC             Integer32,
    rxPower0                Integer32,
    rxPower0Valid           TruthValue,
    rxOverload0             TruthValue,
    rxPower1                Integer32,
    rxPower1Valid           TruthValue,
    rxOverload1             TruthValue,
    remoteTXPower           Integer32,
    remoteTXModRate         INTEGER,
    remoteRXPower0          Integer32,
    remoteRXPower0Valid     TruthValue,
    remoteRXPower0Overload  TruthValue,
    remoteRXPower1          Integer32,
    remoteRXPower1Valid     TruthValue,
    remoteRXPower1Overload  TruthValue,
    countryCode             Integer32,
    radioLinkState          INTEGER,
    ethDataPortState        INTEGER,
    gpsPulse                DisplayString,
    gpsFix                  DisplayString,
    gpsLat                  DisplayString,
    gpsLong                 DisplayString,
    gpsAltMeters            DisplayString,
    gpsAltFeet              DisplayString,
    gpsSatsVisible          Integer32,
    gpsSatsTracked          Integer32,
    gpsHDOP                 OCTET STRING,
    dfsState                DisplayString,
    upTime                  Integer32,
    dateTime                DisplayString,  
    fwVersion               DisplayString,
    remoteRXGain            DisplayString,
    radioLinkInfo           DisplayString,
    ethDataPortInfo         DisplayString,    
    linkUpTime              Integer32,
    remoteMAC               DisplayString,
    remoteIP                DisplayString,
    dfsDetections           Integer32,
    dfsDomain               DisplayString,
    dfsStateTxFreq1         DisplayString,
    dfsStateTxFreq2         DisplayString,
    dfsStateTxFreq3         DisplayString,
    dfsTimerTxFreq1         Integer32,
    dfsTimerTxFreq2         Integer32,
    dfsTimerTxFreq3         Integer32    
    }        
    
    airFiberStatusIndex OBJECT-TYPE
        SYNTAX     Integer32 (1..255)
        MAX-ACCESS not-accessible
        STATUS     current
        DESCRIPTION "Index for the air0 interface"
        ::= { airFiberStatusEntry 1 }

    curTXModRate OBJECT-TYPE
       SYNTAX     INTEGER {
            qPSK-SISO-1-4x   (0),
            qPSK-SISO-1x     (1),
            qPSK-MIMO-2x     (2),
            qAM8-MIMO-3x     (3),
            qAM16-MIMO-4x    (4),
            qAM32-MIMO-5x    (5),
            qAM64-MIMO-6x    (6),
            qAM128-MIMO-7x   (7),
            qAM256-MIMO-8x   (8),
            qAM512-MIMO-9x   (9),
            qAM1024-MIMO-10x (10),
            qAM8-SISO-1p5x   (11),
            qAM16-SISO-2x    (12),
            qAM32-SISO-2p5x  (13),
            qAM64-SISO-3x    (14),
            qAM128-SISO-3p5x (15),
            qAM256-SISO-4x   (16),
            qAM512-SISO-4p5x (17),
            qAM1024-SISO-5x  (18)
        } 
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION "Current Transmit Modulation Rate"
        ::= { airFiberStatusEntry 2 }

    radioLinkDistFt OBJECT-TYPE
        SYNTAX Integer32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION "Radio Link Distance (Feet)"
        ::= { airFiberStatusEntry 3 }

    radioLinkDistM OBJECT-TYPE
        SYNTAX Integer32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION "Radio Link Distance (Meters)"
        ::= { airFiberStatusEntry 4 }

    rxCapacity OBJECT-TYPE
        SYNTAX Integer32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION "Radio Receive Throughput Capacity (bits/sec)"
        ::= { airFiberStatusEntry 5 }

    txCapacity OBJECT-TYPE
        SYNTAX Integer32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION "Radio Transmit Throughput Capacity (bits/sec)"
        ::= { airFiberStatusEntry 6 }

    radio0TempF OBJECT-TYPE
        SYNTAX Integer32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION "Radio Chain 0 DAC Temperature (F)"
        ::= { airFiberStatusEntry 7 }

    radio0TempC OBJECT-TYPE
        SYNTAX Integer32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION "Radio Chain 0 DAC Temperature (C)"
        ::= { airFiberStatusEntry 8 }

    radio1TempF OBJECT-TYPE
        SYNTAX Integer32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION "Radio Chain 1 DAC Temperature (F)"
        ::= { airFiberStatusEntry 9 }

    radio1TempC OBJECT-TYPE
        SYNTAX Integer32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION "Radio Chain 0 DAC Temperature (C)"
        ::= { airFiberStatusEntry 10 }

    rxPower0 OBJECT-TYPE
        SYNTAX Integer32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION "Radio Chain 0 RX Power Level (dBm)"
        ::= { airFiberStatusEntry 11 }

    rxPower0Valid OBJECT-TYPE
        SYNTAX TruthValue
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION "Radio Chain 0 RX Power Valid"
        ::= { airFiberStatusEntry 12 }

    rxOverload0 OBJECT-TYPE
        SYNTAX TruthValue
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION "Radio Chain 0 RX Overloaded"
        ::= { airFiberStatusEntry 13 }

    rxPower1 OBJECT-TYPE
        SYNTAX Integer32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION "Radio Chain 1 RX Power Level (dBm)"
        ::= { airFiberStatusEntry 14 }

    rxPower1Valid OBJECT-TYPE
        SYNTAX TruthValue
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION "Radio  Chain 1 RX Power Valid"
        ::= { airFiberStatusEntry 15 }

    rxOverload1 OBJECT-TYPE
        SYNTAX TruthValue
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION "Radio  Chain 1 RX Overloaded"
        ::= { airFiberStatusEntry 16 }

    remoteTXPower OBJECT-TYPE
        SYNTAX Integer32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION "Remote Radio Transmit Power Level (dBm)"
        ::= { airFiberStatusEntry 17 }

    remoteTXModRate OBJECT-TYPE
       SYNTAX     INTEGER {
            qPSK-SISO-1-4x   (0),
            qPSK-SISO-1x     (1),
            qPSK-MIMO-2x     (2),
            qAM8-MIMO-3x     (3),
            qAM16-MIMO-4x    (4),
            qAM32-MIMO-5x    (5),
            qAM64-MIMO-6x    (6),
            qAM128-MIMO-7x   (7),
            qAM256-MIMO-8x   (8),
            qAM512-MIMO-9x   (9),
            qAM1024-MIMO-10x (10),
            qAM8-SISO-1p5x   (11),
            qAM16-SISO-2x    (12),
            qAM32-SISO-2p5x  (13),
            qAM64-SISO-3x    (14),
            qAM128-SISO-3p5x (15),
            qAM256-SISO-4x   (16),
            qAM512-SISO-4p5x (17),
            qAM1024-SISO-5x  (18)
        } 
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION "Remote Transmit Modulation Rate"
        ::= { airFiberStatusEntry 18 }

    remoteRXPower0 OBJECT-TYPE
        SYNTAX Integer32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION "Remote Radio Chain 0 RX Power Level (dBm)"
        ::= { airFiberStatusEntry 19 }

    remoteRXPower0Valid OBJECT-TYPE
        SYNTAX TruthValue
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION "Remote Radio Chain 0 RX Power Valid"
        ::= { airFiberStatusEntry 20 }

    remoteRXPower0Overload OBJECT-TYPE
        SYNTAX TruthValue
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION "Remote Radio Chain 0 RX Overloaded"
        ::= { airFiberStatusEntry 21 }

    remoteRXPower1 OBJECT-TYPE
        SYNTAX Integer32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION "Remote Radio Chain 1 RX Power Level (dBm)"
        ::= { airFiberStatusEntry 22 }

    remoteRXPower1Valid OBJECT-TYPE
        SYNTAX TruthValue
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION "Remote Radio  Chain 1 RX Power Valid"
        ::= { airFiberStatusEntry 23 }

    remoteRXPower1Overload OBJECT-TYPE
        SYNTAX TruthValue
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION "Remote Radio  Chain 1 RX Overloaded"
        ::= { airFiberStatusEntry 24 }

    countryCode OBJECT-TYPE
        SYNTAX Integer32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION "Configured Country Code"
        ::= { airFiberStatusEntry 25 }

    radioLinkState OBJECT-TYPE
        SYNTAX     INTEGER {
                down (0),
                up   (1)
        }         
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION "Radio Link State"
        ::= { airFiberStatusEntry 26 }

    ethDataPortState OBJECT-TYPE
        SYNTAX     INTEGER {
                down (0),
                up   (1)
        }         
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION "Ethernet Data Port State"
        ::= { airFiberStatusEntry 27 }

    gpsPulse OBJECT-TYPE
        SYNTAX     DisplayString
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION "GPS Pulse Detected"
        ::= { airFiberStatusEntry 28 }

    gpsFix OBJECT-TYPE
        SYNTAX     DisplayString
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION "GPS Fix Obtained"
        ::= { airFiberStatusEntry 29 }

    gpsLat OBJECT-TYPE
        SYNTAX     DisplayString
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION "GPS Latitude"
        ::= { airFiberStatusEntry 30 }

    gpsLong OBJECT-TYPE
        SYNTAX     DisplayString
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION "GPS Longitude"
        ::= { airFiberStatusEntry 31 }

    gpsAltMeters OBJECT-TYPE
        SYNTAX     DisplayString
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION "GPS Altitude (m)"
        ::= { airFiberStatusEntry 32 }

    gpsAltFeet OBJECT-TYPE
        SYNTAX     DisplayString
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION "GPS Altitude (ft)"
        ::= { airFiberStatusEntry 33 }

    gpsSatsVisible OBJECT-TYPE
        SYNTAX Integer32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION "GPS Satellites Visible"
        ::= { airFiberStatusEntry 34 }

    gpsSatsTracked OBJECT-TYPE
        SYNTAX Integer32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION "GPS Satellites Tracked"
        ::= { airFiberStatusEntry 35 }

    gpsHDOP OBJECT-TYPE
        SYNTAX OCTET STRING
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION "GPS Horizontal Dilution of Precision"
        ::= { airFiberStatusEntry 36 }

    dfsState OBJECT-TYPE
        SYNTAX DisplayString
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION "Radio DFS State"
        ::= { airFiberStatusEntry 37 }

    upTime OBJECT-TYPE
        SYNTAX Integer32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION "Board uptime (seconds)"
        ::= { airFiberStatusEntry 38 }

    dateTime OBJECT-TYPE
        SYNTAX     DisplayString
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION "Board date and time"
        ::= { airFiberStatusEntry 39 }

    fwVersion OBJECT-TYPE
        SYNTAX     DisplayString
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION "Board Firmware Revision"
        ::= { airFiberStatusEntry 40 }

    remoteRXGain OBJECT-TYPE
        SYNTAX     DisplayString
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION "Remote radio Receiver Gain"
        ::= { airFiberStatusEntry 41 }

    radioLinkInfo OBJECT-TYPE
        SYNTAX     DisplayString
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION "Radio Link Connection Information"
        ::= { airFiberStatusEntry 42 }

    ethDataPortInfo OBJECT-TYPE
        SYNTAX     DisplayString
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION "Ethernet Data Port Link Connection Speed"
        ::= { airFiberStatusEntry 43 }        

    linkUpTime OBJECT-TYPE
        SYNTAX Integer32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION "Radio Link uptime (seconds)"
        ::= { airFiberStatusEntry 44 }

    remoteMAC OBJECT-TYPE
        SYNTAX     DisplayString
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION "Remote radio MAC Address"
        ::= { airFiberStatusEntry 45 }

    remoteIP OBJECT-TYPE
        SYNTAX     DisplayString
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION "Remote radio IP Address"
        ::= { airFiberStatusEntry 46 }

    dfsDetections OBJECT-TYPE
        SYNTAX Integer32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION "Number of DFS Detections since boot.  5 GHz radios only."
        ::= { airFiberStatusEntry 47 }

    dfsDomain OBJECT-TYPE
        SYNTAX     DisplayString
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION "DFS Regulatory Domain for current TX Frequency.  5 GHz radios only."
        ::= { airFiberStatusEntry 48 }

    dfsStateTxFreq1 OBJECT-TYPE
        SYNTAX     DisplayString
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION "State of first TX Frequency.  5 GHz radios only."
        ::= { airFiberStatusEntry 49 }

    dfsStateTxFreq2 OBJECT-TYPE
        SYNTAX     DisplayString
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION "State of second TX Frequency.  5 GHz radios only."
        ::= { airFiberStatusEntry 50 }

    dfsStateTxFreq3 OBJECT-TYPE
        SYNTAX     DisplayString
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION "State of third TX Frequency.  5 GHz radios only."
        ::= { airFiberStatusEntry 51 }

    dfsTimerTxFreq1 OBJECT-TYPE
        SYNTAX     Integer32
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION "Seconds remaining before first TX Frequency can advance to next operating state.  Channel availability check timeout 
                     is 60 seconds and DFS detection timeout is 30 minutes.  5 GHz radios only."
        ::= { airFiberStatusEntry 52 }

    dfsTimerTxFreq2 OBJECT-TYPE
        SYNTAX     Integer32
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION "Seconds remaining before second TX Frequency can advance to next operating state.  Channel availability check timeout 
                     is 60 seconds and DFS detection timeout is 30 minutes.  5 GHz radios only."
        ::= { airFiberStatusEntry 53 }

    dfsTimerTxFreq3 OBJECT-TYPE
        SYNTAX     Integer32
        MAX-ACCESS read-only
        STATUS     current
         DESCRIPTION "Seconds remaining before third TX Frequency can advance to next operating state.  Channel availability check timeout 
                     is 60 seconds and DFS detection timeout is 30 minutes.  5 GHz radios only."
        ::= { airFiberStatusEntry 54 }

    -- --------------------------------------------------------------------------------
    --                            AirFiber Statistics Table
    -- --------------------------------------------------------------------------------

    airFiberStatistics OBJECT-TYPE
        SYNTAX     SEQUENCE OF AirFiberStatisticsEntry
        MAX-ACCESS not-accessible
        STATUS     current
        DESCRIPTION "AirFiber Statistics"
        ::= { ubntAirFIBER 3 }


    airFiberStatisticsEntry OBJECT-TYPE
       SYNTAX     AirFiberStatisticsEntry
       MAX-ACCESS not-accessible
       STATUS     current
       DESCRIPTION "An entry in the AirFiberStatisticsTable"
       INDEX      { airFiberStatisticsIndex }
       ::= { airFiberStatistics 1 }


    AirFiberStatisticsEntry ::= SEQUENCE {
    airFiberStatisticsIndex     Integer32,
    txFramesOK                  Counter64,
    rxFramesOK                  Counter64,
    rxFrameCrcErr               Counter64,
    rxAlignErr                  Counter64,
    txOctetsOK                  Counter64,
    rxOctetsOK                  Counter64,
    txPauseFrames               Counter64,
    rxPauseFrames               Counter64,
    rxErroredFrames             Counter64,
    txErroredFrames             Counter64,
    rxValidUnicastFrames        Counter64,
    rxValidMulticastFrames      Counter64,
    rxValidBroadcastFrames      Counter64,
    txValidUnicastFrames        Counter64,
    txValidMulticastFrames      Counter64,
    txValidBroadcastFrames      Counter64,
    rxDroppedMacErrFrames       Counter64,
    rxTotalOctets               Counter64,
    rxTotalFrames               Counter64,
    rxLess64ByteFrames          Counter64,
    rxOverLengthFrames          Counter64,
    rx64BytePackets             Counter64,
    rx65-127BytePackets         Counter64,
    rx128-255BytePackets        Counter64,
    rx256-511BytePackets        Counter64,
    rx512-1023BytePackets       Counter64,
    rx1024-1518BytesPackets     Counter64,
    rx1519PlusBytePackets       Counter64,
    rxTooLongFrameCrcErr        Counter64,
    rxTooShortFrameCrcErr       Counter64,
    txqosoct0                   Counter64,
    txqosoct1                   Counter64,
    txqosoct2                   Counter64,
    txqosoct3                   Counter64,
    txqosoct4                   Counter64,
    txqosoct5                   Counter64,
    txqosoct6                   Counter64,
    txqosoct7                   Counter64,
    txqospkt0                   Counter64,
    txqospkt1                   Counter64,
    txqospkt2                   Counter64,
    txqospkt3                   Counter64,
    txqospkt4                   Counter64,
    txqospkt5                   Counter64,
    txqospkt6                   Counter64,
    txqospkt7                   Counter64,
    rxqosoct0                   Counter64,
    rxqosoct1                   Counter64,
    rxqosoct2                   Counter64,
    rxqosoct3                   Counter64,
    rxqosoct4                   Counter64,
    rxqosoct5                   Counter64,
    rxqosoct6                   Counter64,
    rxqosoct7                   Counter64,
    rxqospkt0                   Counter64,
    rxqospkt1                   Counter64,
    rxqospkt2                   Counter64,
    rxqospkt3                   Counter64,
    rxqospkt4                   Counter64,
    rxqospkt5                   Counter64,
    rxqospkt6                   Counter64,
    rxqospkt7                   Counter64,
    txoctetsAll                 Counter64,
    txpktsAll                   Counter64,
    rxoctetsAll                 Counter64,
    rxpktsAll                   Counter64
    }

    airFiberStatisticsIndex OBJECT-TYPE
        SYNTAX     Integer32 (1..255)
        MAX-ACCESS not-accessible
        STATUS     current
        DESCRIPTION "Index for the airFiberStatus"
        ::= { airFiberStatisticsEntry 1 }

    txFramesOK OBJECT-TYPE
        SYNTAX Counter64
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION "Eth Data Port  TX Frames"
        ::= { airFiberStatisticsEntry 2 }

    rxFramesOK OBJECT-TYPE
        SYNTAX Counter64
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION "Eth Data Port RX Frames"
        ::= { airFiberStatisticsEntry 3 }

    rxFrameCrcErr OBJECT-TYPE
        SYNTAX Counter64
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION "Eth Data Port CRC Errors"
        ::= { airFiberStatisticsEntry 4 }

    rxAlignErr OBJECT-TYPE
        SYNTAX Counter64
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION "Eth Data Port Receive Alignment Errors"
        ::= { airFiberStatisticsEntry 5 }

    txOctetsOK OBJECT-TYPE
        SYNTAX Counter64
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION "Eth Data Port  TX Octets"
        ::= { airFiberStatisticsEntry 6 }

    rxOctetsOK OBJECT-TYPE
        SYNTAX Counter64
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION "Eth Data Port RX Octets"
        ::= { airFiberStatisticsEntry 7 }

    txPauseFrames OBJECT-TYPE
        SYNTAX Counter64
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION "Eth Data Port Pause Frames Transmitted"
        ::= { airFiberStatisticsEntry 8 }

    rxPauseFrames OBJECT-TYPE
        SYNTAX Counter64
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION "Eth Data Port Pause Frames Received"
        ::= { airFiberStatisticsEntry 9 }

    rxErroredFrames OBJECT-TYPE
        SYNTAX Counter64
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION "Eth Data Port Bad Frames Received"
        ::= { airFiberStatisticsEntry 10 }

    txErroredFrames OBJECT-TYPE
        SYNTAX Counter64
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION "Eth Data Port Bad Frames Transmitted"
        ::= { airFiberStatisticsEntry 11 }

    rxValidUnicastFrames OBJECT-TYPE
        SYNTAX Counter64
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION "Eth Data Port Unicast Frames Received"
        ::= { airFiberStatisticsEntry 12 }

    rxValidMulticastFrames OBJECT-TYPE
        SYNTAX Counter64
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION "Eth Data Port Multicast Frames Received"
        ::= { airFiberStatisticsEntry 13 }

    rxValidBroadcastFrames OBJECT-TYPE
        SYNTAX Counter64
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION "Eth Data Port Broadcast Frames Received"
        ::= { airFiberStatisticsEntry 14 }

    txValidUnicastFrames OBJECT-TYPE
        SYNTAX Counter64
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION "Eth Data Port Unicast Frames Transmitted"
        ::= { airFiberStatisticsEntry 15 }

    txValidMulticastFrames OBJECT-TYPE
        SYNTAX Counter64
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION "Eth Data Port Multicast Frames Transmitted"
        ::= { airFiberStatisticsEntry 16 }

    txValidBroadcastFrames OBJECT-TYPE
        SYNTAX Counter64
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION "Eth Data Port Broadcast Frames Transmitted"
        ::= { airFiberStatisticsEntry 17 }

    rxDroppedMacErrFrames OBJECT-TYPE
        SYNTAX Counter64
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION "Eth Data Port Dropped MAC Receive Errors"
        ::= { airFiberStatisticsEntry 18 }

    rxTotalOctets OBJECT-TYPE
        SYNTAX Counter64
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION "Eth Data Port Total Octets Received"
        ::= { airFiberStatisticsEntry 19 }

    rxTotalFrames OBJECT-TYPE
        SYNTAX Counter64
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION "Eth Data Port Total Frames Received"
        ::= { airFiberStatisticsEntry 20 }

    rxLess64ByteFrames OBJECT-TYPE
        SYNTAX Counter64
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION "Eth Data Port Undersized Frames Received"
        ::= { airFiberStatisticsEntry 21 }

    rxOverLengthFrames OBJECT-TYPE
        SYNTAX Counter64
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION "Eth Data Port Over Max Length Frames Received"
        ::= { airFiberStatisticsEntry 22 }

    rx64BytePackets OBJECT-TYPE
        SYNTAX Counter64
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION "Eth Data Port 64 Byte Frames Received"
        ::= { airFiberStatisticsEntry 23 }

    rx65-127BytePackets OBJECT-TYPE
        SYNTAX Counter64
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION "Eth Data Port 65-127 Byte Frames Received"
        ::= { airFiberStatisticsEntry 24 }

    rx128-255BytePackets OBJECT-TYPE
        SYNTAX Counter64
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION "Eth Data Port 128-256 Byte Frames Received"
        ::= { airFiberStatisticsEntry 25 }

    rx256-511BytePackets OBJECT-TYPE
        SYNTAX Counter64
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION "Eth Data Port 256-511 Byte Frames Received"
        ::= { airFiberStatisticsEntry 26 }

    rx512-1023BytePackets OBJECT-TYPE
        SYNTAX Counter64
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION "Eth Data Port 512-1023 Byte Frames Received"
        ::= { airFiberStatisticsEntry 27 }

    rx1024-1518BytesPackets OBJECT-TYPE
        SYNTAX Counter64
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION "Eth Data Port 1024-1518 Byte Frames Received"
        ::= { airFiberStatisticsEntry 28 }

    rx1519PlusBytePackets OBJECT-TYPE
        SYNTAX Counter64
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION "Eth Data Port Greater Than 1518 Byte Frames Received"
        ::= { airFiberStatisticsEntry 29 }

    rxTooLongFrameCrcErr OBJECT-TYPE
        SYNTAX Counter64
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION "Eth Data Port Too Long Frame CRC Errors Received"
        ::= { airFiberStatisticsEntry 30 }

    rxTooShortFrameCrcErr OBJECT-TYPE
        SYNTAX Counter64
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION "Eth Data Port Too Short Frame CRC Errors Received"
        ::= { airFiberStatisticsEntry 31 }

    txqosoct0 OBJECT-TYPE
        SYNTAX Counter64
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION "RF TX Octets QOS 0"
        ::= { airFiberStatisticsEntry 32 }

    txqosoct1 OBJECT-TYPE
        SYNTAX Counter64
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION "RF TX Octets QOS 1"
        ::= { airFiberStatisticsEntry 33 }

    txqosoct2 OBJECT-TYPE
        SYNTAX Counter64
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION "RF TX Octets QOS 2"
        ::= { airFiberStatisticsEntry 34 }

    txqosoct3 OBJECT-TYPE
        SYNTAX Counter64
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION "RF TX Octets QOS 3"
        ::= { airFiberStatisticsEntry 35 }

    txqosoct4 OBJECT-TYPE
        SYNTAX Counter64
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION "RF TX Octets QOS 4"
        ::= { airFiberStatisticsEntry 36 }

    txqosoct5 OBJECT-TYPE
        SYNTAX Counter64
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION "RF TX Octets QOS 5"
        ::= { airFiberStatisticsEntry 37 }

    txqosoct6 OBJECT-TYPE
        SYNTAX Counter64
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION "RF TX Octets QOS 6"
        ::= { airFiberStatisticsEntry 38 }

    txqosoct7 OBJECT-TYPE
        SYNTAX Counter64
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION "RF TX Octets QOS 7"
        ::= { airFiberStatisticsEntry 39 }

    txqospkt0 OBJECT-TYPE
        SYNTAX Counter64
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION "RF TX Packets QOS 0"
        ::= { airFiberStatisticsEntry 40 }

    txqospkt1 OBJECT-TYPE
        SYNTAX Counter64
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION "RF TX Packets QOS 1"
        ::= { airFiberStatisticsEntry 41 }

    txqospkt2 OBJECT-TYPE
        SYNTAX Counter64
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION "RF TX Packets QOS 2"
        ::= { airFiberStatisticsEntry 42 }

    txqospkt3 OBJECT-TYPE
        SYNTAX Counter64
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION "RF TX Packets QOS 3"
        ::= { airFiberStatisticsEntry 43 }

    txqospkt4 OBJECT-TYPE
        SYNTAX Counter64
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION "RF TX Packets QOS 4"
        ::= { airFiberStatisticsEntry 44 }

    txqospkt5 OBJECT-TYPE
        SYNTAX Counter64
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION "RF TX Packets QOS 5"
        ::= { airFiberStatisticsEntry 45 }

    txqospkt6 OBJECT-TYPE
        SYNTAX Counter64
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION "RF TX Packets QOS 6"
        ::= { airFiberStatisticsEntry 46 }

    txqospkt7 OBJECT-TYPE
        SYNTAX Counter64
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION "RF TX Packets QOS 7"
        ::= { airFiberStatisticsEntry 47 }

    rxqosoct0 OBJECT-TYPE
        SYNTAX Counter64
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION "RF RX Octets QOS 0"
        ::= { airFiberStatisticsEntry 48 }

    rxqosoct1 OBJECT-TYPE
        SYNTAX Counter64
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION "RF RX Octets QOS 1"
        ::= { airFiberStatisticsEntry 49 }

    rxqosoct2 OBJECT-TYPE
        SYNTAX Counter64
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION "RF RX Octets QOS 2"
        ::= { airFiberStatisticsEntry 50 }

    rxqosoct3 OBJECT-TYPE
        SYNTAX Counter64
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION "RF RX Octets QOS 3"
        ::= { airFiberStatisticsEntry 51 }

    rxqosoct4 OBJECT-TYPE
        SYNTAX Counter64
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION "RF RX Octets QOS 4"
        ::= { airFiberStatisticsEntry 52 }

    rxqosoct5 OBJECT-TYPE
        SYNTAX Counter64
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION "RF RX Octets QOS 5"
        ::= { airFiberStatisticsEntry 53 }

    rxqosoct6 OBJECT-TYPE
        SYNTAX Counter64
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION "RF RX Octets QOS 6"
        ::= { airFiberStatisticsEntry 54 }

    rxqosoct7 OBJECT-TYPE
        SYNTAX Counter64
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION "RF RX Octets QOS 7"
        ::= { airFiberStatisticsEntry 55 }

    rxqospkt0 OBJECT-TYPE
        SYNTAX Counter64
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION "RF RX Packets QOS 0"
        ::= { airFiberStatisticsEntry 56 }

    rxqospkt1 OBJECT-TYPE
        SYNTAX Counter64
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION "RF RX Packets QOS 1"
        ::= { airFiberStatisticsEntry 57 }

    rxqospkt2 OBJECT-TYPE
        SYNTAX Counter64
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION "RF RX Packets QOS 2"
        ::= { airFiberStatisticsEntry 58 }

    rxqospkt3 OBJECT-TYPE
        SYNTAX Counter64
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION "RF RX Packets QOS 3"
        ::= { airFiberStatisticsEntry 59 }

    rxqospkt4 OBJECT-TYPE
        SYNTAX Counter64
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION "RF RX Packets QOS 4"
        ::= { airFiberStatisticsEntry 60 }

    rxqospkt5 OBJECT-TYPE
        SYNTAX Counter64
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION "RF RX Packets QOS 5"
        ::= { airFiberStatisticsEntry 61 }

    rxqospkt6 OBJECT-TYPE
        SYNTAX Counter64
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION "RF RX Packets QOS 6"
        ::= { airFiberStatisticsEntry 62 }

    rxqospkt7 OBJECT-TYPE
        SYNTAX Counter64
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION "RF RX Packets QOS 7"
        ::= { airFiberStatisticsEntry 63 }

    txoctetsAll OBJECT-TYPE
        SYNTAX Counter64
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION "RF Total Octets Transmitted"
        ::= { airFiberStatisticsEntry 64 }

    txpktsAll OBJECT-TYPE
        SYNTAX Counter64
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION "RF Total Packets Transmitted"
        ::= { airFiberStatisticsEntry 65 }

    rxoctetsAll OBJECT-TYPE
        SYNTAX Counter64
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION "RF Total Octets Received"
        ::= { airFiberStatisticsEntry 66 }

    rxpktsAll OBJECT-TYPE
        SYNTAX Counter64
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION "RF Total Packets Received"
        ::= { airFiberStatisticsEntry 67 }

    ubntAirFiberStatusGroup OBJECT-GROUP OBJECTS {
        radioEnable,
        radioLinkMode,
        radioDuplex,
        txFrequency,
        rxFrequency,
        regDomain,
        gpsSync,
        txPower,
        rxGain,
        maxTxModRate,
        modRateControl,
        ethDPortLinkSpeed,
        linkName,
        encryptKey,
        ethFlowControl,
        ethMcastFilter,
        ethTrackRFLink,
        ethLinkOffDuration,
        ethLinkOffSpacing,
        txFrequency1,
        rxFrequency1,
        txFrequency2,
        rxFrequency2,
        txFrequency3,
        rxFrequency3,
        channelWidth,
        txChannelWidth,
        rxChannelWidth,
        curTXModRate,
        radioLinkDistFt,
        radioLinkDistM,
        rxCapacity,
        txCapacity,
        radio0TempC,
        radio0TempF,
        radio1TempC,
        radio1TempF,
        rxPower0,
        rxPower0Valid,
        rxOverload0,
        rxPower1,
        rxPower1Valid,
        rxOverload1,
        remoteTXPower,
        remoteTXModRate,
        remoteRXPower0,
        remoteRXPower0Valid,
        remoteRXPower0Overload,
        remoteRXPower1,
        remoteRXPower1Valid,
        remoteRXPower1Overload,
        countryCode,
        radioLinkState,
        ethDataPortState,
        gpsPulse,
        gpsFix,
        gpsLat,
        gpsLong,
        gpsAltMeters,
        gpsAltFeet,
        gpsSatsVisible,
        gpsSatsTracked,
        gpsHDOP,
        dfsState,
        upTime,
        dateTime,  
        fwVersion,
        remoteRXGain,
        radioLinkInfo,
        ethDataPortInfo,    
        linkUpTime,
        remoteMAC,
        remoteIP,
        dfsDetections,
        dfsDomain,
        dfsStateTxFreq1,
        dfsStateTxFreq2,
        dfsStateTxFreq3,
        dfsTimerTxFreq1,
        dfsTimerTxFreq2,
        dfsTimerTxFreq3,
        txFramesOK,
        rxFramesOK,
        rxFrameCrcErr,
        rxAlignErr,
        txOctetsOK,
        rxOctetsOK,
        txPauseFrames,
        rxPauseFrames,
        rxErroredFrames,
        txErroredFrames,
        rxValidUnicastFrames,
        rxValidMulticastFrames,
        rxValidBroadcastFrames,
        txValidUnicastFrames,
        txValidMulticastFrames,
        txValidBroadcastFrames,
        rxDroppedMacErrFrames,
        rxTotalOctets,
        rxTotalFrames,
        rxLess64ByteFrames,
        rxOverLengthFrames,
        rx64BytePackets,
        rx65-127BytePackets,
        rx128-255BytePackets,
        rx256-511BytePackets,
        rx512-1023BytePackets,
        rx1024-1518BytesPackets,
        rx1519PlusBytePackets,
        rxTooLongFrameCrcErr,
        rxTooShortFrameCrcErr,
        txqosoct0,
        txqosoct1,
        txqosoct2,
        txqosoct3,
        txqosoct4,
        txqosoct5,
        txqosoct6,
        txqosoct7,
        txqospkt0,
        txqospkt1,
        txqospkt2,
        txqospkt3,
        txqospkt4,
        txqospkt5,
        txqospkt6,
        txqospkt7,
        rxqosoct0,
        rxqosoct1,
        rxqosoct2,
        rxqosoct3,
        rxqosoct4,
        rxqosoct5,
        rxqosoct6,
        rxqosoct7,
        rxqospkt0,
        rxqospkt1,
        rxqospkt2,
        rxqospkt3,
        rxqospkt4,
        rxqospkt5,
        rxqospkt6,
        rxqospkt7,
        txoctetsAll,
        txpktsAll,
        rxoctetsAll,
        rxpktsAll }
        STATUS current
        DESCRIPTION "Config Status and statistics for AirFiber monitoring"
        ::= { ubntAirFiberGroups 1 }

    ubntAirFiberStatusCompliance MODULE-COMPLIANCE
        STATUS current
        DESCRIPTION "The compliance statement for Ubiquiti AirFiber entities."
        MODULE
            GROUP ubntAirFiberStatusGroup
            DESCRIPTION "This group is for Ubiquiti systems AirFiber Radios."
        ::= { ubntAirFiberGroups 2 }
                
ubntAirMAX OBJECT IDENTIFIER ::= { ubntMIB 4 }

    -- --------------------------------------------------------------------------------
    --                            radio table
    -- --------------------------------------------------------------------------------

    ubntRadioTable OBJECT-TYPE
        SYNTAX     SEQUENCE OF UbntRadioEntry
        MAX-ACCESS not-accessible
        STATUS     current
        DESCRIPTION "Radio status & statistics"
        ::= { ubntAirMAX 1 }

    ubntRadioEntry OBJECT-TYPE
       SYNTAX     UbntRadioEntry
       MAX-ACCESS not-accessible
       STATUS     current
       DESCRIPTION "An entry in the ubntRadioTable"
       INDEX      { ubntRadioIndex }
       ::= { ubntRadioTable 1 }

    UbntRadioEntry ::= SEQUENCE {
        ubntRadioIndex      Integer32,
        ubntRadioMode       INTEGER,
        ubntRadioCCode      Integer32,
        ubntRadioFreq       Integer32,
        ubntRadioDfsEnabled TruthValue,
        ubntRadioTxPower    Integer32,
        ubntRadioDistance   Integer32,
        ubntRadioChainmask  Integer32,
        ubntRadioAntenna    DisplayString
    }

    ubntRadioIndex OBJECT-TYPE
        SYNTAX     Integer32 (1..255)
        MAX-ACCESS not-accessible
        STATUS     current
        DESCRIPTION "Index for the ubntRadioTable"
        ::= { ubntRadioEntry 1 }

    ubntRadioMode OBJECT-TYPE
        SYNTAX     INTEGER {
        sta(1),
        ap(2),
        aprepeater(3),
        apwds(4)
    }
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION "Radio mode"
        ::= { ubntRadioEntry 2 }

    ubntRadioCCode OBJECT-TYPE
        SYNTAX     Integer32
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION "Country code"
        ::= { ubntRadioEntry 3 }

    ubntRadioFreq OBJECT-TYPE
        SYNTAX Integer32 (1..65535)
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION "Operating frequency"
        ::= { ubntRadioEntry 4 }

    ubntRadioDfsEnabled OBJECT-TYPE
        SYNTAX TruthValue
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION "DFS status"
        ::= { ubntRadioEntry 5 }

    ubntRadioTxPower OBJECT-TYPE
        SYNTAX Integer32 (1..65535)
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION "Transmit power"
        ::= { ubntRadioEntry 6 }

    ubntRadioDistance OBJECT-TYPE
        SYNTAX Integer32 (1..65535)
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION "Distance"
        ::= { ubntRadioEntry 7 }

    ubntRadioChainmask OBJECT-TYPE
        SYNTAX Integer32 (1..255)
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION "Chainmask"
        ::= { ubntRadioEntry 8 }

    ubntRadioAntenna OBJECT-TYPE
        SYNTAX     DisplayString
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION "Antenna"
        ::= { ubntRadioEntry 9 }

    ubntRadioRssiTable OBJECT-TYPE
        SYNTAX     SEQUENCE OF UbntRadioRssiEntry
        MAX-ACCESS not-accessible
        STATUS     current
        DESCRIPTION "Radio RSSI per chain"
        ::= { ubntAirMAX 2 }

    ubntRadioRssiEntry OBJECT-TYPE
       SYNTAX     UbntRadioRssiEntry
       MAX-ACCESS not-accessible
       STATUS     current
       DESCRIPTION "An entry in the ubntRadioRssiTable"
       INDEX      { ubntRadioIndex, ubntRadioRssiIndex }
       ::= { ubntRadioRssiTable 1 }

    UbntRadioRssiEntry ::= SEQUENCE {
        ubntRadioRssiIndex Integer32,
        ubntRadioRssi      Integer32,
        ubntRadioRssiMgmt  Integer32,
        ubntRadioRssiExt   Integer32
    }

    ubntRadioRssiIndex OBJECT-TYPE
        SYNTAX     Integer32 (1..255)
        MAX-ACCESS not-accessible 
        STATUS     current
        DESCRIPTION "Index for the ubntRadioRssiTable"
        ::= { ubntRadioRssiEntry 1 }

    ubntRadioRssi OBJECT-TYPE
        SYNTAX Integer32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION "Data frames rssi per chain"
        ::= { ubntRadioRssiEntry 2 }

    ubntRadioRssiMgmt OBJECT-TYPE
        SYNTAX Integer32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION "Management frames rssi per chain"
        ::= { ubntRadioRssiEntry 3 }

    ubntRadioRssiExt OBJECT-TYPE
        SYNTAX Integer32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION "Extension channel rssi per chain"
        ::= { ubntRadioRssiEntry 4 }

    -- --------------------------------------------------------------------------------
    --                            airMAX table
    -- --------------------------------------------------------------------------------

    ubntAirMaxTable OBJECT-TYPE
        SYNTAX     SEQUENCE OF UbntAirMaxEntry
        MAX-ACCESS not-accessible
        STATUS     current
        DESCRIPTION "airMAX protocol statistics"
        ::= { ubntAirMAX 6 }

    ubntAirMaxEntry OBJECT-TYPE
       SYNTAX     UbntAirMaxEntry
       MAX-ACCESS not-accessible
       STATUS     current
       DESCRIPTION "An entry in the ubntAirMaxTable"
       INDEX      { ubntAirMaxIfIndex }
       ::= { ubntAirMaxTable 1 }

    UbntAirMaxEntry ::= SEQUENCE {
        ubntAirMaxIfIndex     Integer32,
        ubntAirMaxEnabled     TruthValue,
        ubntAirMaxQuality     Integer32,
        ubntAirMaxCapacity    Integer32,
        ubntAirMaxPriority    INTEGER,
        ubntAirMaxNoAck       TruthValue
    }

    ubntAirMaxIfIndex OBJECT-TYPE
        SYNTAX     Integer32 (1..255)
        MAX-ACCESS not-accessible 
        STATUS     current
        DESCRIPTION "Index for the ubntAirMaxTable"
        ::= { ubntAirMaxEntry 1 }

    ubntAirMaxEnabled OBJECT-TYPE
        SYNTAX TruthValue
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION "airMAX status - on/off"
        ::= { ubntAirMaxEntry 2 }

    ubntAirMaxQuality OBJECT-TYPE
        SYNTAX Integer32 (0..100)
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION "airMAX quality - percentage"
        ::= { ubntAirMaxEntry 3 }

    ubntAirMaxCapacity OBJECT-TYPE
        SYNTAX Integer32 (0..100)
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION "airMAX capacity - percentage"
        ::= { ubntAirMaxEntry 4 }

    ubntAirMaxPriority OBJECT-TYPE
        SYNTAX INTEGER {
        high(0),
        medium(1),
        low(2),
        none(3)
    }
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION "airMAX priority - none/high/low/medium"
        ::= { ubntAirMaxEntry 5 }

    ubntAirMaxNoAck OBJECT-TYPE
        SYNTAX TruthValue
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION "airMAX NoACK mode - on/off"
        ::= { ubntAirMaxEntry 6 }

    -- --------------------------------------------------------------------------------
    --                            airSync table
    -- --------------------------------------------------------------------------------

    ubntAirSyncTable OBJECT-TYPE
        SYNTAX     SEQUENCE OF UbntAirSyncEntry
        MAX-ACCESS not-accessible
        STATUS     current
        DESCRIPTION "airSync protocol statistics"
        ::= { ubntAirMAX 3 }

    ubntAirSyncEntry OBJECT-TYPE
       SYNTAX     UbntAirSyncEntry
       MAX-ACCESS not-accessible
       STATUS     current
       DESCRIPTION "An entry in the ubntAirSyncTable"
       INDEX      { ubntAirSyncIfIndex }
       ::= { ubntAirSyncTable 1 }

    UbntAirSyncEntry ::= SEQUENCE {
        ubntAirSyncIfIndex    Integer32,
        ubntAirSyncMode       INTEGER,
        ubntAirSyncCount      Integer32,
        ubntAirSyncDownUtil   Integer32,
        ubntAirSyncUpUtil     Integer32
    }

    ubntAirSyncIfIndex OBJECT-TYPE
        SYNTAX     Integer32 (1..255)
        MAX-ACCESS not-accessible 
        STATUS     current
        DESCRIPTION "Index for the ubntAirSyncTable"
        ::= { ubntAirSyncEntry 1 }

    ubntAirSyncMode OBJECT-TYPE
        SYNTAX     INTEGER {
        disabled(0),
        master(1),
        slave(2)
    }
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION "airSync mode - master/slave"
        ::= { ubntAirSyncEntry 2 }

    ubntAirSyncCount OBJECT-TYPE
        SYNTAX     Integer32 (0..255)
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION "airSync client count"
        ::= { ubntAirSyncEntry 3 }

    ubntAirSyncDownUtil OBJECT-TYPE
        SYNTAX     Integer32 (0..100)
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION "airSync down utilization"
        ::= { ubntAirSyncEntry 4 }

    ubntAirSyncUpUtil OBJECT-TYPE
        SYNTAX     Integer32 (0..100)
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION "airSync up utilization"
        ::= { ubntAirSyncEntry 5 }

    -- --------------------------------------------------------------------------------
    --                            airSelect table
    -- --------------------------------------------------------------------------------

    ubntAirSelTable OBJECT-TYPE
        SYNTAX     SEQUENCE OF UbntAirSelEntry
        MAX-ACCESS not-accessible
        STATUS     current
        DESCRIPTION "airSelect protocol statistics"
        ::= { ubntAirMAX 4 }

    ubntAirSelEntry OBJECT-TYPE
       SYNTAX     UbntAirSelEntry
       MAX-ACCESS not-accessible
       STATUS     current
       DESCRIPTION "An entry in the ubntAirSelTable"
       INDEX      { ubntAirSelIfIndex }
       ::= { ubntAirSelTable 1 }

    UbntAirSelEntry ::= SEQUENCE {
        ubntAirSelIfIndex    Integer32,
        ubntAirSelEnabled    TruthValue,
        ubntAirSelInterval   Integer32
    }

    ubntAirSelIfIndex OBJECT-TYPE
        SYNTAX     Integer32 (1..255)
        MAX-ACCESS not-accessible 
        STATUS     current
        DESCRIPTION "Index for the ubntAirSelTable"
        ::= { ubntAirSelEntry 1 }

    ubntAirSelEnabled OBJECT-TYPE
        SYNTAX TruthValue
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION "airSelect status - on/off"
        ::= { ubntAirSelEntry 2 }

    ubntAirSelInterval OBJECT-TYPE
        SYNTAX     Integer32 (0..65535)
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION "airSelect hop interval (miliseconds)"
        ::= { ubntAirSelEntry 3 }

    -- --------------------------------------------------------------------------------
    --                            wireless statistics table
    -- --------------------------------------------------------------------------------

    ubntWlStatTable OBJECT-TYPE
        SYNTAX     SEQUENCE OF UbntWlStatEntry
        MAX-ACCESS not-accessible
        STATUS     current
        DESCRIPTION "Wireless statistics"
        ::= { ubntAirMAX 5 }

    ubntWlStatEntry OBJECT-TYPE
       SYNTAX     UbntWlStatEntry
       MAX-ACCESS not-accessible
       STATUS     current
       DESCRIPTION "An entry in the ubntWlStatTable"
       INDEX      { ubntWlStatIndex }
       ::= { ubntWlStatTable 1 }

    UbntWlStatEntry ::= SEQUENCE {
        ubntWlStatIndex      Integer32,
        ubntWlStatSsid       DisplayString,
        ubntWlStatHideSsid   TruthValue,
        ubntWlStatApMac      MacAddress,
        ubntWlStatSignal     Integer32,
        ubntWlStatRssi       Integer32,
        ubntWlStatCcq        Integer32,
        ubntWlStatNoiseFloor Integer32,
        ubntWlStatTxRate     Integer32,
        ubntWlStatRxRate     Integer32,
        ubntWlStatSecurity   DisplayString,
        ubntWlStatWdsEnabled TruthValue,
        ubntWlStatApRepeater TruthValue,
        ubntWlStatChanWidth  Integer32,
        ubntWlStatStaCount   Gauge32
    }

    ubntWlStatIndex OBJECT-TYPE
        SYNTAX     Integer32 (1..255)
        MAX-ACCESS not-accessible 
        STATUS     current
        DESCRIPTION "Index for the ubntWlStatTable"
        ::= { ubntWlStatEntry 1 }

    ubntWlStatSsid OBJECT-TYPE
        SYNTAX     DisplayString
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION "SSID"
        ::= { ubntWlStatEntry 2 }

    ubntWlStatHideSsid OBJECT-TYPE
        SYNTAX     TruthValue
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION "Hide SSID - on/off"
        ::= { ubntWlStatEntry 3 }

    ubntWlStatApMac OBJECT-TYPE
        SYNTAX     MacAddress
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION "AP MAC address"
        ::= { ubntWlStatEntry 4 }

    ubntWlStatSignal OBJECT-TYPE
        SYNTAX     Integer32
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION "Signal strength, dBm"
        ::= { ubntWlStatEntry 5 }

    ubntWlStatRssi OBJECT-TYPE
        SYNTAX     Integer32
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION "RSSI, dBm"
        ::= { ubntWlStatEntry 6 }

    ubntWlStatCcq OBJECT-TYPE
        SYNTAX     Integer32
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION "CCQ in %"
        ::= { ubntWlStatEntry 7 }

    ubntWlStatNoiseFloor OBJECT-TYPE
        SYNTAX     Integer32
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION "Noise floor"
        ::= { ubntWlStatEntry 8 }

    ubntWlStatTxRate OBJECT-TYPE
        SYNTAX     Integer32
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION "TX rate"
        ::= { ubntWlStatEntry 9 }

    ubntWlStatRxRate OBJECT-TYPE
        SYNTAX     Integer32
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION "RX rate"
        ::= { ubntWlStatEntry 10 }

    ubntWlStatSecurity OBJECT-TYPE
        SYNTAX     DisplayString
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION "Wireless security mode"
        ::= { ubntWlStatEntry 11 }

    ubntWlStatWdsEnabled OBJECT-TYPE
        SYNTAX     TruthValue
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION "WDS - on/off"
        ::= { ubntWlStatEntry 12 }

    ubntWlStatApRepeater OBJECT-TYPE
        SYNTAX     TruthValue
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION "AP repeater - on/off"
        ::= { ubntWlStatEntry 13 }

    ubntWlStatChanWidth OBJECT-TYPE
        SYNTAX     Integer32
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION "Channel Width"
        ::= { ubntWlStatEntry 14 }

    ubntWlStatStaCount OBJECT-TYPE
        SYNTAX     Gauge32
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION "Station count"
        ::= { ubntWlStatEntry 15 }

    -- --------------------------------------------------------------------------------
    --                            station list table
    -- --------------------------------------------------------------------------------

    ubntStaTable OBJECT-TYPE
        SYNTAX     SEQUENCE OF UbntStaEntry
        MAX-ACCESS not-accessible
        STATUS     current
        DESCRIPTION "Station list"
        ::= { ubntAirMAX 7 }

    ubntStaEntry OBJECT-TYPE
        SYNTAX     UbntStaEntry
        MAX-ACCESS not-accessible
        STATUS     current
        DESCRIPTION "An entry in the ubntStaEntry"
        INDEX      { ubntWlStatIndex, ubntStaMac }
        ::= { ubntStaTable 1 }

    UbntStaEntry ::= SEQUENCE {
        ubntStaMac        MacAddress,
        ubntStaName       DisplayString,
        ubntStaSignal     Integer32,
        ubntStaNoiseFloor Integer32,
        ubntStaDistance   Integer32,
        ubntStaCcq        Integer32,
        ubntStaAmp        Integer32,
        ubntStaAmq        Integer32,
        ubntStaAmc        Integer32,
        ubntStaLastIp     IpAddress,
        ubntStaTxRate     Integer32,
        ubntStaRxRate     Integer32,
        ubntStaTxBytes    Counter64,
        ubntStaRxBytes    Counter64,
        ubntStaConnTime   TimeTicks
    }

    ubntStaMac OBJECT-TYPE
        SYNTAX     MacAddress
        MAX-ACCESS not-accessible 
        STATUS     current
        DESCRIPTION "Station MAC address"
        ::= { ubntStaEntry 1 }

    ubntStaName OBJECT-TYPE
        SYNTAX     DisplayString
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION "Station name"
        ::= { ubntStaEntry 2 }

    ubntStaSignal OBJECT-TYPE
        SYNTAX     Integer32
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION "Signal strength, dBm"
        ::= { ubntStaEntry 3 }

    ubntStaNoiseFloor OBJECT-TYPE
        SYNTAX     Integer32
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION "Noise floor"
        ::= { ubntStaEntry 4 }

    ubntStaDistance OBJECT-TYPE
        SYNTAX Integer32 (1..65535)
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION "Distance"
        ::= { ubntStaEntry 5 }

    ubntStaCcq OBJECT-TYPE
        SYNTAX     Integer32
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION "CCQ in %"
        ::= { ubntStaEntry 6 }


    ubntStaAmp OBJECT-TYPE
        SYNTAX     Integer32
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION "airMAX priority"
        ::= { ubntStaEntry 7 }

    ubntStaAmq OBJECT-TYPE
        SYNTAX     Integer32
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION "airMAX quality"
        ::= { ubntStaEntry 8 }

    ubntStaAmc OBJECT-TYPE
        SYNTAX     Integer32
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION "airMAX capacity"
        ::= { ubntStaEntry 9 }

    ubntStaLastIp OBJECT-TYPE
        SYNTAX     IpAddress
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION "Last known IP address"
        ::= { ubntStaEntry 10 }

    ubntStaTxRate OBJECT-TYPE
        SYNTAX     Integer32
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION "TX rate"
        ::= { ubntStaEntry 11 }

    ubntStaRxRate OBJECT-TYPE
        SYNTAX     Integer32
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION "RX rate"
        ::= { ubntStaEntry 12 }

    ubntStaTxBytes OBJECT-TYPE
        SYNTAX     Counter64
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION "TX bytes"
        ::= { ubntStaEntry 13 }

    ubntStaRxBytes OBJECT-TYPE
        SYNTAX     Counter64
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION "TX rate"
        ::= { ubntStaEntry 14 }

    ubntStaConnTime OBJECT-TYPE
        SYNTAX     TimeTicks
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION "Connection Time in seconds"
        ::= { ubntStaEntry 15 }


    ubntAirMAXStatusGroup OBJECT-GROUP OBJECTS {
        ubntStaName,
        ubntStaSignal,
        ubntStaNoiseFloor,
        ubntStaDistance,
        ubntStaCcq,
        ubntStaAmp,
        ubntStaAmq,
        ubntStaAmc,
        ubntStaLastIp,
        ubntStaTxRate,
        ubntStaRxRate,
        ubntStaTxBytes,
        ubntStaRxBytes,
        ubntStaConnTime,
        ubntRadioMode,
        ubntRadioCCode,
        ubntRadioFreq,
        ubntRadioDfsEnabled,
        ubntRadioTxPower,
        ubntRadioDistance,
        ubntRadioChainmask,
        ubntRadioAntenna,
        ubntRadioRssi,
        ubntRadioRssiMgmt,
        ubntRadioRssiExt,
        ubntAirMaxEnabled,
        ubntAirMaxQuality,
        ubntAirMaxCapacity,
        ubntAirMaxPriority,
        ubntAirMaxNoAck,
        ubntAirSyncMode,
        ubntAirSyncCount,
        ubntAirSyncDownUtil,
        ubntAirSyncUpUtil,
        ubntAirSelEnabled,
        ubntAirSelInterval,
        ubntWlStatSsid,
        ubntWlStatHideSsid,
        ubntWlStatApMac,
        ubntWlStatSignal,
        ubntWlStatRssi,
        ubntWlStatCcq,
        ubntWlStatNoiseFloor,
        ubntWlStatTxRate,
        ubntWlStatRxRate,
        ubntWlStatSecurity,
        ubntWlStatWdsEnabled,
        ubntWlStatApRepeater,
        ubntWlStatChanWidth,
        ubntWlStatStaCount }
        STATUS current
        DESCRIPTION "Status and statistics for AirMax monitoring"
        ::= { ubntAirosGroups 1 }

    ubntAirMAXStatusCompliance MODULE-COMPLIANCE
        STATUS current
        DESCRIPTION "The compliance statement for Ubiquiti AirMax entities."
        MODULE
            GROUP ubntAirMAXStatusGroup
            DESCRIPTION "This group is for Ubiquiti systems."
        ::= { ubntAirosGroups 2 }

END
