 --
 -- Copyright(C) 2010 Western Telematic, Inc.
 --
        WTI-AFS-MIB DEFINITIONS ::= BEGIN

        IMPORTS
        MODULE-IDENTITY, NOTIFICATION-TYPE,
        OBJECT-TYPE, enterprises FROM SNMPv2-SMI
        DisplayString FROM SNMPv2-TC;
        westernTelematic OBJECT IDENTIFIER ::= { enterprises 2634 }

        afs MODULE-IDENTITY
                LAST-UPDATED "201004021600Z" -- 2 April 2010
                ORGANIZATION "Western Telematic, Inc."
                CONTACT-INFO
                "Western Telematic, Inc.
		5 Sterling
		Irvine, Ca 92618
		Email: anthonyb@wti.com"
                DESCRIPTION
                        "This is the MIB module for the AFS"

                REVISION "201004021600Z" -- 2 April 2010
                DESCRIPTION
                        "V3.00 for the AFS "

        ::= { westernTelematic 4 }

        --
        -- System Tables
        --

        systemTables OBJECT IDENTIFIER ::= { afs 100 }
        --
        -- Circuit Table
        --

        circuitTable OBJECT-TYPE
                SYNTAX SEQUENCE OF CircuitEntry
                MAX-ACCESS not-accessible
                STATUS current
                DESCRIPTION
                        "A table of circuits."
        ::= { systemTables 200 }

        circuitEntry OBJECT-TYPE
                SYNTAX CircuitEntry
                MAX-ACCESS not-accessible
                STATUS current
                DESCRIPTION
                        "Row definition for the circuit table."
                INDEX { circuitIndex }
        ::= { circuitTable 1 }

        CircuitEntry ::= SEQUENCE {
                circuitIndex INTEGER,
                circuitID DisplayString,
                circuitStatus INTEGER,
                circuitAction INTEGER,
                circuitName DisplayString,
                circuitReason INTEGER
        }

        circuitIndex OBJECT-TYPE
                SYNTAX INTEGER (0..16)
                MAX-ACCESS not-accessible
                STATUS current
                DESCRIPTION
                        "Index for the circuit table."
        ::= { circuitEntry 1 }

        circuitID OBJECT-TYPE
                SYNTAX DisplayString(SIZE(9..11))
                MAX-ACCESS read-only
                STATUS current
                DESCRIPTION
                        "The ID of the circuit."
        ::= { circuitEntry 2 }

        circuitStatus OBJECT-TYPE
                SYNTAX INTEGER (0..1)
                MAX-ACCESS read-only
                STATUS current
                DESCRIPTION
                        "Circuit status"
        ::= { circuitEntry 3 }

        circuitAction OBJECT-TYPE
                SYNTAX INTEGER (0..8)
                MAX-ACCESS read-write
                STATUS current
                DESCRIPTION
                        "Circuit action"
        ::= { circuitEntry 4 }

        circuitName OBJECT-TYPE
                SYNTAX DisplayString
                MAX-ACCESS read-only
                STATUS current
                DESCRIPTION
                        "The Name of the circuit."
        ::= { circuitEntry 5 }

        circuitReason OBJECT-TYPE
                SYNTAX INTEGER
                MAX-ACCESS read-only
                STATUS current
                DESCRIPTION
                        "Switch reason"
        ::= { circuitEntry 6 }

        --
        -- Circuit Group Table
        --

        circuitGroupTable OBJECT-TYPE
                SYNTAX SEQUENCE OF CircuitGroupEntry
                MAX-ACCESS not-accessible
                STATUS current
                DESCRIPTION
                        "A table of circuit groups."
        ::= { systemTables 300 }

        circuitGroupEntry OBJECT-TYPE
                SYNTAX CircuitGroupEntry
                MAX-ACCESS not-accessible
                STATUS current
                DESCRIPTION
                        "Row definition for the circuit group table."
                INDEX { circuitGroupIndex }
        ::= { circuitGroupTable 1 }

        CircuitGroupEntry ::= SEQUENCE {
                circuitGroupIndex INTEGER,
                circuitGroupName DisplayString,
                circuitGroupAction INTEGER
        }

        circuitGroupIndex OBJECT-TYPE
                SYNTAX INTEGER (0..54)
                MAX-ACCESS not-accessible
                STATUS current
                DESCRIPTION
                        "Index for the circuit group table."
        ::= { circuitGroupEntry 1 }

        circuitGroupName OBJECT-TYPE
                SYNTAX DisplayString(SIZE(1..24))
                MAX-ACCESS read-only
                STATUS current
                DESCRIPTION
                        "The name of the circuit group."
        ::= { circuitGroupEntry 2 }

        circuitGroupAction OBJECT-TYPE
                SYNTAX INTEGER (0..8)
                MAX-ACCESS read-write
                STATUS current
                DESCRIPTION
                        "Circuit group action"
        ::= { circuitGroupEntry 3 }

        --
        -- User Table
        --

        userTable OBJECT-TYPE
                SYNTAX SEQUENCE OF UserEntry
                MAX-ACCESS not-accessible
                STATUS current
                DESCRIPTION
                        "A table of users."
        ::= { systemTables 400 }

        userEntry OBJECT-TYPE
                SYNTAX UserEntry
                MAX-ACCESS not-accessible
                STATUS current
                DESCRIPTION
                        "Row definition for the user table."
                INDEX { userIndex }
        ::= { userTable 1 }

        UserEntry ::= SEQUENCE {
                userIndex INTEGER,
                userName DisplayString,
                userPasswd DisplayString,
                userAccessLevel INTEGER,
                userCircuitAccess DisplayString,
                userGroupAccess DisplayString,
                userSerialAccess INTEGER,
                userTelnetSshAccess INTEGER,
                userWebAccess INTEGER,
                userOutboundTelAccess INTEGER,
                userCallbackNum DisplayString,
                userSubmit INTEGER
        }

        userIndex OBJECT-TYPE
                SYNTAX INTEGER (0..128)
                MAX-ACCESS not-accessible
                STATUS current
                DESCRIPTION
                        "Index for the user table."
        ::= { userEntry 1 }

        userName OBJECT-TYPE
                SYNTAX DisplayString(SIZE(0..32))
                MAX-ACCESS read-write
                STATUS current
                DESCRIPTION
                        "The name of the user."
        ::= { userEntry 2 }

        userPasswd OBJECT-TYPE
                SYNTAX DisplayString(SIZE(1..16))
                MAX-ACCESS read-write
                STATUS current
                DESCRIPTION
                        "The password of the user."
        ::= { userEntry 3 }

        userAccessLevel OBJECT-TYPE
                SYNTAX INTEGER (0..3)
                MAX-ACCESS read-write
                STATUS current
                DESCRIPTION
                        "Users access level"
        ::= { userEntry 4 }

        userCircuitAccess OBJECT-TYPE
                SYNTAX DisplayString(SIZE(1..16))
                MAX-ACCESS read-write
                STATUS current
                DESCRIPTION
                        "Access to circuits."
        ::= { userEntry 6 }

        userGroupAccess OBJECT-TYPE
                SYNTAX DisplayString(SIZE(1..54))
                MAX-ACCESS read-write
                STATUS current
                DESCRIPTION
                        "Access to circuit groups."
        ::= { userEntry 10 }

        userSerialAccess OBJECT-TYPE
                SYNTAX INTEGER (0..1)
                MAX-ACCESS read-write
                STATUS current
                DESCRIPTION
                        "Access to serial interface."
        ::= { userEntry 11 }

        userTelnetSshAccess OBJECT-TYPE
                SYNTAX INTEGER (0..1)
                MAX-ACCESS read-write
                STATUS current
                DESCRIPTION
                        "Access to Telnet/SSH interface."
        ::= { userEntry 12 }

        userWebAccess OBJECT-TYPE
                SYNTAX INTEGER (0..1)
                MAX-ACCESS read-write
                STATUS current
                DESCRIPTION
                        "Access to web interface."
        ::= { userEntry 13 }

        userOutboundTelAccess OBJECT-TYPE
                SYNTAX INTEGER (0..1)
                MAX-ACCESS read-write
                STATUS current
                DESCRIPTION
                        "Access to outbound telnet."
        ::= { userEntry 14 }

        userCallbackNum OBJECT-TYPE
                SYNTAX DisplayString(SIZE(0..32))
                MAX-ACCESS read-write
                STATUS current
                DESCRIPTION
                        "Callback number."
        ::= { userEntry 16 }

        userSubmit OBJECT-TYPE
                SYNTAX INTEGER (0..1)
                MAX-ACCESS read-write
                STATUS current
                DESCRIPTION
                        "Submit changes to user."
        ::= { userEntry 31 }

        --
        -- Environment Tables
        --

        environmentTables OBJECT IDENTIFIER ::= { afs 200 }

        environmentUnitTable OBJECT-TYPE
                SYNTAX SEQUENCE OF EnvironmentUnitEntry
                MAX-ACCESS not-accessible
                STATUS current
                DESCRIPTION
                        "A table of environment status for units."
        ::= { environmentTables 10 }

        environmentUnitEntry OBJECT-TYPE
                SYNTAX EnvironmentUnitEntry
                MAX-ACCESS not-accessible
                STATUS current
                DESCRIPTION
                        "Row definition for the environment unit table."
                INDEX { environmentUnitIndex }
        ::= { environmentUnitTable 1 }

        EnvironmentUnitEntry ::= SEQUENCE {
                environmentUnitIndex INTEGER,
                environmentUnitName DisplayString,
                environmentUnitTemperature INTEGER,
                environmentUnitMonitorAlarm INTEGER,
                environmentSysRAM INTEGER,
                environmentSysFlash INTEGER
        }

        environmentUnitIndex OBJECT-TYPE
                SYNTAX INTEGER (0..3)
                MAX-ACCESS not-accessible
                STATUS current
                DESCRIPTION
                        "Index for the environment unit table."
        ::= { environmentUnitEntry 1 }

        environmentUnitName OBJECT-TYPE
                SYNTAX DisplayString(SIZE(0..10))
                MAX-ACCESS read-only
                STATUS current
                DESCRIPTION
                        "The name of the unit."
        ::= { environmentUnitEntry 2 }

        environmentUnitTemperature OBJECT-TYPE
                SYNTAX INTEGER
                MAX-ACCESS read-only
                STATUS current
                DESCRIPTION
                        "The temperature of the unit."
        ::= { environmentUnitEntry 3 }

        environmentUnitMonitorAlarm OBJECT-TYPE
                SYNTAX INTEGER
                MAX-ACCESS read-only
                STATUS current
                DESCRIPTION
                        "Monitor alarm status, 0 = LOW, 1 = HIGH"
        ::= { environmentUnitEntry 17 }

        environmentSysRAM OBJECT-TYPE
                SYNTAX INTEGER
                MAX-ACCESS read-only
                STATUS current
                DESCRIPTION
                        "Total system RAM."
        ::= { environmentUnitEntry 18 }

        environmentSysFlash OBJECT-TYPE
                SYNTAX INTEGER
                MAX-ACCESS read-only
                STATUS current
                DESCRIPTION
                        "Total system Flash."
        ::= { environmentUnitEntry 19 }

        --
        -- Traps
        --

        wtiTraps OBJECT IDENTIFIER ::= { afs 300 }

        -- Trap Info

        trapInfo OBJECT-TYPE
                SYNTAX DisplayString
                MAX-ACCESS read-only
                STATUS current
                DESCRIPTION
                        "Alarm information"
        ::= { wtiTraps 1 }

        -- Test Traps

        testTraps OBJECT IDENTIFIER ::= { wtiTraps 2}

        testTrap TRAP-TYPE
                ENTERPRISE testTraps
                VARIABLES {
                trapInfo
                }
                DESCRIPTION
                        "A test trap"
        ::= 1

        -- Alarm Traps

        overTemperatureInitialTraps OBJECT IDENTIFIER ::= { wtiTraps 6}

        overTemperatureInitialSetTrap TRAP-TYPE
                ENTERPRISE overTemperatureInitialTraps
                VARIABLES {
                trapInfo
                }
                DESCRIPTION
                        "Over Temperature Initial Alarm"
        ::= 1

        overTemperatureInitialClearTrap TRAP-TYPE
                ENTERPRISE overTemperatureInitialTraps
                VARIABLES {
                trapInfo
                }
                DESCRIPTION
                        "Over Temperature Initial Alarm (Clear)"
        ::= 2

        overTemperatureCriticalTraps OBJECT IDENTIFIER ::= { wtiTraps 7}

        overTemperatureCriticalSetTrap TRAP-TYPE
                ENTERPRISE overTemperatureCriticalTraps
                VARIABLES {
                trapInfo
                }
                DESCRIPTION
                        "Over Temperature Critical Alarm"
        ::= 1

        overTemperatureCriticalClearTrap TRAP-TYPE
                ENTERPRISE overTemperatureCriticalTraps
                VARIABLES {
                trapInfo
                }
                DESCRIPTION
                        "Over Temperature Critical Alarm (Clear)"
        ::= 2

        pingNoAnswerTraps OBJECT IDENTIFIER ::= { wtiTraps 11}

        pingNoAnswerSetTrap TRAP-TYPE
                ENTERPRISE pingNoAnswerTraps
                VARIABLES {
                trapInfo
                }
                DESCRIPTION
                        "Ping No Answer"
        ::= 1

        pingNoAnswerClearTrap TRAP-TYPE
                ENTERPRISE pingNoAnswerTraps
                VARIABLES {
                trapInfo
                }
                DESCRIPTION
                        "Ping No Answer (Clear)"
        ::= 2

        lockoutTraps OBJECT IDENTIFIER ::= { wtiTraps 12}

        lockoutSetTrap TRAP-TYPE
                ENTERPRISE lockoutTraps
                VARIABLES {
                trapInfo
                }
                DESCRIPTION
                        "Invalid Access Lockout"
        ::= 1

        lockoutClearTrap TRAP-TYPE
                ENTERPRISE lockoutTraps
                VARIABLES {
                trapInfo
                }
                DESCRIPTION
                        "Invalid Access Lockout (Clear)"
        ::= 2

        powercycleTraps OBJECT IDENTIFIER ::= { wtiTraps 13}

        powercycleSetTrap TRAP-TYPE
                ENTERPRISE powercycleTraps
                VARIABLES {
                trapInfo
                }
                DESCRIPTION
                        "Power Cycle"
        ::= 1

        monitorAlarmTraps OBJECT IDENTIFIER ::= { wtiTraps 14}

        monitorAlarmSetTrap TRAP-TYPE
                ENTERPRISE monitorAlarmTraps
                VARIABLES {
                trapInfo
                }
                DESCRIPTION
                        "Monitor Alarm"
        ::= 1

        monitorAlarmClearTrap TRAP-TYPE
                ENTERPRISE monitorAlarmTraps
                VARIABLES {
                trapInfo
                }
                DESCRIPTION
                        "Monitor Alarm (Clear)"
        ::= 2
 END
