ONS15501-MIB   DEFINITIONS ::= BEGIN


IMPORTS
    MODULE-IDENTITY, OBJECT-TYPE, NOTIFICATION-TYPE,
    enterprises, Integer32, Unsigned32, IpAddress
	FROM SNMPv2-SMI
    TEXTUAL-CONVENTION, DisplayString, TimeStamp, DateAndTime
	FROM SNMPv2-TC  
    MODULE-COMPLIANCE, OBJECT-GROUP, NOTIFICATION-GROUP
	FROM SNMPv2-CONF
    PhysicalIndex
	FROM ENTITY-MIB;


ons15501MIB MODULE-IDENTITY
    LAST-UPDATED "200208291600Z"
    ORGANIZATION "Cisco Systems, Inc."
    CONTACT-INFO
	    "	Cisco Systems
		Customer Service

	     Postal: 170 W Tasman Drive
	     	     San Jose, CA 95134
		     USA

		Tel: +1 800 553-NETS

	     E-mail: cs-dwdm@cisco.com"
    DESCRIPTION
	"The MIB definitions for ONS-15501 Optical 
	 Amplifier."
    REVISION      "200208291600Z"
    DESCRIPTION
	"The MIB definition for software release 4.0 of
	 ONS15501. This release adds support for the AC model.
	 Changes to the MIB include
	  1. The power supply status attributes (2 new attributes)
	  2. New OIDs for AC chassis and AC power supplies and system
	  3. Object groups have been modified
	  4. Conformance statements changed
	  5. ons15501SysSwDownload expanded to support abort
	  6. Definitions added for ons15501SysDateAndTime object
	"
    REVISION      "200203181230Z"
    DESCRIPTION
	"The first release for the MIB."
    ::= { synEmbLx 11 }


synchronous   OBJECT IDENTIFIER ::= { enterprises 1869 }
synEmbLx   OBJECT IDENTIFIER ::= { synchronous 11 }

ons15501Sys	OBJECT IDENTIFIER ::= { ons15501MIB 1 }
ons15501Attr	OBJECT IDENTIFIER ::= { ons15501MIB 2 }
ons15501Alarms	OBJECT IDENTIFIER ::= { ons15501MIB 3 }
ons15501Notification	OBJECT IDENTIFIER ::= { ons15501MIB 4 }
ons15501OIDs    OBJECT IDENTIFIER ::= { ons15501MIB 5 }
ons15501MIBConformance OBJECT IDENTIFIER ::= { ons15501MIB 6 }


-- OID definitions for the agent

--	value returned for sysObjectID
ons15501OIDSystem	OBJECT IDENTIFIER ::= { ons15501OIDs 1 }
ons15501OIDSystemAC	OBJECT IDENTIFIER ::= { ons15501OIDs 3 }


--	value returned for entPhysicalVendorType
ons15501OIDEntity	OBJECT IDENTIFIER ::= { ons15501OIDs 2 }

-- The chassis OID is applicable to ONS15501 DC 
ons15501OIDChasiss	OBJECT IDENTIFIER ::= { ons15501OIDEntity 1 }

ons15501OIDInPort	OBJECT IDENTIFIER ::= { ons15501OIDEntity 2 }
ons15501OIDOutPort	OBJECT IDENTIFIER ::= { ons15501OIDEntity 3 }

-- The power supply OID is applicable to ONS15501 DC 
ons15501OIDPowerSupply	OBJECT IDENTIFIER ::= { ons15501OIDEntity 4 }

-- ons15501OIDChassisAC is applicable to ONS15501 AC 
ons15501OIDChassisAC	OBJECT IDENTIFIER ::= { ons15501OIDEntity 5 }

-- The power supply OID is applicable to ONS15501 AC 
ons15501OIDPowerSupplyAC	OBJECT IDENTIFIER
    ::= { ons15501OIDEntity 6 }

-- From version 4.0 onwards the power supply is modeled as 
-- two different physical entities



-- Textual Conventions

Ons15501ImageDnLoadStatus  ::= TEXTUAL-CONVENTION
    STATUS       current
    DESCRIPTION
	    "The operational states for software image download.
	     This enumerates all possible failure conditions."
    SYNTAX       INTEGER {
			notInitiated(1),
			inProgress(2),
			failedUnknownErr(3), 
			failedFileNotFound(4),
			failedAccessDenied(5), 
			failedTimedOut(6), 	
			completedSuccessfully(7),
			failedInDownload(8),	   	-- flash corrupted
			failedTimeoutInDownload(9),	-- flash corrupted
			failedToConnectToServer(10),
			failedWhileWritingToFlash(11),  -- flash maybe corrupted
			failedIllegalOperation(12),	-- flash maybe corrupted
			failedFileExists(13),		-- flash maybe corrupted
			failedUnknownTransferId(14),	-- flash maybe corrupted
			failedUnknownUser(15)
	}


Ons15501AdminStatus ::= TEXTUAL-CONVENTION
    STATUS       current
    DESCRIPTION
	    "The Administrative state for a configured object."
    SYNTAX       INTEGER {
			disabled(1),
			enabled(2)
	}


Ons15501NTPStatus ::= TEXTUAL-CONVENTION
    STATUS       current
    DESCRIPTION
	    "The operational state for NTP client.
	     It may be 'unknown' if the NTP client has just started."
    SYNTAX       INTEGER {
			disabled(1),
			bothServersBad(2),
			usingPrimary(3),
			usingSecondary(4),
			unknown(5)
	}


