-- *****************************************************************
-- WESTERMO-SW6-PWN-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-PWN-MIB
-- Ensure that all needed MIBS are located in the SMIPATH.
-- *****************************************************************

-- **********************************************************************
-- * PWN MIB
-- **********************************************************************

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

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

-- **********************************************************************
-- *  MODULE IDENTITY
-- **********************************************************************
pwn MODULE-IDENTITY
    LAST-UPDATED "202608120000Z"
    ORGANIZATION "Westermo Network Technologies AB"
    CONTACT-INFO "E-mail: info@westermo.com"
    DESCRIPTION
            "MIB Module for the Westermo RT-300 Radio Modem Device - PWN
            definitions"

    REVISION     "202608120000Z"
    DESCRIPTION  "Release 6.12.1-0"

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

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

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

configuration                   OBJECT IDENTIFIER ::= { pwn 1 }
    cfgWireless                 OBJECT IDENTIFIER ::= { configuration 1 }

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

conformance                     OBJECT IDENTIFIER ::= { pwn 10000 }
    groups                      OBJECT IDENTIFIER ::= { conformance 1 }
        groupConfiguration      OBJECT IDENTIFIER ::= { groups 1 }
    compliances                 OBJECT IDENTIFIER ::= { conformance 2 }

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

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


cfgWlanBandsteering OBJECT IDENTIFIER ::= { cfgWireless 1 }
cfgWlanClientSteering OBJECT IDENTIFIER ::= { cfgWireless 2 }
cfgWlanPasspoint OBJECT IDENTIFIER ::= { cfgWireless 3 }

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

-- Band Steering

    cfgWlanBsteerEnabled OBJECT-TYPE
        SYNTAX INTEGER { disabled(0), enabled(1) }
        MAX-ACCESS read-only
        STATUS     obsolete
        DESCRIPTION
            "**OBSOLETE:** Enable Band Steering

             This parameter is obsolete and has been replaced by
             `cfgWlanCsteerEnabled`."
        ::= { cfgWlanBandsteering 1 }

    cfgWlanBsteerMatchingSsid OBJECT-TYPE
        SYNTAX DisplayString (SIZE(1..255))
        MAX-ACCESS not-accessible
        STATUS     obsolete
        DESCRIPTION
            "**OBSOLETE:** List of Matching SSIDs

             This parameter is obsolete and has been replaced by
             `cfgWlanBsteerMatchingWlan`."
        ::= { cfgWlanBandsteering 2 }

    cfgWlanBsteerMatchingWlan OBJECT-TYPE
        SYNTAX DisplayString (SIZE(1..255))
        MAX-ACCESS not-accessible
        STATUS     obsolete
        DESCRIPTION
            "**OBSOLETE:** WLAN Interface Indices for Band Steering

             This parameter is obsolete and has been replaced by
             `cfgWlanCsteerMatchingWlan`."
        ::= { cfgWlanBandsteering 3 }

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

