-- ==========================================================================
-- Copyright (c) 2004-2010 Hangzhou H3C Tech. Co., Ltd. All rights reserved.
--
-- Description: The purpose of this MIB file is to provide the definition of
--              voice dial control configuration, it includes the common
--              cofiguration of entities, and special configuration for
--              pots entities and VoIP entities.
-- Reference:
-- Version: V1.2
-- History:
-- V1.0 2008-02-17 Initial version, created by Tian Xiaoqiang, Qu Jin
-- V1.1 2009-04-16 Add number management table 'h3cVoEntityNumberTable', by
--                 Qu Pingping.
-- V1.2 2009-12-09 Add g729br8 to "H3cCodecType", Wang Tong.
--                 Modify scope of h3cVoEntityNumberAuthUser, 
--                 from 31 to 63 by yangzhanhua.
-- ==========================================================================
A3COM-HUAWEI-VOICE-DIAL-CONTROL-MIB DEFINITIONS ::= BEGIN
IMPORTS
        OBJECT-TYPE, MODULE-IDENTITY, Integer32
    FROM SNMPv2-SMI
        TEXTUAL-CONVENTION, RowStatus, TruthValue
    FROM SNMPv2-TC
        InetAddressType, InetAddress
    FROM INET-ADDRESS-MIB
        AbsoluteCounter32
    FROM DIAL-CONTROL-MIB
        h3cVoice
    FROM A3COM-HUAWEI-OID-MIB;


h3cVoiceEntityControl MODULE-IDENTITY
    LAST-UPDATED "200904160000Z"
    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 file is to provide the definition of
        voice dial control configuration."
    REVISION "200904160000Z"
    DESCRIPTION
        "The initial version of this MIB file."
    ::= { h3cVoice 14 }

-- ======================================
--          Type declaration
-- ======================================
H3cCodecType      ::= TEXTUAL-CONVENTION
STATUS       current
DESCRIPTION
        "Type of Codec."
SYNTAX  INTEGER
        {
        g711a(1),
        g711u(2),
        g723r53(3),
        g723r63(4),
        g729r8(5),
        g729a(6),
        g726r16(7),
        g726r24(8),
        g726r32(9),
        g726r40(10),
        unknown(11),
        g729br8(12)
        }

H3cOutBandMode    ::= TEXTUAL-CONVENTION
STATUS       current
DESCRIPTION
        "Type of OutBandMode."
SYNTAX  INTEGER
        {
        voice(1),
        h245AlphaNumeric(2),
        h225(3),
        sip(4),
        nte(5),
        vofr(6)
        }

H3cFaxProtocolType    ::= TEXTUAL-CONVENTION
STATUS       current
DESCRIPTION
        "Type of FaxProtocol."
SYNTAX INTEGER
        {
        t38(1),
        standardt38(2),
        pcmG711alaw(3),
        pcmG711ulaw(4)
        }

H3cFaxBaudrateType    ::= TEXTUAL-CONVENTION
STATUS       current
DESCRIPTION
        "Type of FaxBaudrate."
SYNTAX INTEGER
        {
        disable(1),
        voice(2),
        b2400(3),
        b4800(4),
        b9600(5),
        b14400(6)
        }
H3cFaxTrainMode   ::= TEXTUAL-CONVENTION
STATUS       current
DESCRIPTION
        "Type of FaxTrainMode."
SYNTAX INTEGER
        {
        local(1),
        ppp(2)
        }

H3cRegisterdStatus    ::= TEXTUAL-CONVENTION
STATUS       current
DESCRIPTION
        "Type of Registerd Status."
SYNTAX INTEGER
        {
        other(1),           -- pots entity has not matched number or has not
                            -- line with valid voice subscriber-line, or has not
                            -- turned on registered switch
        offline(2),         -- register failed or out of management with server
        online(3),          -- register successfully
        login(4),           -- registering to the server
        logout(5)           -- registering out from the server
        }

h3cVoEntityObjects OBJECT IDENTIFIER ::= { h3cVoiceEntityControl 1 }

-- ========================================================================
--                      h3cVoEntityCreateTable
--
-- ========================================================================

h3cVoEntityCreateTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF H3CVoEntityCreateEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The table contains the voice entity information that
        is used to create an ifIndexed row."
    ::= { h3cVoEntityObjects 1 }

h3cVoEntityCreateEntry OBJECT-TYPE
    SYNTAX      H3CVoEntityCreateEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The entry of h3cVoEntityCreateTable."
    INDEX
        {
            h3cVoEntityIndex
        }
    ::= { h3cVoEntityCreateTable 1 }

H3CVoEntityCreateEntry ::= SEQUENCE
    {
        h3cVoEntityIndex        Integer32,
        h3cVoEntityType         INTEGER,
        h3cVoEntityRowStatus    RowStatus
    }

