-- ********************************************************************
-- * Wireless LAN Enterprise Access Point Management Base
-- ********************************************************************

	AP-MANAGEMENT DEFINITIONS ::= BEGIN
 
		IMPORTS
			OBJECT-GROUP			
	 			FROM SNMPv2-CONF			
			enterprises, IpAddress,Unsigned32, OBJECT-TYPE, MODULE-IDENTITY			
				FROM SNMPv2-SMI			
			DisplayString, RowStatus, TruthValue, MacAddress			
				FROM SNMPv2-TC;

--
-- Node definitions
--

-- The Enterprises Number
		-- .1.3.6.1.4.1.27662	
		pepwave OBJECT IDENTIFIER ::= { enterprises 27662 }
        
		-- .1.3.6.1.4.1.27662.200
		productID  OBJECT IDENTIFIER ::= { pepwave 200 }

		-- .1.3.6.1.4.1.27662.200.1
		apMib OBJECT IDENTIFIER ::= { productID 1 }

		-- .1.3.6.1.4.1.27662.200.1.1
		apGeneralMib OBJECT IDENTIFIER ::= { apMib 1 }

-- ********************************************************************
-- *  MODULE IDENTITY
-- ********************************************************************

		ap-management-mib MODULE-IDENTITY 
			LAST-UPDATED "2011102000Z"		-- 10 20, 2011 at 12:00 GMT
			ORGANIZATION 
				"PEPWAVE"
			CONTACT-INFO 
				""
			DESCRIPTION 
				"The MIB module for PEPWAVE Enterprise WiFi AP.
				iso(1).org(3).dod(6).internet(1).private(4).
				enterprises(1).pepwave(27662).productID(200).apMib(1).apGeneralMib(1).ap-management-mib(7)"
			::= { apGeneralMib 7 }

--   Wireless LAN Access Point Identifier
-- 
-- **********************************************************************
-- *  MIB attribute OBJECT-TYPE definitions follow
-- **********************************************************************
	apWeb OBJECT IDENTIFIER ::= { ap-management-mib 1 }		

-- **********************************************************************
-- *  AP WEB Admin Information
-- **********************************************************************
	apWebAdmin  OBJECT IDENTIFIER ::= { apWeb 1 }
	
		apWebAccessProtocol OBJECT-TYPE
			SYNTAX INTEGER{
				http(0), 
				https(1)
			}	
			MAX-ACCESS read-write
			STATUS current
			DESCRIPTION
				"This attribute indicates the web access protocol."
			::= { apWebAdmin 1 }

		apWebManagementPort OBJECT-TYPE
			SYNTAX INTEGER(0..65535)
			MAX-ACCESS read-write
			STATUS current
			DESCRIPTION
				"This attribute indicates the web management port
				Default is 443."
			::= { apWebAdmin 2 }			

		apWebHttpRedirection OBJECT-TYPE
			SYNTAX INTEGER{
				disable(0), 
				enable(1)
			}
			MAX-ACCESS read-write
			STATUS current
			DESCRIPTION
				"This attribute indicates the HTTP to HTTPS Redirection enable."
			::= { apWebAdmin 3 }

		apWebUsername OBJECT-TYPE
			SYNTAX OCTET STRING(SIZE(0..32))
			MAX-ACCESS read-write
			STATUS current
			DESCRIPTION
				"This attribute indicates the web user name."
			::= { apWebAdmin 4 }

		apWebPassword OBJECT-TYPE
			SYNTAX 	OCTET STRING(SIZE(0..32))
			MAX-ACCESS read-write
			STATUS current
			DESCRIPTION
				"This attribute indicates the ewb password."
			::= { apWebAdmin 5 }

		apWebAdministration OBJECT-TYPE
			SYNTAX INTEGER{
				disable(0), 
				enable(1)
			}
			MAX-ACCESS read-write
			STATUS current
			DESCRIPTION
				"This attribute indicates the Web Admin Interface enable."
			::= { apWebAdmin 6 }

-- **********************************************************************
-- *  AP ANMP Information
-- **********************************************************************
	apSnmp OBJECT IDENTIFIER ::= { ap-management-mib 2 }

