--==============================================================================
-- Copyright (c) 2004-2014 Hangzhou H3C Tech. Co., Ltd. All rights reserved.
--
-- Description: PPP Over Sonet MIB
-- Reference:
-- Version: V1.5
-- History:
--  V1.0 2004-10-28 created by fuzhenyu
--  V1.1 2004-12-13 add notifications(9-13) under h3cPosMIBNotifications by fuzhenyu.
--  V1.2 2005-04-12 add h3cPosFlagJ0Type, h3cPosFlagJ1Type in h3cPosParamTable by zhaotingqi.
--  V1.3 2007-07-19 add h3cPosNormalAlarm in h3cPosMIBNotifications by chenfangchun
--  V1.4 2010-05-19 modified by Tong Wei for TCA (Threshold Crossing Alarms)
--                  add h3cPosB1TCAThreshold, h3cPosB2TCAThreshold, h3cPosB3TCAThreshold,
--                      h3cPosB1TCAEnable, h3cPosB2TCAEnable and h3cPosB3TCAEnable
--                      in h3cPosParamTable
--                  add h3cPosB1TCAlarm, h3cPosB2TCAlarm and h3cPosB3TCAlarm
--                      in h3cPosMIBNotifications
--  V1.5 2013-10-10 modify h3cPosEncapsulation and h3cPosMTU
--                  in h3cPosParamTable by chenzhouhui.  
--  V1.6 2016-09-09 modify h3cPosEncapsulation in h3cPosParamTable by zhengwei.
--==============================================================================
H3C-PPP-OVER-SONET-MIB DEFINITIONS ::= BEGIN

IMPORTS
        ifIndex, ifDescr
    FROM IF-MIB
        Counter64, Integer32, OBJECT-TYPE, MODULE-IDENTITY, NOTIFICATION-TYPE
    FROM SNMPv2-SMI
        DisplayString, TruthValue
    FROM SNMPv2-TC
        h3cCommon
    FROM HUAWEI-3COM-OID-MIB;

h3cPos MODULE-IDENTITY
    LAST-UPDATED "201609091700Z"        -- Sep 09, 2016  GMT
    ORGANIZATION
        "Hangzhou H3C Tech. Co., Ltd."
    CONTACT-INFO
        "Platform Team Hangzhou H3C Tech. Co., Ltd.
         Hai-Dian District Beijing P.R. China
         http://www.h3c.com
         Zip:100085"
    DESCRIPTION
        "This MIB manages POS(PPP Over Sonet)interfaces by providing
        an operational table which controls parameters of each POS
        interface and reports alarm conditions.
        "
    REVISION "201609091700Z"        -- Sep 09, 2016 at 17:00 GMT
    DESCRIPTION "Update the version of this MIB module"
    REVISION "201310101700Z"        -- Oct 10, 2013 at 17:00 GMT
    DESCRIPTION "Update the version of this MIB module"
    REVISION "201005191700Z"        -- May 19, 2010 at 17:00 GMT
    DESCRIPTION "Update the version of this MIB module"
    REVISION "200707191700Z"        -- Jul 19, 2007 at 17:00 GMT
    DESCRIPTION "The initial version of this MIB module"
    ::= { h3cCommon 19 }

h3cPosMIBObjects OBJECT IDENTIFIER ::= { h3cPos 1 }

h3cPosParamTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF H3cPosParamTableEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The pos parameter table."
    ::= { h3cPosMIBObjects 1 }

h3cPosParamTableEntry OBJECT-TYPE
    SYNTAX      H3cPosParamTableEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The entry of pos table."
    INDEX
        {
            ifIndex
        }
    ::= { h3cPosParamTable 1 }

