-- =================================================================
-- Copyright (C) 2008 by Hangzhou H3C Technologies Co., Ltd. All rights reserved.
--
-- Description: The purpose of this MIB is to provide the definition of
--              the DSP(Digital Signal Processing) status.
-- Reference:
-- Version: V1.1
-- History:
-- V1.0 2008-01-16 Initial version, created by Zhu Xinfeng
-- V1.1 2008-07-14 Add h3cVPMStateChange and h3cDSPStateChange by zhuxinfeng
-- =================================================================
A3COM-HUAWEI-DSP-MIB DEFINITIONS ::= BEGIN

IMPORTS
        h3cCommon
    FROM A3COM-HUAWEI-OID-MIB
        PhysicalIndex
    FROM ENTITY-MIB
        OBJECT-TYPE, MODULE-IDENTITY, NOTIFICATION-TYPE, Integer32, TimeTicks
    FROM SNMPv2-SMI;

h3cDSP MODULE-IDENTITY
    LAST-UPDATED "200801161300Z"
    ORGANIZATION
        "Hangzhou H3C Technologies Co., Ltd."
    CONTACT-INFO
        "PLAT Team Hangzhou H3C Technologies Co.,Ltd.
        Shang-Di Information Industry Base,
        Hai-Dian District Beijing P.R. China
        http://www.h3c.com
        Zip:100085"
    DESCRIPTION
        "This MIB is to provide the definition of the DSP(Digital Signal
        Processing) status."
    REVISION "200801161300Z"
    DESCRIPTION
        "The initial revision of this MIB module."
    ::= { h3cCommon 89 }

-- ===========================================================================
--                            h3cVPMStatusTable
--
-- ===========================================================================
h3cVPMStatusTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF H3cVPMStatusEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The table contains status parameters of VPM(Voice Process
        Module) card."
    ::= { h3cDSP 1 }


h3cVPMStatusEntry OBJECT-TYPE
    SYNTAX      H3cVPMStatusEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The entry of VPM status table."
    INDEX
        {
            h3cVPMIndex
        }
    ::= { h3cVPMStatusTable 1 }

H3cVPMStatusEntry ::= SEQUENCE
    {
        h3cVPMIndex                  Integer32,
        h3cVPMEnPhysicalIndex        PhysicalIndex,
        h3cVPMState                  INTEGER,
        h3cVPMResourceUtilization    Integer32,
        h3cVPMHiWaterUtilization     Integer32,
        h3cVPMMaxChannel             Integer32
    }

h3cVPMIndex OBJECT-TYPE
    SYNTAX      Integer32(1..64)
    MAX-ACCESS  accessible-for-notify
    STATUS      current
    DESCRIPTION
        "The index for this entry. The sequence of VPM card in the chassis is
        from the top to bottom."
    ::= { h3cVPMStatusEntry 1 }

h3cVPMEnPhysicalIndex OBJECT-TYPE
    SYNTAX      PhysicalIndex
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The object corresponds to PhysicalIndex in the chassis."
    ::= { h3cVPMStatusEntry 2 }

h3cVPMState OBJECT-TYPE
    SYNTAX      INTEGER
        {
            normal(1),
            warning(2),
            fatal(3),
            offLine(4)
        }
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The object indicates the current state of VPM card being monitored.
        normal(1)  - VPM card in normal condition.
        warning(2) - VPM card has some problem and need attention.
        fatal(3)   - VPM card is not functional.
        offLine(4) - VPM card is in off-line maintenance state."
    ::= { h3cVPMStatusEntry 3 }

h3cVPMResourceUtilization OBJECT-TYPE
    SYNTAX      Integer32(0..100)
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The object indicates the percentage of current DSP resource utilization
        of the VPM card. The utilization is a ratio of number of busy DSP
        resources (for handling calls, transcoding, voice compression,...)
        to the total available DSP resources."
    ::= { h3cVPMStatusEntry 4 }

h3cVPMHiWaterUtilization OBJECT-TYPE
    SYNTAX      Integer32(0..100)
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The object indicates the highest percentage of DSP resource utilization
        of the VPM card that have been occured."
    ::= { h3cVPMStatusEntry 5 }