-- Client Steering

    cfgWlanClientSteeringTable OBJECT-TYPE
        SYNTAX SEQUENCE OF CfgWlanClientSteeringTableSeq
        MAX-ACCESS not-accessible
        STATUS     current
        DESCRIPTION
            "Client Steering Table

             Client steering is a technique used to encourage STAs to use a
             less-congested AP.

             Applies to AP. 802.11ax and 802.11be products only."
        ::= { cfgWlanClientSteering 1 }

    cfgWlanClientSteeringTableEntry OBJECT-TYPE
        SYNTAX CfgWlanClientSteeringTableSeq
        MAX-ACCESS not-accessible
        STATUS     current
        DESCRIPTION
            "Client Steering Table Entry

             Client steering is a technique used to encourage STAs to use a
             less-congested AP.

             Applies to AP. 802.11ax and 802.11be products only."
        INDEX { cfgWlanCsteerIndex }
        ::= { cfgWlanClientSteeringTable 1 }

    CfgWlanClientSteeringTableSeq ::=
    SEQUENCE {  cfgWlanCsteerIndex Integer32,
                cfgWlanCsteerEnabled INTEGER,
                cfgWlanCsteerMatchingWlan DisplayString,
                cfgWlanCsteerInterfaces DisplayString,
                cfgWlanCsteerDebugLevel INTEGER,
                cfgWlanCsteerLoadBalNrStaDiff Integer32,
                cfgWlanCsteerBandSteeringNrStaDiff Integer32,
                cfgWlanCsteerAssocSteeringEnabled INTEGER,
                cfgWlanCsteerConnectLevel Integer32,
                cfgWlanCsteerRemainLevel Integer32,
                cfgWlanCsteerRoamScanLevel Integer32,
                cfgWlanCsteerRoamTriggerLevel Integer32,
                cfgWlanCsteerRoamKickTimeout Integer32,
                cfgWlanCsteerSignalLevelDiff Integer32,
                cfgWlanCsteerInitConnectTimeout Integer32,
                cfgWlanCsteerLoadBalEnabled INTEGER,
                cfgWlanCsteerLoadBalMinLoad Integer32,
                cfgWlanCsteerLoadBalMinNrStas Integer32,
                cfgWlanCsteerScanBand2GhzOpClass Integer32,
                cfgWlanCsteerScanBand5GhzOpClass Integer32
             }

    cfgWlanCsteerIndex OBJECT-TYPE
        SYNTAX Integer32 (0)
        MAX-ACCESS not-accessible
        STATUS     current
        DESCRIPTION
            "Table Entry Index

             Applies to AP. 802.11ax and 802.11be products only."
        ::= { cfgWlanClientSteeringTableEntry 1 }

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

             Client Steering makes use of the Radio Resource (802.11k)
             and the BSS Transition Management (802.11v) standards
             in order to steer clients (STAs) among various
             Basic Service Sets (BSS) to achieve an overall improved wireless
             performance for all participating STAs in the same
             Extended Service Set (ESS).

             Applies to AP. 802.11ax and 802.11be products only."
        ::= { cfgWlanClientSteeringTableEntry 2 }

    cfgWlanCsteerMatchingWlan OBJECT-TYPE
        SYNTAX DisplayString (SIZE(1..255))
        MAX-ACCESS read-write
        STATUS     current
        DESCRIPTION
            "WLAN Interface Indices for Client Steering

             Multiple indices in `cfgWlanInterfaceTable` may be referenced as a
             space and/or comma separated list.

             All referenced wireless interfaces that are involved in the Client
             Steering process.

             **Examples:**

             * 0
             * 1, 3
             * 1,2 3,4

             Applies to AP. 802.11ax and 802.11be products only."
        ::= { cfgWlanClientSteeringTableEntry 4 }

    cfgWlanCsteerInterfaces OBJECT-TYPE
        SYNTAX DisplayString (SIZE(1..255))
        MAX-ACCESS read-write
        STATUS     current
        DESCRIPTION
            "Network Interfaces

             The network interfaces to search for other Client Steering
             instances. The Client Steering process uses a Data Link (L2)
             protocol to look for other instances.

             One or more network interfaces can specifed in a space and/or comma
             separated list.

             **Example:**

             * br0.vlan0
             * br0.vlan100, br0.vlan101, br0.vlan102

             Applies to AP. 802.11ax and 802.11be products only."
        ::= { cfgWlanClientSteeringTableEntry 5 }

    cfgWlanCsteerDebugLevel OBJECT-TYPE
        SYNTAX INTEGER { fatal(0), info(1), verbose(2), debug(3), network(4), full(5) }
        MAX-ACCESS read-write
        STATUS     current
        DESCRIPTION
            "Minimum Level of Logged Messages

             Applies to AP. 802.11ax and 802.11be products only."
        ::= { cfgWlanClientSteeringTableEntry 7 }

    cfgWlanCsteerLoadBalNrStaDiff OBJECT-TYPE
        SYNTAX Integer32
        MAX-ACCESS read-write
        STATUS     current
        DESCRIPTION
            "Load Balancing STA Difference

             Minimal difference of connected STAs between an other AP before
             load balancing policy is active.

             Applies to AP. 802.11ax and 802.11be products only."
        ::= { cfgWlanClientSteeringTableEntry 13 }

    cfgWlanCsteerBandSteeringNrStaDiff OBJECT-TYPE
        SYNTAX Integer32
        MAX-ACCESS read-write
        STATUS     current
        DESCRIPTION
            "Band Steering STA Difference

             Minimal difference of connected STAs between bands before band
             steering policy is active.

             Applies to AP. 802.11ax and 802.11be products only."
        ::= { cfgWlanClientSteeringTableEntry 14 }

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

             Allow rejecting association requests for steering purposes, see
             also `cfgWlanCsteerConnectLevel`.

             Applies to AP. 802.11ax and 802.11be products only."
        ::= { cfgWlanClientSteeringTableEntry 16 }

    cfgWlanCsteerConnectLevel OBJECT-TYPE
        SYNTAX Integer32
        MAX-ACCESS read-write
        STATUS     current
        DESCRIPTION
            "Connect Level

             Minimum signal level (dBm) to allow connections. The AP will not
             response to probe requests of STAs that are below this level. If
             `cfgWlanCsteerAssocSteeringEnabled` is enabled, it will not answer
             association requests either.

             If this parameter is set to `0`, all STAs are allowed to connect
             regardless of their signal level.

             Applies to AP. 802.11ax and 802.11be products only."
        ::= { cfgWlanClientSteeringTableEntry 17 }

    cfgWlanCsteerRemainLevel OBJECT-TYPE
        SYNTAX Integer32
        MAX-ACCESS read-write
        STATUS     current
        DESCRIPTION
            "Remain Level

             Minimum signal level (dBm) to remain connected.

             Applies to AP. 802.11ax and 802.11be products only."
        ::= { cfgWlanClientSteeringTableEntry 18 }

    cfgWlanCsteerRoamScanLevel OBJECT-TYPE
        SYNTAX Integer32
        MAX-ACCESS read-write
        STATUS     current
        DESCRIPTION
            "Roaming Scan Level

             Minimum signal level (dBm) before the AP requests a Beacon Report
             (802.11k) from the STA.

             Applies to AP. 802.11ax and 802.11be products only."
        ::= { cfgWlanClientSteeringTableEntry 19 }

    cfgWlanCsteerRoamTriggerLevel OBJECT-TYPE
        SYNTAX Integer32
        MAX-ACCESS read-write
        STATUS     current
        DESCRIPTION
            "Roaming Trigger Level

             Minimum signal level (dBm) before the AP sends a BSS Transition
             Management Request (802.11v) to the STA.

             Applies to AP. 802.11ax and 802.11be products only."
        ::= { cfgWlanClientSteeringTableEntry 22 }

    cfgWlanCsteerRoamKickTimeout OBJECT-TYPE
        SYNTAX Integer32
        MAX-ACCESS read-write
        STATUS     current
        DESCRIPTION
            "Roaming Kick Timeout

             Timeout (in millisecons) before the AP requests the STA to
             dissasociate STA after an unsuccessful BSS Transition Management
             Request.

             Applies to AP. 802.11ax and 802.11be products only."
        ::= { cfgWlanClientSteeringTableEntry 24 }

    cfgWlanCsteerSignalLevelDiff OBJECT-TYPE
        SYNTAX Integer32
        MAX-ACCESS read-write
        STATUS     current
        DESCRIPTION
            "Signal Level Difference

             Minimum signal level difference (in dB) before any steering policy
             of the AP becomes active.

             Applies to AP. 802.11ax and 802.11be products only."
        ::= { cfgWlanClientSteeringTableEntry 25 }

    cfgWlanCsteerInitConnectTimeout OBJECT-TYPE
        SYNTAX Integer32
        MAX-ACCESS read-write
        STATUS     current
        DESCRIPTION
            "Initial Connection Timeout

             Initial timeout (in millisecons) before responding to probe
             requests. This forces the STA to search for other APs and allows
             the other APs to see packets as well.

             Applies to AP. 802.11ax and 802.11be products only."
        ::= { cfgWlanClientSteeringTableEntry 26 }

    cfgWlanCsteerLoadBalEnabled OBJECT-TYPE
        SYNTAX INTEGER { disabled(0), enabled(1) }
        MAX-ACCESS read-write
        STATUS     current
        DESCRIPTION
            "Disable or Enable Load-based Steering

             Enable kicking of STAs on excessive channel load when
             the following conditions are met:

             * The channel load of the current AP must be equal or higher than
               the defined value in `cfgWlanCsteerLoadBalMinLoad`.
             * At least the number of STAs defined in
               `cfgWlanCsteerLoadBalMinNrStas` must be associated to the AP.
             * The difference of client connections between the current and
               another AP must be at least the number defined in
               `cfgWlanCsteerLoadBalNrStaDiff`.

             Applies to AP. 802.11ax and 802.11be products only."
        ::= { cfgWlanClientSteeringTableEntry 27 }

    cfgWlanCsteerLoadBalMinLoad OBJECT-TYPE
        SYNTAX Integer32
        MAX-ACCESS read-write
        STATUS     current
        DESCRIPTION
            "Minimal Load Before Steering

             Minimum load in percent before STAs are disassociated based on
             channel load.

             Applies to AP. 802.11ax and 802.11be products only."
        ::= { cfgWlanClientSteeringTableEntry 28 }

    cfgWlanCsteerLoadBalMinNrStas OBJECT-TYPE
        SYNTAX Integer32
        MAX-ACCESS read-write
        STATUS     current
        DESCRIPTION
            "Minimum STAs for Load-based Kick

             Minimum number of connected STAs before disassociating them
             based on channel load.

             Applies to AP. 802.11ax and 802.11be products only."
        ::= { cfgWlanClientSteeringTableEntry 30 }

    cfgWlanCsteerScanBand2GhzOpClass OBJECT-TYPE
        SYNTAX Integer32
        MAX-ACCESS read-write
        STATUS     current
        DESCRIPTION
            "Operating Class 2GHz for Beacon Reports

             Operating class used for Beacon Report requests (802.11k)
             for 2GHz band. It defines the  channel range to scan which
             is also depending on the used country code.

             Operating classes are defined in ANNEX E of IEEE 802.11
             standard.

             Applies to AP. 802.11ax and 802.11be products only."
        ::= { cfgWlanClientSteeringTableEntry 34 }

    cfgWlanCsteerScanBand5GhzOpClass OBJECT-TYPE
        SYNTAX Integer32
        MAX-ACCESS read-write
        STATUS     current
        DESCRIPTION
            "Operating Class 5GHz for Beacon Reports

             Operating class used for Beacon Report requests (802.11k)
             for 5GHz band. It defines the channel range to scan which
             is also depending on the used country code.

             Operating classes are defined in ANNEX E of IEEE 802.11
             standard.

             Applies to AP. 802.11ax and 802.11be products only."
        ::= { cfgWlanClientSteeringTableEntry 35 }


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

