AXIS-VIDEO-MIB DEFINITIONS ::= BEGIN IMPORTS axis, products FROM AXIS-ROOT-MIB MODULE-COMPLIANCE, NOTIFICATION-GROUP, OBJECT-GROUP FROM SNMPv2-CONF -- RFC 2580 Integer32, MODULE-IDENTITY, NOTIFICATION-TYPE, OBJECT-TYPE, Unsigned32 FROM SNMPv2-SMI -- RFC 2578 SnmpAdminString FROM SNMP-FRAMEWORK-MIB; -- RFC 3411 video MODULE-IDENTITY LAST-UPDATED "201609231218Z" ORGANIZATION "Axis Communications AB" CONTACT-INFO "Postal: Axis Communications AB Emdalavagen 14 SE-223 69 Lund Sweden Phone: +46 (0)46 272 18 00 Fax: +46 (0)46 13 61 30 E-Mail: info@axis.com Web: www.axis.com" DESCRIPTION "Axis Video MIB. Includes HW resources, such as power supplies, and traps for notifying management stations when something fails." REVISION "201609231218Z" DESCRIPTION "Updates in the compliance statement. Video products do not support all objects in general." REVISION "201212121202Z" DESCRIPTION "Initial version." ::= { axis 4 } -- Object identifiers: all video products return the videoBased OID --- Note: video cannot be used, since it is used above. videoBased OBJECT IDENTIFIER ::= { products 1 } videoObjects OBJECT IDENTIFIER ::= { video 1 } -- Power supplies powerSupplyTable OBJECT-TYPE SYNTAX SEQUENCE OF PowerSupplyEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "Table containing information about all the power supplies present in the device." ::= { videoObjects 1 } powerSupplyEntry OBJECT-TYPE SYNTAX PowerSupplyEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "A power supply entry containing information about a specific power supply." INDEX { powerSupplyType, powerSupplyId } ::= { powerSupplyTable 1 } PowerSupplyEntry ::= SEQUENCE { powerSupplyType INTEGER, powerSupplyId Unsigned32, powerSupplyStatus INTEGER } powerSupplyType OBJECT-TYPE SYNTAX INTEGER { common(1), internal(2), external(3) } MAX-ACCESS not-accessible STATUS current DESCRIPTION "Indicates whether the power supply is mounted externally, e.g. in a rack, or internally." ::= { powerSupplyEntry 1 } powerSupplyId OBJECT-TYPE SYNTAX Unsigned32 (1..128) MAX-ACCESS not-accessible STATUS current DESCRIPTION "Used to identify a power supply. The powerSupplyId is unique within the type, i.e. there can not be two external power supplies with the same powerSupplyId. There can, however, be one external and one internal that have the same powerSupplyId." ::= { powerSupplyEntry 2 } powerSupplyStatus OBJECT-TYPE SYNTAX INTEGER { ok(1), failure(2) } MAX-ACCESS read-only STATUS current DESCRIPTION "The status of a power supply." ::= { powerSupplyEntry 3 } --- Fans fanTable OBJECT-TYPE SYNTAX SEQUENCE OF FanEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "Table containing information about all the fans in the product." ::= { videoObjects 2 } fanEntry OBJECT-TYPE SYNTAX FanEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "A fan entry contains information about a specific fan." INDEX { fanType, fanId } ::= { fanTable 1 } FanEntry ::= SEQUENCE { fanType INTEGER, fanId Unsigned32, fanStatus INTEGER } fanType OBJECT-TYPE SYNTAX INTEGER { common(1), housing(2), rack(3), cpu(4) } MAX-ACCESS not-accessible STATUS current DESCRIPTION "The type of the fan, i.e. where the fan is mounted." ::= { fanEntry 1 } fanId OBJECT-TYPE SYNTAX Unsigned32 (1..128) MAX-ACCESS not-accessible STATUS current DESCRIPTION "Used, together with fanType, to identify a fan. The fanId is unique within the type, i.e. there can not be two fans with the same fanType and the same fanId." ::= { fanEntry 2 } fanStatus OBJECT-TYPE SYNTAX INTEGER { ok(1), failure(2) } MAX-ACCESS read-only STATUS current DESCRIPTION "The status of a fan." ::= { fanEntry 3 } --- Temperature Sensors tempSensorTable OBJECT-TYPE SYNTAX SEQUENCE OF TempSensorEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "Table containing information about all the temperature sensors in the product." ::= { videoObjects 3 } tempSensorEntry OBJECT-TYPE SYNTAX TempSensorEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "A temperature sensor entry contains information about a specific temperature sensor." INDEX { tempSensorType, tempSensorId } ::= { tempSensorTable 1 } TempSensorEntry ::= SEQUENCE { tempSensorType INTEGER, tempSensorId Unsigned32, tempSensorStatus INTEGER, tempSensorValue Integer32 } tempSensorType OBJECT-TYPE SYNTAX INTEGER { common(1), housing(2), rack(3), cpu(4) } MAX-ACCESS not-accessible STATUS current DESCRIPTION "The type of the temperature sensor, i.e. where it is mounted." ::= { tempSensorEntry 1 } tempSensorId OBJECT-TYPE SYNTAX Unsigned32 (1..128) MAX-ACCESS not-accessible STATUS current DESCRIPTION "Used, together with tempSensorType, to identify a temperature sensor. The tempSensorId is unique within the type, i.e. there can not be two sensors with the same tempSensorType and the same tempSensorId." ::= { tempSensorEntry 2 } tempSensorStatus OBJECT-TYPE SYNTAX INTEGER { ok(1), failure(2), outOfBoundary(3) } MAX-ACCESS read-only STATUS current DESCRIPTION "The status of the temperature sensor." ::= { tempSensorEntry 3 } tempSensorValue OBJECT-TYPE SYNTAX Integer32 (-176..150) MAX-ACCESS read-only STATUS current DESCRIPTION "The temperature measured by a specific temperature sensor. The temperature is given in degrees Celsius." ::= { tempSensorEntry 4 } --- Physical video channels videoChannelTable OBJECT-TYPE SYNTAX SEQUENCE OF VideoChannelEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "A list of video channel information, one entry for each physical video channel." ::= { videoObjects 4 } videoChannelEntry OBJECT-TYPE SYNTAX VideoChannelEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "A video channel entry contains information about a specific physical video channel." INDEX { videoChannelId } ::= { videoChannelTable 1 } VideoChannelEntry ::= SEQUENCE { videoChannelId Unsigned32, videoSignalStatus INTEGER } videoChannelId OBJECT-TYPE SYNTAX Unsigned32 (1..8192) MAX-ACCESS not-accessible STATUS current DESCRIPTION "Used to identify a physical video channel." ::= { videoChannelEntry 1 } videoSignalStatus OBJECT-TYPE SYNTAX INTEGER { signalOk(1), noSignal(2) } MAX-ACCESS read-only STATUS current DESCRIPTION "The status of the video signal for a channel." ::= { videoChannelEntry 2 } --- Physical audio channels audioChannelTable OBJECT-TYPE SYNTAX SEQUENCE OF AudioChannelEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "A list of audio signal information, one entry for each physical audio channel." ::= { videoObjects 5 } audioChannelEntry OBJECT-TYPE SYNTAX AudioChannelEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "An audio signal entry contains information about a specific physical audio signal." INDEX { audioChannelId } ::= { audioChannelTable 1 } AudioChannelEntry ::= SEQUENCE { audioChannelId Unsigned32, audioSignalStatus INTEGER } audioChannelId OBJECT-TYPE SYNTAX Unsigned32 (1..8192) MAX-ACCESS not-accessible STATUS current DESCRIPTION "Used to identify a physical audio channel." ::= { audioChannelEntry 1 } audioSignalStatus OBJECT-TYPE SYNTAX INTEGER { signalOk(1), noSignal(2) } MAX-ACCESS read-only STATUS current DESCRIPTION "The status of the audio signal for a channel." ::= { audioChannelEntry 2 } --- Open Casing Detector casingTable OBJECT-TYPE SYNTAX SEQUENCE OF CasingEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "A list of casing status, one entry for each casing." ::= { videoObjects 6 } casingEntry OBJECT-TYPE SYNTAX CasingEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "A casing entry contains information about a specific casing." INDEX { casingId } ::= { casingTable 1 } CasingEntry ::= SEQUENCE { casingId Unsigned32, casingName SnmpAdminString, casingStatus INTEGER } casingId OBJECT-TYPE SYNTAX Unsigned32 (1..32) MAX-ACCESS not-accessible STATUS current DESCRIPTION "Used to identify a casing." ::= { casingEntry 1 } casingName OBJECT-TYPE SYNTAX SnmpAdminString (SIZE(0..32)) MAX-ACCESS read-only STATUS current DESCRIPTION "Used to identify a casing. If the original string is longer than the specified length then the middle of the string will be replaced by '..' in such a way that the length of the string becomes 32 characters anyway." ::= { casingEntry 2 } casingStatus OBJECT-TYPE SYNTAX INTEGER { closed(1), open(2) } MAX-ACCESS read-only STATUS current DESCRIPTION "The status of the casing." ::= { casingEntry 3 } --- { videoObjects 7 }, reserved for PTZ --- Storage storageTable OBJECT-TYPE SYNTAX SEQUENCE OF StorageEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "A list of storage media properties, one entry for each storage media." ::= { videoObjects 8 } storageEntry OBJECT-TYPE SYNTAX StorageEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "A storage media contains information about a specific medium." INDEX { storageId } ::= { storageTable 1 } StorageEntry ::= SEQUENCE { storageId Unsigned32, storageName SnmpAdminString, storageDisruptionDetected INTEGER } storageId OBJECT-TYPE SYNTAX Unsigned32 (1..128) MAX-ACCESS not-accessible STATUS current DESCRIPTION "Used to identify a storage." ::= { storageEntry 1 } storageName OBJECT-TYPE SYNTAX SnmpAdminString (SIZE(0..32)) MAX-ACCESS read-only STATUS current DESCRIPTION "Used to identify a storage medium. If the original string is longer than the specified length then the middle of the string will be replaced by '..' in such a way that the length of the string becomes 32 characters anyway." ::= { storageEntry 2 } storageDisruptionDetected OBJECT-TYPE SYNTAX INTEGER { no(1), yes(2) } MAX-ACCESS read-only STATUS current DESCRIPTION "The status of the storage medium." ::= { storageEntry 3 } --- { videoObjects 9 }, reserved for tampering -- Objects used in Private Enterprise Traps videoNotifications OBJECT IDENTIFIER ::= { video 2 } videoNotificationPrefix OBJECT IDENTIFIER ::= { videoNotifications 0 } alarmID OBJECT-TYPE SYNTAX Unsigned32 MAX-ACCESS accessible-for-notify STATUS current DESCRIPTION "This object indentifies a certain alarm event in a unique way. This means that there cannot be any alarm event that has the same ID during a finite period of time." ::= { videoNotifications 1 } alarmName OBJECT-TYPE SYNTAX SnmpAdminString MAX-ACCESS accessible-for-notify STATUS current DESCRIPTION "A string that identifies which kind of alarm this is. During a certain time it is possible that alarms with the same name occur." ::= { videoNotifications 2 } alarmText OBJECT-TYPE SYNTAX SnmpAdminString MAX-ACCESS accessible-for-notify STATUS current DESCRIPTION "Detailed description of the alarm." ::= { videoNotifications 3 } videoConformance OBJECT IDENTIFIER ::= { video 3 } videoGroups OBJECT IDENTIFIER ::= { videoConformance 1 } videoCompliances OBJECT IDENTIFIER ::= { videoConformance 2 } alarmNew NOTIFICATION-TYPE OBJECTS { alarmID, alarmName, alarmText } STATUS current DESCRIPTION "This notification is sent when a new Alarm is generated that has a corresponding cleared state." ::= { videoNotificationPrefix 1 } alarmCleared NOTIFICATION-TYPE OBJECTS { alarmID, alarmName, alarmText } STATUS current DESCRIPTION "This notification is generated when an alarm is cleared that was previous sent as a new Alarm." ::= { videoNotificationPrefix 2 } alarmSingle NOTIFICATION-TYPE OBJECTS { alarmID, alarmName, alarmText } STATUS current DESCRIPTION "This notification is sent when a new Alarm is generated that has no corresponding cleared state." ::= { videoNotificationPrefix 3 } -- Groups videoObjectGroup OBJECT-GROUP OBJECTS { powerSupplyStatus, fanStatus, tempSensorStatus, tempSensorValue, videoSignalStatus, audioSignalStatus, casingName, casingStatus, storageDisruptionDetected, storageName, alarmID, alarmName, alarmText } STATUS obsolete DESCRIPTION "A collection of video objects." ::= { videoGroups 1 } videoNotificationGroup NOTIFICATION-GROUP NOTIFICATIONS { alarmNew, alarmCleared, alarmSingle } STATUS current DESCRIPTION "A collection of video notifications." ::= { videoGroups 2 } tempSensorGroup OBJECT-GROUP OBJECTS { tempSensorStatus, tempSensorValue } STATUS current DESCRIPTION "Objects related to Axis temperature sensors." ::= { videoGroups 3 } casingGroup OBJECT-GROUP OBJECTS { casingName, casingStatus } STATUS current DESCRIPTION "Objects related to Axis casing." ::= { videoGroups 4 } storageGroup OBJECT-GROUP OBJECTS { storageDisruptionDetected, storageName } STATUS current DESCRIPTION "Objects related to Axis storage." ::= { videoGroups 5 } -- Compliance Statements videoComplianceRev2 MODULE-COMPLIANCE STATUS current DESCRIPTION "The compliance statement for Axis video entities." MODULE -- this module MANDATORY-GROUPS { videoNotificationGroup } GROUP powerSupplyStatus DESCRIPTION "This group is mandatory for all AXIS video products that have redundant power supply for backup, for which it is possible to check whether it is still working." GROUP fanStatus DESCRIPTION "This group is mandatory for all AXIS video products that have fans, for which the state can be obtained." GROUP tempSensorGroup DESCRIPTION "This group is mandatory for all AXIS video products that have temperature sensors, for which a state can be obtained." GROUP videoSignalStatus DESCRIPTION "This group is mandatory for all AXIS video products that have video cameras connected for which it is possible to check the connection state. Typically this is an encoder product." GROUP audioSignalStatus DESCRIPTION "This group is mandatory for all AXIS video products to which a a microphone can be connected, for which the state can be detected." GROUP casingGroup DESCRIPTION "This group is mandatory for all AXIS video products that have a casing box, for which it is possible to check the status." GROUP storageGroup DESCRIPTION "This group is mandatory for all AXIS video products that have a storage device connected and for which it is possible to check the state." ::= { videoCompliances 2 } videoCompliance MODULE-COMPLIANCE STATUS obsolete DESCRIPTION "The compliance statement in a previous version of this MIB for Axis video entities." MODULE -- this module MANDATORY-GROUPS { videoObjectGroup } GROUP videoNotificationGroup DESCRIPTION "This group doesn't need to be supported." ::= { videoCompliances 1 } END -- end of module AXIS-VIDEO-MIB.