--
-- TELESTE-COMMON-MIB.mib
-- MIB generated by MG-SOFT Visual MIB Builder Version 4.0 Build 349
-- Friday, May 02, 2008 at 09:31:32
--

-- *****************************************************************************
-- Copyright (c) 2000-2008 by:
-- 
-- Teleste Corporation
-- Seponkatu 1
-- FIN-20660 Littoinen, Finland
-- tel. +358 2 2605 611
-- url: http://www.teleste.com
-- 
-- Description: Common objects for all Teleste products
-- 
-- Revision History:
-- -----------------
-- 1.47 26.3.2008 Matti Susi
-- - added product key control objects
-- - added geographical coordinate objects
-- 
-- 1.46 22.2.2008 Matti Susi
-- - added new enumeration values to statusSw and statusSettings
-- 
-- 1.45 28.5.2007 Matti Susi
-- - added object statusSettings
-- 
-- 1.44 30.11.2006 Matti Susi
-- - added moduleSWUpdate Table
-- - added totalUptime and resetCount objects
-- 
-- 1.43 13.6.2006 Matti Susi
-- - added statusHw and statusSw objects
-- 
-- 1.42 12.4.2006 Matti Susi
-- - added statusTemperature and statusFan objects
-- 
-- 1.41 1.4.2003 Matti Susi
-- - added object controlInternalAppAccess for BXX function
--   control
-- 
-- 1.40 13.9.2002 Matti Susi
-- - moduleId SYNTAX changed to INTEGER
-- 
-- 1.32 7.8.2002 Matti Susi
-- - Some editorial changes
-- - Note: SNMPc network manager requires an index object
--   with size definitions in every SEQUENCE definition.
--   This must be done manually after creating the MIB with
--   MIB builder!
-- 
-- 1.31 13.5.2002 Matti Susi
-- - trap delay object inserted
-- 
-- 1.3  9.1.2002 Matti Susi
-- - module temperature limits inserted to moduleControlTable
-- - trap and alarm control objects inserted
-- - several objects changed to optional
-- 
-- 1.21 18.12.2001 Matti Susi
-- - editorial changes
-- 
-- 1.2  05.11.2001  Rainer Salminen
-- - added repairIndex and changed indexing of repairLogTable.
-- 
-- 1.1  2.11.2001  Pasi Pri
-- - trapEnryId added to elementTrapReceiverTable as index 
--   in order to enable multiple null IP addresses (0.0.0.0). 
--   Thus no table row manipulation is needed.
-- - Specified LMT status info more accurately .
-- 
-- 1.0  11.10.2001 Rainer Salminen
-- - Initial release (revised version of TELESTE-GENDATA-MIB)
-- 
-- ****************************************************************************
-- 

	TELESTE-COMMON-MIB DEFINITIONS ::= BEGIN
 
		IMPORTS
			OBJECT-TYPE			
				FROM RFC-1212			
			IpAddress, Counter			
				FROM RFC1155-SMI			
			DisplayString			
				FROM RFC1213-MIB			
			common, TPhysAddress, Uint16, DateAndTime			
				FROM TELESTE-ROOT-MIB;
	
	
	
--
-- Node definitions
--
	
-- Common element definition
-- 
-- An element is a common name for the managed device or system.
-- It is a concept that corresponds to a network node or a network
-- element in general. 
-- 
-- An element can be a single device system or it can be a modular
-- system in which case it consists of several modules. The module
-- in the system that instruments this MIB is called the main module 
-- or the main controller.
-- 
-- The word element has this general meaning everywhere in this 
-- document.
-- 
		-- 1.3.6.1.4.1.3715.99.1
		element OBJECT IDENTIFIER ::= { common 1 }

		
-- This section contains element's common identification, classification
-- and configuration information.
-- 
		-- 1.3.6.1.4.1.3715.99.1.1
		elementInformation OBJECT IDENTIFIER ::= { element 1 }

		
		-- 1.3.6.1.4.1.3715.99.1.1.1
		elementName OBJECT-TYPE
			SYNTAX DisplayString
			ACCESS read-write
			STATUS mandatory
			DESCRIPTION
				"This is the logical name of the controlling module of
				the network element. The name may or may not be the same
				as the module's name in the moduleTable."
			::= { elementInformation 1 }

		
		-- 1.3.6.1.4.1.3715.99.1.1.2
		elementStructure OBJECT-TYPE
			SYNTAX INTEGER
				{
				unknown(1),
				compact(2),
				modular(3)
				}
			ACCESS read-only
			STATUS mandatory
			DESCRIPTION
				"This object tells whether the device is a single compact
				device or a modular device."
			::= { elementInformation 2 }

		
		-- 1.3.6.1.4.1.3715.99.1.1.3
		elementConfigChangeCode OBJECT-TYPE
			SYNTAX INTEGER
			ACCESS read-only
			STATUS optional
			DESCRIPTION
				"This object is an indicator about changes in the network
				element configuration. How the value is formed is device
				dependent. It can be a counter, a checksum of the device
				configuration parameters, a DateAndTime type variable or
				even SysUptime, if no other information is available. 
				DateAndTime is the recommended value.
				
				This object is intended to permit a management application
				to maintain configuration (including moduleTable) 
				syncronization with the agent."
			::= { elementInformation 3 }

		
		-- 1.3.6.1.4.1.3715.99.1.1.4
		elementResetCount OBJECT-TYPE
			SYNTAX INTEGER
			ACCESS read-only
			STATUS optional
			DESCRIPTION
				"Total number of software resets during the device's life time."
			::= { elementInformation 4 }

		
		-- 1.3.6.1.4.1.3715.99.1.1.5
		elementTotalUpTime OBJECT-TYPE
			SYNTAX INTEGER
			ACCESS read-only
			STATUS mandatory
			DESCRIPTION
				"The total uptime the device (software) has been running. Unit 1 day."
			::= { elementInformation 5 }

		
		-- 1.3.6.1.4.1.3715.99.1.1.6
		elementLatitude OBJECT-TYPE
			SYNTAX INTEGER
			ACCESS read-write
			STATUS optional
			DESCRIPTION
				"Device latitude coordinate. Unit 0.00001 degrees."
			::= { elementInformation 6 }

		
		-- 1.3.6.1.4.1.3715.99.1.1.7
		elementLongitude OBJECT-TYPE
			SYNTAX INTEGER
			ACCESS read-write
			STATUS optional
			DESCRIPTION
				"Device longitude coordinate. Unit 0.00001 degrees."
			::= { elementInformation 7 }

		
		-- 1.3.6.1.4.1.3715.99.1.1.8
		elementAltitude OBJECT-TYPE
			SYNTAX INTEGER
			ACCESS read-write
			STATUS optional
			DESCRIPTION
				"Device altitude coordinate. Unit 1 metre."
			::= { elementInformation 8 }

		
