-- =============================================================
-- Copyright (c) 2004-2009 Hangzhou H3C Tech. Co., Ltd. All rights reserved.
--
-- Description:
-- Reference:  extension of RFC 1213 and RFC 2233
-- Version: V1.1
-- History:
--   V1.0 2004-12-01
--        Initial Version  by lizhiyong and fangmin
--   V1.1 2009-06-08 modified by TONGWEI
--        Added h3ce1Table and h3ce1InterfaceTable
-- =============================================================
H3C-E1-MIB DEFINITIONS ::= BEGIN

IMPORTS
        MODULE-IDENTITY,
        OBJECT-TYPE,
        Integer32,
        Counter32
                FROM SNMPv2-SMI
        TEXTUAL-CONVENTION
                FROM SNMPv2-TC
        MODULE-COMPLIANCE,
        OBJECT-GROUP
                FROM SNMPv2-CONF
        ifIndex
                FROM RFC1213-MIB
        h3cCommon
                FROM HUAWEI-3COM-OID-MIB;


-- =============================================================
-- E1 Module
-- =============================================================
h3cE1    MODULE-IDENTITY
        LAST-UPDATED "200906080000Z"
        ORGANIZATION
            "Hangzhou H3C Technologies Co., Ltd."
        CONTACT-INFO
            "Platform Team H3C Technologies Co., Ltd.
             Hai-Dian District Beijing P.R. China
             http://www.h3c.com
             Zip: 100085"
        DESCRIPTION
             "This MIB provides E1 interface information that are
             excluded by RFC 1213 and RFC 2233"
        REVISION        "200906081741Z"
        DESCRIPTION
                "To fix bugs in the MIB file."
        REVISION        "200412011436Z"
        DESCRIPTION
                "Initial version of this MIB module."
        ::= { h3cCommon 28 }


e1InterfaceStatusTable OBJECT-TYPE
        SYNTAX      SEQUENCE OF E1InterfaceStatusEntry
        MAX-ACCESS   not-accessible
        STATUS       current
        DESCRIPTION
         "This  table contains E1 interface packet statistics  "
        ::= { h3cE1 1 }

e1InterfaceStatusEntry OBJECT-TYPE
        SYNTAX         E1InterfaceStatusEntry
        MAX-ACCESS     not-accessible
        STATUS         current
        DESCRIPTION
         "This entry contains E1 interface packet statistics.
         The index of this Entry is ifIndex defined in ifTable
         of RFC1213-MIB"
        INDEX { ifIndex }
        ::= { e1InterfaceStatusTable 1 }

E1InterfaceStatusEntry ::= SEQUENCE  {
        e1InterfaceInErrs            Counter32,
        e1InterfaceInRuntsErrs       Counter32,
        e1InterfaceInGiantsErrs      Counter32,
        e1InterfaceInCrcErrs         Counter32,
        e1InterfaceInAlignErrs       Counter32,
        e1InterfaceInOverRunsErrs    Counter32,
        e1InterfaceInDribblesErrs    Counter32,
        e1InterfaceInAbortedSeqErrs  Counter32,
        e1InterfaceInNoBufferErrs    Counter32,
        e1InterfaceInFramingErrs     Counter32,
        e1InterfaceOutputErrs        Counter32,
        e1InterfaceOutUnderRunErrs   Counter32,
        e1InterfaceOutCollisonsErrs  Counter32,
        e1InterfaceOutDeferedErrs    Counter32
        }

e1InterfaceInErrs        OBJECT-TYPE
        SYNTAX          Counter32
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
         "The total number of error received on this interface"
        ::= { e1InterfaceStatusEntry 1 }

e1InterfaceInRuntsErrs   OBJECT-TYPE
        SYNTAX          Counter32
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
         "The number of Runts Error(too short packet) received on this interface"
        ::= { e1InterfaceStatusEntry 2 }

e1InterfaceInGiantsErrs OBJECT-TYPE
        SYNTAX          Counter32
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
         "The number of Giants Error(too long packet) received on this interface"
        ::= { e1InterfaceStatusEntry 3 }

