PDN-HEALTHANDSTATUS-MIB DEFINITIONS ::= BEGIN

IMPORTS
	DisplayString, ifIndex
		FROM RFC1213-MIB
	IpAddress
		FROM RFC1155-SMI
	OBJECT-TYPE
		FROM RFC-1212
     	pdn-devStatus
		FROM PDN-HEADER-MIB
        entPhysicalIndex
                FROM ENTITY-MIB
	TRAP-TYPE
		FROM RFC-1215;

-- ===============================================================
--
-- Device Health and Status
--
-- Version 1.8.0
-- Last Updated 11/18/2003

-- History:
-- 1.8.0 - Changed dup name devSelfTestResults
-- 1.7.0 - Updated by Rob Stainberger 05/26/00
-- 	 - moved devFailureStatus to devStatus 7
-- 1.6.0 - Updated by Dragana Gough, 03/08/2000
--	 - added deviceFailureStatus Display string
--	 - object 
-- 1.5.0 - Updated by Dragana Gough , 02/23/2000
--	 - Added deviceFailure, devicelfTestFailure and devStatusTrapEnable
-- 1.4.0 - Updated by Rob Steinberger, 11/10/98
--       - Added devLastTrapString for string Variable binding.
-- 1.3.0 - Added devAuthenicationFailureIpAddress for trap processing
-- 1.2.0 - Updated by Soklei Leong, 6/10/98
--       - Added devSNMPSetStatusTable for retrieving the status of a SNMP
--       - SET command when an error occurs.
-- 1.1.0 - Updated by Rocco Sansone, 8/22/97
--       - Added devAbortStatus object for retrieving the last abort code.
-- 1.0.0 - Created 1994.

devStatus       OBJECT IDENTIFIER ::= { pdn-devStatus 1 }

devHealthAndStatus OBJECT-TYPE
    SYNTAX  DisplayString (SIZE (0..255))
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
        "Health and Status of the device. Health & Status is 
        represented as a concatenation of health and status 
        message strings, where each message string is separated
        by a semi-colon. Refer to device-specific user documentation
        for a complete description of the Health and Status codes."
    ::= { devStatus 1 }

devSelfTestResults OBJECT-TYPE
    SYNTAX  DisplayString (SIZE (0..255))
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
        "Self-test results. Self-test (or power-up test) results
        summarizes the test results of each CCA, where each CCA test
        result is separated by a semi-colon. Refer to device-specific 
        user documentation for a complete description of the self test
        codes and messages."
    ::= { devStatus 2 }

devAbortStatus OBJECT-TYPE
    SYNTAX  DisplayString (SIZE (0..255))
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
        "Abort Status.  The devAbortStatus object is used to retrieve the 
	latest abort status that is stored in the agent.  The agent will 
	need to save the latest abort information in non-volatile memory
	so that it will be available immediately after a fatal reset.  
	How long the latest failure information is remembered after this point 
	is an implementation issue.  Refer to device-specific 
        user documentation for a complete description of the abort
        codes and/or messages."
    ::= { devStatus 3 }

devSNMPSetStatusTable OBJECT-TYPE
     SYNTAX   SEQUENCE OF DevSNMPSetStatusEntry
     ACCESS   not-accessible
     STATUS   mandatory
     DESCRIPTION
         "A table containing SNMP Set command Statuses when an error occurs.
          It contains maximum of 5 entries. Oldest entry is pushed out when
          the table is full and a new entry is added."
     ::= { devStatus 4 } 

devSNMPSetStatusEntry OBJECT-TYPE
         SYNTAX   DevSNMPSetStatusEntry
         ACCESS   not-accessible
         STATUS   mandatory
         DESCRIPTION
             "The information regarding each SNMP Set command Status when
              en error occurs. Each entry is index by a request ID generated
              by the client and attached to the UDP when the Set command is
              sent."
         INDEX { devSNMPSetReqId }
     ::= { devSNMPSetStatusTable 1 }  

DevSNMPSetStatusEntry ::=
    SEQUENCE {
        devSNMPSetReqId
            INTEGER,
        devSNMPSetStatus
            DisplayString
    }