-- **********************************************************************
-- *  SNMP Basic Configuration
-- **********************************************************************
	apSnmpBasic OBJECT IDENTIFIER ::= { apSnmp 1 }	

		apSnmpName OBJECT-TYPE
			SYNTAX OCTET STRING(SIZE(1..32))
			MAX-ACCESS read-write
			STATUS current
			DESCRIPTION
				"This attribute indicates the SNMP server name."
			::= { apSnmpBasic 1 }

		apSnmpV1Enable OBJECT-TYPE
			SYNTAX INTEGER{
				disable(0), 
				enable(1)
			}
			MAX-ACCESS read-write
			STATUS current
			DESCRIPTION
				"This attribute indicates the enable status of SNMPv1."
			::= { apSnmpBasic 2 }

		apSnmpV2Enable OBJECT-TYPE
			SYNTAX INTEGER{
				disable(0), 
				enable(1)
			}
			MAX-ACCESS read-write
			STATUS current
			DESCRIPTION
				"This attribute indicates the enable status of SNMPv2."
			::= { apSnmpBasic 3 }

		apSnmpV3Enable OBJECT-TYPE
			SYNTAX INTEGER{
				disable(0), 
				enable(1)
			}
			MAX-ACCESS read-write
			STATUS current
			DESCRIPTION
				"This attribute indicates the enable status of SNMPv3."
			::= { apSnmpBasic 4 }

-- **********************************************************************
-- *  SNMP Trap Configuration
-- **********************************************************************
	apSnmpTrap  OBJECT IDENTIFIER ::= { apSnmp 2 }		

		apSnmpTrapEnable OBJECT-TYPE
			SYNTAX INTEGER{
				disable(0), 
				enable(1)
			}
			MAX-ACCESS read-write
			STATUS current
			DESCRIPTION
				"This attribute indicates the enable status of SNMP trap."
			::= { apSnmpTrap 1 }

		apSnmpTrapName OBJECT-TYPE
			SYNTAX	OCTET STRING(SIZE(1..16))
			MAX-ACCESS read-write
			STATUS current
			DESCRIPTION
				"This attribute indicates the name of SNMP trap."
			::= { apSnmpTrap 2 }

		apSnmpTrapIpAddress OBJECT-TYPE
			SYNTAX IpAddress
			MAX-ACCESS read-write
			STATUS current
			DESCRIPTION
				"This attribute indicates the ip address of SNMP trap."
			::= { apSnmpTrap 3 }