Ons15501TenthVolt ::= TEXTUAL-CONVENTION
    DISPLAY-HINT "d-1"
    STATUS       current
    DESCRIPTION
	    "This data type represents voltage levels that are normally
	     expressed in volts. Units are in tenths of a volt;
	     for example, -48.1 volts will be represented as -481."
    SYNTAX       Integer32(-1000..0)


Ons15501TenthdB ::= TEXTUAL-CONVENTION
    DISPLAY-HINT "d-1"
    STATUS       current
    DESCRIPTION
	    "This data type represents power levels (or power gain)
	     that are normally expressed in dBm (dB). Units are in
	     tenths of a dBm (db);
	     for example, -5.1 dB will be represented as -51"
    SYNTAX       Integer32(-1000..500)


Ons15501TenthCentigrade ::= TEXTUAL-CONVENTION
    DISPLAY-HINT "d-1"
    STATUS       current
    DESCRIPTION
	    "This data type represents temperature values that
	     are normally expressed in Centigrade. Units are in
	     tenths of a Centigrade;
	     for example, -5.1 Centigrade will be represented as -51."
    SYNTAX       Integer32(-500..1000)


Ons15501AlarmStatus ::= TEXTUAL-CONVENTION
    STATUS       current
    DESCRIPTION
	    "Represents a alarm level"
    SYNTAX       INTEGER {
			critical(1),
			major(2),
			minor(3),
			info(4),
			noAlarm(5)
	}
		

Ons15501TrapTypeEnumeration   ::=     TEXTUAL-CONVENTION
    STATUS       current
    DESCRIPTION
	    "This provides the details on type of alarm
		none
		  - No exception
		unacceptableAmbientTemperature,
		  - the temperature measured by thermal sensor
		    shows value outside the operational limits.
		unacceptableElectricalPower,
		  - the measured power supply level(s) are not
		    within range.
		inputSignalPowerTooLow,
		  - the measured input signal power is not
		    within range.
		unacceptableOutputSignalPower,
		  - the measured output signal power is not
		    within range.
		embeddedControllerCommFailure,
		  - the communication with embedded controller
		    has failed.
		softwareUpgradeInitiated,
		  - a TFTP/FTP request has been launched
		softwareUpgradeFailed, 
		  - a TFTP/FTP request that was launched has failed
		softwareUpgradeCompleted, 
		  - a TFTP/FTP request that was launched has completed
		softwareRebootInitiated, 
		  - a reboot has been requested on the unit
		softwareRolledBack, 
		  - the unit has booted from a bank that is not
		    the programmed bank. This is possibly because the
		    image from programmed bank was bad or because
		    the boot loader was explicitly asked to boot from
		    another bank (using the console).
		configurationChanged, 
		  - a writeable attribute has been modified (through
		    any of the management interface exposed by the
		    system - e.g. CLI. SNMP etc.)
		unacceptableGain,
		  - equipment is unable to achieve the planned level
		    for gain.
		laserPumpBad,
		  - the measured parameters for the laser show that
		    a laser pump has gone bad.
		eEPROMBad,
		  - the writes / reads from EEPROM have problems.
	    "
    SYNTAX    INTEGER {
		unacceptableAmbientTemperature(1),
		unacceptableElectricalPower(2),
		inputSignalPowerTooLow(3),
		unacceptableOutputSignalPower(4),
		embeddedControllerCommFailure(5),
		softwareUpgradeInitiated(6),
		softwareUpgradeFailed(7), 
		softwareUpgradeCompleted(8), 
		softwareRebootInitiated(9), 
		softwareRolledBack(10), 
		configurationChanged(11), 
		unacceptableGain(12),
		laserPumpBad(13),
		eEPROMBad(14),
		unknown(32767)
	}
			  

Ons15501TrapDirectionEnumeration   ::= 	TEXTUAL-CONVENTION
    STATUS       current
    DESCRIPTION
	    "Represents a alarm level"
    SYNTAX    INTEGER {   
		dontCare(1),
		asserted(2),
		cleared(3)
	}
				    



--- System/Software related section

ons15501SysDevFlash1Image OBJECT-TYPE
    SYNTAX      DisplayString 
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
	    "Gives the name of the software programmed on flash
	     bank one."
    ::= { ons15501Sys 1 }


ons15501SysDevFlash2Image OBJECT-TYPE
    SYNTAX      DisplayString 
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
	    "Gives the name of the software programmed on flash
	     bank two."
    ::= { ons15501Sys 2 }


ons15501SysDevFlash3Image OBJECT-TYPE
    SYNTAX      DisplayString 
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
	    "Gives the name of the software programmed on flash
	     bank three."
    ::= { ons15501Sys 3 }


ons15501SysSwDownload OBJECT-TYPE
    SYNTAX      DisplayString 
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
     "Used to control the image download to the flash banks.
	NOTE: Read on this attribute returns the last t/ftp command,
	      without login/password.
	      For s/w release 4.0 and above, the value read back
	      includes the Kilo-Bytes downloaded for last download
	      command.
	      It is the size of file downloaded (in KB), if the
	      download has completed. If a download is in progress
	      this value would correspond to Kilo-Bytes successfully 
	      downloaded so far.

      For set the string syntax is one of the following
      a. abort
	    - Aborts the current download
      b. ftp:<svr-IP>:<login>:<pass>:<path>:<fName>:<flash#>[:passive]
	    - Download image using ftp
      c. tftp:<srvr-IP>:<fName>:<flashNo>
	    - Download image using tftp

      where 
	  <svr-IP>  - is t/ftp server name

	  <login>   - is login to be used for ftp (default anonymous)

	  <pass>    - password for the login name for ftp
			 (default - no passwd - passwd is empty string)

	  <path>    - path to be given on ftp prompt for cd
			 (default - skip cd command )

	  <fName>   - name of the file to be downloaded and burnt
			to the flash - NO DEFAULTS - because the
			filename is used as distinguishing versions
			there are no defaults for this command.
			For TFTP Path information is part of the filename

	  <flash#>  - which flash has to be burnt [1|2|3]
			NOTE: Burn to active bank fails

	  passive   - if `passive` is specified, ftp is done using
		      passive mode (provided for FTP download across
		      firewall).

	  NOTE: None of the fields should contain ':' within them, as
		    it is used as field separator."
    ::= { ons15501Sys 4 }


