-- *****************************************************************
-- WESTERMO-SW6-NWM-MIB :
-- SNMP feature configuration of Westermo devices with SW6.
--
-- Copyright (c) 2020 by Westermo Network Technologies AB
-- All rights reserved.
-- *****************************************************************

-- *****************************************************************
-- This script has been tested using the SMI checker smilint
-- the tool can be downloaded at
-- http://www.ibr.cs.tu-bs.de/projects/libsmi/smilint.html
-- or use alternatively the online version at:
-- http://www.simpleweb.org/ietf/mibs/validate/
--
-- smilint -m -s -l 6 -i nameLength-32 ./WESTERMO-SW6-NWM-MIB
-- Ensure that all needed MIBS are located in the SMIPATH.
-- *****************************************************************

-- **********************************************************************
-- * NWM MIB
-- **********************************************************************

WESTERMO-SW6-NWM-MIB DEFINITIONS ::= BEGIN

    IMPORTS
        MODULE-IDENTITY, OBJECT-TYPE,
        IpAddress, Integer32                   FROM SNMPv2-SMI
        DisplayString                          FROM SNMPv2-TC
        MODULE-COMPLIANCE, OBJECT-GROUP        FROM SNMPv2-CONF
    ;

-- **********************************************************************
-- *  MODULE IDENTITY
-- **********************************************************************
nwm MODULE-IDENTITY
    LAST-UPDATED "202510160000Z"

    ORGANIZATION "Westermo Network Technologies AB"
    CONTACT-INFO "E-mail: info@westermo.com"
    DESCRIPTION  "MIB Module for the Westermo RT-300 Radio Modem Device - NWM definitions"

    REVISION     "202510160000Z"
    DESCRIPTION  "Release 6.11.6-0"

    ::= { iso(1) org(3) dod(6) internet(1) private(4) enterprises(1)
          westermo(16177) products(1) rt(400) feature(2) 3 }

-- *********************************************************************
-- *  Begin Major sections
-- * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *

--  Configuration
--  =============

    configuration         OBJECT IDENTIFIER ::= { nwm 1 }
     cfgHttpReport        OBJECT IDENTIFIER ::= { configuration 1 }
     cfgChannelManager    OBJECT IDENTIFIER ::= { configuration 3 }
     cfgNwm               OBJECT IDENTIFIER ::= { configuration 4 }
     cfgIdf               OBJECT IDENTIFIER ::= { configuration 5 }
     cfgChannelCleaner    OBJECT IDENTIFIER ::= { configuration 6 }
     cfgAfm               OBJECT IDENTIFIER ::= { configuration 7 }
     cfgAfc               OBJECT IDENTIFIER ::= { configuration 8 }

--  RPCs Remote Procedure Calls
--  ==========================

    rpc                   OBJECT IDENTIFIER ::= { nwm 3 }
     rpcChannelManager    OBJECT IDENTIFIER ::= { rpc 1 }
     rpcNwm               OBJECT IDENTIFIER ::= { rpc 2 }
     rpcNvram             OBJECT IDENTIFIER ::= { rpc 3 }

--  Conformance Information
--  =======================

    conformance           OBJECT IDENTIFIER ::= { nwm 10000 }
     groups               OBJECT IDENTIFIER ::= { conformance 1 }
      groupConfiguration  OBJECT IDENTIFIER ::= { groups 1 }
      groupRpc            OBJECT IDENTIFIER ::= { groups 2 }

     compliances          OBJECT IDENTIFIER ::= { conformance 2 }

-- * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
-- *  End Major Sections
-- *********************************************************************



-- *********************************************************************
-- *  Begin Object Types
-- * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *

-- HttpReport

   cfgHttpRprtServerUrl OBJECT-TYPE
        SYNTAX DisplayString (SIZE(1..255))
        MAX-ACCESS read-write
        STATUS     current
        DESCRIPTION
            "URL Of The Remote Server Where AFM, AFC And IDF Reports Are Sent To

            **Format:** `http://<ipv4>[:<port>][/<path>]`

            `<port>` is optional and defaults to 80 when not specified.
            `<path>` is optional and defaults to / when not specified.

             Applies to AP. 802.11n products only."
        ::= { cfgHttpReport 1 }

