--=============================================================================
-- Copyright (c) 2016 Fujitsu Network Communications, Inc. All Rights Reserved.
--=============================================================================

FSS-COMMON-LOG DEFINITIONS ::= BEGIN

IMPORTS
    MODULE-IDENTITY, OBJECT-TYPE, Unsigned32,
    NOTIFICATION-TYPE
        FROM SNMPv2-SMI
    DateAndTime, DisplayString, RowPointer
        FROM SNMPv2-TC
    MODULE-COMPLIANCE, OBJECT-GROUP, NOTIFICATION-GROUP
        FROM SNMPv2-CONF
    fssCommon
        FROM FSS-COMMON-SMI
    FCSeverity, FCCondEffect, FCServEffect, FCLocation,
    FCDirection, FCTimePeriod, FCCondType, FCTcaCondType,
    FCTcCondType, FCObjectName, FCTrapType, FCStdObjectIndex,
    FCStdTypeIndex, FCTrapHistIndex
        FROM FSS-COMMON-TC
    ; 

fssLog MODULE-IDENTITY
    LAST-UPDATED "201601200000Z"
    ORGANIZATION 
        "Fujitsu Network Communications, Inc."
    CONTACT-INFO 
        "Fujitsu Technical Assistance Center (FTAC),        
         1-800-USE-FTAC (1-800-873-3822)"
    DESCRIPTION
        "This MIB module contains common condition definitions
         used throughout the Fujitsu Network Communications, Inc.
         1Finity devices."
    ::= { fssCommon 1000 } -- See FSS-COMMON-SMI.mib

--=====================================================================--
-- The FSS-COMMON-LOG.mib provides an SNMP Manager the
-- capability to receive and synchronize extraordinary event
-- occurences on the agent system.  This MIB document provides
-- definitions for event notifications and active
-- conditions.
--
-- These MIB definitions are designed to be used as follows:
--
-- Initial Startup and Synchronization
-- ===================================
--     The Management system retrieves the contents of the
--     fssBase, fssStandingAlarmXTable and
--     fssTca, which provides a snapshot of
--     all of the currently active event conditions on
--     the agent system.


-- Runtime Monitoring
-- ==================
--     The Management system accepts Traps of type, fssCondTrap
--     and fssTcaTrap, which represent extraordinary events that
--     have occured on the agent system.
--=====================================================================--

--=====================================================================--
-- Local Textual Conventions
--=====================================================================--

--=====================================================================--
-- Base Level Objects
--=====================================================================--
fssBase         OBJECT IDENTIFIER ::= {fssCommon 500}

fssAlarm        OBJECT IDENTIFIER ::= {fssCommon 200}
fssAlarmCurrent OBJECT IDENTIFIER ::= {fssAlarm 1}
fssAlarmTraps   OBJECT IDENTIFIER ::= {fssAlarm 100}
fssAlarmPrefix  OBJECT IDENTIFIER ::= {fssAlarmTraps 0}

fssTca          OBJECT IDENTIFIER ::= {fssCommon 300}
fssTcaTraps     OBJECT IDENTIFIER ::= {fssTca 100}
fssTcaPrefix    OBJECT IDENTIFIER ::= {fssTcaTraps 0}

fssTc           OBJECT IDENTIFIER ::= {fssCommon 400}
fssTcTraps      OBJECT IDENTIFIER ::= {fssTc 100}
fssTcPrefix     OBJECT IDENTIFIER ::= {fssTcTraps 0}

--=====================================================================--
-- Common Condition Trap
--=====================================================================--

fssCondTrap  NOTIFICATION-TYPE
    OBJECTS { fssTrapObjectName,
              fssAlarmType,
              fssAlarmCondEffect,
              fssAlarmTypeQual,
              fssTrapTimeStamp,
              fssAlarmSeverity,
              fssTrapDescription,
              fssAlarmServiceEffect
            }
    STATUS      current
    DESCRIPTION
        "This is a generic Trap for reporting conditions."
    ::= { fssAlarmPrefix 1 }

