LUM-CIRCUIT-MIB DEFINITIONS ::= BEGIN

IMPORTS
    MODULE-IDENTITY, OBJECT-TYPE, Unsigned32
        FROM SNMPv2-SMI
    OBJECT-GROUP, MODULE-COMPLIANCE
        FROM SNMPv2-CONF
    DateAndTime, DisplayString
        FROM SNMPv2-TC
    lumModules, lumCircuitMIB
        FROM LUM-REG
    FaultStatus, MgmtNameString
        FROM LUM-TC;

lumCircuitMIBModule MODULE-IDENTITY
    LAST-UPDATED 
        "200610130000Z" -- October 30th 2006
    ORGANIZATION 
        "Transmode Systems AB"
    CONTACT-INFO
        "support@transmode.se"
    DESCRIPTION
        "The circuit MIB.

        - General

        - Circuit status

        $Id: LUM-CIRCUIT-MIB.txt 2940 2007-08-29 09:05:09Z mac $

        //alias=circuit"
    REVISION        
        "200610130000Z" -- October 30th 2006
    DESCRIPTION
        "The initial revision of this module."
    ::= { lumModules 30 }


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

lumCircuitConfs OBJECT IDENTIFIER ::= { lumCircuitMIB 1 }
lumCircuitGroups OBJECT IDENTIFIER ::= { lumCircuitConfs 1 }
lumCircuitCompl OBJECT IDENTIFIER ::= { lumCircuitConfs 2 }


-- ----------------------------------------------------
-- Root for objects in the CIRCUIT MIB
-- ----------------------------------------------------

lumCircuitMIBObjects OBJECT IDENTIFIER ::= { lumCircuitMIB 2 }

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

circuitGeneral OBJECT IDENTIFIER ::= { lumCircuitMIBObjects 1 } -- //alias=general
circuitStatusList OBJECT IDENTIFIER ::= { lumCircuitMIBObjects 2 }

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

-- n/a

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

circuitGeneralConfigLastChangeTime OBJECT-TYPE
    SYNTAX      DateAndTime
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The time when the configuration of the MIB was 
        last changed. 

        //alias=configLastChange"
    ::= { circuitGeneral 1 }

circuitGeneralStateLastChangeTime OBJECT-TYPE
    SYNTAX      DateAndTime
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The time when the state of the MIB was last    
        changed. 

        //alias=stateLastChange"
    ::= { circuitGeneral 2 }

circuitGeneralStatusTableSize OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Size of table.

        //alias=statusTableSize
        //advanced=yes
        //tableSize='status'"
    ::= { circuitGeneral 3 }

-------------------------------------------------------
-- Circtuit status table
-- ----------------------------------------------------

circuitStatusTable  OBJECT-TYPE
    SYNTAX      SEQUENCE OF CircuitStatusEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The status list."
    ::= { circuitStatusList 1 }

circuitStatusEntry OBJECT-TYPE
    SYNTAX      CircuitStatusEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "An entry in the status list.

        //alias=status"    
    INDEX { circuitStatusIndex }
    ::= { circuitStatusTable 1 }

CircuitStatusEntry ::=
    SEQUENCE {
        circuitStatusIndex                   Unsigned32,
        circuitStatusName                    MgmtNameString,
	circuitStatusDescription	     DisplayString,
        circuitStatusAdminStatus             INTEGER,
        circuitStatusOperStatus              INTEGER,
        circuitStatusDown                    FaultStatus,
        circuitStatusDegraded                FaultStatus,
	circuitStatusIncomplete		     FaultStatus }

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

        //advanced=yes
        //longAlias='Index'
        //alias=index"
   ::= { circuitStatusEntry 1 }

circuitStatusName OBJECT-TYPE
    SYNTAX      MgmtNameString
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Name of circuit

        //longAlias='Name'
        //alias=name
        //table=yes" 
   ::= { circuitStatusEntry 2 }

circuitStatusDescription OBJECT-TYPE
    SYNTAX      DisplayString
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "User configurable description of circuit

        //longAlias='Description'
        //alias=descr" 
   ::= { circuitStatusEntry 3 }

circuitStatusAdminStatus  OBJECT-TYPE
    SYNTAX      INTEGER {
		    undefined (0),
                    inService (1),
                    maintenance (2),
                    notUsed (3) }
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Administrative status of the circuit.

        //longAlias='Admin. status'
        //alias=adminStatus
        //table=yes" 
   ::= { circuitStatusEntry 4 }

circuitStatusOperStatus  OBJECT-TYPE
    SYNTAX      INTEGER {
                    undefined (0),
		    incomplete (1),
		    down (2),
		    degraded (3),
                    up (4) }
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Operative status of the circuit.

        //longAlias='Oper. status'
        //alias=operStatus
        //table=yes" 
   ::= { circuitStatusEntry 5 }

circuitStatusIncomplete  OBJECT-TYPE
    SYNTAX      FaultStatus
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "tbd

        //longAlias='Incomplete'
        //alias=incomplete
        //alarmText='Circuit incomplete or undefined'
        //alarmCause=lossOfSignal
        //alarmType=communications
        //alarmRaiseDelay=2
        //alarmClearDelay=5
        //alarmSeverity=major
        //table=no" 
   ::= { circuitStatusEntry 6 }

circuitStatusDegraded  OBJECT-TYPE
    SYNTAX      FaultStatus
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "tbd

        //longAlias='Degraded'
        //alias=degraded
        //alarmText='Circuit degraded'
        //alarmCause=lossOfSignal
        //alarmType=communications
        //alarmRaiseDelay=2
        //alarmClearDelay=5
        //alarmSeverity=major
        //table=no" 
   ::= { circuitStatusEntry 7 }

circuitStatusDown  OBJECT-TYPE
    SYNTAX      FaultStatus
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "tbd.

        //longAlias='Down'
        //alias=down
        //alarmText='Circuit down'
        //alarmCause=lossOfSignal
        //alarmType=communications
        //alarmRaiseDelay=2
        //alarmClearDelay=5
        //alarmSeverity=critical
        //table=no" 
   ::= { circuitStatusEntry 8 }



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

circuitGeneralGroup OBJECT-GROUP
    OBJECTS {
        circuitGeneralConfigLastChangeTime,
        circuitGeneralStateLastChangeTime,
        circuitGeneralStatusTableSize }
    STATUS      current
    DESCRIPTION
        "The general objects."
    ::= { lumCircuitGroups 1 }

circuitStatusGroup OBJECT-GROUP
    OBJECTS {
        circuitStatusIndex,
        circuitStatusName,
        circuitStatusDescription,
        circuitStatusAdminStatus,
        circuitStatusOperStatus,
        circuitStatusDegraded,
        circuitStatusDown,
	circuitStatusIncomplete }
    STATUS      current
    DESCRIPTION
        "The general objects."
    ::= { lumCircuitGroups 2 }


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

lumCircuitBasicComplV1 MODULE-COMPLIANCE
    STATUS      current
    DESCRIPTION
        "Basic implementation requirements for the CIRCUIT MIB V1."
    MODULE
        MANDATORY-GROUPS {
            circuitGeneralGroup,
            circuitStatusGroup }
    ::= { lumCircuitCompl 1 }



END
