ITS-COMMANDER-MIB DEFINITIONS ::= BEGIN IMPORTS MODULE-IDENTITY, enterprises, IpAddress, Integer32, Gauge32 FROM SNMPv2-SMI DisplayString FROM SNMPv2-TC sysName, sysLocation FROM SNMPv2-MIB hrSystemDate FROM HOST-RESOURCES-MIB OBJECT-TYPE FROM RFC-1212 NOTIFICATION-TYPE FROM SNMPv2-SMI SnmpSecurityModel, SnmpMessageProcessingModel, SnmpSecurityLevel, SnmpAdminString FROM SNMP-FRAMEWORK-MIB KeyChange FROM SNMP-USER-BASED-SM-MIB TEXTUAL-CONVENTION FROM SNMPv2-TC MODULE-COMPLIANCE, OBJECT-GROUP, NOTIFICATION-GROUP FROM SNMPv2-CONF; itsCommander MODULE-IDENTITY LAST-UPDATED "201601150000Z" ORGANIZATION "Southern Manufacturing" CONTACT-INFO "www.southernmfg.com" DESCRIPTION "The MIB for ITS Commander." REVISION "201601150000Z" DESCRIPTION "The MIB module for SMIv2." ::= { southernMfg 1 } InputVoltage ::= TEXTUAL-CONVENTION DISPLAY-HINT "d-1" STATUS current DESCRIPTION "Input voltage value in tenths of a volt." SYNTAX Integer32 (0..600) southernMfg OBJECT IDENTIFIER ::= { enterprises 43825 } trapNotifications OBJECT IDENTIFIER ::= { itsCommander 0 } setup OBJECT IDENTIFIER ::= { itsCommander 2 } snmpUsm OBJECT IDENTIFIER ::= { itsCommander 4 } itscmdrTrap OBJECT IDENTIFIER ::= { itsCommander 5 } snmpv3PvtObject OBJECT IDENTIFIER ::= { itsCommander 6 } mibConformance OBJECT IDENTIFIER ::= { itsCommander 8 } outlets OBJECT IDENTIFIER ::= { itsCommander 9 } relays OBJECT IDENTIFIER ::= { itsCommander 10 } inputs OBJECT IDENTIFIER ::= { itsCommander 11 } temperature OBJECT IDENTIFIER ::= { itsCommander 13 } humidity OBJECT IDENTIFIER ::= { itsCommander 14 } voltages OBJECT IDENTIFIER ::= { itsCommander 15 } power OBJECT IDENTIFIER ::= { itsCommander 16 } mibCompliances OBJECT IDENTIFIER ::= { mibConformance 1 } mibGroups OBJECT IDENTIFIER ::= { mibConformance 2 } ---------------------------------------------------------------------------- -- Outlets ---------------------------------------------------------------------------- outletTable OBJECT-TYPE SYNTAX SEQUENCE OF OutletEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "Outlet table" ::= { outlets 1 } outletEntry OBJECT-TYPE SYNTAX OutletEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "Single outlet entry containing outlet info." INDEX { outletNumber } ::= { outletTable 1 } OutletEntry ::= SEQUENCE { outletNumber Integer32, outletEnabled Integer32, outletName DisplayString } outletNumber OBJECT-TYPE SYNTAX Integer32(0..7) MAX-ACCESS not-accessible STATUS current DESCRIPTION "Index of outlet" ::= { outletEntry 1 } outletEnabled OBJECT-TYPE SYNTAX INTEGER { no(0), yes(1) } MAX-ACCESS read-only STATUS current DESCRIPTION "Indicates if this outlet entry is enabled or not." ::= { outletEntry 2 } outletName OBJECT-TYPE SYNTAX DisplayString (SIZE (0..31)) MAX-ACCESS read-only STATUS current DESCRIPTION "Outlet name " ::= { outletEntry 3 } ---------------------------------------------------------------------------- -- Relays ---------------------------------------------------------------------------- relayTable OBJECT-TYPE SYNTAX SEQUENCE OF RelayEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "Relay table" ::= { relays 1 } relayEntry OBJECT-TYPE SYNTAX RelayEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "Single relay entry containing relay info." INDEX { relayNumber } ::= { relayTable 1 } RelayEntry ::= SEQUENCE { relayNumber Integer32, relayEnabled Integer32, relayName DisplayString } relayNumber OBJECT-TYPE SYNTAX Integer32(0..5) MAX-ACCESS not-accessible STATUS current DESCRIPTION "Index of relay" ::= { relayEntry 1 } relayEnabled OBJECT-TYPE SYNTAX INTEGER { no(0), yes(1) } MAX-ACCESS read-only STATUS current DESCRIPTION "Indicates if this relay entry is enabled or not." ::= { relayEntry 2 } relayName OBJECT-TYPE SYNTAX DisplayString (SIZE (0..31)) MAX-ACCESS read-only STATUS current DESCRIPTION "Relay name " ::= { relayEntry 3 } ---------------------------------------------------------------------------- -- Inputs ---------------------------------------------------------------------------- inputTable OBJECT-TYPE SYNTAX SEQUENCE OF InputEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "Input table" ::= { inputs 1 } inputEntry OBJECT-TYPE SYNTAX InputEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "Single input entry containing input info." INDEX { inputNumber } ::= { inputTable 1 } InputEntry ::= SEQUENCE { inputNumber Integer32, inputEnabled Integer32, inputName DisplayString } inputNumber OBJECT-TYPE SYNTAX Integer32(0..11) MAX-ACCESS not-accessible STATUS current DESCRIPTION "Index of input" ::= { inputEntry 1 } inputEnabled OBJECT-TYPE SYNTAX INTEGER { no(0), yes(1) } MAX-ACCESS read-only STATUS current DESCRIPTION "Indicates if this input entry is enabled or not." ::= { inputEntry 2 } inputName OBJECT-TYPE SYNTAX DisplayString (SIZE (0..31)) MAX-ACCESS read-only STATUS current DESCRIPTION "Input name " ::= { inputEntry 3 } ---------------------------------------------------------------------------- ITSUsmAuthPrivProtocol ::= TEXTUAL-CONVENTION STATUS current DESCRIPTION "This textual convention enumerates the authentication and privledge protocol for USM configuration. " SYNTAX INTEGER { noAuthProtocol(1), hmacMD5Auth(2), hmacSHAAuth(3), noPrivProtocol(4), desPrivProtocol(5), aesPrivProtocol(6) } ---------------------------------------------------------------------------- -- temperature ---------------------------------------------------------------------------- -- temperature.temperatureValue temperatureValue OBJECT-TYPE SYNTAX Integer32(-80..250) MAX-ACCESS read-only STATUS current DESCRIPTION "This value is the current temperature sensed at the external temperature input in units of Celsius or Fahrenheit depending on configuration." ::= { temperature 1 } -- temperature.temperatureStatus temperatureStatus OBJECT-TYPE SYNTAX INTEGER { normal(0), overTemperature(1), underTemperature(2) } MAX-ACCESS read-only STATUS current DESCRIPTION "..." ::= { temperature 2 } -- temperature.temperatureHighThreshold temperatureHighThreshold OBJECT-TYPE SYNTAX Integer32(-80..250) MAX-ACCESS read-only STATUS current DESCRIPTION "..." ::= { temperature 3 } -- temperature.temperatureLowThreshold temperatureLowThreshold OBJECT-TYPE SYNTAX Integer32(-80..250) MAX-ACCESS read-only STATUS current DESCRIPTION "..." ::= { temperature 4 } -- temperature.temperatureUnits temperatureUnits OBJECT-TYPE SYNTAX INTEGER { celsius(0), fahrenheit(1) } MAX-ACCESS read-only STATUS current DESCRIPTION "..." ::= { temperature 5 } ---------------------------------------------------------------------------- -- humidity ---------------------------------------------------------------------------- -- humidity.humidityValue humidityValue OBJECT-TYPE SYNTAX Gauge32(0..100) UNITS "% RH" MAX-ACCESS read-only STATUS current DESCRIPTION "..." ::= { humidity 1 } -- humidity.humidityStatus humidityStatus OBJECT-TYPE SYNTAX INTEGER { normal(0), overHumidity(1), underHumidity(2) } MAX-ACCESS read-only STATUS current DESCRIPTION "..." ::= { humidity 2 } -- humidity.humidityHighThreshold humidityHighThreshold OBJECT-TYPE SYNTAX Gauge32(0..100) UNITS "% RH" MAX-ACCESS read-only STATUS current DESCRIPTION "..." ::= { humidity 3 } -- humidity.humidityLowThreshold humidityLowThreshold OBJECT-TYPE SYNTAX Gauge32(0..100) UNITS "% RH" MAX-ACCESS read-only STATUS current DESCRIPTION "..." ::= { humidity 4 } ---------------------------------------------------------------------------- -- voltages ---------------------------------------------------------------------------- voltageTable OBJECT-TYPE SYNTAX SEQUENCE OF VoltageEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "Voltage table" ::= { voltages 1 } voltageEntry OBJECT-TYPE SYNTAX VoltageEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "Single voltage entry containing voltage info." INDEX { voltageNumber } ::= { voltageTable 1 } VoltageEntry ::= SEQUENCE { voltageNumber Integer32, voltageValue InputVoltage, voltageStatus Integer32, voltageHighThreshold InputVoltage, voltageLowThreshold InputVoltage, voltageName DisplayString } -- voltageEntry.voltageNumber voltageNumber OBJECT-TYPE SYNTAX Integer32(0..1) MAX-ACCESS not-accessible STATUS current DESCRIPTION "Index of voltage" ::= { voltageEntry 1 } -- voltageEntry.voltageValue voltageValue OBJECT-TYPE SYNTAX InputVoltage UNITS "volts DC" MAX-ACCESS read-only STATUS current DESCRIPTION "Indicates the voltage at an isolated analog input. The voltage is represented in tenths of a volt." ::= { voltageEntry 2 } -- voltageEntry.voltageStatus voltageStatus OBJECT-TYPE SYNTAX INTEGER { normal(0), overVoltage(1), underVoltage(2) } MAX-ACCESS read-only STATUS current DESCRIPTION "..." ::= { voltageEntry 3 } -- voltageEntry.voltageHighThreshold voltageHighThreshold OBJECT-TYPE SYNTAX InputVoltage UNITS "volts DC" MAX-ACCESS read-only STATUS current DESCRIPTION "Indicates the voltage above which an isolated analog input is considered to be in an alarm state. The voltage is represented in tenths of a volt." ::= { voltageEntry 4 } -- voltageEntry.voltageLowThreshold voltageLowThreshold OBJECT-TYPE SYNTAX InputVoltage UNITS "volts DC" MAX-ACCESS read-only STATUS current DESCRIPTION "Indicates the voltage below which an isolated analog input is considered to be in an alarm state. The voltage is represented in tenths of a volt." ::= { voltageEntry 5 } -- voltageEntry.voltageName voltageName OBJECT-TYPE SYNTAX DisplayString (SIZE (0..31)) MAX-ACCESS read-only STATUS current DESCRIPTION "Name of the analog voltage input" ::= { voltageEntry 6 } ---------------------------------------------------------------------------- -- power ---------------------------------------------------------------------------- -- power.powerStatus powerStatus OBJECT-TYPE SYNTAX INTEGER { powerGood(0), powerFail(1) } MAX-ACCESS read-only STATUS current DESCRIPTION "This represents the status of the AC line power input." ::= { power 1 } ---------------------------------------------------------------------------- -- trapTable ---------------------------------------------------------------------------- trapTable OBJECT-TYPE SYNTAX SEQUENCE OF TrapEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "Trap table" ::= { setup 1 } trapEntry OBJECT-TYPE SYNTAX TrapEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "Single trap entry containing trap receiver info." INDEX { trapReceiverNumber } ::= { trapTable 1 } TrapEntry ::= SEQUENCE { trapReceiverNumber Integer32, trapEnabled Integer32, trapReceiverIPAddress IpAddress, trapCommunity DisplayString } trapReceiverNumber OBJECT-TYPE SYNTAX Integer32(0.. 4) MAX-ACCESS not-accessible STATUS current DESCRIPTION "Index of trap receiver" ::= { trapEntry 1 } trapEnabled OBJECT-TYPE SYNTAX INTEGER { no(0),yes(1) } MAX-ACCESS read-write STATUS current DESCRIPTION "Indicates if this trap entry is enabled or not." ::= { trapEntry 2 } trapReceiverIPAddress OBJECT-TYPE SYNTAX IpAddress MAX-ACCESS read-write STATUS current DESCRIPTION "Trap receiver IP address" ::= { trapEntry 3 } trapCommunity OBJECT-TYPE SYNTAX DisplayString (SIZE (0..32)) MAX-ACCESS read-write STATUS current DESCRIPTION "Trap community to be used by agent to send trap" ::= { trapEntry 4 } ---------------------------------------------------------------------------- -- SNMP-USER-BASED-SM-MIB -- User configured USM table where USM_INDEX_ID is used as index ---------------------------------------------------------------------------- itsUsmUserTable OBJECT-TYPE SYNTAX SEQUENCE OF ItsUsmUserEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "This table is used to configure the USM. To get the SNMPv3 access, user need to configure security name,authentication,auth password,priv protocol and priv password. " ::= { snmpUsm 1 } itsUsmUserEntry OBJECT-TYPE SYNTAX ItsUsmUserEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "User security configurations for USM. " INDEX { usmIndex } ::= { itsUsmUserTable 1 } ItsUsmUserEntry ::= SEQUENCE { usmIndex Integer32, usmSecurityName SnmpAdminString, usmAuthProtocol ITSUsmAuthPrivProtocol, usmAuthKey KeyChange, usmPrivProtocol ITSUsmAuthPrivProtocol, usmPrivKey KeyChange } usmIndex OBJECT-TYPE SYNTAX Integer32 (1..3) MAX-ACCESS not-accessible STATUS current DESCRIPTION "Usm configuration index. " ::= { itsUsmUserEntry 1 } usmSecurityName OBJECT-TYPE SYNTAX SnmpAdminString MAX-ACCESS read-write STATUS current DESCRIPTION "A human readable string representing the user in Security Model independent format. The default transformation of the User-based Security Model dependent security ID to the securityName and vice versa is the identity function so that the securityName is the same as the userName. " ::= { itsUsmUserEntry 2 } usmAuthProtocol OBJECT-TYPE SYNTAX ITSUsmAuthPrivProtocol MAX-ACCESS read-write STATUS current DESCRIPTION "Authentication support to the SNMPv3. If usmAuthProtocol == NoAuthProtocol, then SNMPv3 Stack does not support/requires authentication. If usmAuthProtocol == HMACMD5Auth , supports MD5 auth If usmAuthProtocol == HMACSHAAuth, supports SHA Auth If a set operation tries to set value as NoAuthProtocol while the usmPrivProtocol value for the same userName is not equal to NoPrivProtocol, then an 'inconsistentValue' error must be returned. This implies that SNMP command generator (SNMP Manager) application must first ensure that the usmPrivProtocol is set to NoPrivProtocol value before it can set the usmAuthProtocol value to NoAuthProtocol. " ::= { itsUsmUserEntry 3 } usmAuthKey OBJECT-TYPE SYNTAX KeyChange -- typically (SIZE (0 | 32)) for HMACMD5 -- typically (SIZE (0 | 40)) for HMACSHA MAX-ACCESS read-write STATUS current DESCRIPTION "This object in the MIB is associated to usmAuthProtocol. A secret authentication key is required to establish a secure connection between snmp agent and manager. " ::= { itsUsmUserEntry 4 } usmPrivProtocol OBJECT-TYPE SYNTAX ITSUsmAuthPrivProtocol MAX-ACCESS read-write STATUS current DESCRIPTION " A privacy protocol to provide encryption and decryption of SNMPv3 pdu. " ::= { itsUsmUserEntry 5 } usmPrivKey OBJECT-TYPE SYNTAX KeyChange -- typically (SIZE (0 | 32)) for DES MAX-ACCESS read-write STATUS current DESCRIPTION "This object in the MIB is associated to usmPrivProtocol. A secret privacy key is required to establish a secure connection between snmp agent and manager. " ::= { itsUsmUserEntry 6 } ---------------------------------------------------------------------------- -- SNMP-TARGET-MIB -- User configured USM table where SNMP_TARGET_INDEX_ID is used as index ---------------------------------------------------------------------------- itsTargetTable OBJECT-TYPE SYNTAX SEQUENCE OF ItsTargetEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "A table for SNMP target information. This information is required for generation of SNMP trap notifications." ::= { itscmdrTrap 1 } itsTargetEntry OBJECT-TYPE SYNTAX ItsTargetEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "A set of SNMP target information. " INDEX { snmpTargetIndex } ::= { itsTargetTable 1 } ItsTargetEntry ::= SEQUENCE { snmpTargetIndex Integer32, snmpTargetMPModel SnmpMessageProcessingModel, snmpTargetSecurityModel SnmpSecurityModel, snmpTargetSecurityName SnmpAdminString, snmpTargetSecurityLevel SnmpSecurityLevel } snmpTargetIndex OBJECT-TYPE SYNTAX Integer32(1..8) MAX-ACCESS not-accessible STATUS current DESCRIPTION "The locally arbitrary, but unique identifier associated with itsTargetEntry." ::= { itsTargetEntry 1 } snmpTargetMPModel OBJECT-TYPE SYNTAX SnmpMessageProcessingModel MAX-ACCESS read-write STATUS current DESCRIPTION "The Message Processing Model to be used when generating/processing SNMP messages using this entry." ::= { itsTargetEntry 2 } snmpTargetSecurityModel OBJECT-TYPE SYNTAX SnmpSecurityModel (1..2147483647) MAX-ACCESS read-write STATUS current DESCRIPTION "The Security Model to be used while generating SNMP messages using this entry. An implementation may choose to return an inconsistentValue error if an attempt is made to set this variable to a value for a security model which the implementation does not support." ::= { itsTargetEntry 3 } snmpTargetSecurityName OBJECT-TYPE SYNTAX SnmpAdminString MAX-ACCESS read-write STATUS current DESCRIPTION "The securityName which identifies the Principal on whose behalf SNMP messages will be generated. " ::= { itsTargetEntry 4 } snmpTargetSecurityLevel OBJECT-TYPE SYNTAX SnmpSecurityLevel MAX-ACCESS read-write STATUS current DESCRIPTION "The Level of Security to be used when generating SNMP messages using this entry." ::= { itsTargetEntry 5 } ---------------------------------------------------------------------------- -- outletChangeTrap ---------------------------------------------------------------------------- outletChangeTrap NOTIFICATION-TYPE OBJECTS { sysName, sysLocation, hrSystemDate, outletEnabled, outletName } STATUS current DESCRIPTION "..." ::= { trapNotifications 1 } ---------------------------------------------------------------------------- -- relayChangeTrap ---------------------------------------------------------------------------- relayChangeTrap NOTIFICATION-TYPE OBJECTS { sysName, sysLocation, hrSystemDate, relayEnabled, relayName } STATUS current DESCRIPTION "..." ::= { trapNotifications 2 } ---------------------------------------------------------------------------- -- inputChangeTrap ---------------------------------------------------------------------------- inputChangeTrap NOTIFICATION-TYPE OBJECTS { sysName, sysLocation, hrSystemDate, inputEnabled, inputName } STATUS current DESCRIPTION "..." ::= { trapNotifications 3 } ---------------------------------------------------------------------------- -- temperatureLimitTrap ---------------------------------------------------------------------------- temperatureLimitTrap NOTIFICATION-TYPE OBJECTS { sysName, sysLocation, hrSystemDate, temperatureValue, temperatureStatus, temperatureHighThreshold, temperatureLowThreshold } STATUS current DESCRIPTION "..." ::= { trapNotifications 5 } ---------------------------------------------------------------------------- -- humidityLimitTrap ---------------------------------------------------------------------------- humidityLimitTrap NOTIFICATION-TYPE OBJECTS { sysName, sysLocation, hrSystemDate, humidityValue, humidityStatus, humidityHighThreshold, humidityLowThreshold } STATUS current DESCRIPTION "..." ::= { trapNotifications 6 } ---------------------------------------------------------------------------- -- voltageLimitTrap ---------------------------------------------------------------------------- voltageLimitTrap NOTIFICATION-TYPE OBJECTS { sysName, sysLocation, hrSystemDate, voltageValue, voltageStatus, voltageHighThreshold, voltageLowThreshold, voltageName } STATUS current DESCRIPTION "..." ::= { trapNotifications 7 } ---------------------------------------------------------------------------- -- powerStatusChangeTrap ---------------------------------------------------------------------------- powerStatusChangeTrap NOTIFICATION-TYPE OBJECTS { sysName, sysLocation, hrSystemDate, powerStatus } STATUS current DESCRIPTION "..." ::= { trapNotifications 8 } ---------------------------------------------------------------------------- compliance1 MODULE-COMPLIANCE STATUS current DESCRIPTION "This group is for SNMP demo applications." MODULE -- this module MANDATORY-GROUPS { group1, group2 } ::= { mibCompliances 1 } compliance2 MODULE-COMPLIANCE STATUS current DESCRIPTION "This group is for trap demo applications." MODULE -- this module MANDATORY-GROUPS { group3 } ::= { mibCompliances 2 } group1 OBJECT-GROUP OBJECTS { trapEnabled, trapReceiverIPAddress, trapCommunity, outletEnabled, outletName, relayEnabled, relayName, inputEnabled, inputName, temperatureValue, temperatureStatus, temperatureHighThreshold, temperatureLowThreshold, temperatureUnits, humidityValue, humidityStatus, humidityHighThreshold, humidityLowThreshold, voltageValue, voltageStatus, voltageHighThreshold, voltageLowThreshold, voltageName, powerStatus } STATUS current DESCRIPTION "A collection of objects providing basic product and control of a product." ::= { mibGroups 1 } group2 OBJECT-GROUP OBJECTS { usmSecurityName, usmAuthProtocol, usmAuthKey, usmPrivProtocol, usmPrivKey, snmpTargetMPModel, snmpTargetSecurityModel, snmpTargetSecurityName, snmpTargetSecurityLevel } STATUS current DESCRIPTION "A collection of objects are used for SNMPV3 Configuration." ::= { mibGroups 2 } group3 NOTIFICATION-GROUP NOTIFICATIONS { outletChangeTrap, relayChangeTrap, inputChangeTrap, temperatureLimitTrap, humidityLimitTrap, voltageLimitTrap, powerStatusChangeTrap } STATUS current DESCRIPTION "SNMP Trap Notification object." ::= { mibGroups 3 } END