-- ChannelManager

    cfgChMgrUsableFrequencyList OBJECT-TYPE
        SYNTAX Integer32 (-1..23)
        MAX-ACCESS read-write
        STATUS     current
        DESCRIPTION
            "Usable Frequency List

             Configure which frequency list is to be used as 'list of usable
             frequencies' by the ChannelManager. A value of `-1` means no list
             defined, using all frequencies available in current country.

             Applies to AP. 802.11n products only."
        ::= { cfgChannelManager 2 }

    cfgChMgrDfsUseNvram OBJECT-TYPE
        SYNTAX INTEGER { disabled(0), enabled(1) }
        MAX-ACCESS read-write
        STATUS     current
        DESCRIPTION
            "Use Non-volatile Memory for Channel Manager

             When 'enabled' the DFS states will be load / stored from / to the
             non-volatile ram device.

             Applies to AP. 802.11n products only."
        ::= { cfgChannelManager 3 }

-- NWM

    cfgNwmEnabled  OBJECT-TYPE
        SYNTAX INTEGER { disabled(0), enabled(1) }
        MAX-ACCESS read-write
        STATUS     current
        DESCRIPTION
            "Enable the Wireless Manager

             Applies to AP. 802.11n products only."
        ::= { cfgNwm 1 }

-- IDF

    cfgIdfEnabled OBJECT-TYPE
        SYNTAX INTEGER { disabled(0), enabled(1) }
        MAX-ACCESS read-write
        STATUS     current
        DESCRIPTION
            "Enable Interference Detection Function

             IDF is only supported for devices with two radios.

             Applies to AP. 802.11n products only."
        ::= { cfgIdf 1 }

    cfgIdfInterval OBJECT-TYPE
        SYNTAX Integer32 (1..86400)
        MAX-ACCESS read-write
        STATUS     current
        DESCRIPTION
            "Reporting Interval in Seconds

             This value defines the interval when all available Reports are sent
             to the URL defined in cfgIdfHttpReportUrl.

             Applies to AP. 802.11n products only."
        ::= { cfgIdf 3 }

    cfgIdfName OBJECT-TYPE
        SYNTAX DisplayString (SIZE(1..255))
        MAX-ACCESS read-write
        STATUS     current
        DESCRIPTION
            "IDF Name

             Can be used to set an unique identifier for the reports.

             Applies to AP. 802.11n products only."
        ::= { cfgIdf 4 }

-- IDF.Trigger

    cfgIdfTrigger  OBJECT IDENTIFIER ::= { cfgIdf 5 }

    cfgIdfTrigRadarCntTh OBJECT-TYPE
        SYNTAX Integer32
        MAX-ACCESS read-write
        STATUS     current
        DESCRIPTION
            "IDF Trigger radar_count

             Defines the number of radar events to trigger a report.

             Applies to AP. 802.11n products only."
        ::= { cfgIdfTrigger 1 }

    cfgIdfTrigChanLoadTh OBJECT-TYPE
        SYNTAX Integer32 (0..100)
        MAX-ACCESS read-write
        STATUS     current
        DESCRIPTION
            "IDF Trigger channel_load

             Defines the channel load ratio in percent to trigger a report.

             Applies to AP. 802.11n products only."
        ::= { cfgIdfTrigger 2 }

    cfgIdfTrigAlienLoadTh OBJECT-TYPE
        SYNTAX Integer32 (0..100)
        MAX-ACCESS read-write
        STATUS     current
        DESCRIPTION
            "IDF Trigger alien_load

             Defines the ratio of alien channel load in percent to trigger a
             report.

             Applies to AP. 802.11n products only."
        ::= { cfgIdfTrigger 3 }

    cfgIdfTrigDomLoadTh OBJECT-TYPE
        SYNTAX Integer32 (0..100)
        MAX-ACCESS read-write
        STATUS     current
        DESCRIPTION
            "IDF Trigger domestic_load

             Defines the ratio of domestic channel load in percent to trigger
             a report.

             Applies to AP. 802.11n products only."
        ::= { cfgIdfTrigger 4 }

    cfgIdfTrigAlienMaxRssiTh OBJECT-TYPE
        SYNTAX Integer32 (0..127)
        MAX-ACCESS read-write
        STATUS     current
        DESCRIPTION
            "IDF Trigger alien_avg_rssi

             Defines the average RSSI of alien traffic to trigger a report.

             Applies to AP. 802.11n products only."
        ::= { cfgIdfTrigger 5 }

    cfgIdfTrigDomMaxRssiTh OBJECT-TYPE
        SYNTAX Integer32 (0..127)
        MAX-ACCESS read-write
        STATUS     current
        DESCRIPTION
            "IDF Trigger domestic_avg_rssi

             Defines the average RSSI of domestic traffic to trigger a report.

             Applies to AP. 802.11n products only."
        ::= { cfgIdfTrigger 6 }