ons15501SysDevActiveImage OBJECT-TYPE
    SYNTAX      Unsigned32(1..3)
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
	    "Show currently active image's bank number. 
	     This may be different from ons15501SysConfiguredActiveImage,
	     if   
		a. The image on ons15501SysConfiguredActiveImage did not
		   boot properly.
		b. User chose another bank during bootup, using the
		   serial console port.
	     "
    ::= { ons15501Sys 5 }


ons15501SysDeviceManagerList OBJECT-TYPE
    SYNTAX      DisplayString 
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
	    "A ',' separated list of managers that will receive the
	     Traps.
	     If a specific host should receive the traps sent from this
	     unit, it should be added to the list using CLI.
	     Up to 16 managers can be present in this list."
    ::= { ons15501Sys 6 }


ons15501SysSwDownloadStatus OBJECT-TYPE
    SYNTAX      Ons15501ImageDnLoadStatus
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
	    "Denotes the FTP/TFTP status. Please refer to the description
	     of Ons15501ImageDnLoadStatus for a list of supported values"
    ::= { ons15501Sys 7 }


ons15501SysConfiguredImage OBJECT-TYPE
    SYNTAX      Unsigned32(1..3)
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
	    "Set/Show configured value for flash-bank number to be used
	     on reboot.
	     A set on this attribute will result in a reboot of the system.
	     To restart the system, write back the same value as the
	     one read from it (or from ons15501SysDevActiveImage)."
    ::= { ons15501Sys 8 }


ons15501CLEICode OBJECT-TYPE
    SYNTAX      DisplayString
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
	    "This attribute represents the CLEI (Common Language
	     Equipment Identifier) code for the ONS15501."
    REFERENCE
	    "Bellcore Technical Reference GR-485-CORE, COMMON
	     LANGUAGE Equipment Processes and Guidelines, Issue 2,
	     October, 1995."
    ::= { ons15501Sys 9 }


ons15501PrimaryNTP OBJECT-TYPE
    SYNTAX      IpAddress 
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
	    "The IP address for the primary NTP server."
    ::= { ons15501Sys 10 }


ons15501SecondaryNTP OBJECT-TYPE
    SYNTAX      IpAddress 
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
	    "The IP address for the secondary NTP server."
    ::= { ons15501Sys 11 }


ons15501NTPAdminStatus OBJECT-TYPE
    SYNTAX      Ons15501AdminStatus 
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
	    "The configured administrative status for NTP."
    ::= { ons15501Sys 12 }


ons15501NTPOperationalStatus OBJECT-TYPE
    SYNTAX      Ons15501NTPStatus 
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
	    "The operational status for NTP."
    ::= { ons15501Sys 13 }


ons15501ActiveSoftwareVer OBJECT-TYPE
    SYNTAX      DisplayString
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
	    "This attribute provides the active software version.
	     This will be same as the entPhysicalSoftwareRev for
	     the entry corresponding to the chassis."
    ::= { ons15501Sys 14 }


ons15501LastConfigChangeTime OBJECT-TYPE
    SYNTAX      TimeStamp
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
	    "The value of sysUpTime when last configuration
	     change was done.
	     NMS may use this information to synchronize if
	     some configuration has changed on the unit."
    ::= { ons15501Sys 15 }


-- The input link remote end details
ons15501InRemoteInfoUpdateTime OBJECT-TYPE
    SYNTAX      TimeStamp 
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
	    "This attribute gives the time-stamp when one or more of
	     ons15501InRemoteChassisName, ons15501InRemotePortName,
	     or ons15501InRemoteAgentIpAddr was changed.
	     NMS may use this information to find the latest
	     information if data from remote unit does not match
	     that of this unit."
    ::= { ons15501Sys 16 }


ons15501InRemoteChassisName OBJECT-TYPE
    SYNTAX      DisplayString
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
	    "Manager initialized string value to identify the
	     chassis associated with remote connection for
	     optical input.
	     ons15501InRemoteChassisName would be a ZERO length
	     string if the input link is disabled.
	     To disable the input link details set
	     ons15501InRemoteChassisName to ZERO length string
	     and ons15501InRemoteAgentIpAddr to 0.0.0.0."
    ::= { ons15501Sys 17 }


ons15501InRemotePortName OBJECT-TYPE
    SYNTAX      DisplayString
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
	    "Manager initialized string value to identify the
	     the port (on remote chassis) associated with remote
	     connection for optical input.
	     ons15501InRemotePortName would be a ZERO length
	     string if the input link is disabled.
	     To disable the input link details set
	     ons15501InRemoteChassisName to ZERO length string
	     and ons15501InRemoteAgentIpAddr to 0.0.0.0."
    ::= { ons15501Sys 18 }