--=====================================================================--
-- Common Condition Scalar Objects for Condition Trap
--=====================================================================--
fssCondQual OBJECT-TYPE
    SYNTAX      Unsigned32(0..4294967295)
    MAX-ACCESS  accessible-for-notify
    STATUS      current
    DESCRIPTION
        "A further description of the alarmType.  Each product may
         contain further qualifications on existing conditions or
         may have their own unique condition types."
    ::= { fssAlarmTraps 100 }

--=====================================================================--
-- Common TCA Condition Trap
--=====================================================================--

fssTcaTrap  NOTIFICATION-TYPE
    OBJECTS { fssTrapObjectName,
              fssTcaType,
              fssTcaTypeQual,
              fssTrapTimeStamp,
              fssTrapDescription,
              fssTcaMonVal,
              fssTcaThLev
            } 
    STATUS      current
    DESCRIPTION
        "This is a generic Trap for reporting threshold crossing alerts."
    ::= { fssTcaPrefix 1 }

--=====================================================================--
-- Common Condition Scalar Objects for TCA Trap
--=====================================================================--

fssTcaCondQual OBJECT-TYPE
    SYNTAX      Unsigned32(0..4294967295)
    MAX-ACCESS  accessible-for-notify
    STATUS      current
    DESCRIPTION
        "A further description of the tcaType.  Each product may
         contain further qualifications on existing conditions or
         may have their own unique condition types."
    ::= { fssTcaTraps 100 }

--=====================================================================--
-- Common Transient Condition (TC) Trap
--=====================================================================--

fssTcTrap  NOTIFICATION-TYPE
    OBJECTS { fssTrapObjectName,
              fssTcType,
              fssTcTypeQual,
              fssTrapTimeStamp,
              fssTrapDescription
            } 
    STATUS      current
    DESCRIPTION
        "This is a generic Trap for reporting transient conditions."
    ::= { fssTcPrefix 1 }

--=====================================================================--
-- Common Condition Scalar Objects for TC Trap
--=====================================================================--

fssTcCondQual OBJECT-TYPE
    SYNTAX      Unsigned32(0..4294967295)
    MAX-ACCESS  accessible-for-notify
    STATUS      current
    DESCRIPTION
        "A further description of the tcaType.  Each product may
         contain further qualifications on existing conditions or
         may have their own unique condition types."
    ::= { fssTcTraps 100 }

--=====================================================================--
-- Common Standing Alarm Extension Table
--=====================================================================--

fssStandingAlarmXTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF FCStandingAlarmXEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The table contains all the currently active 
         standing conditions."
    ::= { fssAlarmCurrent 1 }

fssStandingAlarmXEntry OBJECT-TYPE
    SYNTAX      FCStandingAlarmXEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "Active standing conditions entry."
    INDEX { fssStdAlarmObjectIndex, fssStdAlarmTypeIndex }
    ::= { fssStandingAlarmXTable 1 }

FCStandingAlarmXEntry ::=
    SEQUENCE {
        fssStdAlarmObjectIndex     FCStdObjectIndex,
        fssStdAlarmTypeIndex       FCStdTypeIndex,
        fssStdAlarmObjectName      FCObjectName,
        fssStdAlarmType            FCCondType,
        fssStdAlarmSeverity        FCSeverity,
        fssStdAlarmServEffect      FCServEffect,
        fssStdAlarmLocn            FCLocation,
        fssStdAlarmDir             FCDirection
    }

fssStdAlarmObjectIndex OBJECT-TYPE
    SYNTAX      FCStdObjectIndex
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A sequencial index, in combination with the fssStdAlarmTypeIndex
         uniquely identifies a Trap entry in the table."
    ::= { fssStandingAlarmXEntry 1 }

fssStdAlarmTypeIndex OBJECT-TYPE
    SYNTAX      FCStdTypeIndex
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A sequencial subindex, that sub-divides the fssStdAlarmObjectIndex
         and uniquely identifies a Trap entry in the table."
    ::= { fssStandingAlarmXEntry 2 }

fssStdAlarmObjectName OBJECT-TYPE
    SYNTAX      FCObjectName
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The name of the object."
    ::= { fssStandingAlarmXEntry 3 }