h3cVoEntityIndex OBJECT-TYPE
    SYNTAX      Integer32(1..2147483647)
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "An arbitrary index that uniquely identifies a voice entity."
    ::= { h3cVoEntityCreateEntry 1 }

h3cVoEntityType OBJECT-TYPE
    SYNTAX      INTEGER
        {
            pots(1),
            voip(2),
            vofr(3)
        }
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "Specify the type of voice related encapsulation."
    ::= { h3cVoEntityCreateEntry 2 }

h3cVoEntityRowStatus OBJECT-TYPE
    SYNTAX      RowStatus
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        " This object is used to create, delete or modify a row in
        this table. The h3cVoEntityType object should not be
        modified once the new row has been created."
    ::= { h3cVoEntityCreateEntry 3 }

-- ========================================================================
--                      h3cVoEntityCommonConfigTable
--
-- ========================================================================
h3cVoEntityCommonConfigTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF H3CVoEntityCommonConfigEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "This table contains the general voice entity information."
    ::= { h3cVoEntityObjects 2 }


h3cVoEntityCommonConfigEntry OBJECT-TYPE
    SYNTAX      H3CVoEntityCommonConfigEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The entry of h3cVoEntityCommonConfigTable."
    INDEX
        {
            h3cVoEntityCfgIndex
        }
    ::= { h3cVoEntityCommonConfigTable 1 }


H3CVoEntityCommonConfigEntry ::= SEQUENCE
    {
        h3cVoEntityCfgIndex                Integer32,
        h3cVoEntityCfgCodec1st             H3cCodecType,
        h3cVoEntityCfgCodec2nd             H3cCodecType,
        h3cVoEntityCfgCodec3rd             H3cCodecType,
        h3cVoEntityCfgCodec4th             H3cCodecType,
        h3cVoEntityCfgDSCP                 Integer32,
        h3cVoEntityCfgVADEnable            TruthValue,
        h3cVoEntityCfgOutbandMode          H3cOutBandMode,
        h3cVoEntityCfgFaxLevel             Integer32,
        h3cVoEntityCfgFaxBaudrate          H3cFaxBaudrateType,
        h3cVoEntityCfgFaxLocalTrainPara    Integer32,
        h3cVoEntityCfgFaxProtocol          H3cFaxProtocolType,
        h3cVoEntityCfgFaxHRPackNum         Integer32,
        h3cVoEntityCfgFaxLRPackNum         Integer32,
        h3cVoEntityCfgFaxSendNSFEnable     TruthValue,
        h3cVoEntityCfgFaxTrainMode         H3cFaxTrainMode,
        h3cVoEntityCfgFaxEcm               TruthValue,
        h3cVoEntityCfgPriority             Integer32,
        h3cVoEntityCfgDescription          OCTET STRING
    }

h3cVoEntityCfgIndex OBJECT-TYPE
    SYNTAX      Integer32(1..2147483647)
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "An arbitrary index that uniquely identifies a voice entity."
    ::= { h3cVoEntityCommonConfigEntry 1 }

h3cVoEntityCfgCodec1st OBJECT-TYPE
    SYNTAX      H3cCodecType
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "This object indicates the first desirable CODEC of speech
        of this dial entity."
    ::= { h3cVoEntityCommonConfigEntry 2 }


h3cVoEntityCfgCodec2nd OBJECT-TYPE
    SYNTAX      H3cCodecType
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "This object indicates the second desirable CODEC of speech
        of this dial entity."
    ::= { h3cVoEntityCommonConfigEntry 3 }


h3cVoEntityCfgCodec3rd OBJECT-TYPE
    SYNTAX      H3cCodecType
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "This object indicates the third desirable CODEC of speech
        of this dial entity."
    ::= { h3cVoEntityCommonConfigEntry 4 }


h3cVoEntityCfgCodec4th OBJECT-TYPE
    SYNTAX      H3cCodecType
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "This object indicates the forth desirable CODEC of speech
        of this dial entity."
    ::= { h3cVoEntityCommonConfigEntry 5 }


h3cVoEntityCfgDSCP OBJECT-TYPE
    SYNTAX      Integer32(0..63)
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "This object indicates the DSCP(Different Service Code Point)
        value of voice packets."
    ::= { h3cVoEntityCommonConfigEntry 6 }


h3cVoEntityCfgVADEnable OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "This object indicates whether the VAD(Voice Activity Detection)
        is enabled."
    ::= { h3cVoEntityCommonConfigEntry 7 }


h3cVoEntityCfgOutbandMode OBJECT-TYPE
    SYNTAX      H3cOutBandMode
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "This object indicates the DTMF(Dual Tone Multi-Frequency)
        outband type of this dial entity."
    ::= { h3cVoEntityCommonConfigEntry 8 }