-- IDF.ScanWork

    cfgIdfScanWorkTable OBJECT-TYPE
        SYNTAX  SEQUENCE OF CfgIdfScanWorkTableSeq
        MAX-ACCESS not-accessible
        STATUS     current
        DESCRIPTION
            "Table of Scan Work Items

             Applies to AP. 802.11n products only."
        ::= { cfgIdf 10 }

    cfgIdfScanWorkTableEntry OBJECT-TYPE
        SYNTAX  CfgIdfScanWorkTableSeq
        MAX-ACCESS not-accessible
        STATUS     current
        DESCRIPTION
            "Scan Work List

             Applies to AP. 802.11n products only."
        INDEX {cfgIdfScanWorkIndex}
        ::= { cfgIdfScanWorkTable 1 }

    CfgIdfScanWorkTableSeq ::=
        SEQUENCE {  cfgIdfScanWorkIndex Integer32,
                    cfgIdfScanWorkFreq Integer32,
                    cfgIdfScanWorkAction INTEGER,
                    cfgIdfScanWorkSeconds Integer32
                 }

    cfgIdfScanWorkIndex OBJECT-TYPE
        SYNTAX Integer32 (0..31)
        MAX-ACCESS not-accessible
        STATUS     current
        DESCRIPTION
            "Entry Index of Table

             Applies to AP. 802.11n products only."
        ::= { cfgIdfScanWorkTableEntry 1 }

    cfgIdfScanWorkFreq OBJECT-TYPE
        SYNTAX Integer32 (0..6100)
        MAX-ACCESS read-write
        STATUS     current
        DESCRIPTION
            "Center Frequency in MHz of the Channel to Scan

             Set the center frequency to `0` to disable this scan work item and
             all following items.

             Applies to AP. 802.11n products only."
        ::= { cfgIdfScanWorkTableEntry 2 }

    cfgIdfScanWorkAction OBJECT-TYPE
        SYNTAX INTEGER { none(0), spectral(2), radar(3), wifi(4) }
        MAX-ACCESS read-write
        STATUS     current
        DESCRIPTION
            "Scan Work Action of the Interference Function

             The following scan work actions are available:

             * **none(0)**: Scan work item and all following items of the table
                            are ignored.

             * **spectral(2)**: Spectral data IS collected from Antenna port 3
                                and spectral statistics are generated at the end
                                of the scan work item. During a Spectral Scan
                                Work the raw spectral data can be retrieved from
                                the AP. Please refer to the Software User Manual
                                for more information.
             * **radar(3)**: Runs the radar detection engine and counts all
                             radar sequences detected by the monitor wireless
                             device on Antenna port 3.
             * **wifi(4)**: Wifi data is collected from Antenna port 3 and wifi
                            statistics are generated at the end of the scan work
                            item.

             Applies to AP. 802.11n products only."
        ::= { cfgIdfScanWorkTableEntry 3 }

    cfgIdfScanWorkSeconds OBJECT-TYPE
        SYNTAX Integer32 (0..86400)
        MAX-ACCESS read-write
        STATUS     current
        DESCRIPTION
            "Duration of the Scan Work Item in Seconds

             At the end of the Scan Work a JSON formatted Report is generated
             and buffered. Set scan work time to 0 to disable this scan work
             item and all following items.

             Applies to AP. 802.11n products only."
        ::= { cfgIdfScanWorkTableEntry 4 }

-- ChannelCleaner

    cfgChanCleanDfsUseNvram OBJECT-TYPE
        SYNTAX INTEGER { disabled(0), enabled(1) }
        MAX-ACCESS read-write
        STATUS     current
        DESCRIPTION
            "Use Non-volatile Memory for Channel Cleaner

             When set to enabled(1) the DFS states will be load/stored from/to
             the non-volatile ram device.

             Applies to AP. 802.11n products only."
        ::= { cfgChannelCleaner 9 }

    cfgChanCleanUsableFrequencyList OBJECT-TYPE
        SYNTAX Integer32 (-1..23)
        MAX-ACCESS read-write
        STATUS     current
        DESCRIPTION
            "Usable Frequency List

             Configure which frequency list cfgWlanFIndex is to be used as
             'list of usable frequencies' by ChannelCleaner.

             Applies to AP. 802.11n products only."
        ::= { cfgChannelCleaner 10 }

