LUM-SITE-MIB DEFINITIONS ::= BEGIN

IMPORTS
    MODULE-IDENTITY, OBJECT-TYPE, Unsigned32
        FROM SNMPv2-SMI
    OBJECT-GROUP, MODULE-COMPLIANCE
        FROM SNMPv2-CONF
    DisplayString, DateAndTime
        FROM SNMPv2-TC
    lumModules, lumSiteMIB
        FROM LUM-REG
    FaultStatus
        FROM LUM-TC
    AlarmPerceivedSeverity
        FROM LUM-ALARM-MIB;

lumSiteMIBModule MODULE-IDENTITY
    LAST-UPDATED
        "201112200000Z" -- December 20th 2011
    ORGANIZATION
        "Transmode Systems AB"
    CONTACT-INFO
        "tac@transmode.com"
    DESCRIPTION
        "The MIB module for management of customer site properties.

         The tables contained in this MIB are:

         (1) The General group contains some general attributes as timestamps
            and tables sizes.

         (2) The External Alarm table contains configuration for External Alarm inputs.

"
    REVISION
        "201112200000Z" -- December 20th 2011
    DESCRIPTION
        "The initial revision of this module."
    ::= { lumModules 42 }


-- ----------------------------------------------------
-- Conformance area, containing groups and complicance
-- specifications.
-- ----------------------------------------------------

lumSiteConfs OBJECT IDENTIFIER ::= { lumSiteMIB 1 }
lumSiteGroups OBJECT IDENTIFIER ::= { lumSiteConfs 1 }
lumSiteCompl OBJECT IDENTIFIER ::= { lumSiteConfs 2 }


-- ----------------------------------------------------
-- Root for objects in the Site MIB
-- ----------------------------------------------------

lumSiteMIBObjects OBJECT IDENTIFIER ::= { lumSiteMIB 2 }


-- ----------------------------------------------------
-- This MIB contains the following groups:
-- ----------------------------------------------------

siteGeneral OBJECT IDENTIFIER ::= { lumSiteMIBObjects 1 } 
siteExtAlarmList OBJECT IDENTIFIER ::= { lumSiteMIBObjects 2 }

-- ----------------------------------------------------
-- Textual Conventions
-- ----------------------------------------------------



-- ----------------------------------------------------
-- General group
-- ----------------------------------------------------

siteGeneralLastChangeTime OBJECT-TYPE
    SYNTAX      DateAndTime
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The time when the configuration of the MIB was
        last changed.
"
    ::= { siteGeneral 1 }

siteGeneralStateLastChangeTime OBJECT-TYPE
    SYNTAX      DateAndTime
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The time when the state of the MIB was last
        changed.
"
    ::= { siteGeneral 2 }

siteGeneralExtAlarmTableSize OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Number of entries in External Alarms table
"
    ::= { siteGeneral 3 }


-- ----------------------------------------------------
-- External Alarm table
-- ----------------------------------------------------

siteExtAlarmTable  OBJECT-TYPE
    SYNTAX      SEQUENCE OF SiteExtAlarmEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "This table handles configuration and alarm status for all
        External Alarms in the system. One entry in this table
        represents a single External Alarm logical input. Entries are
        automatically created in this table when configuration for
        hardware with External Alarm input(s) are added to the system and
        automatically deleted when such hardware is removed from
        configuration."
    ::= { siteExtAlarmList 1 }

siteExtAlarmEntry OBJECT-TYPE
    SYNTAX      SiteExtAlarmEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "An entry in the External Alarm table.
         Each entry represents a logical External Alarm input.

"
    INDEX { siteExtAlarmIndex }
    ::= { siteExtAlarmTable 1 }

SiteExtAlarmEntry ::=
    SEQUENCE {
        siteExtAlarmIndex               Unsigned32,
        siteExtAlarmName                DisplayString,
        siteExtAlarmAdminStatus         INTEGER,
        siteExtAlarmLevel               INTEGER,
        siteExtAlarmSeverity            AlarmPerceivedSeverity,
        siteExtAlarmText                DisplayString,
        siteExtAlarmActive              FaultStatus }

siteExtAlarmIndex OBJECT-TYPE
    SYNTAX      Unsigned32 (1..2147483647)
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "An arbitrary index assigned to each External Alarm entry.

"
    ::= { siteExtAlarmEntry 1 }

siteExtAlarmName OBJECT-TYPE
    SYNTAX      DisplayString (SIZE (0..128))
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The name of the External Alarm, e.g. 'extalarm:1:1:2'.

        The first number indicates the subrack where the physical
        External Alarm connector is located.

        The second number indicates the slot where the physical
        External Alarm connector is located.

        The third number is identifies the logical
        External Alarm input represented by this entry.

"
    ::= { siteExtAlarmEntry 2 }

siteExtAlarmAdminStatus OBJECT-TYPE
    SYNTAX      INTEGER {
                    down (1),
                    up (2) }
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The administrative state of the External Alarm.

        down - The external alarm is not in use.
               Suppresses alarm propagation.

        up - The external alarm is in use.

"
    DEFVAL { up }
    ::= { siteExtAlarmEntry 3 }

siteExtAlarmLevel OBJECT-TYPE
    SYNTAX      INTEGER { activeHigh (1),
                          activeLow (2) }
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "'Active' level of this alarm:

        activeHigh      Alarm is activated by a high input signal level.

        activeLow       Alarm is activated by a low input signal level.

"
    DEFVAL { 1 }
    ::= { siteExtAlarmEntry 4 }

siteExtAlarmSeverity OBJECT-TYPE
    SYNTAX      AlarmPerceivedSeverity
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The severity of this alarm.

"
    DEFVAL { warning }
    ::= { siteExtAlarmEntry 5 }


siteExtAlarmText OBJECT-TYPE
    SYNTAX      DisplayString (SIZE (0..128))
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The alarm text associated with this alarm. The alarm text
        is displayed in alarm lists and logs.

"
    ::= { siteExtAlarmEntry 6 }


siteExtAlarmActive OBJECT-TYPE
    SYNTAX      FaultStatus
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The external alarm is active according to active high or low
        setting configured by the 'Level' attribute.

        Activation: Active HW indication.

        De-activation: Inactive HW indication.

"
    ::= { siteExtAlarmEntry 7 }

-- ----------------------------------------------------
-- Notifications
-- ----------------------------------------------------


-- ----------------------------------------------------
-- Object and event groups
-- ----------------------------------------------------

siteGeneralGroupV1 OBJECT-GROUP
    OBJECTS {
        siteGeneralLastChangeTime,
        siteGeneralStateLastChangeTime,
        siteGeneralExtAlarmTableSize}
    STATUS      current
    DESCRIPTION
        "The general objects."
    ::= { lumSiteGroups 1 }

siteExtAlarmGroupV1 OBJECT-GROUP
    OBJECTS {
        siteExtAlarmIndex,
        siteExtAlarmName,
        siteExtAlarmAdminStatus,
        siteExtAlarmLevel,
        siteExtAlarmSeverity,
        siteExtAlarmText,
        siteExtAlarmActive }
    STATUS      current
    DESCRIPTION
        "The External Alarm objects. (18.0)"
    ::= { lumSiteGroups 2 }

-- ----------------------------------------------------
-- Compliance
-- ----------------------------------------------------

lumSiteBasicComplV1 MODULE-COMPLIANCE
    STATUS      current
    DESCRIPTION
        "Basic implementation requirements for the Site MIB. (R18.0)"
    MODULE
        MANDATORY-GROUPS {
            siteGeneralGroupV1,
            siteExtAlarmGroupV1 }
    ::= { lumSiteCompl 1 }

END