h3cVoEntityCfgFaxLevel OBJECT-TYPE
    SYNTAX      Integer32(-60..-3)
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "This object indicates the fax level of this dial entity."
    ::= { h3cVoEntityCommonConfigEntry 9 }


h3cVoEntityCfgFaxBaudrate OBJECT-TYPE
    SYNTAX      H3cFaxBaudrateType
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "This object indicates the fax baudrate of this dial entity."
    ::= { h3cVoEntityCommonConfigEntry 10 }


h3cVoEntityCfgFaxLocalTrainPara OBJECT-TYPE
    SYNTAX      Integer32(0..100)
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "This object indicates the fax local train threshold of this
        dial entity."
    ::= { h3cVoEntityCommonConfigEntry 11 }


h3cVoEntityCfgFaxProtocol OBJECT-TYPE
    SYNTAX      H3cFaxProtocolType
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "This object indicates the fax protocol of this dial entity."
    ::= { h3cVoEntityCommonConfigEntry 12 }


h3cVoEntityCfgFaxHRPackNum OBJECT-TYPE
    SYNTAX      Integer32(0..2)
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "This object indicates the high speed redundancy packet
        numbers of t38 and standard-t38."
    ::= { h3cVoEntityCommonConfigEntry 13 }


h3cVoEntityCfgFaxLRPackNum OBJECT-TYPE
    SYNTAX      Integer32(0..5)
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "This object indicates the low speed redundancy packet
        numbers of t38 and standard-t38."
    ::= { h3cVoEntityCommonConfigEntry 14 }


h3cVoEntityCfgFaxSendNSFEnable OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "This object indicates whether sends NSF(Non-Standard Faculty)
        to fax of this dial entity."
    ::= { h3cVoEntityCommonConfigEntry 15 }


h3cVoEntityCfgFaxTrainMode OBJECT-TYPE
    SYNTAX      H3cFaxTrainMode
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "This object indicates the fax train mode of this dial entity."
    ::= { h3cVoEntityCommonConfigEntry 16 }


h3cVoEntityCfgFaxEcm OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "This object indicates whether the ECM(Error Correct Mode)
        is enabled."
    ::= { h3cVoEntityCommonConfigEntry 17 }


h3cVoEntityCfgPriority OBJECT-TYPE
    SYNTAX      Integer32(0..10)
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "This object indicates the priority of this dial entity."
    ::= { h3cVoEntityCommonConfigEntry 18 }


h3cVoEntityCfgDescription OBJECT-TYPE
    SYNTAX      OCTET STRING(SIZE(0..80))
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "This object indicates the textual description of this
        dial entity."
    ::= { h3cVoEntityCommonConfigEntry 19 }




-- ========================================================================
--                      h3cVoPOTSEntityConfigTable
--
-- ========================================================================
h3cVoPOTSEntityConfigTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF H3CVoPOTSEntityConfigEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "This table contains the POTS(Public Switched Telephone Network)
        entity information."
    ::= { h3cVoEntityObjects 3 }


h3cVoPOTSEntityConfigEntry OBJECT-TYPE
    SYNTAX      H3CVoPOTSEntityConfigEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The entry of h3cVoPOTSEntityConfigTable."
    INDEX
        {
            h3cVoPOTSEntityConfigIndex
        }
    ::= { h3cVoPOTSEntityConfigTable 1 }


H3CVoPOTSEntityConfigEntry ::= SEQUENCE
    {
        h3cVoPOTSEntityConfigIndex      Integer32,
        h3cVoPOTSEntityConfigPrefix     OCTET STRING,
        h3cVoPOTSEntityConfigSubLine    OCTET STRING,
        h3cVoPOTSEntityConfigSendNum    Integer32
    }

h3cVoPOTSEntityConfigIndex OBJECT-TYPE
    SYNTAX      Integer32(1..2147483647)
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "An arbitrary index that uniquely identifies a voice entity."
    ::= { h3cVoPOTSEntityConfigEntry 1 }


h3cVoPOTSEntityConfigPrefix OBJECT-TYPE
    SYNTAX      OCTET STRING(SIZE(0..31))
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "This object indicates the prefix which is added to the
        called number."
    ::= { h3cVoPOTSEntityConfigEntry 2 }


h3cVoPOTSEntityConfigSubLine OBJECT-TYPE
    SYNTAX      OCTET STRING
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "This object indicates the voice subscriber line of
        this dial entity."
    ::= { h3cVoPOTSEntityConfigEntry 3 }