ons15501InRemoteAgentIpAddr OBJECT-TYPE
    SYNTAX      IpAddress 
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
	    "Manager initialized string value to identify the
	     network address to be used to reach the SNMP agent
	     entity containing information about the port and chassis
	     providing optical input.
	     ons15501InRemoteAgentIpAddr would be a 0.0.0.0
	     if the input link is disabled.
	     To disable the input link entry set
	     ons15501InRemoteChassisName to ZERO length string
	     and ons15501InRemoteAgentIpAddr to 0.0.0.0."
    ::= { ons15501Sys 19 }


-- The output link remote end details
ons15501OutRemoteInfoUpdateTime OBJECT-TYPE
    SYNTAX      TimeStamp 
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
	    "This attribute gives the time-stamp when one or more of
	     ons15501OutRemoteChassisName, ons15501OutRemotePortName,
	     or ons15501OutRemoteAgentIpAddr was changed.
	     NMS may use this information to find the latest
	     information if data from remote unit does not match
	     that of this unit."
    ::= { ons15501Sys 20 }


ons15501OutRemoteChassisName OBJECT-TYPE
    SYNTAX      DisplayString 
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
	    "Manager initialized string value to identify the
	     chassis associated with remote connection for
	     optical output.
	     ons15501OutRemoteChassisName would be a ZERO length
	     string if the output link is disabled.
	     To disable the output link details set
	     ons15501OutRemoteChassisName to ZERO length string
	     and ons15501OutRemoteAgentIpAddr to 0.0.0.0."
    ::= { ons15501Sys 21 }


ons15501OutRemotePortName OBJECT-TYPE
    SYNTAX      DisplayString 
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
	    "Manager initialized string value to identify the
	     the port (on remote chassis) associated with remote
	     connection for optical output.
	     ons15501OutRemotePortName would be a ZERO length
	     string if the output link is disabled.
	     To disable the output link details set
	     ons15501OutRemoteChassisName to ZERO length string
	     and ons15501OutRemoteAgentIpAddr to 0.0.0.0."
    ::= { ons15501Sys 22 }


ons15501OutRemoteAgentIpAddr OBJECT-TYPE
    SYNTAX      IpAddress 
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
	    "Manager initialized string value to identify the
	     network address to be used to reach the SNMP agent
	     entity containing information about the port and chassis
	     using optical output.
	     ons15501OutRemoteAgentIpAddr would be a 0.0.0.0
	     if the output link is disabled.
	     To disable the output link entry set
	     ons15501OutRemoteChassisName to ZERO length string
	     and ons15501OutRemoteAgentIpAddr to 0.0.0.0."
    ::= { ons15501Sys 23 }


ons15501SysAlarmStatus OBJECT-TYPE
    SYNTAX      Ons15501AlarmStatus 
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
	    "Provides the highest severity alarm currently active."
    ::= { ons15501Sys 24 }

ons15501SysDateAndTime OBJECT-TYPE
    SYNTAX      DateAndTime
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
	    "The date and time of the System.
	     The write will not succeed if the administrative
	     state for NTP (ons15501NTPAdminStatus)
	     is 'enabled'.
	     Setting this attribute will autmatically change
	     values for ons15501TrapLogEntryDateAndTime and
	     ons15501ActAlarmDateAndTime."
    ::= { ons15501Sys 25 }




-- Trap log table and active alarm table

ons15501LastTrapIndex OBJECT-TYPE
    SYNTAX      Unsigned32 (1..32767)
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
	    "The value of ons15501TrapLogEntryIndex, used while logging
	     the most recent trap. Goes back to 1, after reaching
	     the max value.
	     The trap log table is a circular list with the most
	     recent entry at index given by this attribute.
	     On restart of the unit, the value is reset to 1."
    ::= { ons15501Alarms 1 }


--	Logs

ons15501TrapLogTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF Ons15501TrapLogEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
	    "Table for last N traps (N = 100 in most cases).
	     Please refer to ons15501LastTrapIndex for
	     details on how this table is organized."
    ::= { ons15501Alarms 2 }
 

ons15501TrapLogEntry OBJECT-TYPE
    SYNTAX      Ons15501TrapLogEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
	    "Entry for a trap"
    INDEX
			{ ons15501TrapLogEntryIndex }
    ::= { ons15501TrapLogTable 1 }


Ons15501TrapLogEntry ::= SEQUENCE {
		ons15501TrapLogEntryIndex  Unsigned32,
		ons15501TrapLogEntryTrapType Ons15501TrapTypeEnumeration,
		ons15501TrapLogEntryDirection Ons15501TrapDirectionEnumeration,
		ons15501TrapLogEntryTimeStamp TimeStamp,
		ons15501TrapLogEntryDateAndTime DateAndTime,
		ons15501TrapLogEntryPhyIndex PhysicalIndex,
		ons15501TrapLogEntrySeverity Ons15501AlarmStatus
	}


ons15501TrapLogEntryIndex OBJECT-TYPE
    SYNTAX      Unsigned32 (1..32767)
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
	    "index field for this entry. Actual range at
	     run time is ons15501TrapCounter to
	     ons15501TrapCounter - N + 1 or 1 
	     (whichever is higher)"
    ::= { ons15501TrapLogEntry 1 }


ons15501TrapLogEntryTrapType OBJECT-TYPE
    SYNTAX      Ons15501TrapTypeEnumeration
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
	    "The type of trap. See the definition
	     of Ons15501TrapTypeEnumeration for possible values."
    ::= { ons15501TrapLogEntry 2 }