H3cPosParamTableEntry ::= SEQUENCE
    {
        h3cPosCRC                 INTEGER,
        h3cPosMTU                 Integer32,
        h3cPosScramble            TruthValue,
        h3cPosClockSource         INTEGER,
        h3cPosSdhFlagJ0           DisplayString,
        h3cPosSdhFlagJ1           DisplayString,
        h3cPosSonetFlagJ0         Integer32,
        h3cPosSonetFlagJ1         DisplayString,
        h3cPosFlagC2              Integer32,
        h3cPosFrameType           INTEGER,
        h3cPosBindVlanId          Integer32,
        h3cPosEncapsulation       INTEGER,
        h3cPoskeepaliveTimeout    Integer32,
        h3cPosBERthresholdSF      Integer32,
        h3cPosBERthresholdSD      Integer32,
        h3cPosB1Error             Counter64,
        h3cPosB2Error             Counter64,
        h3cPosB3Error             Counter64,
        h3cPosM1Error             Counter64,
        h3cPosG1Error             Counter64,
        h3cPosFlagJ0Type          INTEGER,
        h3cPosFlagJ1Type          INTEGER,
        h3cPosB1TCAThreshold      Integer32,
        h3cPosB2TCAThreshold      Integer32,
        h3cPosB3TCAThreshold      Integer32,
        h3cPosB1TCAEnable         INTEGER,
        h3cPosB2TCAEnable         INTEGER,
        h3cPosB3TCAEnable         INTEGER
    }

h3cPosCRC OBJECT-TYPE
    SYNTAX      INTEGER{crc32(1),crc16(2)}
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The length of CRC"
    DEFVAL { crc32 }
    ::={ h3cPosParamTableEntry 1 }

h3cPosMTU OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "Maximum Transfer Unit (MTU) of POS interface"
    ::={ h3cPosParamTableEntry 2 }

h3cPosScramble OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "Scrambling is used to avoid continuous 0 or 1 in signals. This
        object is to decide whether to scramble or not"
    DEFVAL { true }
    ::={ h3cPosParamTableEntry 3 }

h3cPosClockSource OBJECT-TYPE
    SYNTAX      INTEGER{system(1),line(2)}
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The value indicates the source of clock signal. System indicates
        that clock signals are from device itself and line for clock signals
        from remote"
    DEFVAL { line }
    ::={ h3cPosParamTableEntry 4 }

h3cPosSdhFlagJ0 OBJECT-TYPE
    SYNTAX      DisplayString(SIZE(0..15))
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The section trace byte. This node is used when the frame type is sdh."
    ::={ h3cPosParamTableEntry 5 }

h3cPosSdhFlagJ1 OBJECT-TYPE
    SYNTAX      DisplayString(SIZE(0..15))
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The path trace byte. This node is used when the frame type is sdh."
    ::={ h3cPosParamTableEntry 6 }

h3cPosSonetFlagJ0 OBJECT-TYPE
    SYNTAX      Integer32(0..255)
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The section trace byte. This node is used when the frame type is sonet."
    ::={ h3cPosParamTableEntry 7 }

h3cPosSonetFlagJ1 OBJECT-TYPE
    SYNTAX      DisplayString(SIZE(0..62))
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The path trace byte. This node is used when the frame type is sonet."
    ::={ h3cPosParamTableEntry 8 }


h3cPosFlagC2 OBJECT-TYPE
    SYNTAX      Integer32(0..255)
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The parameter for the channel signal value of C2 byte"
    DEFVAL { 22 }
    ::={ h3cPosParamTableEntry 9 }

h3cPosFrameType OBJECT-TYPE
    SYNTAX      INTEGER{sdh(1),sonet(2)}
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The frame type that encapsulates the packet. Default frame type is
        sdh(Synchronous Digital Hierarchy) It also can be configured using
        sonet type(Synchronous Optical Network)."
    DEFVAL      { sdh }
    ::={ h3cPosParamTableEntry 10 }

h3cPosBindVlanId OBJECT-TYPE
    SYNTAX      Integer32(0..4095)
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The vlan that this pos port binds. The vlan can not include any other
        port, otherwise error will be returned. If the vlan has a virtual
        interface, the status of virtual interface will be up or down according
        to the link status or this pos."
    ::={ h3cPosParamTableEntry 11 }

h3cPosEncapsulation OBJECT-TYPE
    SYNTAX      INTEGER{ppp(1),hdlc(2),fr(3),mfr(4)}
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The type of encapsulation "
    DEFVAL      { ppp }
    ::={ h3cPosParamTableEntry 12 }

h3cPoskeepaliveTimeout OBJECT-TYPE
    SYNTAX      Integer32(0..32767)
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The keeplive of ppp, hdlc, fr or mfr. It is the query interval of link status. Two
        members of a link should have same keeplive. The default 0 prohibits
        detecting status of link."
    ::={ h3cPosParamTableEntry 13 }

