   CTRON-ENTITY-STATE-MIB DEFINITIONS ::= BEGIN

     IMPORTS
         MODULE-IDENTITY, OBJECT-TYPE, NOTIFICATION-TYPE, mib-2
             FROM SNMPv2-SMI
         DateAndTime
             FROM SNMPv2-TC
         MODULE-COMPLIANCE, OBJECT-GROUP, NOTIFICATION-GROUP
              FROM SNMPv2-CONF
         entPhysicalIndex
              FROM ENTITY-MIB
         EntityAdminState, EntityOperState, EntityUsageState,
         EntityAlarmStatus, EntityStandbyStatus
              FROM CTRON-ENTITY-STATE-TC-MIB
-- Place this MIB on CTRON experimental branch until it is an RFC.
         ctEntityStateMib
              FROM CTRON-MIB-NAMES;

     ctEntityStateMIB MODULE-IDENTITY
         LAST-UPDATED "200501230000Z"
         ORGANIZATION "IETF Entity MIB Working Group"
         CONTACT-INFO
                 " General Discussion: entmib@ietf.org
                  To Subscribe:
                    http://www.ietf.org/mailman/listinfo/entmib

                  http://www.ietf.org/html.charters/entmib-charter.html

                   Sharon Chisholm
                   Nortel Networks
                   PO Box 3511 Station C
                   Ottawa, Ont.  K1Y 4H7
                   Canada
                   schishol@nortelnetworks.com

                   David T. Perkins
                   548 Qualbrook Ct
                   San Jose, CA 95110
                   USA
                   Phone: 408 394-8702
                   dperkins@snmpinfo.com
                  "
         DESCRIPTION
                 "This MIB defines a state extension to the Entity MIB.

                Copyright (C) The Internet Society 2005.  This version
                of this MIB module is part of RFC yyyy;  see the RFC
                itself for full legal notices."
           -- RFC Ed.: replace yyyy with actual RFC number & remove
           -- this note
         REVISION    "200501230000Z"
         DESCRIPTION
             "Initial version, published as RFC YYYY."
            -- RFC-Editor assigns yyyy