ons15501TrapLogEntryDirection OBJECT-TYPE
    SYNTAX      Ons15501TrapDirectionEnumeration
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
	    "Whether the trap is being asserted or cleared.
	     Please note that some traps don't have a direction.
	     (e.g. configuration changed)."
    ::= { ons15501TrapLogEntry 3 }
    

ons15501TrapLogEntryTimeStamp OBJECT-TYPE
    SYNTAX     TimeStamp 
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
	    "The value of sysUpTime when the entry was placed in
	     the log."
    ::= { ons15501TrapLogEntry 4 }


ons15501TrapLogEntryDateAndTime OBJECT-TYPE
    SYNTAX     DateAndTime 
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
	    "The local date and time at which the entry was placed in
	     the log."
    ::= { ons15501TrapLogEntry 5 }


ons15501TrapLogEntryPhyIndex OBJECT-TYPE
    SYNTAX      PhysicalIndex 
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
	    "Provides entPhysicalIndex value for the physical entity
	     corresponding to the trap entry."
    ::= { ons15501TrapLogEntry 6 }


ons15501TrapLogEntrySeverity OBJECT-TYPE
    SYNTAX      Ons15501AlarmStatus
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
	    "Provides the severity level corresponding to this
	     trap entry."
    ::= { ons15501TrapLogEntry 7 }



--	Active Alarms
    
ons15501ActiveAlarmTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF Ons15501ActiveAlarmEntry 
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
	    "Table for currently active alarm conditions.
	     This table is effectively the list of traps
	     that have been asserted but not cleared."
    ::= { ons15501Alarms 3 }
 

ons15501ActiveAlarmEntry OBJECT-TYPE
    SYNTAX      Ons15501ActiveAlarmEntry 
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
	    "Entry for an active alarm condition.
	     For each alarm condition present on the
	   equipment, there would be an entry in
	     the table."
    INDEX
			{ ons15501ActAlarmType }
    ::= { ons15501ActiveAlarmTable 1 }


Ons15501ActiveAlarmEntry ::= SEQUENCE {
		ons15501ActAlarmType Ons15501TrapTypeEnumeration,
		ons15501ActAlarmTimeStamp TimeStamp,
		ons15501ActAlarmDateAndTime DateAndTime,
		ons15501ActAlarmPhyIndex PhysicalIndex,
		ons15501ActAlarmSeverity Ons15501AlarmStatus
	}


ons15501ActAlarmType OBJECT-TYPE
    SYNTAX      Ons15501TrapTypeEnumeration
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
	    "Index field for ons15501ActiveAlarmTable.
	     Presence of an entry implies that the specific
	     alarm type is active on the unit."
    ::= { ons15501ActiveAlarmEntry 1 }


ons15501ActAlarmTimeStamp OBJECT-TYPE
    SYNTAX      TimeStamp
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
	    "The time since when the alarm is active."
    ::= { ons15501ActiveAlarmEntry 2 }
    

ons15501ActAlarmDateAndTime OBJECT-TYPE
    SYNTAX     DateAndTime 
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
	    "The local date and time since when the alarm is active"
    ::= { ons15501ActiveAlarmEntry 3 }


ons15501ActAlarmPhyIndex OBJECT-TYPE
    SYNTAX      PhysicalIndex 
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
	    "Provides entPhysicalIndex value for the physical entity
	     corresponding to the alarm entry."
    ::= { ons15501ActiveAlarmEntry 4 }


ons15501ActAlarmSeverity OBJECT-TYPE
    SYNTAX      Ons15501AlarmStatus
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
	    "Provides the severity level corresponding to this
	     alarm entry."
    ::= { ons15501ActiveAlarmEntry 5 }



--	TrapType to text info maps  


ons15501TrapDescriptionTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF Ons15501TrapDescriptionEntry 
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
	    "Table for mapping the Ons15501TrapTypeEnumeration
	     values to their textual information."
    ::= { ons15501Alarms 4 }
 

ons15501TrapDescriptionEntry OBJECT-TYPE
    SYNTAX      Ons15501TrapDescriptionEntry 
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
	    "Entry for textual information about traps."
    INDEX
			{ ons15501TrapTypeValue }
    ::= { ons15501TrapDescriptionTable 1 }


Ons15501TrapDescriptionEntry ::= SEQUENCE {
		ons15501TrapTypeValue  Ons15501TrapTypeEnumeration,
		ons15501TrapDescription DisplayString,
		ons15501TrapSeverity Ons15501AlarmStatus
	}


ons15501TrapTypeValue OBJECT-TYPE
    SYNTAX      Ons15501TrapTypeEnumeration
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
	    "Index field for this entry."
    ::= { ons15501TrapDescriptionEntry 1 }


ons15501TrapDescription OBJECT-TYPE
    SYNTAX      DisplayString
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
	    "The textual information corresponding to the
	     ons15501TrapTypeValue."
    ::= { ons15501TrapDescriptionEntry 2 }


ons15501TrapSeverity OBJECT-TYPE
    SYNTAX      Ons15501AlarmStatus
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
	    "Provides the default severity level corresponding
	     to the ons15501TrapTypeValue."
    ::= { ons15501TrapDescriptionEntry 3 }



-- Notification

ons15501NotificationPrefix OBJECT IDENTIFIER 
    ::= { ons15501Notification 0 }
    