e1InterfaceInCrcErrs     OBJECT-TYPE
        SYNTAX          Counter32
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
         "The number of CRC Error received on this interface"
        ::= { e1InterfaceStatusEntry 4 }

e1InterfaceInAlignErrs   OBJECT-TYPE
        SYNTAX          Counter32
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
         "The number of Align Error received on this interface"
        ::= { e1InterfaceStatusEntry 5 }

e1InterfaceInOverRunsErrs OBJECT-TYPE
        SYNTAX           Counter32
        MAX-ACCESS       read-only
        STATUS          current
        DESCRIPTION
         "The number of Over Runs Error received on this interface"
        ::= { e1InterfaceStatusEntry 6 }

e1InterfaceInDribblesErrs  OBJECT-TYPE
        SYNTAX            Counter32
        MAX-ACCESS        read-only
        STATUS            current
        DESCRIPTION
         "The number of dribble packets received"
        ::= { e1InterfaceStatusEntry 7 }

e1InterfaceInAbortedSeqErrs    OBJECT-TYPE
        SYNTAX                Counter32
        MAX-ACCESS            read-only
        STATUS                current
        DESCRIPTION
         "The number of AbortedSeq Error received on this interface"
        ::= { e1InterfaceStatusEntry 8 }

e1InterfaceInNoBufferErrs      OBJECT-TYPE
        SYNTAX                Counter32
        MAX-ACCESS            read-only
        STATUS                current
        DESCRIPTION
         "The number of Error (no buffer available)"
        ::= { e1InterfaceStatusEntry 9 }

e1InterfaceInFramingErrs      OBJECT-TYPE
        SYNTAX                Counter32
        MAX-ACCESS            read-only
        STATUS                current
        DESCRIPTION
         "The number of framing Errors"
        ::= { e1InterfaceStatusEntry 10 }

e1InterfaceOutputErrs          OBJECT-TYPE
        SYNTAX                Counter32
        MAX-ACCESS            read-only
        STATUS                current
        DESCRIPTION
         "The number of total Error transmited on this interface"
        ::= { e1InterfaceStatusEntry 11 }

e1InterfaceOutUnderRunErrs     OBJECT-TYPE
        SYNTAX                Counter32
        MAX-ACCESS            read-only
        STATUS                current
        DESCRIPTION
         "The number of UnderRun Error transmited on this interface"
        ::= { e1InterfaceStatusEntry 12 }

e1InterfaceOutCollisonsErrs    OBJECT-TYPE
        SYNTAX                Counter32
        MAX-ACCESS            read-only
        STATUS                current
        DESCRIPTION
         "The number of Collisions Error transmited on this interface"
        ::= { e1InterfaceStatusEntry 13 }

e1InterfaceOutDeferedErrs      OBJECT-TYPE
        SYNTAX                Counter32
        MAX-ACCESS            read-only
        STATUS                current
        DESCRIPTION
         "The number of Deferred Error transmited on this interface"
        ::= { e1InterfaceStatusEntry 14 }

h3ce1Table OBJECT-TYPE
        SYNTAX      SEQUENCE OF H3cE1Entry
        MAX-ACCESS   not-accessible
        STATUS       current
        DESCRIPTION
         "A list of E1 interface entries."
        ::= { h3cE1 2 }

h3ce1Entry OBJECT-TYPE
        SYNTAX         H3cE1Entry
        MAX-ACCESS     not-accessible
        STATUS         current
        DESCRIPTION
         "This entry contains E1 interface management information."
        INDEX { ifIndex }
        ::= { h3ce1Table 1 }

H3cE1TimeSlot ::= TEXTUAL-CONVENTION
        STATUS      current
        DESCRIPTION
            "Each octet within this value specifies a set of time
            slots, with the first octet specifying time slot 1 through
            8, the second octet specifying time slots 9 through 16, etc.
            Within each octet, the most significant bit represents
            the highest numbered time slot, and the least significant bit
            represents the lowest numbered time slot.  Thus, each time slot
            of the E1 is represented by a single bit within the
            value of this object.  If that bit has a value of '1'
            then that time slot is included in the set of time slots;
            the time slot is not included if its bit has a value of '0'."
        SYNTAX      OCTET STRING(SIZE (4))

