-- =============================================================
-- Copyright (c) 2010-2013 Hewlett-Packard Development Company, L.P.
--
-- Description:
-- Reference: Extension of RFC 1213 and RFC 2233
-- Version: V1.3
-- History:
--   V1.0 2004-12-01
--        Initial Version  by lizhiyong and fangmin
--   V1.1 2009-06-08 modified by TONGWEI
--        Added hpnicfe1Table and hpnicfe1InterfaceTable
--   V1.2 2010-04-08 modified by Tong Wei
--        Modified hpnicfe1Table
--        Added hpnicfe1TimeSlotSetTable
--   V1.3 2012-07-16 modified SYNTAX of hpnicfe1Clock by shuaixiaojuan
-- =============================================================
HPN-ICF-E1-MIB DEFINITIONS ::= BEGIN

IMPORTS
        MODULE-IDENTITY,
        OBJECT-TYPE,
        Integer32,
        Counter32
                FROM SNMPv2-SMI
        TEXTUAL-CONVENTION, RowStatus
                FROM SNMPv2-TC
        MODULE-COMPLIANCE,
        OBJECT-GROUP
                FROM SNMPv2-CONF
        ifIndex
                FROM RFC1213-MIB
        hpnicfCommon
                FROM HPN-ICF-OID-MIB;


hpnicfE1  MODULE-IDENTITY
        LAST-UPDATED    "201207161741Z"
        ORGANIZATION
            ""
        CONTACT-INFO
            ""
        DESCRIPTION
             "This MIB provides E1 interface information that are
             excluded by RFC 1213 and RFC 2233"
        REVISION        "201207161741Z"
        DESCRIPTION
                "To fix bugs in the MIB file."
        REVISION        "201004081855Z"
        DESCRIPTION
                "To fix bugs in the MIB file."
        REVISION        "200906081741Z"
        DESCRIPTION
                "To fix bugs in the MIB file."
        REVISION        "200412011436Z"
        DESCRIPTION
                "Initial version of this MIB module."
        ::= { hpnicfCommon 28 }


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

hpnicfe1InterfaceStatusEntry OBJECT-TYPE
        SYNTAX         HpnicfE1InterfaceStatusEntry
        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 }
        ::= { hpnicfe1InterfaceStatusTable 1 }

HpnicfE1InterfaceStatusEntry ::= SEQUENCE  {
        hpnicfe1InterfaceInErrs            Counter32,
        hpnicfe1InterfaceInRuntsErrs       Counter32,
        hpnicfe1InterfaceInGiantsErrs      Counter32,
        hpnicfe1InterfaceInCrcErrs         Counter32,
        hpnicfe1InterfaceInAlignErrs       Counter32,
        hpnicfe1InterfaceInOverRunsErrs    Counter32,
        hpnicfe1InterfaceInDribblesErrs    Counter32,
        hpnicfe1InterfaceInAbortedSeqErrs  Counter32,
        hpnicfe1InterfaceInNoBufferErrs    Counter32,
        hpnicfe1InterfaceInFramingErrs     Counter32,
        hpnicfe1InterfaceOutputErrs        Counter32,
        hpnicfe1InterfaceOutUnderRunErrs   Counter32,
        hpnicfe1InterfaceOutCollisonsErrs  Counter32,
        hpnicfe1InterfaceOutDeferedErrs    Counter32
        }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

HpnicfE1TimeSlot ::= 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))

HpnicfE1Entry ::= SEQUENCE  {
        hpnicfe1Type              BITS,
        hpnicfe1Clock             INTEGER,
        hpnicfe1FrameFormat       INTEGER,
        hpnicfe1LineCode          INTEGER,
        hpnicfe1PriSetTimeSlot    HpnicfE1TimeSlot,
        hpnicfe1DChannelIndex     Integer32,
        hpnicfe1SubScribLineChannelIndex Integer32,
        hpnicfe1FcmChannelIndex Integer32
        }

hpnicfe1Type              OBJECT-TYPE
        SYNTAX  BITS {
                    voice(0),
                    pos(1)
                }
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
         "Specifies the type of the E1 interface.
          Now it supports types as follow:
          voice  voice type
          pos    POS type"
        ::= { hpnicfe1Entry 1 }

