-- Copyright 2021 Grandstream Networks, Inc. All Rights Reserved.

GRANDSTREAM-GWN-PRODUCTS-AP-MIB DEFINITIONS ::= BEGIN

IMPORTS
    gwnAp
        FROM GRANDSTREAM-GWN-PRODUCTS-MIB
    DisplayString,
    RowStatus,
    TruthValue
        FROM SNMPv2-TC
    OBJECT-GROUP
        FROM SNMPv2-CONF
    ifIndex,
    InterfaceIndex
        FROM IF-MIB
    MODULE-IDENTITY,
    OBJECT-TYPE,
    Counter32,
    Integer32,
    IpAddress
        FROM SNMPv2-SMI;


-- 1.3.6.1.4.1.42397.1.1
-- gwnAp

-- --------------------------------------------------------------------------------
--                         Grandstream Networks System Information
-- --------------------------------------------------------------------------------

-- 1.3.6.1.4.1.42397.1.1.2
gwnApSystemInfo OBJECT IDENTIFIER ::= { gwnAp 2 }
-- 1.3.6.1.4.1.42397.1.1.2.1
gwnDeviceModel OBJECT-TYPE
    SYNTAX DisplayString
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Description."
    ::= { gwnApSystemInfo 1 }


-- 1.3.6.1.4.1.42397.1.1.2.2
gwnDeviceName OBJECT-TYPE
    SYNTAX DisplayString
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Description."
    ::= { gwnApSystemInfo 2 }


-- 1.3.6.1.4.1.42397.1.1.2.3
gwnDeviceMac OBJECT-TYPE
    SYNTAX DisplayString
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Description."
    ::= { gwnApSystemInfo 3 }


-- 1.3.6.1.4.1.42397.1.1.2.4
gwnDeviceVersion OBJECT-TYPE
    SYNTAX DisplayString
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Description."
    ::= { gwnApSystemInfo 4 }


-- 1.3.6.1.4.1.42397.1.1.2.5
gwnDeviceIPAddress OBJECT-TYPE
    SYNTAX DisplayString
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Description."
    ::= { gwnApSystemInfo 5 }


-- 1.3.6.1.4.1.42397.1.1.2.6
gwnDeviceUptime OBJECT-TYPE
    SYNTAX TimeTicks
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Description."
    ::= { gwnApSystemInfo 6 }

-- 1.3.6.1.4.1.42397.1.1.2.7
gwnStatusTable OBJECT-TYPE
    SYNTAX SEQUENCE OF GwnStatusEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "Description."
    ::= { gwnApSystemInfo 7 }

-- 1.3.6.1.4.1.42397.1.1.2.7.1
gwnStatusEntry OBJECT-TYPE
    SYNTAX GwnStatusEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "Description."
    INDEX { gwnStatusMac }
    ::= { gwnStatusTable 1 }

GwnStatusEntry ::=
    SEQUENCE {
        gwnStatusMac
            DisplayString,
        gwnApStatus
            DisplayString
    }

-- 1.3.6.1.4.1.42397.1.1.2.7.1.1
gwnStatusMac OBJECT-TYPE
    SYNTAX DisplayString
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Description."
    ::= { gwnStatusEntry 1 }
            

-- 1.3.6.1.4.1.42397.1.1.2.7.1.2
gwnApStatus OBJECT-TYPE
    SYNTAX DisplayString
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
       "Description."
    ::= { gwnStatusEntry 2 }

-- --------------------------------------------------------------------------------
--                         Grandstream Networks Wireless Information
-- --------------------------------------------------------------------------------

-- 1.3.6.1.4.1.42397.1.1.3
gwnApWireless MODULE-IDENTITY
    LAST-UPDATED "202110280001Z"
    ORGANIZATION "Grandstream Networks, Inc."
    CONTACT-INFO ""
    DESCRIPTION
    "Grandstream gwnApWireless product OID registration mib."
    ::= { gwnAp 3 }

-- 1.3.6.1.4.1.42397.1.1.3.1
gwnRadioTable OBJECT-TYPE
    SYNTAX SEQUENCE OF GwnRadioEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION "Radio Table."
    ::= { gwnApWireless 1 }

-- 1.3.6.1.4.1.42397.1.1.3.1.1
gwnRadioEntry OBJECT-TYPE
    SYNTAX GwnRadioEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION "Describes each radio."
    INDEX { gwnRadioIndex }
    ::= { gwnRadioTable 1 }