-- AFM

    cfgAfmEnabled OBJECT-TYPE
        SYNTAX INTEGER { disabled(0), enabled(1) }
        MAX-ACCESS read-write
        STATUS     current
        DESCRIPTION
            "Enable the Area Frequency Manager on the Local Device

             AFM and AFC in the same area require L3 communication.

             The ports used are:

             * UDP: 4711
             * UDP: 4713

             Applies to AP. 802.11n products only."
        ::= { cfgAfm 1 }

    cfgAfmName OBJECT-TYPE
        SYNTAX DisplayString (SIZE(1..255))
        MAX-ACCESS read-write
        STATUS     current
        DESCRIPTION
            "Name of the Area Frequency Manager on the Local Device

             Applies to AP. 802.11n products only."
        ::= { cfgAfm 2 }

    cfgAfmIndex OBJECT-TYPE
        SYNTAX Integer32
        MAX-ACCESS read-write
        STATUS     current
        DESCRIPTION
            "Area Index

             The index of the Area that the locally running
             Area Frequency Manager manages.

             Primary and secondary AFM in the same area must share
             the same index.

             Applies to AP. 802.11n products only."
        ::= { cfgAfm 3 }

    cfgAfmAreaSize OBJECT-TYPE
        SYNTAX Integer32 (1..32)
        MAX-ACCESS read-write
        STATUS     current
        DESCRIPTION
            "Number of Segments Controlled by this AFM

             Applies to AP. 802.11n products only."
        ::= { cfgAfm 5 }

    cfgAfmPrimary OBJECT-TYPE
        SYNTAX INTEGER { disabled(0), enabled(1) }
        MAX-ACCESS read-write
        STATUS     current
        DESCRIPTION
            "Enable to set this AFM as Primary in this Area

             Set to disabled for stand-by mode.

             Applies to AP. 802.11n products only."
        ::= { cfgAfm 6 }

    cfgAfmReportEnabled OBJECT-TYPE
        SYNTAX INTEGER { disabled(0), enabled(1) }
        MAX-ACCESS read-write
        STATUS     current
        DESCRIPTION
            "Enable AFM Reporting

             When enabled(1) the AFM sends reports to the configured server URL
             (see `cfgHttpRprtServerUrl`).

             Please refer to Software 6 Interface Description for more
             information.

             Applies to AP. 802.11n products only."
        ::= { cfgAfm 7 }

    cfgAfmVisibility OBJECT-TYPE
        SYNTAX Integer32 (1..1024)
        MAX-ACCESS read-write
        STATUS     current
        DESCRIPTION
            "Visibility of Segments

             The visibility must be greater or equal as the absolute segment
             offset configured in any `cfgAfcNeighbourOffset` within the line.

             `cfgAfmVisibility` >= abs(`cfgAfcNeighbourOffset`)

             Applies to AP. 802.11n products only."
        ::= { cfgAfm 8 }

    cfgAfmRedundant          OBJECT IDENTIFIER ::= { cfgAfm 10 }

    cfgAfmRedundantIp OBJECT-TYPE
        SYNTAX IpAddress
        MAX-ACCESS read-write
        STATUS     current
        DESCRIPTION
            "IP Address of the Redundant Area Frequency Manager

             Set to `0.0.0.0` to disable.

             Applies to AP. 802.11n products only."
        ::= { cfgAfmRedundant 1 }

    cfgAfmRedundantName OBJECT-TYPE
        SYNTAX DisplayString (SIZE(1..255))
        MAX-ACCESS read-write
        STATUS     current
        DESCRIPTION
            "Name of the Redundant Area Frequency Manager

             Applies to AP. 802.11n products only."
        ::= { cfgAfmRedundant 2 }


    cfgAfmNeighbourTable OBJECT-TYPE
        SYNTAX  SEQUENCE OF CfgAfmNeighbourTableSeq
        MAX-ACCESS not-accessible
        STATUS     current
        DESCRIPTION
            "A Table of the Two Neighbouring (Adjacent) Area Frequency Manager

             Currently only up to two neighbour AFMs are supported.

             The area index of the neighbour AFM must be less or greater than
             the index of this area.

             Applies to AP. 802.11n products only."
        ::= { cfgAfm 20 }

    cfgAfmNeighbourTableEntry OBJECT-TYPE
        SYNTAX  CfgAfmNeighbourTableSeq
        MAX-ACCESS not-accessible
        STATUS     current
        DESCRIPTION
            "Neighbour AFM List

             Applies to AP. 802.11n products only."
        INDEX {cfgAfmNeighbourTableIndex}
        ::= { cfgAfmNeighbourTable 1 }

    CfgAfmNeighbourTableSeq ::=
        SEQUENCE {  cfgAfmNeighbourTableIndex Integer32,
                    cfgAfmNeighbourIp IpAddress,
                    cfgAfmNeighbourName DisplayString
                 }

    cfgAfmNeighbourTableIndex OBJECT-TYPE
        SYNTAX Integer32 (0..4)
        MAX-ACCESS not-accessible
        STATUS     current
        DESCRIPTION
            "Entry Index of Table

             Applies to AP. 802.11n products only."
        ::= { cfgAfmNeighbourTableEntry 1 }

    cfgAfmNeighbourIp OBJECT-TYPE
        SYNTAX IpAddress
        MAX-ACCESS read-write
        STATUS     current
        DESCRIPTION
            "IP Address of the Neighbour (Adjacent) Area Frequency Manager

             Applies to AP. 802.11n products only."
        ::= { cfgAfmNeighbourTableEntry 2 }

    cfgAfmNeighbourName OBJECT-TYPE
        SYNTAX DisplayString (SIZE(1..255))
        MAX-ACCESS read-write
        STATUS     current
        DESCRIPTION
            "Name of the Neighbour (Adjacent) Area Frequency Manager

             Applies to AP. 802.11n products only."
        ::= { cfgAfmNeighbourTableEntry 3 }

    cfgAfmAfcTable OBJECT-TYPE
        SYNTAX  SEQUENCE OF CfgAfmAfcTableSeq
        MAX-ACCESS not-accessible
        STATUS     current
        DESCRIPTION
            "AFC Table

             A table of all Area Frequency Clients controlled by the Area
             Frequency Manager running on this device.

             Applies to AP. 802.11n products only."
        ::= { cfgAfm 30 }

    cfgAfmAfcTableEntry OBJECT-TYPE
        SYNTAX  CfgAfmAfcTableSeq
        MAX-ACCESS not-accessible
        STATUS     current
        DESCRIPTION
            "AFC Table Entry

             Applies to AP. 802.11n products only."
        INDEX {cfgAfmAfcTableIndex}
        ::= { cfgAfmAfcTable 1 }

    CfgAfmAfcTableSeq ::=
        SEQUENCE {  cfgAfmAfcTableIndex Integer32,
                    cfgAfmAfcName DisplayString,
                    cfgAfmAfcIp IpAddress
                 }

    cfgAfmAfcTableIndex OBJECT-TYPE
        SYNTAX Integer32 (0..63)
        MAX-ACCESS not-accessible
        STATUS     current
        DESCRIPTION
            "Entry Index of Table

             Applies to AP. 802.11n products only."
        ::= { cfgAfmAfcTableEntry 1 }

    cfgAfmAfcName OBJECT-TYPE
        SYNTAX DisplayString (SIZE(1..255))
        MAX-ACCESS read-write
        STATUS     current
        DESCRIPTION
            "Name of the Area Frequency Client to Control

             Applies to AP. 802.11n products only."
        ::= { cfgAfmAfcTableEntry 2 }

    cfgAfmAfcIp OBJECT-TYPE
        SYNTAX IpAddress
        MAX-ACCESS read-write
        STATUS     current
        DESCRIPTION
            "IP Address of the Area Frequency Client to Control

             Applies to AP. 802.11n products only."
        ::= { cfgAfmAfcTableEntry 3 }