-- Passpoint

    cfgWlanPasspointTable OBJECT-TYPE
        SYNTAX SEQUENCE OF CfgWlanPasspointTableSeq
        MAX-ACCESS not-accessible
        STATUS     current
        DESCRIPTION
            "Passpoint Table

             TODO: description
             Applies to AP. 802.11ax and 802.11be products only."
        ::= { cfgWlanPasspoint 1 }

    cfgWlanPasspointTableEntry OBJECT-TYPE
        SYNTAX CfgWlanPasspointTableSeq
        MAX-ACCESS not-accessible
        STATUS     current
        DESCRIPTION
            "Passpoint Table Entry

             TODO: description
             Applies to AP. 802.11ax and 802.11be products only."
        INDEX { cfgWlanPasspointIndex }
        ::= { cfgWlanPasspointTable 1 }

    CfgWlanPasspointTableSeq ::=
    SEQUENCE {  cfgWlanPasspointIndex Integer32,
                cfgWlanPasspointEnabled INTEGER,
                cfgWlanPasspointSsid DisplayString,
                cfgWlanPasspointOperator DisplayString,
                cfgWlanPasspointVenueName DisplayString,
                cfgWlanPasspointVenueGroup Integer32,
                cfgWlanPasspointVenueType Integer32,
                cfgWlanPasspointHessid DisplayString,
                cfgWlanPasspointNetworkType INTEGER,
                cfgWlanPasspointNetworkAuthType DisplayString,
                cfgWlanPasspointDomain DisplayString,
                cfgWlanPasspointRoamingConsortium DisplayString,
                cfgWlanPasspointCellNet DisplayString,
                cfgWlanPasspointNaiRealm DisplayString,
                cfgWlanPasspointOperatorNamespace DisplayString
             }

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

             Applies to AP. 802.11ax and 802.11be products only."
        ::= { cfgWlanPasspointTableEntry 1 }

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

            Applies to AP. 802.11ax and 802.11be products only."
        ::= { cfgWlanPasspointTableEntry 2 }

    cfgWlanPasspointSsid OBJECT-TYPE
        SYNTAX DisplayString (SIZE(1..255))
        MAX-ACCESS read-write
        STATUS     current
        DESCRIPTION
            "SSID of the Wireless Interface

            The SSID must match with the SSID in `cfgWlanIfaceSsid`
            of the wireless interface.

            Applies to AP. 802.11ax and 802.11be products only."
        ::= { cfgWlanPasspointTableEntry 3 }

    cfgWlanPasspointOperator OBJECT-TYPE
        SYNTAX DisplayString (SIZE(1..255))
        MAX-ACCESS read-write
        STATUS     current
        DESCRIPTION
            "Operator's Friendly Name

            The operator name is normally not visible for the
            user but may assist during manual hotspot selection.

            The field has a language prefix, be default it is
            set to `eng:` for English.

            Multiple names can be defined as comma and/or space
            separeted list.

            Applies to AP. 802.11ax and 802.11be products only."
        ::= { cfgWlanPasspointTableEntry 4 }

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

            The venue name is the description of the location.
            It might be a building name or an address.

            The field has a language prefix, be default it is
            set to `eng:` for English.

            Multiple venues can be defined as comma and/or space
            separeted list.

            Applies to AP. 802.11ax and 802.11be products only."
        ::= { cfgWlanPasspointTableEntry 5 }

    cfgWlanPasspointVenueGroup OBJECT-TYPE
       SYNTAX Integer32
        MAX-ACCESS read-write
        STATUS     current
        DESCRIPTION
            "Venue Group

            Optionally field to describe the passpoint group.
            Please refer to the IEEE 802.11-2016 standard
            for more information.

            * 0: Unspecified
            * 1: Assembly
            * 2: Business
            * 3: Educational
            * 4: Factory and Industrial
            * 5: Institutional
            * 6: Mercantile
            * 7: Residential
            * 8: Storage
            * 9: Utility and Misc
            * 10: Vehicular
            * 11: Outdoor

            Applies to AP. 802.11ax and 802.11be products only."
        ::= { cfgWlanPasspointTableEntry 6 }

    cfgWlanPasspointVenueType OBJECT-TYPE
       SYNTAX Integer32
        MAX-ACCESS read-write
        STATUS     current
        DESCRIPTION
            "Venue Type

            Optionally field to describe the passpoint type.
            The type depends on the venue group value.
            Please refer to the IEEE 802.11-2016 standard
            for more information.

            * 0: Unspecified
            * x: Depends on Venue Group

            Applies to AP. 802.11ax and 802.11be products only."
        ::= { cfgWlanPasspointTableEntry 7 }

    cfgWlanPasspointHessid OBJECT-TYPE
        SYNTAX DisplayString (SIZE(17))
        MAX-ACCESS read-write
        STATUS     current
        DESCRIPTION
            "Homogeneous Extended Service Set Identifier (HESSID)

            If two APs have different SSIDs, they are considered to be different
            wireless networks. If two APs have the same SSID, they are
            considered to be part of the same wireless network. But because
            SSIDs are not globally administered, it is possible that two APs
            with the same SSID are, in different wireless networks. The HESSID
            allows mobile devices to detect this condition. If two access points
            (APs) have the same SSID but are on different wireless networks, the
            two networks will have different HESSIDs.

            **Example**

            * 02:14:5a:11:22:33

            The parameter value `00:00:00:00:00:00` disables this parameter.

             Applies to AP. 802.11ax and 802.11be products only."
        ::= { cfgWlanPasspointTableEntry 8 }

    cfgWlanPasspointNetworkType OBJECT-TYPE
        SYNTAX INTEGER { private(0), privateguest(1), publicchargeable(2), public(3), personal(4), emergency(5), test(14), wildcard(15) }
        MAX-ACCESS read-write
        STATUS     current
        DESCRIPTION
            "Access Network Type

            The access network type is indicative of the
            privacy or cost of the given hotspot.

            * 0: Private Network
            * 1: Private Network with Guest Access
            * 2: Chargeable Public Network
            * 3: Free Public Network
            * 4: Personal Device Network
            * 5: Emergency Services Only Network
            * 6: Test or Experimental Network
            * 7: Wildcard Network

             Applies to AP. 802.11ax and 802.11be products only."
        ::= { cfgWlanPasspointTableEntry 9 }

    cfgWlanPasspointNetworkAuthType OBJECT-TYPE
        SYNTAX DisplayString (SIZE(2..255))
        MAX-ACCESS read-write
        STATUS     current
        DESCRIPTION
            "Network Authentication Type

            This parameter indicates what type of authentication
            is used in the network.

            * 00: Acceptance of terms and conditions
            * 01: On-line enrollment supported
            * 02<url>: http/https redirection
            * 03<dns>: DNS redirection

            **Example for https redirection**

            * 02https://www.example.com/redirect/me/here/

            Applies to AP. 802.11ax and 802.11be products only."
        ::= { cfgWlanPasspointTableEntry 10 }

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

            A comma separated list of domain names of the hotspot operator.

            Applies to AP. 802.11ax and 802.11be products only."
        ::= { cfgWlanPasspointTableEntry 11 }

    cfgWlanPasspointRoamingConsortium OBJECT-TYPE
        SYNTAX DisplayString (SIZE(1..255))
        MAX-ACCESS read-write
        STATUS     current
        DESCRIPTION
            "Roaming Consortium

            A comma and/or space separated list of supported roaming consortiums.

            **OpenRoaming ROCIs**

            * 004096: Legacy
            * 5A03BA0000: Open
            * 5A03BA0001: Service Provider
            * 5A03BA0010: Cloud Provider
            * 5A03BA0011: Generic Enterprise
            * 5A03BA0100: Governmnent (City)
            * 5A03BA0101: Automotive
            * 5A03BA0110: Hospitality
            * 5A03BA0111: Aviation Industry
            * 5A03BA1000: Education or Research
            * 5A03BA1001: Cable Industry
            * 5A03BA1010: Manufacturer
            * 5A03BA1011: Retail

             Applies to AP. 802.11ax and 802.11be products only."
        ::= { cfgWlanPasspointTableEntry 12 }

    cfgWlanPasspointCellNet OBJECT-TYPE
        SYNTAX DisplayString (SIZE(1..255))
        MAX-ACCESS read-write
        STATUS     current
        DESCRIPTION
            "3GPP Cellular Network Information

            A comma separated list of allowed cellular network providers.
            The coding format is: `<MCC1,MNC1>[;<MCC2,MNC2>][;...]`

            **Example**

            * 240,01
            * 240,01;240,02;240,03
            * 240,01;242,02

            The parameter value `-1` disables the field.

             Applies to AP. 802.11ax and 802.11be products only."
        ::= { cfgWlanPasspointTableEntry 13 }

    cfgWlanPasspointNaiRealm OBJECT-TYPE
        SYNTAX DisplayString (SIZE(1..255))
        MAX-ACCESS read-write
        STATUS     current
        DESCRIPTION
            "NAI Realm Information

            One or more realm can be advertised
            (currently limited to a single realm).
            These parameters provide information for stations using
            Interworking network selection to allow automatic connection
            to a network based on credentials.

            The coding format is:

            `<encoding>,<NAI Realm(s)>[,<EAP Method 1>][,<EAP Method 2>][,...]`

            The parameter value `-1` disables the field.

            Multiple NAI realms can be defined as semicolon `;`
            separeted list.

             Applies to AP. 802.11ax and 802.11be products only."
        ::= { cfgWlanPasspointTableEntry 14 }

    cfgWlanPasspointOperatorNamespace OBJECT-TYPE
        SYNTAX DisplayString (SIZE(1..255))
        MAX-ACCESS read-write
        STATUS     current
        DESCRIPTION
            "Operator Namespace Identifier

            The operator namespace identifier adds the
            RADIUS attribute `126` in the following
            coding format: `<identifier><operator>`

            **Identifier**

            * 0: TADIG
            * 1: REALM
            * 2: E212
            * 3: ICC
            * 4: WBAID

            **Example**

            * 0OperatorNameForTadig
            * 4WESTERMO:SE

            The parameter value `-1` disables the field.

             Applies to AP. 802.11ax and 802.11be products only."
        ::= { cfgWlanPasspointTableEntry 15 }


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

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