hpnicfe1Clock             OBJECT-TYPE
        SYNTAX  INTEGER {
                    slave(1),
                    master(2),
                    internal(3),
                    line(4),
                    linePri(5)
                }
        MAX-ACCESS      read-write
        STATUS          current
        DESCRIPTION
         "Specifies the clock type used on the E1 interface."
        ::= { hpnicfe1Entry 2 }

hpnicfe1FrameFormat       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 }
        ::= { hpnicfe1Entry 3 }

hpnicfe1LineCode          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 }
        ::= { hpnicfe1Entry 4 }

hpnicfe1PriSetTimeSlot    OBJECT-TYPE
        SYNTAX          HpnicfE1TimeSlot
        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."
        ::= { hpnicfe1Entry 5 }

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

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

hpnicfe1FcmChannelIndex      OBJECT-TYPE
        SYNTAX                Integer32
        MAX-ACCESS            read-only
        STATUS                current
        DESCRIPTION
         "This is the ifIndex of the FCM (Fast Connection Modem) channel
          of the E1 interface."
        ::= { hpnicfe1Entry 8 }

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

hpnicfe1InterfaceEntry OBJECT-TYPE
        SYNTAX         HpnicfE1InterfaceEntry
        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 }
        ::= { hpnicfe1InterfaceTable 1 }

HpnicfE1InterfaceEntry ::= SEQUENCE  {
        hpnicfe1ControllerIndex        Integer32
        }

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

hpnicfe1TimeSlotSetTable OBJECT-TYPE
        SYNTAX      SEQUENCE OF HpnicfE1TimeSlotSetEntry
        MAX-ACCESS   not-accessible
        STATUS       current
        DESCRIPTION
         "A list of time slot set information of E1 interface entries."
        ::= { hpnicfE1 4 }

hpnicfe1TimeSlotSetEntry OBJECT-TYPE
        SYNTAX         HpnicfE1TimeSlotSetEntry
        MAX-ACCESS     not-accessible
        STATUS         current
        DESCRIPTION
         "This entry contains time slot set information of E1 interface."
        INDEX { ifIndex }
        ::= { hpnicfe1TimeSlotSetTable 1 }

HpnicfE1TimeSlotSetEntry ::= SEQUENCE  {
        hpnicfe1TimeSlotSetGroupId     Integer32,
        hpnicfe1TimeSlotSetSignalType  INTEGER,
        hpnicfe1TimeSlotSetList        HpnicfE1TimeSlot,
        hpnicfe1TimeSlotSetRowStatus   RowStatus
        }

hpnicfe1TimeSlotSetGroupId             OBJECT-TYPE
        SYNTAX  Integer32(0..30)
        MAX-ACCESS      read-create
        STATUS          current
        DESCRIPTION
         "Group ID."
        ::= { hpnicfe1TimeSlotSetEntry 1 }

hpnicfe1TimeSlotSetSignalType       OBJECT-TYPE
        SYNTAX   INTEGER {
                    unkown(1),
                    em-delay(2),
                    em-immediate(3),
                    em-wink(4),
                    fxo-ground(5),
                    fxo-loop(6),
                    fxs-ground(7),
                    fxs-loop(8),
                    r2(9)
                }
        MAX-ACCESS      read-create
        STATUS          current
        DESCRIPTION
           "Signal type. Now it supports types as follow:
            unkown,      unkown
            em-delay     E&M Delay Dial
            em-immediate E&M Immediate Start
            em-wink      E&M Wink Start
            fxo-ground   FXO Ground Start
            fxo-loop     FXO Loop Start
            fxs-ground   FXS Ground Start
            fxs-loop     FXS Loop Start
            r2           R2 ITU Q421"
        ::= { hpnicfe1TimeSlotSetEntry 2 }

hpnicfe1TimeSlotSetList    OBJECT-TYPE
        SYNTAX          HpnicfE1TimeSlot
        MAX-ACCESS      read-create
        STATUS          current
        DESCRIPTION
         "Time slot bit map."
        ::= { hpnicfe1TimeSlotSetEntry 3 }

hpnicfe1TimeSlotSetRowStatus OBJECT-TYPE
        SYNTAX      RowStatus
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
         "Operation status."
        ::= { hpnicfe1TimeSlotSetEntry 4 }

END