-- AFC

    cfgAfcEnabled OBJECT-TYPE
        SYNTAX INTEGER { disabled(0), enabled(1) }
        MAX-ACCESS read-write
        STATUS     current
        DESCRIPTION
            "Enable the Area Frequency Client on the Local Device

             AFM and AFC in the same area require L3 communication.

             The ports used are:

             * UDP: 4711
             * UDP: 4713

             Applies to AP. 802.11n products only."
        ::= { cfgAfc 1 }

    cfgAfcName OBJECT-TYPE
        SYNTAX DisplayString (SIZE(1..255))
        MAX-ACCESS read-write
        STATUS     current
        DESCRIPTION
            "Name of the Area Frequency Client on the Local Device

             Applies to AP. 802.11n products only."
        ::= { cfgAfc 2 }

    cfgAfcIndex OBJECT-TYPE
        SYNTAX Integer32 (0..31)
        MAX-ACCESS read-write
        STATUS     current
        DESCRIPTION
            "Index of the Area Frequency Client within the Local Area

             Applies to AP. 802.11n products only."
        ::= { cfgAfc 3 }

    cfgAfcBackupFreq OBJECT-TYPE
        SYNTAX Integer32 (0..6100)
        MAX-ACCESS read-write
        STATUS     current
        DESCRIPTION
            "Backup Frequency

             The frequency that the Area Frequency Client will use if the Area
             Frequency Manager is not present at startup. Also this frequency
             will be used when no frequencies are available for use, e.g when
             all configured frequencies are blocked by DFS.

             This frequency must be a non-DFS frequency.

             Applies to AP. 802.11n products only."
        ::= { cfgAfc 5 }

    cfgAfcReportEnabled OBJECT-TYPE
        SYNTAX INTEGER { disabled(0), enabled(1) }
        MAX-ACCESS read-write
        STATUS     current
        DESCRIPTION
            "Disable or Enable AFC Reporting

             When enabled(1) the AFC sends reports to the configured server URL
             (see `cfgHttpRprtServerUrl`).

             Please refer to Software 6 Interface Description for more
             information.

             Applies to AP. 802.11n products only."
        ::= { cfgAfc 6 }

    cfgAfcAfmTable OBJECT-TYPE
        SYNTAX  SEQUENCE OF CfgAfcAfmTableSeq
        MAX-ACCESS not-accessible
        STATUS     current
        DESCRIPTION
            "AFC AFM Table

             A table of Area Frequency Managers which are allowed to control
             this Area Frequency Client (AFC).

             Applies to AP. 802.11n products only."
        ::= { cfgAfc 10 }

    cfgAfcAfmTableEntry OBJECT-TYPE
        SYNTAX  CfgAfcAfmTableSeq
        MAX-ACCESS not-accessible
        STATUS     current
        DESCRIPTION
            "AFC AFM Table

             Applies to AP. 802.11n products only."
        INDEX {cfgAfcAfmTableIndex}
        ::= { cfgAfcAfmTable 1 }

    CfgAfcAfmTableSeq ::=
        SEQUENCE {  cfgAfcAfmTableIndex Integer32,
                    cfgAfcAfmName DisplayString,
                    cfgAfcAfmIp IpAddress
                 }

    cfgAfcAfmTableIndex OBJECT-TYPE
        SYNTAX Integer32 (0..4)
        MAX-ACCESS not-accessible
        STATUS     current
        DESCRIPTION
            "Entry Index of Table

             Applies to AP. 802.11n products only."
        ::= { cfgAfcAfmTableEntry 1 }

    cfgAfcAfmName OBJECT-TYPE
        SYNTAX DisplayString (SIZE(1..255))
        MAX-ACCESS read-write
        STATUS     current
        DESCRIPTION
            "Name of the Connecting Area Frequency Manager

             Applies to AP. 802.11n products only."
        ::= { cfgAfcAfmTableEntry 2 }

    cfgAfcAfmIp OBJECT-TYPE
        SYNTAX IpAddress
        MAX-ACCESS read-write
        STATUS     current
        DESCRIPTION
            "IP Address of the Connecting Area Frequency Manager

             Applies to AP. 802.11n products only."
        ::= { cfgAfcAfmTableEntry 3 }

    cfgAfcNeighbourOffsetTable OBJECT-TYPE
        SYNTAX SEQUENCE OF CfgAfcNeighbourOffsetTableSeq
        MAX-ACCESS not-accessible
        STATUS     current
        DESCRIPTION
            "Table of up to 24 Segment Offsets Relevant for Neighbour List

             Applies to AP. 802.11n products only."
        ::= { cfgAfc 40 }

    cfgAfcNeighbourOffsetTableEntry OBJECT-TYPE
        SYNTAX  CfgAfcNeighbourOffsetTableSeq
        MAX-ACCESS not-accessible
        STATUS     current
        DESCRIPTION
            "Neighbour Segment Offset Table

             Applies to AP. 802.11n products only."
        INDEX {cfgAfcNeighbourOffsetTableIndex}
        ::= { cfgAfcNeighbourOffsetTable 1 }

    CfgAfcNeighbourOffsetTableSeq ::=
        SEQUENCE {  cfgAfcNeighbourOffsetTableIndex Integer32,
                    cfgAfcNeighbourOffset Integer32
                 }

    cfgAfcNeighbourOffsetTableIndex OBJECT-TYPE
        SYNTAX Integer32 (0..23)
        MAX-ACCESS not-accessible
        STATUS     current
        DESCRIPTION
            "Entry Index of Table

             Applies to AP. 802.11n products only."
        ::= { cfgAfcNeighbourOffsetTableEntry 1 }

    cfgAfcNeighbourOffset OBJECT-TYPE
        SYNTAX Integer32 (-15..15)
        MAX-ACCESS read-write
        STATUS     current
        DESCRIPTION
            "Segment Offset to be Considered for Neighbour List

             Applies to AP. 802.11n products only."
        ::= { cfgAfcNeighbourOffsetTableEntry 2 }