H3cE1Entry ::= SEQUENCE  {
        h3ce1Type              BITS,
        h3ce1Clock             INTEGER,
        h3ce1FrameFormat       INTEGER,
        h3ce1LineCode          INTEGER,
        h3ce1PriSetTimeSlot    H3cE1TimeSlot,
        h3ce1DChannelIndex     Integer32,
        h3ce1SubScribLineChannelIndex Integer32
        }

h3ce1Type              OBJECT-TYPE
        SYNTAX  BITS {
                    voice(0)
                }
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
         "Specifies the type of the E1 interface."
        ::= { h3ce1Entry 1 }

h3ce1Clock             OBJECT-TYPE
        SYNTAX  INTEGER {
                    slave(1),
                    master(2)
                }
        MAX-ACCESS      read-write
        STATUS          current
        DESCRIPTION
         "Specifies the clock type used on the E1 interface."
        DEFVAL { slave }
        ::= { h3ce1Entry 2 }

h3ce1FrameFormat       OBJECT-TYPE
        SYNTAX   INTEGER {
                    crc4(1),
                    nocrc4(2)
                }
        MAX-ACCESS      read-write
        STATUS          current
        DESCRIPTION
         "Specifies the frame format used on the E1 interface."
        DEFVAL { crc4 }
        ::= { h3ce1Entry 3 }

h3ce1LineCode          OBJECT-TYPE
        SYNTAX  INTEGER {
                    ami(1),
                    hdb3(3)
                }
        MAX-ACCESS      read-write
        STATUS          current
        DESCRIPTION
         "Specifies the line code type used on the E1 interface."
        DEFVAL { hdb3 }
        ::= { h3ce1Entry 4 }

h3ce1PriSetTimeSlot    OBJECT-TYPE
        SYNTAX          H3cE1TimeSlot
        MAX-ACCESS      read-write
        STATUS          current
        DESCRIPTION
         "This is a bit-map of PRI time slots used on the E1 interface.
         It needs to administratively shut down the D channel of 
         the E1 interface before cancelling PRI time slots."
        ::= { h3ce1Entry 5 }

h3ce1DChannelIndex      OBJECT-TYPE
        SYNTAX                Integer32
        MAX-ACCESS            read-only
        STATUS                current
        DESCRIPTION
         "This is the ifIndex of the D channel of the E1 interface."
        ::= { h3ce1Entry 6 }

h3ce1SubScribLineChannelIndex      OBJECT-TYPE
        SYNTAX                Integer32
        MAX-ACCESS            read-only
        STATUS                current
        DESCRIPTION
         "This is the ifIndex of the subscriber-line channel of the E1
         interface."
        ::= { h3ce1Entry 7 }

h3ce1InterfaceTable OBJECT-TYPE
        SYNTAX      SEQUENCE OF H3cE1InterfaceEntry
        MAX-ACCESS   not-accessible
        STATUS       current
        DESCRIPTION
         "A list of channels of E1 interface entries.
         Including D channels and subscriber-line channels."
        ::= { h3cE1 3 }

h3ce1InterfaceEntry OBJECT-TYPE
        SYNTAX         H3cE1InterfaceEntry
        MAX-ACCESS     not-accessible
        STATUS         current
        DESCRIPTION
         "This entry contains channels of E1 interface management information.
         Including D channels and subscriber-line channels."
        INDEX { ifIndex }
        ::= { h3ce1InterfaceTable 1 }

H3cE1InterfaceEntry ::= SEQUENCE  {
        h3ce1ControllerIndex        Integer32
        }

h3ce1ControllerIndex      OBJECT-TYPE
        SYNTAX                Integer32
        MAX-ACCESS            read-only
        STATUS                current
        DESCRIPTION
         "Which E1 interface is this channel belonged to."
        ::= { h3ce1InterfaceEntry 1 }

END