h3cVoPOTSEntityConfigSendNum OBJECT-TYPE
    SYNTAX      Integer32(0..31|65534|65535)
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "This object indicates the digit of phone number to be
        sent to the destination.
        0..31: Number of digits (that are extracted from the end of a number)
        to be sent, in the range of 0 to 31. It is not greater than the total
        number of digits of the called number.
        65534: Sends all digits of a called number.
        65535: Sends a truncated called number."
    ::= { h3cVoPOTSEntityConfigEntry 4 }



-- ========================================================================
--                      h3cVoVoIPEntityConfigTable
--
-- ========================================================================
h3cVoVoIPEntityConfigTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF H3CVoVoIPEntityConfigEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "This table contains the VoIP entity information."
    ::= { h3cVoEntityObjects 4 }


h3cVoVoIPEntityConfigEntry OBJECT-TYPE
    SYNTAX      H3CVoVoIPEntityConfigEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The entry of h3cVoVoIPEntityConfigTable."
    INDEX
        {
            h3cVoVoIPEntityCfgIndex
        }
    ::= { h3cVoVoIPEntityConfigTable 1 }


H3CVoVoIPEntityConfigEntry ::= SEQUENCE
    {
        h3cVoVoIPEntityCfgIndex             Integer32,
        h3cVoVoIPEntityCfgTargetType        INTEGER,
        h3cVoVoIPEntityCfgTargetAddrType    InetAddressType,
        h3cVoVoIPEntityCfgTargetAddr        InetAddress
    }

h3cVoVoIPEntityCfgIndex OBJECT-TYPE
    SYNTAX      Integer32(1..2147483647)
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "An arbitrary index that uniquely identifies a voice entity."
    ::= { h3cVoVoIPEntityConfigEntry 1 }


h3cVoVoIPEntityCfgTargetType OBJECT-TYPE
    SYNTAX      INTEGER
        {
            unknown(1),
            ras(2),
            h323IpAddress(3),
            sipIpAddress(4),
            sipProxy(5)
        }
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "This object indicates the type of the session target of this entity."
    ::= { h3cVoVoIPEntityConfigEntry 2 }


h3cVoVoIPEntityCfgTargetAddrType OBJECT-TYPE
    SYNTAX      InetAddressType
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The IP address type of object h3cVoVoIPEntityCfgTargetAddr."
    ::= { h3cVoVoIPEntityConfigEntry 3 }


h3cVoVoIPEntityCfgTargetAddr OBJECT-TYPE
    SYNTAX      InetAddress
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "This object indicates the target IP address."
    ::= { h3cVoVoIPEntityConfigEntry 4 }

-- ========================================================================
--                      h3cVoEntityNumberTable
--
-- ========================================================================
h3cVoEntityNumberTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF H3cVoEntityNumberEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The table contains the number management information."
    ::= { h3cVoEntityObjects 5 }


h3cVoEntityNumberEntry OBJECT-TYPE
    SYNTAX      H3cVoEntityNumberEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The entry of h3cVoEntityNumberTable.  H3cVoEntityIndex
        is used to uniquely identify these numbers registered on
        the server.  The same value of h3cVoEntityIndex used in
        the corresponding H3CVoEntityCommonConfigTable is used here."
    INDEX
        {
            h3cVoEntityIndex
        }
    ::= { h3cVoEntityNumberTable 1 }

H3cVoEntityNumberEntry ::= SEQUENCE
{
    h3cVoEntityNumberAuthUser                   OCTET STRING,
    h3cVoEntityNumberPasswordType               Integer32,
    h3cVoEntityNumberPassword                   OCTET STRING,
    h3cVoEntityNumberStatus                     H3cRegisterdStatus,
    h3cVoEntityNumberExpires                    Integer32
}

h3cVoEntityNumberAuthUser OBJECT-TYPE
    SYNTAX      OCTET STRING(SIZE(0..63))
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "This object indicates the username of the entity number to authorize."
    ::= { h3cVoEntityNumberEntry 1 }

h3cVoEntityNumberPasswordType OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "This object indicates the password type of the entity number to authorize.
         The encrypting type of password:
         0 : password simple, means password is clean text.
         1 : password cipher, means password is encrypted text.
         default is 65535."
    ::= { h3cVoEntityNumberEntry 2 }

h3cVoEntityNumberPassword OBJECT-TYPE
    SYNTAX      OCTET STRING(SIZE(0..16 | 24))
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "This object indicates the password of the entity number to authorize."
    ::= { h3cVoEntityNumberEntry 3 }

h3cVoEntityNumberStatus OBJECT-TYPE
    SYNTAX      H3cRegisterdStatus
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "This object indicates the current state of the entity number."
    ::= { h3cVoEntityNumberEntry 4 }

h3cVoEntityNumberExpires OBJECT-TYPE
    SYNTAX      Integer32
    UNITS       "seconds"
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "This is the interval time for entity number updating registered message."
    ::= { h3cVoEntityNumberEntry 5 }

END