--         ::= { mib-2 XX }  to be assigned by IANA
         ::= { ctEntityStateMib 1 }




     -- Entity State Objects

     ctEntStateObjects OBJECT IDENTIFIER ::= { ctEntityStateMIB 1 }

     ctEntStateTable OBJECT-TYPE
      SYNTAX      SEQUENCE OF CtEntStateEntry
      MAX-ACCESS  not-accessible
      STATUS      current
      DESCRIPTION
          "A table of information about state/status of entities.
           This is a sparse augment of the entPhysicalTable. Entries
           appear in this table for values of
           entPhysicalClass [RFC2737] that in this implementation
           are able to report any of the state or status stored in
           this table.
           "
      ::= { ctEntStateObjects 1 }


       ctEntStateEntry OBJECT-TYPE
          SYNTAX      CtEntStateEntry
          MAX-ACCESS  not-accessible
          STATUS      current
          DESCRIPTION
              "State information about this physical entity."
          INDEX       { entPhysicalIndex }
          ::= { ctEntStateTable 1 }

       CtEntStateEntry ::= SEQUENCE {
           ctEntStateLastChanged DateAndTime,
           ctEntStateAdmin       EntityAdminState,
           ctEntStateOper        EntityOperState,
           ctEntStateUsage       EntityUsageState,
           ctEntStateAlarm       EntityAlarmStatus,
           ctEntStateStandby     EntityStandbyStatus
          }

     ctEntStateLastChanged OBJECT-TYPE
      SYNTAX      DateAndTime
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
        "The value of this object is the date and
         time when the value of any of ctEntStateAdmin,
         ctEntStateOper, ctEntStateUsage, ctEntStateAlarm,
         or ctEntStateStandby changed for this entity.

        If there has been no change since
        the last re-initialization of the local system,
        this object contains the date and time of
        local system initialization. If there has been
        no change since the entity was added to the
        local system, this object contains the date and
        time of the insertion."
      ::= { ctEntStateEntry 1 }

   ctEntStateAdmin OBJECT-TYPE
          SYNTAX      EntityAdminState
          MAX-ACCESS  read-write
          STATUS      current
          DESCRIPTION
               "The administrative state for this entity.

                This object refers to an entities administrative
                permission to service both other entities within
                its containment hierarchy as well other users of
                its services defined by means outside the scope
                of this MIB.

                Setting this object to 'notSupported' will result
                in an 'inconsistentValue' error. For entities that
                do not support administrative state, all set
                operations will result in an 'inconsistentValue'
                error.

                Some physical entities exhibit only a subset of the
                remaining administrative state values. Some entities
                cannot be locked, and hence this object exhibits only
                the 'unlocked' state. Other entities can not be shutdown
                gracefully, and hence this object does not exhibit the
                'shuttingDown' state. A value of 'inconsistentValue'
                will be returned if attempts are made to set this
                object to values not supported by its administrative
                model."
          ::= { ctEntStateEntry 2 }

    ctEntStateOper OBJECT-TYPE
          SYNTAX      EntityOperState
          MAX-ACCESS  read-only
          STATUS      current
          DESCRIPTION
              "The operational state for this entity.

               Note that unlike the state model used within the
               Interfaces MIB [RFC2863], this object does not follow
               the administrative state. An administrative state of
               down does not predict an operational state
               of disabled.

               A value of 'testing' means that entity currently being
               tested and cannot there fore report whether it is
               operational or not.

               A value of 'disabled' means that an entity is totally
               inoperable and unable to provide service both to entities
               within its containment hierarchy, or to other receivers
               of its service as defined in ways outside the scope of
               this MIB.

               A value of 'enabled' means that an entity is fully or
               partially operable and able to provide service both to
               entities within its containment hierarchy, or to other
               receivers of its service as defined in ways outside the
               scope of this MIB.

               Note that some implementations may not be able to
               accurately report ctEntStateOper while the
               ctEntStateAdmin object has a value other than 'unlocked'.
               In these cases, this object MUST have a value
               of 'unknown'."
          ::= { ctEntStateEntry 3 }

    ctEntStateUsage OBJECT-TYPE
          SYNTAX      EntityUsageState
          MAX-ACCESS  read-only
          STATUS      current
          DESCRIPTION
               "The usage state for this entity.

               This object refers to an entity's ability to service more
               physical entities in a containment hierarchy. A value
               of 'idle' means this entity is able to contain other
               entities but that no other entity is currently
               contained within this entity.

               A value of 'active' means that at least one entity is
               contained within this entity, but that it could handle
               more. A value of 'busy' means that the entity is unable
               to handle any additional entities being contained in it.

               Some entities will exhibit only a subset of the
               usage state values. Entities that are unable to ever
               service any entities within a containment hierarchy will
               always have a usage state of 'busy'. Some entities will
               only ever be able to support one entity within its
               containment hierarchy and will therefore only exhibit
               values of 'idle' and 'busy'."
             ::= { ctEntStateEntry 4 }

    ctEntStateAlarm OBJECT-TYPE
          SYNTAX      EntityAlarmStatus
          MAX-ACCESS  read-only
          STATUS      current
          DESCRIPTION
               "The alarm status for this entity. It does not include
               the alarms raised on child components within its
               containment hierarchy.

               A value of 'unknown' means that this entity is
               unable to report alarm state. Note that this differs
               from 'indeterminate' which means that that alarm state
               is supported and there are alarms against this entity,
               but the severity of some of the alarms is not known

               If no bits are set, then this entity supports reporting
               of alarms, but there are currently no active alarms
               against this entity.
               "
          ::= { ctEntStateEntry 5 }

   ctEntStateStandby OBJECT-TYPE
          SYNTAX EntityStandbyStatus
          MAX-ACCESS read-only
          STATUS current
          DESCRIPTION
               "The standby status for this entity.

               Some entities will exhibit only a subset of the
               remaining standby state values. If this entity
               cannot operate in a standby role, the value of this
               object will always be 'providingService'."
     ::= { ctEntStateEntry 6 }

   -- Notifications
    ctEntStateNotifications OBJECT IDENTIFIER ::= { ctEntityStateMIB 0 }

   ctEntStateOperEnabled NOTIFICATION-TYPE
      OBJECTS { ctEntStateAdmin,
                ctEntStateAlarm
              }
      STATUS             current
      DESCRIPTION
              "An ctEntStateOperEnabled notification signifies that the
               SNMP entity, acting in an agent role, has detected that
               the ctEntStateOper object for one of its entities has
               transitioned into the 'enabled' state.


               The entity this notification refers can be identified by
               extracting the entPhysicalIndex from one of the
               variable bindings. The ctEntStateAdmin and ctEntStateAlarm
               varbinds may be examined to find out additional
               information on the administrative state at the time of
               the operation state change as well to find out whether
               there were any known alarms against the entity at that
               time that may explain why the physical entity has become
               operationally disabled."
     ::= { ctEntStateNotifications 1 }

   ctEntStateOperDisabled NOTIFICATION-TYPE
      OBJECTS { ctEntStateAdmin,
                ctEntStateAlarm }
      STATUS             current
      DESCRIPTION
              "An ctEntStateOperDisabled notification signifies that the
               SNMP entity, acting in an agent role, has detected that
               the ctEntStateOper object for one of its entities has
               transitioned into the 'disabled' state.

               The entity this notification refers can be identified by
               extracting the entPhysicalIndex from one of the
               variable bindings. The ctEntStateAdmin and ctEntStateAlarm
               varbinds may be examined to find out additional
               information on the administrative state at the time of
               the operation state change as well to find out whether
               there were any known alarms against the entity at that
               time that may have affect on the physical entity's
               ability to stay operationally enabled."
     ::= { ctEntStateNotifications 2 }

   -- Conformance and Compliance

   ctEntStateConformance OBJECT IDENTIFIER ::= { ctEntityStateMIB 2 }

   ctEntStateCompliances OBJECT IDENTIFIER
                     ::= { ctEntStateConformance 1 }

   ctEntStateCompliance MODULE-COMPLIANCE
         STATUS  current
         DESCRIPTION
             "The compliance statement for systems supporting
             the Entity State MIB."
         MODULE -- this module
             MANDATORY-GROUPS {
              ctEntStateGroup
             }
         GROUP       ctEntStateNotificationsGroup
            DESCRIPTION
                "This group is optional."
         OBJECT ctEntStateAdmin
          MIN-ACCESS  read-only
          DESCRIPTION
              "Write access is not required."
      ::= { ctEntStateCompliances 1 }

   ctEntStateGroups OBJECT IDENTIFIER ::= { ctEntStateConformance 2 }

   ctEntStateGroup OBJECT-GROUP
      OBJECTS {
              ctEntStateLastChanged,
              ctEntStateAdmin,
              ctEntStateOper,
              ctEntStateUsage,
              ctEntStateAlarm,
              ctEntStateStandby
              }
       STATUS   current
       DESCRIPTION
            "Standard Entity State group."
       ::= { ctEntStateGroups 1}

   ctEntStateNotificationsGroup NOTIFICATION-GROUP
      NOTIFICATIONS {
              ctEntStateOperEnabled,
              ctEntStateOperDisabled
              }
       STATUS   current
       DESCRIPTION
            "Standard Entity State Notification group."
       ::= { ctEntStateGroups 2}

   END