h3cPosBERthresholdSF OBJECT-TYPE
    SYNTAX      Integer32(3..9)
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The bit-error rate threshold for Signal Fault. SF threshold should
        be greater than SD threshold."
    DEFVAL      { 3 }
    ::={ h3cPosParamTableEntry 14 }

h3cPosBERthresholdSD OBJECT-TYPE
    SYNTAX      Integer32(3..9)
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The bit-error rate threshold for Signal Degrade. SD threshold should
        be less than SF threshold."
    DEFVAL      { 6 }
    ::={ h3cPosParamTableEntry 15 }

h3cPosB1Error OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Counter for SBIPE(Section Bit Interleave Parity Error)"
    ::={ h3cPosParamTableEntry 16 }

h3cPosB2Error OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Counter for LBIPE(Line Bit Interleave Parity Error)"
    ::={ h3cPosParamTableEntry 17 }

h3cPosB3Error OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Counter for PBIPE(Path Bit Interleave Parity Error)"
    ::={ h3cPosParamTableEntry 18 }

h3cPosM1Error OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "How many times does LREI(Line Remote Error Indication) occur"
    ::={ h3cPosParamTableEntry 19 }

h3cPosG1Error OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "How many times does PREI(Path Remote Error Indication) occur"
    ::={ h3cPosParamTableEntry 20 }

h3cPosFlagJ0Type OBJECT-TYPE
    SYNTAX      INTEGER{sdh(1),sonet(2)}
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The frame type that encapsulates the flag J0. Default frame type is
        sdh(Synchronous Digital Hierarchy). It also can be configured using
        sonet(Synchronous Optical Network) type."
    DEFVAL      { sdh }
    ::={ h3cPosParamTableEntry 21 }

h3cPosFlagJ1Type OBJECT-TYPE
    SYNTAX      INTEGER{sdh(1),sonet(2)}
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The frame type that encapsulates the flag J1. Default frame type is
        sdh(Synchronous Digital Hierarchy). It also can be configured using
        sonet(Synchronous Optical Network) type."
    DEFVAL      { sdh }
    ::={ h3cPosParamTableEntry 22 }

h3cPosB1TCAThreshold OBJECT-TYPE
    SYNTAX  Integer32 (3..9)
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "Threshold for B1 TCA."
    DEFVAL { 6 }
    ::={ h3cPosParamTableEntry 23 }

h3cPosB2TCAThreshold OBJECT-TYPE
    SYNTAX  Integer32 (3..9)
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "Threshold for B2 TCA."
    DEFVAL { 6 }
    ::={ h3cPosParamTableEntry 24 }

h3cPosB3TCAThreshold OBJECT-TYPE
    SYNTAX  Integer32 (3..9)
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "Threshold for B3 TCA."
    DEFVAL { 6 }
    ::={ h3cPosParamTableEntry 25 }

h3cPosB1TCAEnable OBJECT-TYPE
    SYNTAX  INTEGER {
            enable(1),
            disable(2)
        }
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "Enable traps of B1 TCA."
    DEFVAL { enable }
    ::={ h3cPosParamTableEntry 26 }

h3cPosB2TCAEnable OBJECT-TYPE
    SYNTAX  INTEGER {
            enable(1),
            disable(2)
        }
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "Enable traps of B2 TCA."
    DEFVAL { enable }
    ::={ h3cPosParamTableEntry 27 }

h3cPosB3TCAEnable OBJECT-TYPE
    SYNTAX  INTEGER {
            enable(1),
            disable(2)
        }
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "Enable traps of B3 TCA."
    DEFVAL { enable }
    ::={ h3cPosParamTableEntry 28 }

h3cPosMIBNotificationsPrefix OBJECT IDENTIFIER ::= { h3cPos 2 }
h3cPosMIBNotifications OBJECT IDENTIFIER ::= { h3cPosMIBNotificationsPrefix 0 }

h3cPosLOSAlarm NOTIFICATION-TYPE
    OBJECTS
        {
            ifIndex
        }
    STATUS      current
    DESCRIPTION
        "Alarm indicates loss of signal"
    ::={ h3cPosMIBNotifications 1 }

h3cPosLOFAlarm NOTIFICATION-TYPE
    OBJECTS
        {
            ifIndex
        }
    STATUS      current
    DESCRIPTION
        "Alarm indicates loss of frame"
    ::={ h3cPosMIBNotifications 2 }