GwnRadioEntry ::= SEQUENCE {
    gwnRadioIndex
        Integer32,
    gwnRadioName
        DisplayString,
    gwnRadioStatus
        Integer32,
    gwnRadioChannel
        Integer32,
    gwnRadioTransmitPower
        Integer32,
    gwnRadioTxTotalFrames
        Counter32,
    gwnRadioTxMgmtFrames
        Counter32,
    gwnRadioTxDataFrames
        Counter32,
    gwnRadioTxDataBytes
        Counter32,
    gwnRadioTxDrops
        Counter32,
    gwnRadioRxTotalFrames
        Counter32,
    gwnRadioRxDataFrames
        Counter32,
    gwnRadioRxDataBytes
        Counter32,
    gwnRadioRxMgmtFrames
        Counter32,
    gwnRadioRxBad
        Counter32
}

-- 1.3.6.1.4.1.42397.1.1.3.1.1.1
gwnRadioIndex OBJECT-TYPE
    SYNTAX Integer32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION "Radio id, Remains the same even
                 if the name of the radio changes"
    ::= { gwnRadioEntry 1 }

-- 1.3.6.1.4.1.42397.1.1.3.1.1.2
gwnRadioName OBJECT-TYPE
    SYNTAX DisplayString
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION "Radio name."
    ::= { gwnRadioEntry 2 }

-- 1.3.6.1.4.1.42397.1.1.3.1.1.3
gwnRadioStatus OBJECT-TYPE
    SYNTAX Integer32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION "Radio status."
    ::= { gwnRadioEntry 3 }

-- 1.3.6.1.4.1.42397.1.1.3.1.1.4
gwnRadioChannel OBJECT-TYPE
    SYNTAX Integer32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION "Radio Channel."
    ::= { gwnRadioEntry 4 }

-- 1.3.6.1.4.1.42397.1.1.3.1.1.5
gwnRadioTransmitPower OBJECT-TYPE
    SYNTAX Integer32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION "Radio transmit power."
    ::= { gwnRadioEntry 5 }

-- 1.3.6.1.4.1.42397.1.1.3.1.1.6
gwnRadioTxTotalFrames OBJECT-TYPE
    SYNTAX Counter32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION "Radio tx total frames."
    ::= { gwnRadioEntry 6 }

-- 1.3.6.1.4.1.42397.1.1.3.1.1.7
gwnRadioTxMgmtFrames OBJECT-TYPE
    SYNTAX Counter32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION "Radio tx mgmt frames."
    ::= { gwnRadioEntry 7 }

-- 1.3.6.1.4.1.42397.1.1.3.1.1.8
gwnRadioTxDataFrames OBJECT-TYPE
    SYNTAX Counter32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION "Radio tx data frames."
    ::= { gwnRadioEntry 8 }

-- 1.3.6.1.4.1.42397.1.1.3.1.1.9
gwnRadioTxDataBytes OBJECT-TYPE
    SYNTAX Counter32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION "Radio tx data bytes."
    ::= { gwnRadioEntry 9 }

-- 1.3.6.1.4.1.42397.1.1.3.1.1.10
gwnRadioTxDrops OBJECT-TYPE
    SYNTAX Counter32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION "Radio tx drops."
    ::= { gwnRadioEntry 10 }

-- 1.3.6.1.4.1.42397.1.1.3.1.1.11
gwnRadioRxTotalFrames OBJECT-TYPE
    SYNTAX Counter32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION "Radio rx total frames."
    ::= { gwnRadioEntry 11 }

-- 1.3.6.1.4.1.42397.1.1.3.1.1.12
gwnRadioRxDataFrames OBJECT-TYPE
    SYNTAX Counter32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION "Radio rx data frames."
    ::= { gwnRadioEntry 12 }

-- 1.3.6.1.4.1.42397.1.1.3.1.1.13
gwnRadioRxDataBytes OBJECT-TYPE
    SYNTAX Counter32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION "Radio rx data bytes."
    ::= { gwnRadioEntry 13 }

-- 1.3.6.1.4.1.42397.1.1.3.1.1.14
gwnRadioRxMgmtFrames OBJECT-TYPE
    SYNTAX Counter32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION "Radio rx mgmt frames."
    ::= { gwnRadioEntry 14 }

