--
-- Eltex OMS mib
--
-- Copyright (c) 2007, Eltex Co
-- All rights reserved.
--
-- The contents of this document are subject to change without notice.
--


ELTEX-OMS DEFINITIONS ::= BEGIN

IMPORTS
    MODULE-IDENTITY, OBJECT-TYPE, NOTIFICATION-TYPE,
    Integer32, Gauge32, Counter32, TimeTicks, Unsigned32
        FROM SNMPv2-SMI
    TruthValue, DisplayString, TimeStamp, TimeInterval, TEXTUAL-CONVENTION
        FROM SNMPv2-TC
    OBJECT-GROUP
    	FROM SNMPv2-CONF
    eltexLtd
        FROM ELTEX-SMI-ACTUAL;

 eltexOMS MODULE-IDENTITY
    LAST-UPDATED "200911030000Z"
    ORGANIZATION "Eltex Co"
    CONTACT-INFO "  eltex@gcom.ru "
    DESCRIPTION  "Mib for eltex devices, that support OMS"
    REVISION "200911030000Z"
	DESCRIPTION
		"Initial revision."
    ::= { eltexLtd 4 }
    
OMSCmdGroup ::= TEXTUAL-CONVENTION
  STATUS current
  DESCRIPTION ""
  SYNTAX INTEGER  {
  	  all(0),
      pattern(1),
      private(2),
      binary(3)
      }
    
    omsOUI OBJECT-TYPE
	SYNTAX		DisplayString (SIZE (0..6))
	MAX-ACCESS	read-only
	STATUS		current
	DESCRIPTION
		"This should be equal to 3 first octets of Mac-address in hex form without colons."
	::= { eltexOMS 1 }

    omsProductClass OBJECT-TYPE
	SYNTAX		DisplayString (SIZE (0..64))
	MAX-ACCESS	read-only
	STATUS		current
	DESCRIPTION
		"string representation of devType"
	::= { eltexOMS 2 }

    omsSerialNumber OBJECT-TYPE
	SYNTAX		DisplayString (SIZE (0..64))
	MAX-ACCESS	read-only
	STATUS		current
	DESCRIPTION
		"unique device serial number"
	::= { eltexOMS 3 }

    omsActiveAlarms OBJECT-TYPE
	SYNTAX		Unsigned32
	MAX-ACCESS	read-write
	STATUS		current
	DESCRIPTION
		"On GET-REQUEST device should return quantity of active alarms.
		 On SET-REQUEST device should initiate trap/inform sending sequence for all theese alarms"
	::= { eltexOMS 4 }
	
	omsFwRev OBJECT-TYPE
	SYNTAX		DisplayString (SIZE (0..255))
	MAX-ACCESS	read-only
	STATUS		current
	DESCRIPTION
		"Device's firmware revision"
	::= { eltexOMS 5}
	
	omsCommands OBJECT IDENTIFIER ::= { eltexOMS 10 }

		cmdFileOperationPatternCfg OBJECT-TYPE
		SYNTAX		DisplayString (SIZE (0..255))
		MAX-ACCESS	read-write
		STATUS		current
		DESCRIPTION
			"object for operations with pattern file, method GET returned host+filename, method SET for starting [apply, download, save, upload, reboot, confirm, test] pattern file. Example for SET <192.168.1.1 files/images/ver2/pattern1 download>. Commands enumeration: apply, download, save, upload, reboot, confirm, test"
		::= { omsCommands 1 }

		cmdFileOperationPrivateCfg OBJECT-TYPE
		SYNTAX		DisplayString (SIZE (0..255))
		MAX-ACCESS	read-write
		STATUS		current
		DESCRIPTION
			"object for operations with private device settings, method GET returned host+filename, method SET for starting [apply, download, save, upload, reboot, confirm, test] pattern file. Example for SET <192.168.1.1 files/images/ver2/berezovo upload>. Commands enumeration: apply, download, save, upload, reboot, confirm, test"
		::= { omsCommands 2 }

		cmdFileOperationBinaryCfg OBJECT-TYPE
		SYNTAX		DisplayString (SIZE (0..255))
		MAX-ACCESS	read-write
		STATUS		current
		DESCRIPTION
			"object for operations with binary image, method GET returned host+filename, method SET for starting [apply, download, save, upload, reboot, confirm, test] pattern file. Example for SET <192.168.1.1 files/images/ver2/uImage download>. Commands enumeration: apply, download, save, upload, reboot, confirm, test"
		::= { omsCommands 3 }
		
		cmdOMSCapabilitiesTable OBJECT-TYPE
		SYNTAX                SEQUENCE OF CmdOMSCapabilitiesEntry
		MAX-ACCESS        not-accessible
		STATUS                current
		DESCRIPTION
				"This table is used by agent to make manager know what range of oms commands agent supports.
				 In theory, manager should check against this table prior to sending any oms command."
		::= { omsCommands 4 }

			cmdOMSCapabilitiesEntry OBJECT-TYPE
				SYNTAX                CmdOMSCapabilitiesEntry
				MAX-ACCESS        not-accessible
				STATUS                current
				DESCRIPTION
						""
				INDEX         { cmdOMSCapabilitiesEntryID }
				::= { cmdOMSCapabilitiesTable 1 }

			CmdOMSCapabilitiesEntry ::= SEQUENCE {
					cmdOMSCapabilitiesEntryID			Integer32,					
					cmdOMSCapabilitiesCmdGroup			OMSCmdGroup,
					cmdOMSCapabilitiesCmdName       	DisplayString,
					cmdOMSCapabilitiesParseParameters	TruthValue,
					cmdOMSCapabilitiesRebootOnSuccess	TruthValue,
					cmdOMSCapabilitiesDescription		DisplayString
			}
			
						cmdOMSCapabilitiesEntryID  OBJECT-TYPE
							SYNTAX     Integer32 (0..512)
							MAX-ACCESS read-only
							STATUS     current
							DESCRIPTION "Index"
							::= { cmdOMSCapabilitiesEntry 1 }
			
						cmdOMSCapabilitiesCmdGroup  OBJECT-TYPE
							SYNTAX  OMSCmdGroup
							MAX-ACCESS read-only
							STATUS  current
							DESCRIPTION ""
							::= { cmdOMSCapabilitiesEntry 2 }
							
						cmdOMSCapabilitiesCmdName  OBJECT-TYPE
							SYNTAX  DisplayString (SIZE (0..64))
							MAX-ACCESS read-only
							STATUS  current
							DESCRIPTION ""
							::= { cmdOMSCapabilitiesEntry 3 }
							
						cmdOMSCapabilitiesParseParameters  OBJECT-TYPE
							SYNTAX  TruthValue
							MAX-ACCESS read-only
							STATUS  current
							DESCRIPTION "Indicates if command parameters really matter, or just used to preserve common syntax."
							::= { cmdOMSCapabilitiesEntry 4 }
							
						cmdOMSCapabilitiesRebootOnSuccess  OBJECT-TYPE
							SYNTAX  TruthValue
							MAX-ACCESS read-only
							STATUS  current
							DESCRIPTION "Indicates if device will be automatically rebooted in case of success."
							::= { cmdOMSCapabilitiesEntry 5 }
							
						cmdOMSCapabilitiesDescription  OBJECT-TYPE
							SYNTAX  DisplayString  (SIZE (0..255))
							MAX-ACCESS read-only
							STATUS  current
							DESCRIPTION "Optional description. This object is intended for human consumption only."
							::= { cmdOMSCapabilitiesEntry 6 }						

	omsLinuxVersion OBJECT-TYPE
		SYNTAX		DisplayString (SIZE (0..255))
		MAX-ACCESS	read-only
		STATUS		current
		DESCRIPTION	"Device's Linux version"
	::= { eltexOMS 11 }

	omsFirmwareVersion OBJECT-TYPE
		SYNTAX		DisplayString (SIZE (0..255))
		MAX-ACCESS	read-only
		STATUS		current
		DESCRIPTION	"Device's firmware version"
	::= { eltexOMS 12 }

	omsBPUVersion OBJECT-TYPE
		SYNTAX		DisplayString (SIZE (0..255))
		MAX-ACCESS	read-only
		STATUS		current
		DESCRIPTION	"Device's BPU version"
	::= { eltexOMS 13 }

	omsFactoryType OBJECT-TYPE
		SYNTAX		DisplayString (SIZE (0..255))
		MAX-ACCESS	read-only
		STATUS		current
		DESCRIPTION	"Device's factory type"
	::= { eltexOMS 14 }

	omsFactoryMAC OBJECT-TYPE
		SYNTAX		DisplayString (SIZE (0..255))
		MAX-ACCESS	read-only
		STATUS		current
		DESCRIPTION	"Device's factory MAC"
	::= { eltexOMS 15 }

	omsGroup  OBJECT-GROUP
	OBJECTS
		{
		 omsOUI,
		 omsProductClass,
		 omsSerialNumber,
		 omsActiveAlarms,
		 omsFwRev,
		 cmdFileOperationPatternCfg,
		 cmdFileOperationPrivateCfg,
		 cmdFileOperationBinaryCfg,
		 cmdOMSCapabilitiesEntryID,
		 cmdOMSCapabilitiesCmdGroup,
		 cmdOMSCapabilitiesCmdName,
		 cmdOMSCapabilitiesParseParameters,
		 cmdOMSCapabilitiesRebootOnSuccess,
		 cmdOMSCapabilitiesDescription,
		 omsLinuxVersion,
		 omsFirmwareVersion,
		 omsBPUVersion,
		 omsFactoryType,
		 omsFactoryMAC
		}
			STATUS  current
	        DESCRIPTION
		           "none"
	            ::= { eltexOMS 200 }
END