h3cPosOOFAlarm NOTIFICATION-TYPE
    OBJECTS
        {
            ifIndex
        }
    STATUS      current
    DESCRIPTION
        "Alarm indicates out of frame"
    ::={ h3cPosMIBNotifications 3 }

h3cPosLAISAlarm NOTIFICATION-TYPE
    OBJECTS
        {
            ifIndex
        }
    STATUS      current
    DESCRIPTION
        "Alarm when LAIS(Line  Alarm  Indication  Signal) arrives"
    ::={ h3cPosMIBNotifications 4 }

h3cPosLRDIAlarm NOTIFICATION-TYPE
    OBJECTS
        {
            ifIndex
        }
    STATUS      current
    DESCRIPTION
        "Alarm when LRDI(Line  Remote  Defect  Indication) arrives"
    ::={ h3cPosMIBNotifications 5 }

h3cPosPRDIAlarm NOTIFICATION-TYPE
    OBJECTS
        {
            ifIndex
        }
    STATUS      current
    DESCRIPTION
        "Alarm when PRDI(Path  Remote  Defect  Indication) arrives"
    ::={ h3cPosMIBNotifications 6 }

h3cPosPAISAlarm NOTIFICATION-TYPE
    OBJECTS
        {
            ifIndex
        }
    STATUS      current
    DESCRIPTION
        "Alarm when PAIS(Path  Alarm  Indication  Signal) arrives"
    ::={ h3cPosMIBNotifications 7 }

h3cPosLOPAlarm NOTIFICATION-TYPE
    OBJECTS
        {
            ifIndex
        }
    STATUS      current
    DESCRIPTION
        "Alarm indicates loss of pointer"
    ::={ h3cPosMIBNotifications 8 }

h3cPosSTIMAlarm NOTIFICATION-TYPE
    OBJECTS
        {
            ifIndex
        }
    STATUS      current
    DESCRIPTION
        "Alarm indicates inconsistency between sent and received J0 bytes."
    ::={ h3cPosMIBNotifications 9 }

h3cPosPTIMAlarm NOTIFICATION-TYPE
    OBJECTS
        {
            ifIndex
        }
    STATUS      current
    DESCRIPTION
        "Alarm indicates inconsistency between sent and received J1 bytes."
    ::={ h3cPosMIBNotifications 10 }

h3cPosPSLMAlarm NOTIFICATION-TYPE
    OBJECTS
        {
            ifIndex
        }
    STATUS      current
    DESCRIPTION
        "Alarm indicates a mismatched C2 byte."
    ::={ h3cPosMIBNotifications 11 }

h3cPosLSDAlarm NOTIFICATION-TYPE
    OBJECTS
        {
            ifIndex
        }
    STATUS      current
    DESCRIPTION
        "Alarm indicates that the B2 bit-error rate exceeds SD threshold."
    ::={ h3cPosMIBNotifications 12 }

h3cPosLSFAlarm NOTIFICATION-TYPE
    OBJECTS
        {
            ifIndex
        }
    STATUS      current
    DESCRIPTION
        "Alarm indicates that the B2 bit-error rate exceeds SF threshold."
    ::={ h3cPosMIBNotifications 13 }

h3cPosNormalAlarm NOTIFICATION-TYPE
    OBJECTS
        {
            ifIndex
        }
    STATUS      current
    DESCRIPTION
        "Alarm indicates that the Pos interface state returns normal."
    ::={ h3cPosMIBNotifications 14 }

h3cPosB1TCAlarm NOTIFICATION-TYPE
    OBJECTS { ifIndex, ifDescr }
    STATUS      current
    DESCRIPTION
        "Threshold crossing alarms for B1."
    ::={ h3cPosMIBNotifications 15 }

h3cPosB2TCAlarm NOTIFICATION-TYPE
    OBJECTS { ifIndex, ifDescr }
    STATUS      current
    DESCRIPTION
        "Threshold crossing alarms for B2."
    ::={ h3cPosMIBNotifications 16 }

h3cPosB3TCAlarm NOTIFICATION-TYPE
    OBJECTS { ifIndex, ifDescr }
    STATUS      current
    DESCRIPTION
        "Threshold crossing alarms for B3."
    ::={ h3cPosMIBNotifications 17 }

END