fssStdAlarmType OBJECT-TYPE
    SYNTAX      FCCondType
    MAX-ACCESS  read-only 
    STATUS      current
    DESCRIPTION
        "The condition type."
    ::= { fssStandingAlarmXEntry 4 }

fssStdAlarmSeverity OBJECT-TYPE
    SYNTAX      FCSeverity
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The severity of the condition."
    ::= { fssStandingAlarmXEntry 5 }

fssStdAlarmServEffect OBJECT-TYPE
    SYNTAX      FCServEffect
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The service effect of the standing condition event or transient condition event."
    ::= { fssStandingAlarmXEntry 6 }

fssStdAlarmLocn OBJECT-TYPE
    SYNTAX      FCLocation
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The Location of the alarm."
    ::= { fssStandingAlarmXEntry 7 }

fssStdAlarmDir OBJECT-TYPE
    SYNTAX      FCDirection
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The direction of the alarm."
    ::= { fssStandingAlarmXEntry 8 }

--=====================================================================--
-- Common Traps
--=====================================================================--

fssTrapObjectName OBJECT-TYPE
    SYNTAX      FCObjectName
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The name of the object generating the trap."
    ::= { fssBase 1 }

fssTrapDescription OBJECT-TYPE
    SYNTAX      DisplayString(SIZE(1..1024))
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The Trap description."
    ::= { fssBase 2 }

fssTrapType OBJECT-TYPE
    SYNTAX      FCTrapType
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The general type of Trap."
    ::= { fssBase 3 }

fssTrapTimeStamp OBJECT-TYPE
    SYNTAX      DisplayString(SIZE(0..80))
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "This object specifies the date and time the Trap was generated."
    ::= { fssBase 4 }

--=====================================================================--
-- Common Alarms
--=====================================================================--
	
fssAlarmType OBJECT-TYPE
    SYNTAX      FCCondType
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The condition type of Trap."
    ::= { fssAlarm 3 }

fssAlarmCondEffect OBJECT-TYPE
    SYNTAX      FCCondEffect
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The effect of the alarm, whether it is standing or transient."
    ::= { fssAlarm 4 }

fssAlarmTypeQual OBJECT-TYPE
    SYNTAX      DisplayString(SIZE(0..80))
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The Trap Qualifier. which is <directtion> <location>."
    ::= { fssAlarm 5 }

fssAlarmLocn OBJECT-TYPE
    SYNTAX      FCLocation
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The location of the Trap."
    ::= { fssAlarm 6 }

fssAlarmDir OBJECT-TYPE
    SYNTAX      FCDirection
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The direction of the Trap."
    ::= { fssAlarm 7 }

fssAlarmSeverity OBJECT-TYPE
    SYNTAX      FCSeverity
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The severity of the alarm."
    ::= { fssAlarm 8 }

fssAlarmServiceEffect OBJECT-TYPE
    SYNTAX      FCServEffect 
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Service affecting alarm. In general, SA is used
         when traffic is disrupted and NSA is used when
         the traffic is not disrupted."
    ::= { fssAlarm 9 }

--=====================================================================--
-- Common TCA scalar objects
--=====================================================================--

fssTcaType OBJECT-TYPE
    SYNTAX      FCTcaCondType
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The threshold crossing alert type."
    ::= { fssTca 1 }

fssTcaTypeQual OBJECT-TYPE
    SYNTAX      DisplayString(SIZE(0..80))
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The Trap Qualifier. which is <directtion> <location> <time-period>."
    ::= { fssTca 2 }

fssTcaCondEffect OBJECT-TYPE
    SYNTAX      FCCondEffect
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The effect of the alarm, whether it is standing or transient."
    ::= { fssTca 3 }

fssTcaLocn OBJECT-TYPE
    SYNTAX      FCLocation
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The location of the Trap."
    ::= { fssTca 4 }

fssTcaDir OBJECT-TYPE
    SYNTAX      FCDirection
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The direction of the Trap."
    ::= { fssTca 5 }

fssTcaMonVal OBJECT-TYPE
    SYNTAX      DisplayString(SIZE(0..40))
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The monitored value of the performance monitoring meter 
         which raised the threshold crossing alert."
    ::= { fssTca 6 }