ons15501GenericNotificationTrap NOTIFICATION-TYPE
    OBJECTS {
		ons15501LastTrapIndex,
		ons15501TrapLogEntryTrapType,
		ons15501TrapLogEntryDirection,
		ons15501TrapLogEntryPhyIndex,
		ons15501TrapLogEntrySeverity }
    STATUS      current
    DESCRIPTION
	"This notification is generated whenever a bitmap change is
	 observed on any of the monitored equipment, or when a change
	 has to be notified."
    ::= { ons15501NotificationPrefix 1 }

    
    
-- the attributes for Sensors/Amplifiers/Attenuators

ons15501InputOpticalPower OBJECT-TYPE
    SYNTAX      Ons15501TenthdB
    UNITS	"dBm"
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
	    "The optical power being fed into the Amplifier."
    ::= { ons15501Attr 1 }


ons15501InputOpticalPowerMean OBJECT-TYPE
    SYNTAX      Ons15501TenthdB (-100..0)
    UNITS	"dBm"
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
	    "Mean value for input optical power.
	     If the input optical power falls below
	     the mean value by more than trigger
	     (see ons15501InputOpticalPowerTrigger) an alarm
	     is generated. The alarm is cleared when the
	     input optical power is back within 90% of trigger
	     from the mean."
    ::= { ons15501Attr 2 }


ons15501InputOpticalPowerTrigger OBJECT-TYPE
    SYNTAX      Ons15501TenthdB (0..200)
    UNITS	"dB"
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
	    "Trigger defines the max deviation allowed from the
	     mean, without an alarm being generated. Once an
	     alarm is generated, it is not cleared until the
	     input optical power falls back within 90% of the 
	     trigger value from the mean. Please also refer
	     to ons15501InputOpticalPowerMean above. "
    ::= { ons15501Attr 3 }


ons15501OutputOpticalPower OBJECT-TYPE
    SYNTAX      Ons15501TenthdB
    UNITS	"dBm"
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
	    "The measured value for raw optical power being
	     generated at the output of the Amplifier."
    ::= { ons15501Attr 4 }


ons15501OutputSignalPower OBJECT-TYPE
    SYNTAX      Ons15501TenthdB
    UNITS	"dBm"
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
	    "The optical signal power at the output of the Amplifier.
	     The value of this attribute triggers the alarm, based on
	     mean value and trigger as defined by 
	     ons15501OutputSignalPowerMean and
	     ons15501OutputSignalPowerTrigger.

	     This value is internally calculated using the following
	     formula.
	      ons15501OutputSignalPower = ons15501OpticalPowerGain +
	                                     ons15501InputOpticalPower
	     At very low ons15501InputOpticalPower (below -16 dBm),
	     the ons15501OutputSignalPower has significant difference
	     from ons15501OutputOpticalPower while at higher input
	     power (ons15501InputOpticalPower) they are closer.

	     Following graph captures the difference (for a 17 dBm
	     EDFA)
	        (dashes '-'/'_' denote optical output power
	         while dots '.' denote signal output power)

	          ^
	          |                               .-
	          |                            .-
	          |                         .-
	 +5 dBm   |                      .-
	          |                   .-
	Optical   |               _.-
	power /   |         _  -.
	Signal    |_  _  -   .
	power     |       .
	          |    .
	          | .
	  -17 dBm +-----------------------+-------------->
	         -29 dBm               -10 dBm
	                Input Optical Power
	    "
    ::= { ons15501Attr 5 }


ons15501OutputSignalPowerMean OBJECT-TYPE
    SYNTAX      Ons15501TenthdB (-60..0)
    UNITS	"dBm"
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
	    "Mean value for output optical power.
	     If the output signal power falls below (or goes
	     above) the mean value by more than trigger
	     (see ons15501OutputSignalPowerTrigger) an alarm
	     is generated. The alarm is cleared when the
	     output optical power is back within 90% of trigger
	     from the mean."
    ::= { ons15501Attr 6 }
    

ons15501OutputSignalPowerTrigger OBJECT-TYPE
    SYNTAX      Ons15501TenthdB (0..180)
    UNITS	"dB"
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
	    "Trigger defines the max deviation allowed from the
	     mean, without an alarm being generated. Once an
	     alarm is generated, it is not cleared until the
	     output signal power falls back within 90% of the 
	     trigger value from the mean. Please also refer
	     to ons15501OutputSignalPowerMean above. "
    ::= { ons15501Attr 7 }


ons15501ConfigOpticalGain OBJECT-TYPE
    SYNTAX      Ons15501TenthdB (70..175)
    UNITS	"dB"
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
	    "The configured value for power gain."
    ::= { ons15501Attr 8 }


ons15501OpticalPowerGain OBJECT-TYPE
    SYNTAX      Ons15501TenthdB
    UNITS	"dB"
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
	    "The measured value for power gain.
	     This value does not include the amplification
	     noise that is significant for low input signals."
    ::= { ons15501Attr 9 }


ons15501GainTrigger OBJECT-TYPE
    SYNTAX      Ons15501TenthdB (0..20)
    UNITS	"dB"
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
	    "The gain deviation allowed from the configured gain
	     before an alarm is asserted. The alarm is not cleared,
	     until measured gain(ons15501OpticalPowerGain) is back
	     within 90% of ons15501GainTrigger from configured gain
	     (ons15501ConfigOpticalGain). "
    ::= { ons15501Attr 10 }


ons15501PowerSupply1Level OBJECT-TYPE
    SYNTAX      Ons15501TenthVolt
    UNITS	"volts"
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
	    "The voltage fed through power supply 1. 
	     The value of the attribute is 10 times the
	     the value in volts."
    ::= { ons15501Attr 11 }