h3cVPMMaxChannel OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The maximum number of channels can be supported in each VPM card."
    ::= { h3cVPMStatusEntry 6 }

-- ===========================================================================
--                            h3cDSPStatusTable
--
-- ===========================================================================
h3cDSPStatusTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF H3cDSPStatusEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The table contains status parameters of DSP(Digital Signal
        Processing) card."
    ::= { h3cDSP 2 }

h3cDSPStatusEntry OBJECT-TYPE
    SYNTAX      H3cDSPStatusEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The entry of DSP status table."
    INDEX
        {
            h3cDSPIndex
        }
    ::= { h3cDSPStatusTable 1 }

H3cDSPStatusEntry ::= SEQUENCE
    {
        h3cDSPIndex              Integer32,
        h3cDSPVPMIndex           Integer32,
        h3cDSPEnPhysicalIndex    PhysicalIndex,
        h3cDSPResetTime          TimeTicks,
        h3cDSPMaxChannel         Integer32,
        h3cDSPState              INTEGER,
        h3cDSPInUseChannel       Integer32
    }

h3cDSPIndex OBJECT-TYPE
    SYNTAX      Integer32(1..256)
    MAX-ACCESS  accessible-for-notify
    STATUS      current
    DESCRIPTION
        "The index for this entry. DSP is fixed on VPM card or chassis card.
        The sequence of DSP in the VPM card or chassis card is from right to left."
    ::= { h3cDSPStatusEntry 1 }

h3cDSPVPMIndex OBJECT-TYPE
    SYNTAX      Integer32(0..64)
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The object corresponds to VPMIndex in the chassis.
        If value of this object is non-zero, it is the index of VPM card.(DSP is in
        this VPM card.) If value of this object is 0, then the DSP is fixed in the
        chassis card."
    ::= { h3cDSPStatusEntry 2 }

h3cDSPEnPhysicalIndex OBJECT-TYPE
    SYNTAX      PhysicalIndex
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The object corresponds to PhysicalIndex in the chassis."
    ::= { h3cDSPStatusEntry 3 }

h3cDSPResetTime OBJECT-TYPE
    SYNTAX      TimeTicks
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The value of sysUpTime from the last DSP reset occurred."
    ::= { h3cDSPStatusEntry 4 }

h3cDSPMaxChannel OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The maximum number of channels can be supported in each DSP.
        The value is chosen in an implementation-dependent manner by the
        DSP functionality."
    ::= { h3cDSPStatusEntry 5 }

h3cDSPState OBJECT-TYPE
    SYNTAX      INTEGER
        {
            normal(1),
            fatal(3),
            offLine(4)
        }
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The object indicates the current state of DSP being monitored.
        normal(1)  - DSP in normal condition.
        fatal(3)   - DSP is not functional.
        offLine(4) - DSP is in off-line maintenance state."
    ::= { h3cDSPStatusEntry 6 }

h3cDSPInUseChannel OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The number of channels that are reserved for serving calls.
        The value is incremented when the DSP channel is reserved for call setup
        and is decremented after the DSP channel is free due to call disconnection."
    ::= { h3cDSPStatusEntry 7 }

-- ===========================================================================
--                            h3cTrapGroup
--
-- ===========================================================================
-- Traps are defined below.

h3cDSPTrap OBJECT IDENTIFIER ::= { h3cDSP 3 }

h3cDSPTrapPrex OBJECT IDENTIFIER ::= { h3cDSPTrap 0 }

h3cVPMStateChange NOTIFICATION-TYPE
    OBJECTS  { h3cVPMIndex, h3cVPMEnPhysicalIndex, h3cVPMState }
    STATUS   current
    DESCRIPTION
        "This trap is sent when VPM state changes."
    ::= { h3cDSPTrapPrex 1 }

h3cDSPStateChange NOTIFICATION-TYPE
    OBJECTS  { h3cDSPIndex, h3cDSPVPMIndex, h3cDSPEnPhysicalIndex, h3cDSPState }
    STATUS   current
    DESCRIPTION
        "This trap is sent when DSP state changes."
    ::= { h3cDSPTrapPrex 2 }

END