-- =============================================================================

  -- Channel Manager

     rpcChMgrHttpReport OBJECT-TYPE
        SYNTAX INTEGER { nop(0), freqstate(1), channels(2) }
        MAX-ACCESS read-write
        STATUS     current
        DESCRIPTION
            "Requests a HTTP Report from the Channel Manager

             Applies to AP. 802.11n products only."
        ::= { rpcChannelManager 1 }


-- =============================================================================

  -- Nwm

     rpcNwmHttpReport OBJECT-TYPE
        SYNTAX INTEGER { nop(0), status(1), freqstate(2) }
        MAX-ACCESS read-write
        STATUS     current
        DESCRIPTION
            "Requests a HTTP Report from the Wireless Manager

             Applies to AP. 802.11n products only."
        ::= { rpcNwm 1 }


-- =============================================================================

  -- Nvram Manager

     rpcNvramFreqStatesReset OBJECT-TYPE
        SYNTAX INTEGER { reset(0) }
        MAX-ACCESS read-write
        STATUS     current
        DESCRIPTION
            "Nvram Frequency States Reset

             Resets the state of DFS frequencies in the Available Channel List
             which is stored in non-volatile memory.

             The device performs a reboot after resetting the state of the
             frequencies. The behaviour is similar to a factory reset but does
             only reset the Available Channel List.

             Applies to AP. 802.11n products only.
             "
        ::= { rpcNvram 1 }

-- * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
-- *  End of   Object Types
-- *********************************************************************

-- *********************************************************************
-- *  Begin GROUPS
-- * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *

   groupCfgHttpReport OBJECT-GROUP
       OBJECTS {
           cfgHttpRprtServerUrl
       }
       STATUS  current
       DESCRIPTION
           "HttpReport properties"
       ::= { groupConfiguration 1 }

   groupCfgIdf OBJECT-GROUP
       OBJECTS {
          cfgIdfEnabled,
          cfgIdfInterval,
          cfgIdfName,
          cfgIdfTrigRadarCntTh,
          cfgIdfTrigChanLoadTh,
          cfgIdfTrigAlienLoadTh,
          cfgIdfTrigDomLoadTh,
          cfgIdfTrigAlienMaxRssiTh,
          cfgIdfTrigDomMaxRssiTh,
          cfgIdfScanWorkFreq,
          cfgIdfScanWorkAction,
          cfgIdfScanWorkSeconds
          }
        STATUS current
        DESCRIPTION
            "IDF configuration."
        ::= { groupConfiguration 2 }

   groupCfgChannelManager OBJECT-GROUP
       OBJECTS {
           cfgChMgrUsableFrequencyList,
           cfgChMgrDfsUseNvram
       }
       STATUS  current
       DESCRIPTION
           "ChannelManager properties"
       ::= { groupConfiguration 4 }

   groupCfgNwm OBJECT-GROUP
       OBJECTS {
           cfgNwmEnabled
       }
       STATUS  current
       DESCRIPTION
           "NWM properties"
       ::= { groupConfiguration 5 }

   groupCfgChannelCleaner OBJECT-GROUP
       OBJECTS {
          cfgChanCleanDfsUseNvram,
          cfgChanCleanUsableFrequencyList
       }
       STATUS  current
       DESCRIPTION
           "ChannelCleaner properties"
       ::= { groupConfiguration 6 }

    groupCfgAfm OBJECT IDENTIFIER ::= { groupConfiguration 7 }

    groupCfgAfmGlobal OBJECT-GROUP
        OBJECTS {
           cfgAfmEnabled,
           cfgAfmName,
           cfgAfmIndex,
           cfgAfmAreaSize,
           cfgAfmPrimary,
           cfgAfmReportEnabled,
           cfgAfmVisibility
           }
        STATUS  current
        DESCRIPTION
            "Afm general maintree properties"
        ::= { groupCfgAfm 1 }

    groupCfgAfmRedundant OBJECT-GROUP
        OBJECTS {
           cfgAfmRedundantIp,
           cfgAfmRedundantName
           }
        STATUS  current
        DESCRIPTION
            "Afm Redundant properties"
        ::= { groupCfgAfm 2 }

    groupCfgAfmNeighbourTable OBJECT-GROUP
        OBJECTS {
           cfgAfmNeighbourIp,
           cfgAfmNeighbourName
           }
        STATUS  current
        DESCRIPTION
            "Afm Neighbour properties"
        ::= { groupCfgAfm 3 }

    groupCfgAfmAfcTable OBJECT-GROUP
        OBJECTS {
           cfgAfmAfcIp,
           cfgAfmAfcName
           }
        STATUS  current
        DESCRIPTION
            "Afm Afc properties"
        ::= { groupCfgAfm 4 }

    groupCfgAfc OBJECT IDENTIFIER ::= { groupConfiguration 8 }

    groupCfgAfcGlobal OBJECT-GROUP
        OBJECTS {
           cfgAfcEnabled,
           cfgAfcName,
           cfgAfcIndex,
           cfgAfcBackupFreq,
           cfgAfcReportEnabled
           }
        STATUS  current
        DESCRIPTION
            "Afc general maintree properties"
        ::= { groupCfgAfc 1 }

    groupCfgAfcAfmTable OBJECT-GROUP
        OBJECTS {
           cfgAfcAfmIp,
           cfgAfcAfmName
           }
        STATUS  current
        DESCRIPTION
            "Afc Afm properties"
        ::= { groupCfgAfc 2 }

    groupCfgAfcNeighbourOffsetTable OBJECT-GROUP
        OBJECTS {
           cfgAfcNeighbourOffset
           }
        STATUS  current
        DESCRIPTION
            "Afc neighbour segment offset properties"
        ::= { groupCfgAfc 4 }