-- This section contains element's general status objects.
-- 
		-- 1.3.6.1.4.1.3715.99.1.2
		elementStatus OBJECT IDENTIFIER ::= { element 2 }

		
		-- 1.3.6.1.4.1.3715.99.1.2.1
		statusGeneral OBJECT-TYPE
			SYNTAX INTEGER
				{
				normal(1),
				notification(2),
				warning(3),
				alarm(4)
				}
			ACCESS read-only
			STATUS mandatory
			DESCRIPTION
				"A number stating the general status of the element.
				
				Values:
				1 = Normal
				2 = At least one Notification is active
				3 = At least one Warning is active
				4 = At least one Alarm is active
				
				If the element has more than one state active, then 
				the state with the highest value is returned."
			::= { elementStatus 1 }

		
		-- 1.3.6.1.4.1.3715.99.1.2.2
		statusBusMaster OBJECT-TYPE
			SYNTAX INTEGER
				{
				slaveOnly(1),
				configuredSlave(2),
				currentlySlave(3),
				currentlyMaster(4)
				}
			ACCESS read-only
			STATUS optional
			DESCRIPTION
				"A number stating the Bus Master status of the NE.
				
				Values:
				1 = The NE is a slave-only device
				2 = The NE is configured as slave
				3 = The NE is configured as master but is currently
				    slave because a stronger master is on the bus
				4 = The NE is currently the bus master"
			::= { elementStatus 2 }

		
		-- 1.3.6.1.4.1.3715.99.1.2.3
		statusLmt OBJECT-TYPE
			SYNTAX INTEGER
				{
				noLmtInterface(1),
				stateUnknown(2),
				notConnected(3),
				connected(4)
				}
			ACCESS read-only
			STATUS optional
			DESCRIPTION
				"A number telling if the Local Management Terminal (LMT)
				is connected to the element.
				
				Values:
				1 = The element does not have an LMT interface
				2 = The element can not detect if an LMT is connected
				3 = The element has not detected a connected LMT
				4 = The element has detected a connected LMT
				
				Note! Applies only to fysically point-to-point 
				connected LMT's to device, not via bus ot other 
				shared medias."
			::= { elementStatus 3 }

		
		-- 1.3.6.1.4.1.3715.99.1.2.4
		statusLid OBJECT-TYPE
			SYNTAX INTEGER
				{
				noLid(1),
				closed(2),
				open(3)
				}
			ACCESS read-only
			STATUS optional
			DESCRIPTION
				"Element lid status:
				1 = no lid (no lid sensor is available)
				2 = lid is closed
				3 = lid is open"
			::= { elementStatus 4 }

		
		-- 1.3.6.1.4.1.3715.99.1.2.5
		statusTemperature OBJECT-TYPE
			SYNTAX INTEGER
				{
				tempNormal(1),
				tempHIHI(2),
				tempHi(3),
				tempLo(4),
				tempLOLO(5)
				}
			ACCESS read-only
			STATUS optional
			DESCRIPTION
				"Element temperature status:
				1 = normal
				2 = HIHI
				3 = Hi
				4 = Lo
				5 = LOLO
				"
			::= { elementStatus 5 }

		
		-- 1.3.6.1.4.1.3715.99.1.2.6
		statusFan OBJECT-TYPE
			SYNTAX INTEGER
				{
				fanNormal(1),
				fanFailure(2)
				}
			ACCESS read-only
			STATUS mandatory
			DESCRIPTION
				"A common status object for all fans in the device.
				fanNormal(1) = all fans operate normally
				fanFailure(2) = at least one fan has a failure"
			::= { elementStatus 6 }

		
		-- 1.3.6.1.4.1.3715.99.1.2.7
		statusHardware OBJECT-TYPE
			SYNTAX INTEGER
				{
				hwNormal(1),
				hwFailure(2)
				}
			ACCESS read-only
			STATUS mandatory
			DESCRIPTION
				"Device hardware status:
				hwNormal(1) = the hardware operates normally
				hwFailure(2) = a hardware failure is detected"
			::= { elementStatus 7 }

		
		-- 1.3.6.1.4.1.3715.99.1.2.8
		statusSoftware OBJECT-TYPE
			SYNTAX INTEGER
				{
				swNormal(1),
				swFailure(2),
				swMissing(3),
				swInitialising(4)
				}
			ACCESS read-only
			STATUS mandatory
			DESCRIPTION
				"Device software status:
				swNormal(1) = the software operates normally
				swFailure(2) = a software failure is detected
				swMissing(3) = the software or firmware is missing
				sw(Initialising(4) = the software is initialising"
			::= { elementStatus 8 }

		
		-- 1.3.6.1.4.1.3715.99.1.2.9
		statusSettings OBJECT-TYPE
			SYNTAX INTEGER
				{
				settingsStable(1),
				settingsChanged(2),
				settingsNotAvailable(3)
				}
			ACCESS read-only
			STATUS mandatory
			DESCRIPTION
				"Status of device settings:
				settingsStable(1) = settings are stable
				settingsChanged(2) = settings have been (recently) changed
				settingsNotAvailable(3) = settings status is not available
				The value should stay in value 2 only a predefined time, e.g. 60 seconds or
				the time it takes until the settings are written into non-volatile memory.
				"
			::= { elementStatus 9 }

		
-- This section contains element's common control parameters.
-- 
		-- 1.3.6.1.4.1.3715.99.1.3
		elementControl OBJECT IDENTIFIER ::= { element 3 }

		
		-- 1.3.6.1.4.1.3715.99.1.3.1
		controlResetElement OBJECT-TYPE
			SYNTAX INTEGER
				{
				noReset(1),
				hardReset(2),
				softReset(3)
				}
			ACCESS read-write
			STATUS mandatory
			DESCRIPTION
				"On write requests this object commands the module to 
				reset itself.
				
				If softReset(3) or hardReset(2) can not be performed,
				then BAD VALUE error is returned.
				
				On read requests value noReset(1) is returned."
			::= { elementControl 1 }

		
		-- 1.3.6.1.4.1.3715.99.1.3.2
		controlBusMasterAdminState OBJECT-TYPE
			SYNTAX INTEGER
				{
				master(1),
				slave(2)
				}
			ACCESS read-write
			STATUS optional
			DESCRIPTION
				"This object tells whether the element is configured as
				a bus master or not. Only relevant for bus master type
				of elements. Others return no(2)."
			::= { elementControl 2 }

		
		-- 1.3.6.1.4.1.3715.99.1.3.3
		controlAlarmDetection OBJECT-TYPE
			SYNTAX INTEGER
				{
				disabled(1),
				enabled(2),
				restart(3)
				}
			ACCESS read-write
			STATUS mandatory
			DESCRIPTION
				"This variable is used to disable or enable the element
				alarm checking. When disabled(1), the element 
				will not check any alarms (or send traps). 
				Default value is enabled(2).
				
				Note: This variable must be consistent with 
				commonAlarmDetectionControl in SCTE-HMS-COMMON-MIB, if
				that is implemented."
			::= { elementControl 3 }

		
		-- 1.3.6.1.4.1.3715.99.1.3.4
		controlMaxNumberTrapReceivers OBJECT-TYPE
			SYNTAX INTEGER
			ACCESS read-only
			STATUS mandatory
			DESCRIPTION
				"Number of entries in the elementTrapReceiverTable. 
				At least one trap entry must be supported."
			::= { elementControl 4 }

		
		-- 1.3.6.1.4.1.3715.99.1.3.5
		controlTrapReceiverTable OBJECT-TYPE
			SYNTAX SEQUENCE OF ControlTrapReceiverEntry
			ACCESS not-accessible
			STATUS optional
			DESCRIPTION
				"A table of manager trap receiver addresses, ports and
				communities. Total number of entries can not exceed 
				elementNumberTrapReceivers. An entry is deleted from this
				table by setting its IP address to '0.0.0.0'.
				
				Note: one of the community strings must match to 
				commonTrapCommunityString in SCTE-HMS-COMMON-MIB, if 
				that is implemented."
			::= { elementControl 5 }

		
		-- 1.3.6.1.4.1.3715.99.1.3.5.1
		controlTrapReceiverEntry OBJECT-TYPE
			SYNTAX ControlTrapReceiverEntry
			ACCESS not-accessible
			STATUS optional
			INDEX { receiverEntryId }
			::= { controlTrapReceiverTable 1 }

		
		ControlTrapReceiverEntry ::=
			SEQUENCE { 
				receiverEntryId
					INTEGER,
				receiverAddress
					IpAddress,
				receiverPort
					INTEGER,
				receiverCommunity
					DisplayString
			 }

		-- 1.3.6.1.4.1.3715.99.1.3.5.1.1
		receiverEntryId OBJECT-TYPE
			SYNTAX INTEGER (1..255)
			ACCESS read-only
			STATUS mandatory
			DESCRIPTION
				"Unique table index. Makes possible to have several 
				ip-address of 0.0.0.0 entries so that no mechanism
				for row manipulation of table is needed."
			::= { controlTrapReceiverEntry 1 }

		
		-- 1.3.6.1.4.1.3715.99.1.3.5.1.2
		receiverAddress OBJECT-TYPE
			SYNTAX IpAddress
			ACCESS read-write
			STATUS mandatory
			DESCRIPTION
				"Ip address of the manager receiving Traps."
			::= { controlTrapReceiverEntry 2 }

		
		-- 1.3.6.1.4.1.3715.99.1.3.5.1.3
		receiverPort OBJECT-TYPE
			SYNTAX INTEGER (1..65535)
			ACCESS read-write
			STATUS mandatory
			DESCRIPTION
				"Trap UDP port number. Default port is the standard trap
				port 162."
			::= { controlTrapReceiverEntry 3 }

		
		-- 1.3.6.1.4.1.3715.99.1.3.5.1.4
		receiverCommunity OBJECT-TYPE
			SYNTAX DisplayString
			ACCESS read-write
			STATUS mandatory
			DESCRIPTION
				"Community string for the trap receiver.
				
				The agent is allowed to limit the length of the string. 
				Minimum length of eight characters must be supported.
				
				Note: one of the community strings must match to 
				commonTrapCommunityString in SCTE-HMS-COMMON-MIB, if
				that is implemented."
			::= { controlTrapReceiverEntry 4 }

		
		-- 1.3.6.1.4.1.3715.99.1.3.6
		controlTrapSending OBJECT-TYPE
			SYNTAX INTEGER
				{
				enabled(1),
				disabled(2)
				}
			ACCESS read-write
			STATUS optional
			DESCRIPTION
				"Enables/disables trap sending.
				
				1 = traps enabled
				2 = traps disabled"
			::= { elementControl 6 }

		
		-- 1.3.6.1.4.1.3715.99.1.3.7
		controlTrapInterval OBJECT-TYPE
			SYNTAX INTEGER
			ACCESS read-write
			STATUS optional
			DESCRIPTION
				"The minimum interval between traps.
				- Unit 10 milliseconds
				- Minimum value 0 (send as fast as possible)
				- Maximum value 1000 (10 seconds)
				- Default value is 100 (1 second)"
			::= { elementControl 7 }

		
		-- 1.3.6.1.4.1.3715.99.1.3.8
		controlTrapLifeTime OBJECT-TYPE
			SYNTAX INTEGER
			ACCESS read-write
			STATUS optional
			DESCRIPTION
				"The maximum time a trap stays in the trap queue waiting
				for sending.
				- Unit 1 second.
				- Minimum value 10
				- Maximum value 300
				- Default value 60"
			::= { elementControl 8 }

		
		-- 1.3.6.1.4.1.3715.99.1.3.9
		controlAlarmOnDelay OBJECT-TYPE
			SYNTAX INTEGER
			ACCESS read-write
			STATUS optional
			DESCRIPTION
				"The minimum time an object's alarm/warning condition must
				exist before it is recorded as an alarm/warning. Common
				to all alarms/warnings
				- Unit 10 ms
				- Minimum value 10 (100 ms)
				- Maximum value 6000 (60 seconds)
				- Default value 100 (1 second)"
			::= { elementControl 9 }

		
		-- 1.3.6.1.4.1.3715.99.1.3.10
		controlAlarmOffDelay OBJECT-TYPE
			SYNTAX INTEGER
			ACCESS read-write
			STATUS optional
			DESCRIPTION
				"The minimum time an alarm/warning entry stays active after
				the object has reached it's normal condition. Common to all
				alarms/warnings.
				- Unit 10 ms
				- Minimum value 10 (100 ms)
				- Maximum value 6000 (60 seconds)
				- default value 100 (1 second)"
			::= { elementControl 10 }

		
		-- 1.3.6.1.4.1.3715.99.1.3.11
		controlTrapDelay OBJECT-TYPE
			SYNTAX INTEGER
			ACCESS read-write
			STATUS optional
			DESCRIPTION
				"The time before a trap is sent after an alarm
				is detected.
				
				- Unit 10 ms
				- Minimum value 10 (100 ms)
				- Maximum value 6000 (60 seconds)
				- Default value 500 (5 seconds)
				
				This parameter can be used to control alarm storms e.g.
				in an amplifier cascade by using a different value in
				each amplifier."
			::= { elementControl 11 }

		
-- This section contains element's product key parameters
		-- 1.3.6.1.4.1.3715.99.1.4
		elementProductKey OBJECT IDENTIFIER ::= { element 4 }

		
		-- 1.3.6.1.4.1.3715.99.1.4.4
		productKeyNumberOfKeys OBJECT-TYPE
			SYNTAX INTEGER
			ACCESS read-only
			STATUS optional
			DESCRIPTION
				"Number of product keys supported by the device."
			::= { elementProductKey 4 }

		
		-- 1.3.6.1.4.1.3715.99.1.4.5
		productKeyTable OBJECT-TYPE
			SYNTAX SEQUENCE OF ProductKeyEntry
			ACCESS not-accessible
			STATUS mandatory
			::= { elementProductKey 5 }

		
		-- 1.3.6.1.4.1.3715.99.1.4.5.1
		productKeyEntry OBJECT-TYPE
			SYNTAX ProductKeyEntry
			ACCESS not-accessible
			STATUS mandatory
			INDEX { productKeyIndex }
			::= { productKeyTable 1 }

		
		ProductKeyEntry ::=
			SEQUENCE { 
				productKeyIndex
					INTEGER,
				productKeyValue
					OCTET STRING,
				productKeyMask
					OCTET STRING,
				productKeyStatus
					INTEGER,
				productKeyCipher
					INTEGER,
				productKeyNumberOfFeatures
					INTEGER
			 }

		-- 1.3.6.1.4.1.3715.99.1.4.5.1.1
		productKeyIndex OBJECT-TYPE
			SYNTAX INTEGER (1..16)
			ACCESS read-only
			STATUS mandatory
			DESCRIPTION
				"Product key index."
			::= { productKeyEntry 1 }

		
		-- 1.3.6.1.4.1.3715.99.1.4.5.1.2
		productKeyValue OBJECT-TYPE
			SYNTAX OCTET STRING
			ACCESS read-write
			STATUS mandatory
			DESCRIPTION
				"Product key value."
			::= { productKeyEntry 2 }

		
		-- 1.3.6.1.4.1.3715.99.1.4.5.1.3
		productKeyMask OBJECT-TYPE
			SYNTAX OCTET STRING
			ACCESS read-only
			STATUS mandatory
			DESCRIPTION
				"Product key mask."
			::= { productKeyEntry 3 }

		
		-- 1.3.6.1.4.1.3715.99.1.4.5.1.4
		productKeyStatus OBJECT-TYPE
			SYNTAX INTEGER
				{
				keyInvalid(1),
				keyValid(2)
				}
			ACCESS read-only
			STATUS mandatory
			DESCRIPTION
				"Product key status:
				1(keyInvalid) = the key is invalid or missing
				2(keyValid) = the key is valid"
			::= { productKeyEntry 4 }

		
		-- 1.3.6.1.4.1.3715.99.1.4.5.1.5
		productKeyCipher OBJECT-TYPE
			SYNTAX INTEGER
				{
				cipherOther(1),
				cipherBlowFish(2),
				cipherXXTEA(3)
				}
			ACCESS read-only
			STATUS mandatory
			DESCRIPTION
				"Cipher method supported by this key:
				1(cipherOther) = other ciphering is used
				2(cipherBlowFish) = BlowFish ciphering is used
				3(cipherXXTEA) = XXTEA ciphering is used"
			::= { productKeyEntry 5 }

		
		-- 1.3.6.1.4.1.3715.99.1.4.5.1.6
		productKeyNumberOfFeatures OBJECT-TYPE
			SYNTAX INTEGER
			ACCESS read-only
			STATUS mandatory
			DESCRIPTION
				"Number of features available with this key."
			::= { productKeyEntry 6 }

		
		-- 1.3.6.1.4.1.3715.99.1.4.6
		productKeyFeatureTable OBJECT-TYPE
			SYNTAX SEQUENCE OF ProductKeyFeatureEntry
			ACCESS not-accessible
			STATUS mandatory
			::= { elementProductKey 6 }

		
		-- 1.3.6.1.4.1.3715.99.1.4.6.1
		productKeyFeatureEntry OBJECT-TYPE
			SYNTAX ProductKeyFeatureEntry
			ACCESS not-accessible
			STATUS mandatory
			INDEX { productKeyIndex, productKeyFeatureIndex }
			::= { productKeyFeatureTable 1 }

		
		ProductKeyFeatureEntry ::=
			SEQUENCE { 
				productKeyFeatureIndex
					INTEGER,
				productKeyFeatureName
					OCTET STRING,
				productKeyFeatureEnable
					INTEGER,
				productKeyFeatureExpirationTime
					INTEGER
			 }

		-- 1.3.6.1.4.1.3715.99.1.4.6.1.1
		productKeyFeatureIndex OBJECT-TYPE
			SYNTAX INTEGER (1..32)
			ACCESS read-only
			STATUS mandatory
			DESCRIPTION
				"Feature index (second index)."
			::= { productKeyFeatureEntry 1 }

		
		-- 1.3.6.1.4.1.3715.99.1.4.6.1.2
		productKeyFeatureName OBJECT-TYPE
			SYNTAX OCTET STRING
			ACCESS read-only
			STATUS mandatory
			DESCRIPTION
				"A human-readable description of the feature."
			::= { productKeyFeatureEntry 2 }

		
		-- 1.3.6.1.4.1.3715.99.1.4.6.1.3
		productKeyFeatureEnable OBJECT-TYPE
			SYNTAX INTEGER
				{
				featureDisable(1),
				featureEnable(2)
				}
			ACCESS read-only
			STATUS mandatory
			DESCRIPTION
				"Status of the feature:
				1(featureDisable) = the feature si disabled in this device
				2(featureEnable) = the feature is enabled in this devices"
			::= { productKeyFeatureEntry 3 }

		
		-- 1.3.6.1.4.1.3715.99.1.4.6.1.4
		productKeyFeatureExpirationTime OBJECT-TYPE
			SYNTAX INTEGER
			ACCESS read-only
			STATUS mandatory
			DESCRIPTION
				"Number of days left before the feature expires. A zero value means
				infinite validity time. This object has a meaning only if the
				feature is enabled (productKeyFeatureEnable = 2(featureEnable))."
			::= { productKeyFeatureEntry 4 }

		
-- Common module definition
-- 
-- The element consists of one or more modules. Module parameters are 
-- collected into several module tables. Each module has one entry 
-- in these tables. If the element is a single device, then the tables
-- have only one entry, which is the element itself.
-- 
-- Modules are identified within the element with a unique moduleId.
-- See the moduleId description for more information.
-- 
		-- 1.3.6.1.4.1.3715.99.2
		module OBJECT IDENTIFIER ::= { common 2 }

		
-- This section contains the element's identification objects
-- and other common element information.
-- 
		-- 1.3.6.1.4.1.3715.99.2.1
		moduleInformation OBJECT IDENTIFIER ::= { module 1 }

		
-- 
-- The moduleTable table shows basic module data of the element. 
-- Every plug-in module is represented as an entry in the Table. 
-- If the element is not modular, only the first row is present.
-- 
		-- 1.3.6.1.4.1.3715.99.2.1.1
		moduleTable OBJECT-TYPE
			SYNTAX SEQUENCE OF ModuleEntry
			ACCESS not-accessible
			STATUS mandatory
			DESCRIPTION
				"This table lists basic module identification and 
				configuration data of modules installed inside 
				the managed element.
				
				The first row in the table list information about the
				element itself. If the element is not modular, only the 
				first row exists in the table.
				
				Object moduleId is used for indexing the modules
				in all module section tables."
			::= { moduleInformation 1 }

		
		-- 1.3.6.1.4.1.3715.99.2.1.1.1
		moduleEntry OBJECT-TYPE
			SYNTAX ModuleEntry
			ACCESS not-accessible
			STATUS mandatory
			INDEX { moduleId }
			::= { moduleTable 1 }

		
		ModuleEntry ::=
			SEQUENCE { 
				moduleId
					INTEGER,
				moduleName
					DisplayString,
				moduleHwType
					DisplayString,
				moduleRackNo
					INTEGER,
				moduleSlotNo
					INTEGER
			 }

		-- 1.3.6.1.4.1.3715.99.2.1.1.1.1
		moduleId OBJECT-TYPE
			SYNTAX INTEGER (1..65535)
			ACCESS read-only
			STATUS mandatory
			DESCRIPTION
				"An unique module index identifying the (physical) modules
				inside the network element. The exact conjunction between
				the index and the physical modules depends on the element
				structural principle.
				
				For network elements containing plug-in modules the index
				should follow module slot numbering.
				
				This index should be used in all subsequent module tables."
			::= { moduleEntry 1 }

		
		-- 1.3.6.1.4.1.3715.99.2.1.1.1.2
		moduleName OBJECT-TYPE
			SYNTAX DisplayString
			ACCESS read-write
			STATUS optional
			DESCRIPTION
				"The identification name ('aliasname') of the module."
			::= { moduleEntry 2 }

		
		-- 1.3.6.1.4.1.3715.99.2.1.1.1.3
		moduleHwType OBJECT-TYPE
			SYNTAX DisplayString
			ACCESS read-only
			STATUS mandatory
			DESCRIPTION
				"The hardware type name of the module."
			::= { moduleEntry 3 }

		
		-- 1.3.6.1.4.1.3715.99.2.1.1.1.4
		moduleRackNo OBJECT-TYPE
			SYNTAX INTEGER
			ACCESS read-write
			STATUS optional
			DESCRIPTION
				"Rack number of the module.
				
				This can be used to identify the physical position of
				the module in the case where the agent manages modules 
				that are in several racks."
			::= { moduleEntry 4 }

		
		-- 1.3.6.1.4.1.3715.99.2.1.1.1.5
		moduleSlotNo OBJECT-TYPE
			SYNTAX INTEGER
			ACCESS read-write
			STATUS optional
			DESCRIPTION
				"Slot number of the module (within rack)."
			::= { moduleEntry 5 }

		
-- 
-- This table shows detailed module data of the element. 
-- Every plug-in module is represented as a row in the Table. 
-- If the element is not modular, only one row is present.
-- 
		-- 1.3.6.1.4.1.3715.99.2.1.2
		moduleDetailTable OBJECT-TYPE
			SYNTAX SEQUENCE OF ModuleDetailEntry
			ACCESS not-accessible
			STATUS mandatory
			DESCRIPTION
				"This table lists detailed module data of modules installed
				inside the element.
				
				The first row in the table list information about the 
				element itself. If the element is not modular, only the 
				first row exists in the table."
			::= { moduleInformation 2 }

		
		-- 1.3.6.1.4.1.3715.99.2.1.2.1
		moduleDetailEntry OBJECT-TYPE
			SYNTAX ModuleDetailEntry
			ACCESS not-accessible
			STATUS mandatory
			INDEX { moduleId }
			::= { moduleDetailTable 1 }

		
		ModuleDetailEntry ::=
			SEQUENCE { 
				moduleMacAddress
					TPhysAddress,
				moduleBusAddress
					INTEGER,
				moduleAppDate
					DateAndTime,
				moduleAppVersion
					DisplayString,
				moduleBiosDate
					DateAndTime,
				moduleBiosVersion
					DisplayString,
				moduleHwSerialNumber
					DisplayString,
				moduleHwVersion
					DisplayString
			 }

		-- 1.3.6.1.4.1.3715.99.2.1.2.1.1
		moduleMacAddress OBJECT-TYPE
			SYNTAX TPhysAddress
			ACCESS read-only
			STATUS optional
			DESCRIPTION
				"Module MAC address. If the MAC address is unknown
				'00.00.00.00.00.00' is returned."
			::= { moduleDetailEntry 1 }

		
		-- 1.3.6.1.4.1.3715.99.2.1.2.1.2
		moduleBusAddress OBJECT-TYPE
			SYNTAX INTEGER
			ACCESS read-only
			STATUS optional
			DESCRIPTION
				"Module bus address."
			::= { moduleDetailEntry 2 }

		
		-- 1.3.6.1.4.1.3715.99.2.1.2.1.3
		moduleAppDate OBJECT-TYPE
			SYNTAX DateAndTime
			ACCESS read-only
			STATUS mandatory
			DESCRIPTION
				"Module application software date."
			::= { moduleDetailEntry 3 }

		
		-- 1.3.6.1.4.1.3715.99.2.1.2.1.4
		moduleAppVersion OBJECT-TYPE
			SYNTAX DisplayString
			ACCESS read-only
			STATUS mandatory
			DESCRIPTION
				"Module application software version. If software version
				is undefined, then zero length string is returned."
			::= { moduleDetailEntry 4 }

		
		-- 1.3.6.1.4.1.3715.99.2.1.2.1.5
		moduleBiosDate OBJECT-TYPE
			SYNTAX DateAndTime
			ACCESS read-only
			STATUS mandatory
			DESCRIPTION
				"Module BIOS date."
			::= { moduleDetailEntry 5 }

		
		-- 1.3.6.1.4.1.3715.99.2.1.2.1.6
		moduleBiosVersion OBJECT-TYPE
			SYNTAX DisplayString
			ACCESS read-only
			STATUS mandatory
			DESCRIPTION
				"Module BIOS version. If bios version is undefined,
				a zero length string is returned."
			::= { moduleDetailEntry 6 }

		
		-- 1.3.6.1.4.1.3715.99.2.1.2.1.7
		moduleHwSerialNumber OBJECT-TYPE
			SYNTAX DisplayString
			ACCESS read-only
			STATUS mandatory
			DESCRIPTION
				"Module serial number."
			::= { moduleDetailEntry 7 }

		
		-- 1.3.6.1.4.1.3715.99.2.1.2.1.8
		moduleHwVersion OBJECT-TYPE
			SYNTAX DisplayString
			ACCESS read-only
			STATUS mandatory
			DESCRIPTION
				"Module hardware version."
			::= { moduleDetailEntry 8 }

		
-- This section contains status information of the modules
-- of the element.
-- 
		-- 1.3.6.1.4.1.3715.99.2.2
		moduleStatus OBJECT IDENTIFIER ::= { module 2 }

		
-- 
-- This table contains common status objects for all
-- modules inside the element.
-- 
		-- 1.3.6.1.4.1.3715.99.2.2.1
		moduleStatusTable OBJECT-TYPE
			SYNTAX SEQUENCE OF ModuleStatusEntry
			ACCESS not-accessible
			STATUS mandatory
			DESCRIPTION
				"This table contains status objects for modules inside
				the network element.The first row in the table lists 
				information about the host module. If the element is 
				not modular, only the first row exists in the table."
			::= { moduleStatus 1 }
-- 
-- A table of common status objects for all modules.
-- 
		
		-- 1.3.6.1.4.1.3715.99.2.2.1.1
		moduleStatusEntry OBJECT-TYPE
			SYNTAX ModuleStatusEntry
			ACCESS not-accessible
			STATUS mandatory
			DESCRIPTION
				"Row in moduleStatusTable. The index is moduleId from
				the moduleTable. Row in this table exist only if 
				there is a row with the same moduleId in the moduleTable."
			INDEX { moduleId }
			::= { moduleStatusTable 1 }

		
		ModuleStatusEntry ::=
			SEQUENCE { 
				statusResetCause
					INTEGER,
				statusRunningSwImage
					INTEGER,
				statusInternalTemperature
					INTEGER,
				statusLidStatus
					INTEGER,
				statusRestartCounter
					Counter
			 }

		-- 1.3.6.1.4.1.3715.99.2.2.1.1.1
		statusResetCause OBJECT-TYPE
			SYNTAX INTEGER
				{
				unknown(1),
				selfReset(2),
				powerReset(3),
				commandedReset(4),
				softdownloadReset(5)
				}
			ACCESS read-only
			STATUS mandatory
			DESCRIPTION
				"Reason for the last reset.
				
				If the reason is unknown, the value is reasonUnknown(1).
				If the device makes self reset and it can detect it, then
				value is reasonSelfReset(2). If the reset was made by the 
				user from the power switch and it can be sensed, then the 
				value is reasonPowerReset(3). If the reason is an external 
				command from the user interface or from the network 
				message (e.g. commonReset), then the reason is 
				reasonCommandedReset(4)."
			::= { moduleStatusEntry 1 }

		
		-- 1.3.6.1.4.1.3715.99.2.2.1.1.2
		statusRunningSwImage OBJECT-TYPE
			SYNTAX INTEGER
			ACCESS read-only
			STATUS mandatory
			DESCRIPTION
				"Currently running software image number.
				Bios is 0, applications are numbered from 1..n, 
				where n is the maximum image number."
			::= { moduleStatusEntry 2 }

		
		-- 1.3.6.1.4.1.3715.99.2.2.1.1.3
		statusInternalTemperature OBJECT-TYPE
			SYNTAX INTEGER (-600..1300)
			ACCESS read-only
			STATUS mandatory
			DESCRIPTION
				"Device temperature, unit 0.1 deg C. Value is zero (0),
				if temperature is not available."
			::= { moduleStatusEntry 3 }

		
		-- 1.3.6.1.4.1.3715.99.2.2.1.1.4
		statusLidStatus OBJECT-TYPE
			SYNTAX INTEGER
				{
				noLid(1),
				closed(2),
				open(3)
				}
			ACCESS read-only
			STATUS optional
			DESCRIPTION
				"Current lid status detected by the device. May or may not be
				the same variable as the elementLidStatus."
			::= { moduleStatusEntry 4 }

		
		-- 1.3.6.1.4.1.3715.99.2.2.1.1.5
		statusRestartCounter OBJECT-TYPE
			SYNTAX Counter
			ACCESS read-only
			STATUS optional
			DESCRIPTION
				"This objects counts the number of restarts of the module. 
				A start can be a cold start or a warm start."
			::= { moduleStatusEntry 5 }
-- 
-- 
		
-- This section contains control entities of the modules
-- of the element.
-- 
		-- 1.3.6.1.4.1.3715.99.2.3
		moduleControl OBJECT IDENTIFIER ::= { module 3 }

		
-- 
-- 
		-- 1.3.6.1.4.1.3715.99.2.3.1
		moduleControlTable OBJECT-TYPE
			SYNTAX SEQUENCE OF ModuleControlEntry
			ACCESS not-accessible
			STATUS optional
			DESCRIPTION
				"This table contains common control commands for all the
				modules inside the element."
			::= { moduleControl 1 }

		
		-- 1.3.6.1.4.1.3715.99.2.3.1.1
		moduleControlEntry OBJECT-TYPE
			SYNTAX ModuleControlEntry
			ACCESS not-accessible
			STATUS optional
			INDEX { moduleId }
			::= { moduleControlTable 1 }

		
		ModuleControlEntry ::=
			SEQUENCE { 
				controlLedUsage
					INTEGER,
				controlMarkState
					INTEGER,
				controlReset
					INTEGER,
				controlTempLimitHiHi
					INTEGER,
				controlTempLimitHi
					INTEGER,
				controlTempLimitLo
					INTEGER,
				controlTempLimitLoLo
					INTEGER,
				controlTempDeadBand
					INTEGER,
				controlInternalAppAccess
					INTEGER,
				controlLocalAccess
					INTEGER
			 }

		-- 1.3.6.1.4.1.3715.99.2.3.1.1.1
		controlLedUsage OBJECT-TYPE
			SYNTAX INTEGER
				{
				notSupported(1),
				alwaysOn(2),
				offWhenLidClosed(3)
				}
			ACCESS read-write
			STATUS optional
			DESCRIPTION
				"A variable to instruct how device LED's behave when 
				the lid is closed."
			::= { moduleControlEntry 1 }

		
		-- 1.3.6.1.4.1.3715.99.2.3.1.1.2
		controlMarkState OBJECT-TYPE
			SYNTAX INTEGER
				{
				notSupported(1),
				on(2),
				off(3)
				}
			ACCESS read-write
			STATUS optional
			DESCRIPTION
				"A variable to instruct the device to start and stop
				showing mark (blinking module LED).
				
				On read requests returns the current mark state."
			::= { moduleControlEntry 2 }

		
		-- 1.3.6.1.4.1.3715.99.2.3.1.1.3
		controlReset OBJECT-TYPE
			SYNTAX INTEGER
				{
				noReset(1),
				hardReset(2),
				softReset(3)
				}
			ACCESS read-write
			STATUS optional
			DESCRIPTION
				"On write requests this object commands the module to 
				reset itself.
				
				If softReset(3) or hardReset(2) can not be performed,
				then BAD VALUE error is returned.
				
				On read requests value noReset(1) is returned."
			::= { moduleControlEntry 3 }

		
		-- 1.3.6.1.4.1.3715.99.2.3.1.1.4
		controlTempLimitHiHi OBJECT-TYPE
			SYNTAX INTEGER
			ACCESS read-write
			STATUS optional
			DESCRIPTION
				"Module temperature HiHi (high alarm) limit in 0.1 degC."
			::= { moduleControlEntry 4 }

		
		-- 1.3.6.1.4.1.3715.99.2.3.1.1.5
		controlTempLimitHi OBJECT-TYPE
			SYNTAX INTEGER
			ACCESS read-write
			STATUS optional
			DESCRIPTION
				"Module temperature Hi (high warning) limit in 0.1 degC."
			::= { moduleControlEntry 5 }

		
		-- 1.3.6.1.4.1.3715.99.2.3.1.1.7
		controlTempLimitLo OBJECT-TYPE
			SYNTAX INTEGER
			ACCESS read-write
			STATUS optional
			DESCRIPTION
				"Module temperature Lo (low warning) limit in 0.1 degC."
			::= { moduleControlEntry 7 }

		
		-- 1.3.6.1.4.1.3715.99.2.3.1.1.8
		controlTempLimitLoLo OBJECT-TYPE
			SYNTAX INTEGER
			ACCESS read-write
			STATUS optional
			DESCRIPTION
				"Module temperature LoLo (low alarm) limit in 0.1 degC."
			::= { moduleControlEntry 8 }

		
		-- 1.3.6.1.4.1.3715.99.2.3.1.1.9
		controlTempDeadBand OBJECT-TYPE
			SYNTAX INTEGER
			ACCESS read-write
			STATUS optional
			DESCRIPTION
				"Module temperature alarm/warning deadband in 0.1 degC. Common
				to all limit values (LoLo, Lo, Hi, HiHi). The deadband defines
				the difference between the 'ON' limit and the 'OFF' limit of
				the corresponding alarm.
				
				Example: The Hi limit is 65 degC and the deadband is 5 degC.
				The high warning is activated when the temperature exceeds
				65 degC and deactivated only after it falls below 60 degC."
			::= { moduleControlEntry 9 }

		
		-- 1.3.6.1.4.1.3715.99.2.3.1.1.10
		controlInternalAppAccess OBJECT-TYPE
			SYNTAX INTEGER
				{
				allowIntControl(1),
				denyIntControl(2)
				}
			ACCESS read-write
			STATUS optional
			DESCRIPTION
				"This object defines whether the internal controller application
				is able to access the module parameters. This corresponds
				to the BXX module setting 'Allow Functions'.
				1 = allow internal control
				2 = deny internal control (remote control is possible)"
			::= { moduleControlEntry 10 }

		
		-- 1.3.6.1.4.1.3715.99.2.3.1.1.11
		controlLocalAccess OBJECT-TYPE
			SYNTAX INTEGER
				{
				disabled(1),
				enabled(2)
				}
			ACCESS read-write
			STATUS optional
			DESCRIPTION
				"This object defines whether the local user interface
				(buttons, knobs etc.) is enabled or disabled. Values:
				1 = disabled, local UI is locked
				2 = enabled, local UI is active
				For modules/devices with no local UI this objects should
				return value 'disabled (1)."
			::= { moduleControlEntry 11 }

		
		-- 1.3.6.1.4.1.3715.99.2.3.2
		moduleSWUpdateTable OBJECT-TYPE
			SYNTAX SEQUENCE OF ModuleSWUpdateEntry
			ACCESS not-accessible
			STATUS optional
			DESCRIPTION
				"A table of software update control objects."
			::= { moduleControl 2 }

		
		-- 1.3.6.1.4.1.3715.99.2.3.2.1
		moduleSWUpdateEntry OBJECT-TYPE
			SYNTAX ModuleSWUpdateEntry
			ACCESS not-accessible
			STATUS optional
			INDEX { moduleId }
			::= { moduleSWUpdateTable 1 }

		
		ModuleSWUpdateEntry ::=
			SEQUENCE { 
				sWUpdateControl
					INTEGER,
				swUpdateURL
					DisplayString,
				sWUpdateFileName
					DisplayString,
				sWUpdateStatus
					DisplayString
			 }

		-- 1.3.6.1.4.1.3715.99.2.3.2.1.1
		sWUpdateControl OBJECT-TYPE
			SYNTAX INTEGER
				{
				updateIdle(1),
				updateRunning(2),
				updateFailed(3),
				updateStart(4)
				}
			ACCESS read-write
			STATUS optional
			DESCRIPTION
				"Writing value updateStart(4) commands the module to run a software 
				update. The software image location and  file name are specified in 
				sWUpdateURL and sWUpdateFilename.
				
				Writing a updateIdle(1) when the update is running will terminate the 
				update process immediately. Writing any value when no update is 
				runnign has no effect.
				
				Reading this object returns either updateIdle(1), updateRunning(2) or 
				updateFailed(3) depending on the status of the (last) software update.
				"
			::= { moduleSWUpdateEntry 1 }

		
		-- 1.3.6.1.4.1.3715.99.2.3.2.1.2
		swUpdateURL OBJECT-TYPE
			SYNTAX DisplayString
			ACCESS read-write
			STATUS optional
			DESCRIPTION
				"The URL where the software image can be downloaded.
				
				Format e.g. TFTP:\\downloads\swupdate\."
			::= { moduleSWUpdateEntry 2 }

		
		-- 1.3.6.1.4.1.3715.99.2.3.2.1.3
		sWUpdateFileName OBJECT-TYPE
			SYNTAX DisplayString
			ACCESS read-write
			STATUS optional
			DESCRIPTION
				"File name of the software image file to be downloaded."
			::= { moduleSWUpdateEntry 3 }

		
		-- 1.3.6.1.4.1.3715.99.2.3.2.1.4
		sWUpdateStatus OBJECT-TYPE
			SYNTAX DisplayString
			ACCESS read-only
			STATUS optional
			DESCRIPTION
				"Description of the software update result.
				
				After successful update this object should return a string 
				'Software updated successfully on <date and time>'. If the update failed 
				the returned value should be 'Software update failed'.
				"
			::= { moduleSWUpdateEntry 4 }

		
-- Module registry consists of one or more tables to store
-- different kind of maintenance or management information.
-- 
-- The tables do not affect on the operation of the module.
-- They are used only to support management and they are 
-- totally controlled by the manager.
-- 
		-- 1.3.6.1.4.1.3715.99.2.4
		moduleRegistry OBJECT IDENTIFIER ::= { module 4 }

		
		-- 1.3.6.1.4.1.3715.99.2.4.1
		moduleSizeOfTable OBJECT-TYPE
			SYNTAX SEQUENCE OF ModuleSizeOfEntry
			ACCESS not-accessible
			STATUS optional
			DESCRIPTION
				"This table defines maximum number of entries 
				in the registry tables. All the registry tables have
				fixed size defined in this table."
			::= { moduleRegistry 1 }

		
		-- 1.3.6.1.4.1.3715.99.2.4.1.1
		moduleSizeOfEntry OBJECT-TYPE
			SYNTAX ModuleSizeOfEntry
			ACCESS not-accessible
			STATUS optional
			INDEX { moduleId }
			::= { moduleSizeOfTable 1 }

		
		ModuleSizeOfEntry ::=
			SEQUENCE { 
				sizeOfRegistry
					INTEGER,
				sizeOfRepairlog
					INTEGER,
				sizeOfNotebook
					INTEGER
			 }

		-- 1.3.6.1.4.1.3715.99.2.4.1.1.1
		sizeOfRegistry OBJECT-TYPE
			SYNTAX INTEGER
			ACCESS read-only
			STATUS mandatory
			DESCRIPTION
				"Max number of entries in the registryTable.
				The entries in the registryTable are numbered
				from 1..sizeofRegistry."
			::= { moduleSizeOfEntry 1 }

		
		-- 1.3.6.1.4.1.3715.99.2.4.1.1.2
		sizeOfRepairlog OBJECT-TYPE
			SYNTAX INTEGER
			ACCESS read-only
			STATUS optional
			DESCRIPTION
				"Max number of entries in the repairlogTable.
				
				First entry (oldest entry) is deleted, when a new 
				entry is added and the table is full."
			::= { moduleSizeOfEntry 2 }

		
		-- 1.3.6.1.4.1.3715.99.2.4.1.1.3
		sizeOfNotebook OBJECT-TYPE
			SYNTAX INTEGER
			ACCESS read-only
			STATUS optional
			DESCRIPTION
				"Max number of entries in the notebookTable.
				The lines in the notebookTable are numbered from
				1..sizeofNotebook."
			::= { moduleSizeOfEntry 3 }

		
-- 
-- The moduleRegistryTable contains an indexed data storage 
-- for each module. The Manager may use registry data for 
-- various purposes.
-- 
		-- 1.3.6.1.4.1.3715.99.2.4.2
		moduleRegistryTable OBJECT-TYPE
			SYNTAX SEQUENCE OF ModuleRegistryEntry
			ACCESS not-accessible
			STATUS optional
			DESCRIPTION
				"This table lists user data for all modules 
				installed inside the element.
				
				Table is indexed by the moduleId and regIndex.
				regIndex can have values 1..sizeofRegistry.
				
				A registryEntry is 'deleted' by setting its name
				to an empty string."
			::= { moduleRegistry 2 }

		
		-- 1.3.6.1.4.1.3715.99.2.4.2.1
		moduleRegistryEntry OBJECT-TYPE
			SYNTAX ModuleRegistryEntry
			ACCESS not-accessible
			STATUS optional
			INDEX { moduleId, regIndex }
			::= { moduleRegistryTable 1 }

		
		ModuleRegistryEntry ::=
			SEQUENCE { 
				regIndex
					INTEGER,
				regName
					DisplayString,
				regValue
					DisplayString
			 }

		-- 1.3.6.1.4.1.3715.99.2.4.2.1.1
		regIndex OBJECT-TYPE
			SYNTAX INTEGER (1..255)
			ACCESS read-only
			STATUS optional
			DESCRIPTION
				"A second index to registryTable.
				Can have values 1..sizeofRegistryTable."
			::= { moduleRegistryEntry 1 }

		
		-- 1.3.6.1.4.1.3715.99.2.4.2.1.2
		regName OBJECT-TYPE
			SYNTAX DisplayString
			ACCESS read-write
			STATUS optional
			DESCRIPTION
				"Descriptive name for the parameter. 
				
				The agent is allowed to limit the length of the name. 
				Minimum length of eight characters must be supported.
				
				Writing empty string to this object removes it from the
				registryTable."
			::= { moduleRegistryEntry 2 }

		
		-- 1.3.6.1.4.1.3715.99.2.4.2.1.3
		regValue OBJECT-TYPE
			SYNTAX DisplayString
			ACCESS read-write
			STATUS optional
			DESCRIPTION
				"Textual information describing the parameter information.
				 
				The agent is allowed to limit the length of the name. 
				Minimum length of eight characters must be supported."
			::= { moduleRegistryEntry 3 }

		
		-- 1.3.6.1.4.1.3715.99.2.4.3
		moduleRepairLogTable OBJECT-TYPE
			SYNTAX SEQUENCE OF ModuleRepairLogEntry
			ACCESS not-accessible
			STATUS optional
			DESCRIPTION
				"This table contains repair history entries for modules
				in the element. The table is indexed with moduleId and 
				repairLogDate.
				
				The table can have sizeofRepairlog number of entries. 
				If this number is exceeded when writing a new entry, 
				the oldest entry is deleted and and a new entry is added."
			::= { moduleRegistry 3 }

		
		-- 1.3.6.1.4.1.3715.99.2.4.3.1
		moduleRepairLogEntry OBJECT-TYPE
			SYNTAX ModuleRepairLogEntry
			ACCESS not-accessible
			STATUS optional
			DESCRIPTION
				"Row entry in RepairLogTable.
				
				Note that it uses double index: moduleId  repairIndex. 
				that uniquely identify each log entry. Rows for particular
				module exist only if there is row, that represents this
				module in the moduleTable. 
				
				A row is 'deleted' by giving a date 0000-00-00."
			INDEX { moduleId, repairIndex }
			::= { moduleRepairLogTable 1 }

		
		ModuleRepairLogEntry ::=
			SEQUENCE { 
				repairIndex
					INTEGER,
				repairDate
					DisplayString,
				repairReasonCode
					OCTET STRING,
				repairNameCode
					OCTET STRING,
				repairComment
					DisplayString
			 }

		-- 1.3.6.1.4.1.3715.99.2.4.3.1.1
		repairIndex OBJECT-TYPE
			SYNTAX INTEGER (1..32767)
			ACCESS read-only
			STATUS optional
			DESCRIPTION
				"Row number of the Repairlog entry. Can have values 
				between 1..sizeOfRepairlog. This field is a second index
				to moduleRepairLogTable."
			::= { moduleRepairLogEntry 1 }

		
		-- 1.3.6.1.4.1.3715.99.2.4.3.1.2
		repairDate OBJECT-TYPE
			SYNTAX DisplayString
			ACCESS read-write
			STATUS optional
			DESCRIPTION
				"Date of this repair entry formatted as CCYY-MM-DD."
			::= { moduleRepairLogEntry 2 }

		
		-- 1.3.6.1.4.1.3715.99.2.4.3.1.3
		repairReasonCode OBJECT-TYPE
			SYNTAX OCTET STRING (SIZE (4))
			ACCESS read-write
			STATUS optional
			DESCRIPTION
				"Repair code for this entry."
			::= { moduleRepairLogEntry 3 }

		
		-- 1.3.6.1.4.1.3715.99.2.4.3.1.4
		repairNameCode OBJECT-TYPE
			SYNTAX OCTET STRING (SIZE (4))
			ACCESS read-write
			STATUS optional
			DESCRIPTION
				"Repairer name code (initials) for this entry."
			::= { moduleRepairLogEntry 4 }

		
		-- 1.3.6.1.4.1.3715.99.2.4.3.1.5
		repairComment OBJECT-TYPE
			SYNTAX DisplayString
			ACCESS read-write
			STATUS optional
			DESCRIPTION
				"Comment of the repair event.
				The agent is allowed to truncate the length of the
				comment, if it is too long to internal storage."
			::= { moduleRepairLogEntry 5 }

		
		-- 1.3.6.1.4.1.3715.99.2.4.4
		moduleNotebookTable OBJECT-TYPE
			SYNTAX SEQUENCE OF ModuleNotebookEntry
			ACCESS not-accessible
			STATUS optional
			DESCRIPTION
				"Notebook is a free text area for manager or serviceman 
				notes. It is divided into 50 character long character
				blocks or lines. Each line is an entry in the 
				notebookTable.
				
				Indices are moduleName and lineNumber.
				
				A new line with the same lineNumber overwrites 
				the old line."
			::= { moduleRegistry 4 }

		
		-- 1.3.6.1.4.1.3715.99.2.4.4.1
		moduleNotebookEntry OBJECT-TYPE
			SYNTAX ModuleNotebookEntry
			ACCESS not-accessible
			STATUS optional
			INDEX { moduleId, notebookLineNumber }
			::= { moduleNotebookTable 1 }

		
		ModuleNotebookEntry ::=
			SEQUENCE { 
				notebookLineNumber
					INTEGER,
				notebookLineText
					OCTET STRING
			 }

		-- 1.3.6.1.4.1.3715.99.2.4.4.1.1
		notebookLineNumber OBJECT-TYPE
			SYNTAX INTEGER (1..255)
			ACCESS read-only
			STATUS optional
			DESCRIPTION
				"The line number of the notebookTextLine.
				The number must be in between 1..sizeofNotebook.
				inclusive. Numbers should be used consecutively."
			::= { moduleNotebookEntry 1 }

		
		-- 1.3.6.1.4.1.3715.99.2.4.4.1.2
		notebookLineText OBJECT-TYPE
			SYNTAX OCTET STRING (SIZE (0..50))
			ACCESS read-write
			STATUS optional
			DESCRIPTION
				"Text field for storing notes about the module."
			::= { moduleNotebookEntry 2 }

		
	
	END

--
-- TELESTE-COMMON-MIB.mib
--
