-- ==================================================================
-- Copyright (C) 2009 by H3C Technologies. All rights reserved.
--
-- Description: H3C Enterprise MIB
-- Reference:
-- Version: V1.3
-- History:
-- V1.0 Created by luoqiang01280, 2004.06.08
-- V1.1 2004-10-12 updated by gaolong
--      Import TEXTUAL-CONVENTION.
-- V1.2 2004-12-7 add h3cvoiceVlanPortTable by liaoyuxia.
-- V1.3 2009-5-15 add h3cVoiceVlanPortLegacy and h3cVoiceVlanPortQosTrust
--                by zhangqingjun.
-- ==================================================================
-- ==================================================================
--
-- Varibles and types be imported
--
-- ==================================================================
A3COM-HUAWEI-VOICE-VLAN-MIB DEFINITIONS ::= BEGIN

IMPORTS
    h3cCommon
        FROM A3COM-HUAWEI-OID-MIB
    RowStatus, TruthValue, MacAddress, TEXTUAL-CONVENTION
        FROM SNMPv2-TC
    MODULE-IDENTITY, OBJECT-TYPE, Integer32
        FROM SNMPv2-SMI
    SnmpAdminString
        FROM SNMP-FRAMEWORK-MIB;

    h3cVoiceVlan MODULE-IDENTITY

    LAST-UPDATED     "200905150000Z"        -- May 15, 2009 at 00:00 GMT
    ORGANIZATION
            "H3C Tech, Inc."
    CONTACT-INFO
            "Platform Team Beijing Institute H3C Tech, Inc."
    DESCRIPTION
            "This MIB contains objects to manage the voice vlan operations, which is used on
            lanswitch products. "
    REVISION "200905150000Z"
    DESCRIPTION
        "To fix bugs in the MIB file."
    REVISION "200207010000Z"
    DESCRIPTION
    "The initial revision of this MIB module."
        ::= { h3cCommon 9 }

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

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

-- ==================================================================
--
-- ======================= definition begin =========================
--
-- ==================================================================

    h3cvoiceVlanOuiTable OBJECT-TYPE
        SYNTAX  SEQUENCE OF H3cVoiceVlanOuiEntry
        MAX-ACCESS not-accessible
        STATUS   current
        DESCRIPTION " A table containing the mac address which can be identified by voice vlan "
        ::= { h3cVoiceVlan  1  }

    h3cvoiceVlanOuiEntry OBJECT-TYPE
        SYNTAX  H3cVoiceVlanOuiEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION " A table containing the mac address which can be identified by voice vlan "
                INDEX   { h3cVoiceVlanOuiAddress }
                ::= {h3cvoiceVlanOuiTable 1}

    H3cVoiceVlanOuiEntry    ::=
    SEQUENCE {
        h3cVoiceVlanOuiAddress    MacAddress  ,
        h3cVoiceVlanOuiMask    MacAddress  ,
        h3cVoiceVlanOuiDescription    OCTET STRING  ,
        h3cVoiceVlanOuiRowStatus      RowStatus
        }

    h3cVoiceVlanOuiAddress OBJECT-TYPE
        SYNTAX  MacAddress
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION " Mac address can be identified by voice vlan "
        ::= { h3cvoiceVlanOuiEntry 1 }

    h3cVoiceVlanOuiMask OBJECT-TYPE
        SYNTAX  MacAddress
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION " The mask of mac address "
        ::= { h3cvoiceVlanOuiEntry 2 }

    h3cVoiceVlanOuiDescription OBJECT-TYPE
        SYNTAX  OCTET STRING (SIZE(0..30))
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION " The description of oui "
        ::= { h3cvoiceVlanOuiEntry 3 }

    h3cVoiceVlanOuiRowStatus OBJECT-TYPE
        SYNTAX  RowStatus
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION " Current operation status of the row  "
        ::= { h3cvoiceVlanOuiEntry 4 }

    h3cVoiceVlanEnabledId  OBJECT-TYPE
        SYNTAX  INTEGER
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION " Voice vlan enable status: enabled (2..4095), disabled (0xffffffff) "
        ::= { h3cVoiceVlan 2 }

    h3cVoiceVlanPortEnableList  OBJECT-TYPE
        SYNTAX  PortList
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION " Portlist of voice vlan enabled ports "
        ::= { h3cVoiceVlan 3 }

    h3cVoiceVlanAgingTime  OBJECT-TYPE
        SYNTAX  INTEGER (5..43200)
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION " Voice vlan aging time, the unit of which is minute"
        DEFVAL { 1440 }
        ::= { h3cVoiceVlan  4 }

    h3cVoiceVlanConfigState  OBJECT-TYPE
        SYNTAX  INTEGER
        {
        auto (1),
        manual (2)
        }
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION " Voice vlan configuration mode status "
        ::= { h3cVoiceVlan 5 }

    h3cVoiceVlanSecurityState  OBJECT-TYPE
        SYNTAX  INTEGER
        {
        security (1),
        normal (2)
        }
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION " Voice vlan security mode status "
        ::= { h3cVoiceVlan 6 }

    h3cvoiceVlanPortTable OBJECT-TYPE
        SYNTAX  SEQUENCE OF H3cVoiceVlanPortEntry
        MAX-ACCESS not-accessible
        STATUS   current
        DESCRIPTION " A list of voice vlan mode entries."
        ::= { h3cVoiceVlan  7  }

    h3cvoiceVlanPortEntry OBJECT-TYPE
        SYNTAX  H3cVoiceVlanPortEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION " An entry containing voice vlan mode information,
            which is applicable to a voice vlan enabled interface."
        INDEX   { h3cVoiceVlanPortifIndex }
        ::= {h3cvoiceVlanPortTable 1}

    H3cVoiceVlanPortEntry ::=
        SEQUENCE {
            h3cVoiceVlanPortifIndex    Integer32,
            h3cVoiceVlanPortMode       INTEGER,
            h3cVoiceVlanPortLegacy     TruthValue,
            h3cVoiceVlanPortQosTrust   TruthValue
        }

    h3cVoiceVlanPortifIndex OBJECT-TYPE
        SYNTAX Integer32(1..2147483647)
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION " The index of interface on which voice vlan function
            is enabled."
        REFERENCE "ifIndex in RFC1213"
    ::= { h3cvoiceVlanPortEntry 1 }

    h3cVoiceVlanPortMode OBJECT-TYPE
        SYNTAX  INTEGER
            {
            auto (1),
            manual (2)
            }
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION " Voice vlan configuration mode status, which is
            applicable to a voice vlan enabled interface."
        ::= { h3cvoiceVlanPortEntry 2 }

    h3cVoiceVlanPortLegacy OBJECT-TYPE
        SYNTAX  TruthValue
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION " Voice vlan configuration legacy status, which is
            applicable to a voice vlan enabled interface."
        ::= { h3cvoiceVlanPortEntry 3 }

    h3cVoiceVlanPortQosTrust OBJECT-TYPE
        SYNTAX  TruthValue
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION " Voice vlan configuration qos trust status, which is
            applicable to a voice vlan enabled interface."
        ::= { h3cvoiceVlanPortEntry 4 }
END
