-- ===============================================================
-- Copyright (C) 2003 Paradyne Corporation.
-- ===============================================================

PDN-ENTITY-SENSOR-EXT-MIB DEFINITIONS ::= BEGIN

IMPORTS
    MODULE-IDENTITY, OBJECT-TYPE, NOTIFICATION-TYPE
        FROM SNMPv2-SMI
    OBJECT-GROUP, NOTIFICATION-GROUP, MODULE-COMPLIANCE
        FROM SNMPv2-CONF
    EntitySensorValue, entPhySensorEntry, entPhySensorValue
        FROM ENTITY-SENSOR-MIB
    pdn-common
        FROM PDN-HEADER-MIB;
        
pdnEntitySensorExtMIB MODULE-IDENTITY
    LAST-UPDATED "200306060000Z"  -- June 6, 2003
    ORGANIZATION "Paradyne Networks
                  MIB Working Group
                  Other information about group editing the MIB"
    CONTACT-INFO "Paradyne Networks, Inc.
                  8545 126th Avenue North
                  Largo, FL 33733
                  www.paradyne.com
        
                  General Comments to: mibwg_team@paradyne.com

                  Editors
                      Jesus Pinto  
                      Clay Sikes"

    DESCRIPTION
        "This MIB module is a supplement to the ENTITY-SENSOR-MIB,
         RFC 3433."

    REVISION "200306060000Z"  -- June 6, 2003
    DESCRIPTION "Removed pdnEntPhySensorExtIndex. This object was originally
                added to be one of the objects each notification. However,
                this is redundent in that each notification object has the
                index as part of its instance. So the object is not needed."        

    REVISION "200304240000Z"  -- April 24, 2003
    DESCRIPTION "Change the conformance/compliance section to be
                consistent with standard MIBs."

    REVISION "200304160000Z"  -- April 16, 2003
    DESCRIPTION "Initial release."


::=  { pdn-common 45 }

pdnEntitySensorExtNotifications OBJECT IDENTIFIER ::= { pdnEntitySensorExtMIB 0 }
pdnEntitySensorExtObjects       OBJECT IDENTIFIER ::= { pdnEntitySensorExtMIB 1 }
pdnEntitySensorExtAFNs          OBJECT IDENTIFIER ::= { pdnEntitySensorExtMIB 2 }
pdnEntitySensorExtConformance   OBJECT IDENTIFIER ::= { pdnEntitySensorExtMIB 3 }


-- =============================================================================
-- ==                  MIB Objects                                            ==
-- =============================================================================

pdnEntPhySensorExtTable     OBJECT-TYPE
    SYNTAX      SEQUENCE OF PdnEntPhySensorExtEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "This table extends the entPhySensorTable."
    ::= { pdnEntitySensorExtObjects 1 }

pdnEntPhySensorExtEntry     OBJECT-TYPE
    SYNTAX      PdnEntPhySensorExtEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "An extended entry in the entPhySensorTable."
    AUGMENTS     { entPhySensorEntry }
    ::= { pdnEntPhySensorExtTable 1 }

PdnEntPhySensorExtEntry ::=
    SEQUENCE {
        pdnEntPhySensorExtNotificationEnable            BITS,
        pdnEntPhySensorExtUpperThreshold                EntitySensorValue,
        pdnEntPhySensorExtLowerThreshold                EntitySensorValue,
        pdnEntPhySensorExtThresholdState                INTEGER
    }

pdnEntPhySensorExtNotificationEnable OBJECT-TYPE
    SYNTAX      BITS {
                    thresholdExceeded(0)
                }
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION "Provides that ability to enable and disable notifications
                relative to objects in this table.

                When this bit is set, pdnEntPhySensorExtThesholdExceededSet
                and pdnEntPhySensorExtThesholdExceededCleared notifications
                should be generated.

                When this bit is reset, pdnEntPhySensorExtThesholdExceededSet,
                and pdnEntPhySensorExtThesholdExceededCleared notifications
                should be not be generated."
    ::= { pdnEntPhySensorExtEntry 1 }

pdnEntPhySensorExtUpperThreshold OBJECT-TYPE
    SYNTAX      EntitySensorValue
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION "This object sets the upper limit of a sensor's threshold. When the
                value of entPhySensorValue becomes greater than the value of this
                object, an 'Upper Threshold Exceeded' state is entered."
    ::= { pdnEntPhySensorExtEntry 2 }

pdnEntPhySensorExtLowerThreshold OBJECT-TYPE
    SYNTAX      EntitySensorValue
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION "This object sets the lower limit of a sensor's threshold. When the
                value of entPhySensorValue becomes less than the value of this
                object, a 'Lower Threshold Exceeded' state is entered."
    ::= { pdnEntPhySensorExtEntry 3 }

