-- ==========================================================================
-- Copyright (C) 2004 by H3C TECHNOLOGIES. All rights reserved.
--
-- Description: The purpose of this MIB file is to provide the definition of
--              the voice interface general configuration.
-- Reference:
-- Version: V1.1
-- History:
-- V1.0 2005-03-22 Initial version, created by Yang Youku
-- V1.1 2005.10.08  zhoujianming
--      change MAX-ACCESS clause of h3cVoIfCfgStatus from read-only to read-write
-- ==========================================================================
H3C-VOIF-MIB DEFINITIONS ::= BEGIN

IMPORTS
        OBJECT-TYPE, MODULE-IDENTITY, Integer32
            FROM SNMPv2-SMI
        h3cVoice
            FROM HUAWEI-3COM-OID-MIB;

    h3cVoiceIf MODULE-IDENTITY
        LAST-UPDATED "200503150000Z"
        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 file is to provide the definition of the voice
            interface general configuration."
        REVISION "200503150000Z"
        DESCRIPTION
            "The initial version of this MIB file."
        ::= { h3cVoice 2 }


    h3cVoIfObjects OBJECT IDENTIFIER ::= { h3cVoiceIf 1 }

--=======================================================================
--                        h3cVoIfConfigTable
--
--=======================================================================
    h3cVoIfConfigTable OBJECT-TYPE
        SYNTAX SEQUENCE OF H3CVoIfConfigEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "The table contains configurable parameters for both analog
            voice interface and digital voice interface."
        ::= { h3cVoIfObjects 1 }


    h3cVoIfConfigEntry OBJECT-TYPE
        SYNTAX H3CVoIfConfigEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "The entry of voice interface table."
        INDEX { h3cVoIfCfgPortNumber, h3cVoIfCfgGroupNumber }
        ::= { h3cVoIfConfigTable 1 }


    H3CVoIfConfigEntry ::=
        SEQUENCE {
            h3cVoIfCfgPortNumber
                Integer32,
            h3cVoIfCfgGroupNumber
                Integer32,
            h3cVoIfCfgCngOn
                INTEGER,
            h3cVoIfConfigInputGain
                Integer32,
            h3cVoIfConfigOutputGain
                Integer32,
            h3cVoIfCfgEchoCancelSwitch
                INTEGER,
            h3cVoIfCfgEchoCancellDelay
                Integer32,
            h3cVoIfCfgPlarNumber
                OCTET STRING,
            h3cVoIfCfgDescription
                OCTET STRING,
            h3cVoIfCfgStatus
                INTEGER,
             h3cVoIfCfgCallingNumSubstRule
                Integer32,
            h3cVoIfCfgCalledNumSubstRule
                Integer32,
            h3cVoIfCfgSubLine
                OCTET STRING
         }

    h3cVoIfCfgPortNumber OBJECT-TYPE
        SYNTAX Integer32
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "The port number of voice interface."
        ::= { h3cVoIfConfigEntry 1 }


    h3cVoIfCfgGroupNumber OBJECT-TYPE
        SYNTAX Integer32
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "The group number of voice interface. For an analog interface,
            the value is 255."
        ::= { h3cVoIfConfigEntry 2 }


    h3cVoIfCfgCngOn OBJECT-TYPE
        SYNTAX INTEGER
            {
            enable(1),
            disable(2)
            }
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "This object indicates whether the silence gaps should be
            filled with background noise."
        ::= { h3cVoIfConfigEntry 3 }


    h3cVoIfConfigInputGain OBJECT-TYPE
        SYNTAX Integer32
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "This object indicates the amount of gain added to the receiver
            side of the voice interface. Unit is 0.1 db."
        ::= { h3cVoIfConfigEntry 4 }


    h3cVoIfConfigOutputGain OBJECT-TYPE
        SYNTAX Integer32
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "This object indicates the amount of gain added to the send side
            of the voice interface. Unit is 0.1 db."
        DEFVAL { 0 }
        ::= { h3cVoIfConfigEntry 5 }


    h3cVoIfCfgEchoCancelSwitch OBJECT-TYPE
        SYNTAX INTEGER
            {
            enable(1),
            disable(2)
            }
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "This object indicates whether the echo cancellation is enabled."
        ::= { h3cVoIfConfigEntry 6 }


    h3cVoIfCfgEchoCancellDelay OBJECT-TYPE
        SYNTAX Integer32
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "This object indicates the delay of the echo cancellation for
            the voice interface. This value couldn't be modified unless
            h3cVoIfCfgEchoCancelSwitch is enable. Unit is milliseconds."
        ::= { h3cVoIfConfigEntry 7 }


    h3cVoIfCfgPlarNumber OBJECT-TYPE
        SYNTAX OCTET STRING (SIZE (0..31))
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "This object indicates the E.164 phone number for plar mode."
        ::= { h3cVoIfConfigEntry 8 }


    h3cVoIfCfgDescription OBJECT-TYPE
        SYNTAX OCTET STRING
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "This object indicates the description of voice interface"
        ::= { h3cVoIfConfigEntry 9 }


    h3cVoIfCfgStatus OBJECT-TYPE
        SYNTAX INTEGER
            {
            up(1),
            down(2)
            }
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "This object indicates the status of voice interface."
        ::= { h3cVoIfConfigEntry 10 }


    h3cVoIfCfgCallingNumSubstRule OBJECT-TYPE
        SYNTAX Integer32(0..2147483647)
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "This object indicates a calling number substitute rule."
        ::= { h3cVoIfConfigEntry 11 }

    h3cVoIfCfgCalledNumSubstRule OBJECT-TYPE
        SYNTAX Integer32(0..2147483647)
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "This object indicates a called number substitute rule."
        ::= { h3cVoIfConfigEntry 12 }

    h3cVoIfCfgSubLine OBJECT-TYPE
        SYNTAX OCTET STRING
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "This object indicates the port subscriber line name."
        ::= { h3cVoIfConfigEntry 13 }

END