fssTcaThLev OBJECT-TYPE
    SYNTAX      DisplayString(SIZE(0..40)) 
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The threshold value of the performance monitoring meter."
    ::= { fssTca 7 }

fssTcaTimePeriod OBJECT-TYPE
    SYNTAX      FCTimePeriod
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The time period of the performance monitoring meter
         which raised the threshold crossing alert."
    ::= { fssTca 8 }

--=====================================================================--
-- Common Transient Condition scalar objects
--=====================================================================--

fssTcType OBJECT-TYPE
    SYNTAX      FCTcCondType
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The threshold crossing alert type."
    ::= { fssTc 1 }

fssTcTypeQual OBJECT-TYPE
    SYNTAX      DisplayString(SIZE(0..80))
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The Trap Qualifier. which is <directtion> <location>."
    ::= { fssTc 2 }

--=====================================================================--
-- Conformance Objects                                                 --
--=====================================================================--
fssLogConformance OBJECT IDENTIFIER ::= { fssLog 100 }
fssLogGroups       OBJECT IDENTIFIER ::= { fssLogConformance 1 }
fssLogCompliances  OBJECT IDENTIFIER ::= { fssLogConformance 2 }

fssLogTrapCompliance MODULE-COMPLIANCE
    STATUS  current
    DESCRIPTION
        "The compliance statement for fss Common Log."
    MODULE  -- this module
        MANDATORY-GROUPS { fssLogTrapGroup,
                           fssLogNotificationGroup }
    GROUP       fssLogTrapGroup
    DESCRIPTION
        "This group is mandatory for those systems which require support
         for alarm surveillance in the form of SNMP Traps."
    ::= { fssLogCompliances 1 }


fssLogTrapGroup OBJECT-GROUP
    OBJECTS     { fssCondQual }
    STATUS      current
    DESCRIPTION
        "These objects contain Trap related information needed
         for correlating the Trap emission to the Trap history log
         and product specific Trap type."
    ::= { fssLogGroups 1 }

fssTcaLogTrapGroup OBJECT-GROUP
    OBJECTS     { fssTcaCondQual }
    STATUS      current
    DESCRIPTION
        "These objects contain Trap related information needed
         for correlating the product specific Trap type."
    ::= { fssLogGroups 2 }

fssLogNotificationGroup NOTIFICATION-GROUP
    NOTIFICATIONS { fssCondTrap }
    STATUS      current
    DESCRIPTION
        "These Traps represent the basic set of conditions and alarms
         within the Fujitsu Network Communications, Inc. System."
    ::= { fssLogGroups 100 }
    
fssTcaLogNotificationGroup NOTIFICATION-GROUP
    NOTIFICATIONS { fssTcaTrap }
    STATUS      current
    DESCRIPTION
        "These Traps represent the basic set of threshold crossing alert
         conditions within the Fujitsu Network Communications, Inc. System."
    ::= { fssLogGroups 101 }

fssTcLogNotificationGroup NOTIFICATION-GROUP
    NOTIFICATIONS { fssTcTrap }
    STATUS      current
    DESCRIPTION
        "These Traps represent the basic set of transient conditions and events
         within the Fujitsu Network Communications, Inc. System."
    ::= { fssLogGroups 102 }

fssLogStandingCompliance MODULE-COMPLIANCE
    STATUS  current
    DESCRIPTION
        "The compliance statement for fss Common Log MIB."
    MODULE  -- this module
        MANDATORY-GROUPS {fssLogAlarmStandingGroup }
    GROUP       fssLogAlarmStandingGroup
    DESCRIPTION
        "This group is mandatory for those systems which require support
         for alarm synchronization of all active SNMP Traps on the
         network element."
    ::= { fssLogCompliances 3 }

fssLogAlarmStandingGroup OBJECT-GROUP
    OBJECTS     { fssStdAlarmType,
                  fssStdAlarmSeverity,
                  fssStdAlarmServEffect }
    STATUS      current
    DESCRIPTION
        "This group contains the objects which provide basic system
         level information."
    ::= { fssLogGroups 7 }

END