groupCfgWlanBandsteering OBJECT-GROUP
    OBJECTS {
       cfgWlanBsteerEnabled
       }
    STATUS  obsolete
    DESCRIPTION
        "Wireless Band Steering Configuration."
    ::= { groupConfiguration 1 }

groupCfgWlanClientSteering OBJECT-GROUP
    OBJECTS {
        cfgWlanCsteerEnabled,
        cfgWlanCsteerMatchingWlan,
        cfgWlanCsteerInterfaces,
        cfgWlanCsteerDebugLevel,
        cfgWlanCsteerLoadBalNrStaDiff,
        cfgWlanCsteerBandSteeringNrStaDiff,
        cfgWlanCsteerAssocSteeringEnabled,
        cfgWlanCsteerConnectLevel,
        cfgWlanCsteerRemainLevel,
        cfgWlanCsteerRoamScanLevel,
        cfgWlanCsteerRoamTriggerLevel,
        cfgWlanCsteerRoamKickTimeout,
        cfgWlanCsteerSignalLevelDiff,
        cfgWlanCsteerInitConnectTimeout,
        cfgWlanCsteerLoadBalEnabled,
        cfgWlanCsteerLoadBalMinLoad,
        cfgWlanCsteerLoadBalMinNrStas,
        cfgWlanCsteerScanBand2GhzOpClass,
        cfgWlanCsteerScanBand5GhzOpClass
    }
    STATUS  current
    DESCRIPTION
        "Wireless Client Steering Configuration."
    ::= { groupConfiguration 2 }