devSNMPSetReqId OBJECT-TYPE
    SYNTAX   INTEGER
    ACCESS   read-only                                          
    STATUS   mandatory                                          
    DESCRIPTION                                                 
        "The Request ID which identifies the SNMP Set command in error."                                            
    ::= { devSNMPSetStatusEntry 1 }                                        

devSNMPSetStatus OBJECT-TYPE
    SYNTAX  DisplayString (SIZE (0..255))
    ACCESS  read-only
    STATUS  mandatory                                            
    DESCRIPTION                                                  
        "Indicates the error message string associated with the Set command 
         of this row in the table."
    ::= { devSNMPSetStatusEntry 2 }     

devAuthenticationFailureIpAddress OBJECT-TYPE
    SYNTAX  IpAddress
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
        "Authentication Failure Ip Address is used when a
         authenticationFailure trap is generated.  The single
         varbind represents the ip address causing the error.
         If the ip address is not known, 0.0.0.0 is used."
    ::= { devStatus 5 }

devLastTrapString OBJECT-TYPE
    SYNTAX  DisplayString (SIZE (0..255))
    ACCESS  read-only
    STATUS  mandatory                                            
    DESCRIPTION                                                  
        "This object contains a textual description of the last trap that
         was processed by the device.  The exact text in the description
         is device specific and should be contained user documentation
         outside of this MIB. It is recommended that the important 
         information is contained within the first 100 characters."
    ::= { devStatus 6 }     

devFailureStatus OBJECT-TYPE
    SYNTAX  DisplayString (SIZE (0..255))
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
	 " Device Failure status. Conditions that cause failure
	   are further described in the device documentation."
    ::= { devStatus 7 }

devStatusTrapEnable OBJECT-TYPE
     SYNTAX  INTEGER
     ACCESS  read-write
     STATUS  mandatory
     DESCRIPTION
	    " This object provides ability to enable or disable
	      individual enterprise traps. The object is bit map
	      represented as a sum. The bit positions are:
			1 deviceSelfTestFailure
			2 deviceFailure"
    ::= { devStatus 8 }

devSelfTestResultTable OBJECT-TYPE
     SYNTAX   SEQUENCE OF DevSelfTestResultEntry
     ACCESS   not-accessible
     STATUS   mandatory
     DESCRIPTION
         "A table containing results of power on selftest for the whole unit."
     ::= { devStatus 9 } 

devSelfTestResultEntry OBJECT-TYPE
         SYNTAX   DevSelfTestResultEntry
         ACCESS   not-accessible
         STATUS   mandatory
         DESCRIPTION
             "The information regarding each SelfTest on each unit."
         INDEX { entPhysicalIndex }
     ::= { devSelfTestResultTable 1 }  

DevSelfTestResultEntry ::=
    SEQUENCE {
        devSelfTestResult
            DisplayString 
    }

devSelfTestResult OBJECT-TYPE
    SYNTAX   DisplayString 
    ACCESS   read-only                                          
    STATUS   mandatory                                          
    DESCRIPTION                                                 
        "Self-test results. Self-test (or power-up test) results
        summarizes the test results of each interface, where each CCA test
        result is separated by a semi-colon. Refer to device-specific 
        user documentation for a complete description of the self test
        codes and messages."
    ::= { devSelfTestResultEntry 1 }                                        

devSelfTestFailure TRAP-TYPE
     ENTERPRISE  devStatus  
     VARIABLES { ifIndex, devSelfTestResults }
     DESCRIPTION
       "This trap signifies that the sending protocol's
        device has failed self test.
        The variable binding for this trap would be the selfTest
        devSelfTestResults object of the Health and Status MIB. The
        exact format of this display string will be well-documented
        in the Operational Specifications of the device."
    ::= 1 

deviceFailure TRAP-TYPE
     ENTERPRISE  devStatus  
     VARIABLES { ifIndex, devFailureStatus }
     DESCRIPTION
	" This trap signifies that the sending protocol's
	  device has failed and the failure was not a result
	  of a device test."
     ::= 2 
END