-- **********************************************************************
-- *  SNMP Community Table
-- **********************************************************************	
		apSnmpCommunityTable OBJECT-TYPE
		SYNTAX SEQUENCE OF ApSnmpCommunityEntry
		MAX-ACCESS not-accessible
		STATUS current
		DESCRIPTION
			"SNMP community table."
		::= { apSnmp 3 }

		apSnmpCommunityEntry OBJECT-TYPE
			SYNTAX ApSnmpCommunityEntry
			MAX-ACCESS not-accessible
			STATUS current
			DESCRIPTION
				"An entry in the apSnmpCommunityTable."
			INDEX { apSnmpCommunityIndex }
			::= { apSnmpCommunityTable 1 }

		ApSnmpCommunityEntry ::=
			SEQUENCE {			
				apSnmpCommunityIndex
					INTEGER,
				apSnmpCommunityRowControl
					INTEGER,
				apSnmpCommunityStatus											
					INTEGER,
				apSnmpCommunityName  
					OCTET STRING,
				apSnmpCommunityIpAddress
					IpAddress,
				apSnmpCommunityNetmask
					IpAddress,
				apSnmpCommunityAccess
					INTEGER
			}	

		apSnmpCommunityIndex OBJECT-TYPE
			SYNTAX INTEGER
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"This attribute indicates the SNMP community index"
			::= { apSnmpCommunityEntry 1 }

		apSnmpCommunityRowControl OBJECT-TYPE
                        SYNTAX RowStatus
                  	MAX-ACCESS read-create
                        STATUS current
                        DESCRIPTION
                                "The SNMP community status.
                                Supported values:
				active(1)      - valid entry
				notReady(3)    - non-valid entry
                                createAndGo(4) - used to create a new entry
                                destroy(6)     - removes the entry"
			::= { apSnmpCommunityEntry 2 }

		apSnmpCommunityStatus OBJECT-TYPE
                        SYNTAX	INTEGER	{
				disable(0), 
				enable(1)
			}
			MAX-ACCESS read-write
			STATUS current
			DESCRIPTION
				"This attribute indicates the enable status of SNMP community."
			::= { apSnmpCommunityEntry 3 }

		apSnmpCommunityName  OBJECT-TYPE
                        SYNTAX OCTET STRING(SIZE(1..16))
			MAX-ACCESS read-write
			STATUS current
			DESCRIPTION
				"This attribute indicates the name of SNMP community."
			::= { apSnmpCommunityEntry 4 }

		apSnmpCommunityIpAddress OBJECT-TYPE
                        SYNTAX IpAddress
			MAX-ACCESS read-write
			STATUS current
			DESCRIPTION
				"This attribute indicates the ip address of SNMP community."
			::= { apSnmpCommunityEntry 5 }

		apSnmpCommunityNetmask OBJECT-TYPE
                        SYNTAX IpAddress
			MAX-ACCESS read-write
			STATUS current
			DESCRIPTION
				"This attribute indicates the network mask of SNMP community."
			::= { apSnmpCommunityEntry 6 }
		
		apSnmpCommunityAccess OBJECT-TYPE
                        SYNTAX INTEGER{
				readonly(0), 
				readwrite(1)
			}
			MAX-ACCESS read-write
			STATUS current
			DESCRIPTION
				"This attribute indicates the network mask of SNMP community."
			::= { apSnmpCommunityEntry 7 }

-- **********************************************************************
-- *  SNMP User Table
-- **********************************************************************	
	apSnmpUserTable OBJECT-TYPE
		SYNTAX SEQUENCE OF ApSnmpUserEntry
		MAX-ACCESS not-accessible
		STATUS current
		DESCRIPTION
			"SNMP user table."
		::= { apSnmp 4 }

		apSnmpUserEntry OBJECT-TYPE
			SYNTAX ApSnmpUserEntry
			MAX-ACCESS not-accessible
			STATUS current
			DESCRIPTION
				"An entry in the apSnmpUserTable."
			INDEX { apSnmpUserIndex }
			::= { apSnmpUserTable 1 }

		ApSnmpUserEntry ::=
			SEQUENCE {			
				apSnmpUserIndex
					INTEGER,
				apSnmpUserRowControl
					INTEGER,
				apSnmpUserStatus
					INTEGER,
				apSnmpUserName
					OCTET STRING,						
				apSnmpUserAuthProtocol
					INTEGER,					
				apSnmpUserAuthPassword
					OCTET STRING,
				apSnmpUserPrivProtocol
					INTEGER,		
				apSnmpUserPrivPassword
					OCTET STRING,
				apSnmpUserAccess		
					INTEGER,
			}	

		apSnmpUserIndex OBJECT-TYPE
			SYNTAX INTEGER
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"This attribute indicates the SNMP user index"
			::= { apSnmpUserEntry 1 }

		apSnmpUserRowControl OBJECT-TYPE
                        SYNTAX RowStatus
                  	MAX-ACCESS read-create
                        STATUS current
                        DESCRIPTION
                                "The SNMP user status.
                                Supported values:
				active(1)      - valid entry
				notReady(3)    - non-valid entry
                                createAndGo(4) - used to create a new entry
                                destroy(6)     - removes the entry"
			::= { apSnmpUserEntry 2 }	

		apSnmpUserStatus OBJECT-TYPE
			SYNTAX INTEGER{disable(0), enable(1)}
			MAX-ACCESS read-write
			STATUS current
			DESCRIPTION
				"This attribute indicates the enable status of SNMP user."
			::= { apSnmpUserEntry 3 }

		apSnmpUserName OBJECT-TYPE
                        SYNTAX	OCTET STRING(SIZE(1..16))			
			MAX-ACCESS read-write
			STATUS current
			DESCRIPTION
				"This attribute indicates the name of SNMP user."
			::= { apSnmpUserEntry 4 }

		apSnmpUserAuthProtocol OBJECT-TYPE
                        SYNTAX	INTEGER{md5(0), sha(1)}
			MAX-ACCESS read-write
			STATUS current
			DESCRIPTION
				"This attribute indicates the Authentication Protocol of SNMP user."
			::= { apSnmpUserEntry 5 }

		apSnmpUserAuthPassword OBJECT-TYPE
                        SYNTAX	OCTET STRING(SIZE(0..32))
			MAX-ACCESS read-write
			STATUS current
			DESCRIPTION
				"This attribute indicates the Authentication Password of SNMP user."
			::= { apSnmpUserEntry 6 }

		apSnmpUserPrivProtocol OBJECT-TYPE
                        SYNTAX	INTEGER{none(0), des(1)}
			MAX-ACCESS read-write
			STATUS current
			DESCRIPTION
				"This attribute indicates the Privacy Protocol of SNMP user."
			::= { apSnmpUserEntry 7 }

		apSnmpUserPrivPassword OBJECT-TYPE
                        SYNTAX	OCTET STRING(SIZE(0..32))
			MAX-ACCESS read-write
			STATUS current
			DESCRIPTION
				"This attribute indicates the Privacy Password of SNMP user."
			::= { apSnmpUserEntry 8 }

		apSnmpUserAccess OBJECT-TYPE
                        SYNTAX INTEGER{readonly(0), readwrite(1)}
			MAX-ACCESS read-write
			STATUS current
			DESCRIPTION
				"This attribute indicates the Access Mode of SNMP user."
			::= { apSnmpUserEntry 9 }