groupCfgWlanPasspoint OBJECT-GROUP
    OBJECTS {
        cfgWlanPasspointEnabled,
        cfgWlanPasspointSsid,
        cfgWlanPasspointOperator,
        cfgWlanPasspointVenueName,
        cfgWlanPasspointVenueGroup,
        cfgWlanPasspointVenueType,
        cfgWlanPasspointHessid,
        cfgWlanPasspointNetworkType,
        cfgWlanPasspointNetworkAuthType,
        cfgWlanPasspointDomain,
        cfgWlanPasspointRoamingConsortium,
        cfgWlanPasspointCellNet,
        cfgWlanPasspointNaiRealm,
        cfgWlanPasspointOperatorNamespace
    }
    STATUS  current
    DESCRIPTION
        "Wireless Passpoint Configuration."
    ::= { groupConfiguration 3 }

-- groupCfgWlanNaiRealm OBJECT-GROUP
--    OBJECTS {
--        cfgWlanNaiRealmEnabled,
--        cfgWlanNaiRealmPasspointId,
--        cfgWlanNaiRealmName,
--        cfgWlanNaiRealmEapType
--    }
--    STATUS  current
--    DESCRIPTION
--        "Wireless Nai Realm Configuration."
--    ::= { groupConfiguration 4 }



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

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

compliance MODULE-COMPLIANCE
    STATUS current
    DESCRIPTION
        "Implementation Requirements for DT50 bindings"
    MODULE  -- this module
        MANDATORY-GROUPS {
            groupCfgWlanClientSteering,
            groupCfgWlanPasspoint
        }
    ::= { compliances 1 }

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

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