-- =============================================================================

    groupRpcChannelManager OBJECT-GROUP
        OBJECTS {
           rpcChMgrHttpReport
           }
        STATUS  current
        DESCRIPTION
            "RPCs for Channel Manager"
        ::= { groupRpc 1 }

    groupRpcNwm OBJECT-GROUP
        OBJECTS {
           rpcNwmHttpReport
           }
        STATUS  current
        DESCRIPTION
            "RPCs for NWM"
        ::= { groupRpc 2 }

    groupRpcNvram OBJECT-GROUP
        OBJECTS {
           rpcNvramFreqStatesReset
           }
        STATUS  current
        DESCRIPTION
            "RPCs for Nvram Manager"
        ::= { groupRpc 3 }


-- * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
-- *  End GROUPS
-- *********************************************************************

-- *********************************************************************
-- *  Begin COMPLIANCE STATEMENTS
-- * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *

    compliance MODULE-COMPLIANCE
    STATUS current
    DESCRIPTION
        "Implementation Requirements for DT50 bindings"
    MODULE  -- this module
        MANDATORY-GROUPS {
            groupCfgHttpReport,
            groupCfgChannelManager,
            groupCfgNwm,
            groupCfgIdf,
            groupRpcChannelManager,
            groupRpcNwm,
            groupRpcNvram,
            groupCfgChannelCleaner,
            groupCfgAfmGlobal,
            groupCfgAfmRedundant,
            groupCfgAfmNeighbourTable,
            groupCfgAfmAfcTable,
            groupCfgAfcGlobal,
            groupCfgAfcAfmTable,
            groupCfgAfcNeighbourOffsetTable
        }
    ::= { compliances 1 }

-- * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
-- *  End COMPLIANCE STATEMENTS
-- *********************************************************************

-- * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
-- *  End of MIB DEFINITION
-- *********************************************************************
END


-- *********************************************************************
-- *********************************************************************