-- **********************************************************************
-- *  AP Remote Assistance
-- **********************************************************************	
	apRemoteAssistance OBJECT IDENTIFIER ::= { ap-management-mib 3 }				

	apRemoteAssistanceBasic	OBJECT IDENTIFIER ::= { apRemoteAssistance 1 }		

		apRemoteAssistanceCurrentStatus OBJECT-TYPE
                        SYNTAX INTEGER{
				disable(0), 
				connecting(1), 
				connected(2)
			}	
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"This attribute indicates the current status of the Remote Assistance."
			::= { apRemoteAssistanceBasic 1 }

		apRemoteAssistanceStatus  OBJECT-TYPE
                       SYNTAX INTEGER{
				disable(0), 
				enable(1)
			}
			MAX-ACCESS read-write
			STATUS current
			DESCRIPTION
				"This attribute indicates the enable status of the Remote Assistance."
			::= { apRemoteAssistanceBasic 2 }

-- **********************************************************************
-- *  AP Control
-- **********************************************************************	
	apControl OBJECT IDENTIFIER ::= { ap-management-mib 4 }
	
	apCommands OBJECT IDENTIFIER ::= { apControl 1 }		

		apSaveAndActivate OBJECT-TYPE
                       SYNTAX INTEGER{
				disable(0), 
				enable(1)
			}
			MAX-ACCESS read-write
			STATUS current
			DESCRIPTION
				"Setting this object causes the device to activate configuration."
			::= { apCommands 1 }

		apReboot OBJECT-TYPE
                       SYNTAX INTEGER{
				disable(0), 
				rebootFlash1(1), 
				rebootFlash2(2), 
				rebootCurrentFlash(3)
			}
			MAX-ACCESS read-write
			STATUS current
			DESCRIPTION
				"Setting this object causes the device to reboot."
			::= { apCommands 2 }

		apRestoreDefault OBJECT-TYPE
                       SYNTAX INTEGER{
				disable(0), 
				restoreDefault(1), 
				restorePreserveNetwork(2)
			}
			MAX-ACCESS read-write
			STATUS current
			DESCRIPTION
				"Setting this object causes the device to restore default configuration."
			::= { apCommands 3 }
END