-- 1.3.6.1.4.1.42397.1.1.3.1.1.15
gwnRadioRxBad OBJECT-TYPE
    SYNTAX Counter32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION "Radio rx bad."
    ::= { gwnRadioEntry 15 }

-- 1.3.6.1.4.1.42397.1.1.3.2
gwnWlanTable OBJECT-TYPE
    SYNTAX SEQUENCE OF GwnWlanEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION "Wlan Table."
    ::= { gwnApWireless 2 }

-- 1.3.6.1.4.1.42397.1.1.3.2.1
gwnWlanEntry OBJECT-TYPE
    SYNTAX GwnWlanEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION "Describes each SSID."
    INDEX { gwnWlanIndex }
    ::= { gwnWlanTable 1 }

GwnWlanEntry ::= SEQUENCE {
    gwnWlanIndex
        Integer32,
    gwnWlanESSID
        DisplayString,
    gwnWlanBSSID
        DisplayString,
    gwnWlanTxTotalFrames
        Counter32,
    gwnWlanTxDataFrames
        Counter32,
    gwnWlanTxDataBytes
        Counter32,
    gwnWlanRxTotalFrames
        Counter32,
    gwnWlanRxDataFrames
        Counter32,
    gwnWlanRxDataBytes
        Counter32
}

-- 1.3.6.1.4.1.42397.1.1.3.2.1.1
gwnWlanIndex OBJECT-TYPE
    SYNTAX Integer32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION "Wlan id, Remains the same even
                 if the name of the wlan changes"
    ::= { gwnWlanEntry 1 }

-- 1.3.6.1.4.1.42397.1.1.3.2.1.2
gwnWlanESSID OBJECT-TYPE
    SYNTAX DisplayString
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION "Wlan essid"
    ::= { gwnWlanEntry 2 }

-- 1.3.6.1.4.1.42397.1.1.3.2.1.3
gwnWlanBSSID OBJECT-TYPE
    SYNTAX DisplayString
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION "Wlan bssid"
    ::= { gwnWlanEntry 3 }

-- 1.3.6.1.4.1.42397.1.1.3.2.1.4
gwnWlanTxTotalFrames OBJECT-TYPE
    SYNTAX Counter32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION "Wlan tx total frames."
    ::= { gwnWlanEntry 4 }

-- 1.3.6.1.4.1.42397.1.1.3.2.1.5
gwnWlanTxDataFrames OBJECT-TYPE
    SYNTAX Counter32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION "Wlan tx data frames."
    ::= { gwnWlanEntry 5 }

-- 1.3.6.1.4.1.42397.1.1.3.2.1.6
gwnWlanTxDataBytes OBJECT-TYPE
    SYNTAX Counter32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION "Wlan tx data bytes."
    ::= { gwnWlanEntry 6 }

-- 1.3.6.1.4.1.42397.1.1.3.2.1.7
gwnWlanRxTotalFrames OBJECT-TYPE
    SYNTAX Counter32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION "Wlan rx total frames."
    ::= { gwnWlanEntry 7 }

-- 1.3.6.1.4.1.42397.1.1.3.2.1.8
gwnWlanRxDataFrames OBJECT-TYPE
    SYNTAX Counter32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION "Wlan rx data frames."
    ::= { gwnWlanEntry 8 }

-- 1.3.6.1.4.1.42397.1.1.3.2.1.9
gwnWlanRxDataBytes OBJECT-TYPE
    SYNTAX Counter32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION "Wlan rx data bytes."
    ::= { gwnWlanEntry 9 }

-- 1.3.6.1.4.1.42397.1.1.3.3
gwnClientTable OBJECT-TYPE
    SYNTAX SEQUENCE OF GwnClientEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION "Client table."
    ::= { gwnApWireless 3 }

-- 1.3.6.1.4.1.42397.1.1.3.3.1
gwnClientEntry OBJECT-TYPE
    SYNTAX GwnClientEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION "Describes each client."
    INDEX { gwnClientMACAddress }
    ::= { gwnClientTable 1 }