ons15501PowerSupply2Level OBJECT-TYPE
    SYNTAX      Ons15501TenthVolt
    UNITS	"volts"
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
	    "The voltage fed through power supply 2. 
	     The value of the attribute is 10 times the
	     the value in volts."
    ::= { ons15501Attr 12 }


ons15501LaserStatus OBJECT-TYPE
    SYNTAX      Ons15501AlarmStatus 
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
	    "Gives the status of the laser pumps."
    ::= { ons15501Attr 13 }


ons15501DevAmbTemp OBJECT-TYPE
    SYNTAX      Ons15501TenthCentigrade 
    UNITS	"degrees C"
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
	    "The ambient temperature for the device. "
    ::= { ons15501Attr 14 }


ons15501DevAmbTempMean OBJECT-TYPE
    SYNTAX      Ons15501TenthCentigrade (200..400)
    UNITS	"degrees C"
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
	    "Mean value for temperature.
	     If the temperature falls below (or goes above) the
	     mean value by more than trigger level (see
	     ons15501DevAmbTempTrigger) an alarm is generated.
	     The alarm is cleared when the temperature is back
	     within 90% of trigger value, from the mean. "
    ::= { ons15501Attr 15 }


ons15501DevAmbTempTrigger OBJECT-TYPE
    SYNTAX      Ons15501TenthCentigrade (200..300)
    UNITS	"degrees C"
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
	    "Please refer to ons15501DevAmbTempMean above.
	     Trigger defines the max deviation allowed from the
	     mean, without an alarm being generated. Once an
	     alarm is generated, it is not cleared until the
	     temperature falls back within 90% of the value. "
    ::= { ons15501Attr 16 }


ons15501PowerSupply1Status OBJECT-TYPE
    SYNTAX      Ons15501AlarmStatus 
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
	    "Gives the status of power supply one."
    ::= { ons15501Attr 17 }


ons15501PowerSupply2Status OBJECT-TYPE
    SYNTAX      Ons15501AlarmStatus 
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
	    "Gives the status of power supply two."
    ::= { ons15501Attr 18 }



-- conformance information and compliance statements


ons15501MIBCompliances
		OBJECT IDENTIFIER ::= { ons15501MIBConformance 1 }

ons15501MIBGroups  
		OBJECT IDENTIFIER ::= { ons15501MIBConformance 2 }
	


ons15501FinalCompliance MODULE-COMPLIANCE
    STATUS  deprecated  -- superceded by ons15501Rel4Compliance
    DESCRIPTION
	    "The compliance statement for final release ONS15501."
    MODULE  
	MANDATORY-GROUPS { ons15501SysInfoGroup,
			   ons15501FinalAttrGroup,
			   ons15501TrapLogGroup,
			   ons15501ActiveAlarmGroup,
			   ons15501TrapDescriptionGroup,
			   ons15501FinalNotificationsGroup }
    ::= { ons15501MIBCompliances 1 }

ons15501Rel4Compliance MODULE-COMPLIANCE
    STATUS  current
    DESCRIPTION
	    "The compliance statement for 4.0 release ONS15501."
    MODULE  
	MANDATORY-GROUPS { ons15501SysInfoGroup2,
			   ons15501CoreAttrGroup,
			   ons15501TrapLogGroup,
			   ons15501ActiveAlarmGroup,
			   ons15501TrapDescriptionGroup,
			   ons15501FinalNotificationsGroup }
	GROUP  ons15501PowerSupplyStatusGroup
	  DESCRIPTION
	    "The status of power supply is available only for
	     software version 4.0 and above."
	GROUP  ons15501PowerSupplyLevelGroup
	  DESCRIPTION
	    "The level of power supply is available only for
	     the DC series of ONS15501."
    ::= { ons15501MIBCompliances 2 }


ons15501SysInfoGroup OBJECT-GROUP
    OBJECTS {
	      ons15501SysDevFlash1Image,
	      ons15501SysDevFlash2Image,
	      ons15501SysDevFlash3Image, 
	      ons15501SysSwDownload,
	      ons15501SysSwDownloadStatus,
	      ons15501SysConfiguredImage,
	      ons15501SysDevActiveImage,
	      ons15501SysAlarmStatus, 
	      ons15501PrimaryNTP, 
	      ons15501SecondaryNTP, 
	      ons15501NTPAdminStatus,
	      ons15501NTPOperationalStatus,
	      ons15501CLEICode, 
	      ons15501InRemoteInfoUpdateTime,
	      ons15501InRemoteChassisName,
	      ons15501InRemotePortName,
	      ons15501InRemoteAgentIpAddr,
	      ons15501OutRemoteInfoUpdateTime,
	      ons15501OutRemoteChassisName,
	      ons15501OutRemotePortName,
	      ons15501OutRemoteAgentIpAddr,
	      ons15501LastConfigChangeTime,
	      ons15501ActiveSoftwareVer,
	      ons15501SysDeviceManagerList
	    }
    STATUS  deprecated -- superceded by ons15501SysInfoGroup2
    DESCRIPTION
	    "The basic group defines objects which are common to all
	     Embedded Linux product series of Synchronous equipment."
    ::= { ons15501MIBGroups 1 }


ons15501TrapLogGroup OBJECT-GROUP
    OBJECTS { 
	      ons15501LastTrapIndex,
	      ons15501TrapLogEntryTrapType,
	      ons15501TrapLogEntryDirection,
	      ons15501TrapLogEntryTimeStamp,
	      ons15501TrapLogEntryDateAndTime,
	      ons15501TrapLogEntryPhyIndex,
	      ons15501TrapLogEntrySeverity
	    }
    STATUS  current
    DESCRIPTION
	    "The trap attribute group provides the trap logs.
	     These attributes are also used in trap notifications."
    ::= { ons15501MIBGroups 2 }
   