pdnEntPhySensorExtThresholdState OBJECT-TYPE
    SYNTAX      INTEGER {
                    noThresholdsExceeded(1),
                    upperThresholdExceeded(2),
                    lowerThresholdExceeded(3) 
                }
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "This object returns the threshold state of the sensor."
    ::= { pdnEntPhySensorExtEntry 4 }



-- =============================================================================
-- ==                  Traps/Notifications                                    ==
-- =============================================================================

pdnEntPhySensorExtThresholdExceededSet NOTIFICATION-TYPE
    OBJECTS  {  
                entPhySensorValue,
                pdnEntPhySensorExtThresholdState
    }
    STATUS      current
    DESCRIPTION "This trap/notification signifies that a sensor value has 
                exceeded its threshold limit. i.e. its entPhySensorValue is
                greater than its pdnEntPhySensorExtUpperThreshold or less
                than its pdnEntPhySensorExtLowerThreshold."
    ::= { pdnEntitySensorExtNotifications 1 }

pdnEntPhySensorExtThresholdExceededCleared NOTIFICATION-TYPE
    OBJECTS  {  
                entPhySensorValue,
                pdnEntPhySensorExtThresholdState
    }
    STATUS      current
    DESCRIPTION "This trap/notification signifies that a sensor value that had
                exceeded its threshold limit, is now operating with in its
                threshold limits. i.e. its entPhySensorValue is
                less than or equal to its pdnEntPhySensorExtUpperThreshold and 
                greater than or equal to its pdnEntPhySensorExtLowerThreshold."
    ::= { pdnEntitySensorExtNotifications 100 }



-- =============================================================================
-- ==                  Conformance Information                                ==
-- =============================================================================

pdnEntitySensorExtCompliances  OBJECT IDENTIFIER ::= { pdnEntitySensorExtConformance 1 }
pdnEntitySensorExtGroups       OBJECT IDENTIFIER ::= { pdnEntitySensorExtConformance 2 }


-- ===========================
-- == Compliance Statements ==
-- ===========================


pdnEntitySensorExtMIBCompliance MODULE-COMPLIANCE
    STATUS      current
    DESCRIPTION "The compliance statement for pdnEntitySensorExt entities which
                implement the pdnEntitySensorExtMIB."
    MODULE      -- this module
    -- No mandatory groups are specified

    GROUP       pdnEntitySensorExtThresholdGroup
    DESCRIPTION "This group is mandatory only for those entities which
                implement setting and reporting of thresholds."

    GROUP       pdnEntitySensorExtThresholdNtfyGroup
    DESCRIPTION "This group is mandatory only for those entities which
                implement traps for thresholds being exceeded."

    OBJECT      pdnEntPhySensorExtNotificationEnable
    MIN-ACCESS  read-only
    DESCRIPTION "In some implementations, for some sensors, it may not be 
                allowable to enable/disable the notification."

    OBJECT      pdnEntPhySensorExtUpperThreshold
    MIN-ACCESS  read-only
    DESCRIPTION "In some implementations, sensor thresholds may not be
                configurable may the user. Specific hardware implementations
                may dictate thresholds. In these cases, the object can be
                supported as read-only access."

    OBJECT      pdnEntPhySensorExtLowerThreshold
    MIN-ACCESS  read-only
    DESCRIPTION "In some implementations, sensor thresholds may not be
                configurable may the user. Specific hardware implementations
                may dictate thresholds. In these cases, the object can be
                supported as read-only access."

    ::= { pdnEntitySensorExtCompliances 1 }


-- ==========================
-- == Units of Conformance ==
-- ==========================

pdnEntitySensorExtObjGroups   OBJECT IDENTIFIER ::= { pdnEntitySensorExtGroups 1 }
pdnEntitySensorExtAfnGroups   OBJECT IDENTIFIER ::= { pdnEntitySensorExtGroups 2 }
pdnEntitySensorExtNtfyGroups  OBJECT IDENTIFIER ::= { pdnEntitySensorExtGroups 3 }

-- ===================
-- == Object Groups ==
-- ===================

pdnEntitySensorExtThresholdGroup OBJECT-GROUP
    OBJECTS {
                     pdnEntPhySensorExtNotificationEnable,
                     pdnEntPhySensorExtUpperThreshold, 
                     pdnEntPhySensorExtLowerThreshold,
                     pdnEntPhySensorExtThresholdState
    }
    STATUS      current
    DESCRIPTION "A collection of objects for setting and reporting thresholds."
    ::= { pdnEntitySensorExtObjGroups  1 }



-- =========================
-- == Notification Groups ==
-- =========================

pdnEntitySensorExtThresholdNtfyGroup NOTIFICATION-GROUP
    NOTIFICATIONS {
                     pdnEntPhySensorExtThresholdExceededSet, 
                     pdnEntPhySensorExtThresholdExceededCleared         
    }
    STATUS      current
    DESCRIPTION "Notifications relative to thresholds going out of or in to
                specification."
    ::= { pdnEntitySensorExtNtfyGroups  1 }



-- =========
-- == END ==
-- =========
END