GwnClientEntry ::= SEQUENCE {
    gwnClientMACAddress
        DisplayString,
    gwnClienttIPAddress
        IpAddress,
    gwnClientWlanMACAddress
        DisplayString,
    gwnClientESSID
        DisplayString,
    gwnClientRSSI
        Integer32,
    gwnClientAssoctime
        TimeTicks,
    gwnClientManufacture
        DisplayString,
    gwnClientHostname
        DisplayString,
    gwnClientOS
        DisplayString,
    gwnClientTxRate
        Integer32,
    gwnClientTxDataFrames
        Counter32,
    gwnClientTxDataBytes
        Counter32,
    gwnClientRxRate
        Integer32,
    gwnClientRxDataFrames
        Counter32,
    gwnClientRxDataBytes
        Counter32,
    gwnClientnode54
        Integer32,
    gwnClientnode55
        Integer32
}

-- 1.3.6.1.4.1.42397.1.1.3.3.1.1
gwnClientMACAddress OBJECT-TYPE
    SYNTAX DisplayString
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION "Client mac."
    ::= { gwnClientEntry 1 }


-- 1.3.6.1.4.1.42397.1.1.3.3.1.2
gwnClienttIPAddress OBJECT-TYPE
    SYNTAX IpAddress
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION "Client IP."
    ::= { gwnClientEntry 2 }


-- 1.3.6.1.4.1.42397.1.1.3.3.1.3
gwnClientWlanMACAddress OBJECT-TYPE
    SYNTAX DisplayString
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "MAC address of the WLAN associated with the client."
    ::= { gwnClientEntry 3 }


-- 1.3.6.1.4.1.42397.1.1.3.3.1.4
gwnClientESSID OBJECT-TYPE
    SYNTAX DisplayString
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The name of the WLAN associated with the client."
    ::= { gwnClientEntry 4 }


-- 1.3.6.1.4.1.42397.1.1.3.3.1.5
gwnClientRSSI OBJECT-TYPE
    SYNTAX Integer32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION "Client RSSI."
    ::= { gwnClientEntry 5 }


-- 1.3.6.1.4.1.42397.1.1.3.3.1.6
gwnClientAssoctime OBJECT-TYPE
    SYNTAX TimeTicks
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION "Client assoctime."
    ::= { gwnClientEntry 6 }


-- 1.3.6.1.4.1.42397.1.1.3.3.1.7
gwnClientManufacture OBJECT-TYPE
    SYNTAX DisplayString
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION "Client manufacture."
    ::= { gwnClientEntry 7 }


-- 1.3.6.1.4.1.42397.1.1.3.3.1.8
gwnClientHostname OBJECT-TYPE
    SYNTAX DisplayString
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION "Client hostname."
    ::= { gwnClientEntry 8 }


-- 1.3.6.1.4.1.42397.1.1.3.3.1.9
gwnClientOS OBJECT-TYPE
    SYNTAX DisplayString
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION "Client os."
    ::= { gwnClientEntry 9 }


-- 1.3.6.1.4.1.42397.1.1.3.3.1.10
gwnClientTxRate OBJECT-TYPE
    SYNTAX Integer32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION "Client tx rate."
    ::= { gwnClientEntry 10 }


-- 1.3.6.1.4.1.42397.1.1.3.3.1.11
gwnClientTxDataFrames OBJECT-TYPE
    SYNTAX Counter32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION "Client tx data frames."
    ::= { gwnClientEntry 11 }


-- 1.3.6.1.4.1.42397.1.1.3.3.1.12
gwnClientTxDataBytes OBJECT-TYPE
    SYNTAX Counter32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION "Client tx data bytes."
    ::= { gwnClientEntry 12 }


-- 1.3.6.1.4.1.42397.1.1.3.3.1.13
gwnClientRxRate OBJECT-TYPE
    SYNTAX Integer32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION "Client rx rate."
    ::= { gwnClientEntry 13 }


-- 1.3.6.1.4.1.42397.1.1.3.3.1.14
gwnClientRxDataFrames OBJECT-TYPE
    SYNTAX Counter32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION "Client rx data frames."
    ::= { gwnClientEntry 14 }


-- 1.3.6.1.4.1.42397.1.1.3.3.1.15
gwnClientRxDataBytes OBJECT-TYPE
    SYNTAX Counter32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION "Client rx data bytes."
    ::= { gwnClientEntry 15 }


END