ons15501ActiveAlarmGroup OBJECT-GROUP
    OBJECTS {
	      ons15501ActAlarmPhyIndex,
	      ons15501ActAlarmTimeStamp,
	      ons15501ActAlarmDateAndTime,
	      ons15501ActAlarmSeverity
	    }
    STATUS  current
    DESCRIPTION
	    "The alarm attribute group provides the list of active
	     alarms"
    ::= { ons15501MIBGroups 3 }
   

ons15501TrapDescriptionGroup OBJECT-GROUP
    OBJECTS {
	      ons15501TrapDescription,
	      ons15501TrapSeverity
	    }
    STATUS  current
    DESCRIPTION
	    "The trap description attribute group provides the 
	     mapping from trap type to textual information about
	     the trap."
    ::= { ons15501MIBGroups 4 }
   

ons15501FinalAttrGroup OBJECT-GROUP
    OBJECTS { 
	      ons15501InputOpticalPower,
	      ons15501InputOpticalPowerMean,
	      ons15501InputOpticalPowerTrigger, 
	      ons15501OutputOpticalPower,
	      ons15501OutputSignalPower,
	      ons15501OutputSignalPowerMean,
	      ons15501OutputSignalPowerTrigger,
	      ons15501ConfigOpticalGain,
	      ons15501OpticalPowerGain, 
	      ons15501PowerSupply1Level, 
	      ons15501PowerSupply2Level, 
	      ons15501DevAmbTemp,
	      ons15501DevAmbTempMean,
	      ons15501DevAmbTempTrigger,
	      ons15501LaserStatus,
	      ons15501GainTrigger
	    }
    STATUS  deprecated -- superceded by ons15501CoreAttrGroup
    DESCRIPTION
	    "The ons15501 group of attributes models the parameters
	     in the EDFA." 
    ::= { ons15501MIBGroups 5 }


ons15501FinalNotificationsGroup NOTIFICATION-GROUP
    NOTIFICATIONS { ons15501GenericNotificationTrap }
    STATUS	current
    DESCRIPTION
	    "The notification that carries all the exception 
	     information."
    ::= { ons15501MIBGroups 6 }


ons15501CoreAttrGroup OBJECT-GROUP
    OBJECTS { 
	      ons15501InputOpticalPower,
	      ons15501InputOpticalPowerMean,
	      ons15501InputOpticalPowerTrigger, 
	      ons15501OutputOpticalPower,
	      ons15501OutputSignalPower,
	      ons15501OutputSignalPowerMean,
	      ons15501OutputSignalPowerTrigger,
	      ons15501ConfigOpticalGain,
	      ons15501OpticalPowerGain, 
	      ons15501DevAmbTemp,
	      ons15501DevAmbTempMean,
	      ons15501DevAmbTempTrigger,
	      ons15501LaserStatus,
	      ons15501GainTrigger
	    }
    STATUS  current
    DESCRIPTION
	    "The ons15501 group of attributes models the parameters
	     in the EDFA. The power supply related attributes are
	     not part of this group." 
    ::= { ons15501MIBGroups 7 }


ons15501PowerSupplyStatusGroup OBJECT-GROUP
    OBJECTS {
	      ons15501PowerSupply1Status, 
	      ons15501PowerSupply2Status 
	    }
    STATUS  current
    DESCRIPTION
	    "The ons15501 group of attributes models the status
	     of power supplies. The support for status was introduced
	     in version 4.0."
    ::= { ons15501MIBGroups 8 }

ons15501PowerSupplyLevelGroup OBJECT-GROUP
    OBJECTS {
	      ons15501PowerSupply1Level, 
	      ons15501PowerSupply2Level
	    }
    STATUS  current
    DESCRIPTION
	    "The ons15501 group of attributes provides the
	     voltage level of power supplies. It is available only
	     for DC series of ONS15501."
    ::= { ons15501MIBGroups 9 }


ons15501SysInfoGroup2 OBJECT-GROUP
    OBJECTS {
	      ons15501SysDevFlash1Image,
	      ons15501SysDevFlash2Image,
	      ons15501SysDevFlash3Image, 
	      ons15501SysSwDownload,
	      ons15501SysSwDownloadStatus,
	      ons15501SysConfiguredImage,
	      ons15501SysDevActiveImage,
	      ons15501SysAlarmStatus, 
	      ons15501PrimaryNTP, 
	      ons15501SecondaryNTP, 
	      ons15501NTPAdminStatus,
	      ons15501NTPOperationalStatus,
	      ons15501CLEICode, 
	      ons15501InRemoteInfoUpdateTime,
	      ons15501InRemoteChassisName,
	      ons15501InRemotePortName,
	      ons15501InRemoteAgentIpAddr,
	      ons15501OutRemoteInfoUpdateTime,
	      ons15501OutRemoteChassisName,
	      ons15501OutRemotePortName,
	      ons15501OutRemoteAgentIpAddr,
	      ons15501LastConfigChangeTime,
	      ons15501ActiveSoftwareVer,
	      ons15501SysDeviceManagerList,
	      ons15501SysDateAndTime
	    }
    STATUS  current
    DESCRIPTION
	    "The basic group defines objects which are common to all
	     Embedded Linux product series of Synchronous equipment."
    ::= { ons15501MIBGroups 10 }


END

