-- ==========================================================================
-- Copyright (c) 2010-2013 Hewlett-Packard Development Company, L.P.
--
-- 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 'hpnicfVoEntityNumberTable', by
--                 Qu Pingping.
-- V1.2 2009-12-09 Add g729br8 to "HpnicfCodecType", Wang Tong.
--                 Modify scope of hpnicfVoEntityNumberAuthUser, 
--                 from 31 to 63 by yangzhanhua.
-- ==========================================================================
HPN-ICF-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
        hpnicfVoice
    FROM HPN-ICF-OID-MIB;


hpnicfVoiceEntityControl MODULE-IDENTITY
    LAST-UPDATED "200904160000Z"
    ORGANIZATION
        ""
    CONTACT-INFO
        ""
    DESCRIPTION
        "This MIB file is to provide the definition of
        voice dial control configuration."
    REVISION "200904160000Z"
    DESCRIPTION
        "The initial version of this MIB file."
    ::= { hpnicfVoice 14 }

-- ======================================
--          Type declaration
-- ======================================
HpnicfCodecType      ::= 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)
        }

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

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

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

HpnicfRegisterdStatus    ::= 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
        }

hpnicfVoEntityObjects OBJECT IDENTIFIER ::= { hpnicfVoiceEntityControl 1 }

-- ========================================================================
--                      hpnicfVoEntityCreateTable
--
-- ========================================================================

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

hpnicfVoEntityCreateEntry OBJECT-TYPE
    SYNTAX      HPN-ICFVoEntityCreateEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The entry of hpnicfVoEntityCreateTable."
    INDEX
        {
            hpnicfVoEntityIndex
        }
    ::= { hpnicfVoEntityCreateTable 1 }

HPN-ICFVoEntityCreateEntry ::= SEQUENCE
    {
        hpnicfVoEntityIndex        Integer32,
        hpnicfVoEntityType         INTEGER,
        hpnicfVoEntityRowStatus    RowStatus
    }

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

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

hpnicfVoEntityRowStatus 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 hpnicfVoEntityType object should not be
        modified once the new row has been created."
    ::= { hpnicfVoEntityCreateEntry 3 }

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


hpnicfVoEntityCommonConfigEntry OBJECT-TYPE
    SYNTAX      HPN-ICFVoEntityCommonConfigEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The entry of hpnicfVoEntityCommonConfigTable."
    INDEX
        {
            hpnicfVoEntityCfgIndex
        }
    ::= { hpnicfVoEntityCommonConfigTable 1 }


HPN-ICFVoEntityCommonConfigEntry ::= SEQUENCE
    {
        hpnicfVoEntityCfgIndex                Integer32,
        hpnicfVoEntityCfgCodec1st             HpnicfCodecType,
        hpnicfVoEntityCfgCodec2nd             HpnicfCodecType,
        hpnicfVoEntityCfgCodec3rd             HpnicfCodecType,
        hpnicfVoEntityCfgCodec4th             HpnicfCodecType,
        hpnicfVoEntityCfgDSCP                 Integer32,
        hpnicfVoEntityCfgVADEnable            TruthValue,
        hpnicfVoEntityCfgOutbandMode          HpnicfOutBandMode,
        hpnicfVoEntityCfgFaxLevel             Integer32,
        hpnicfVoEntityCfgFaxBaudrate          HpnicfFaxBaudrateType,
        hpnicfVoEntityCfgFaxLocalTrainPara    Integer32,
        hpnicfVoEntityCfgFaxProtocol          HpnicfFaxProtocolType,
        hpnicfVoEntityCfgFaxHRPackNum         Integer32,
        hpnicfVoEntityCfgFaxLRPackNum         Integer32,
        hpnicfVoEntityCfgFaxSendNSFEnable     TruthValue,
        hpnicfVoEntityCfgFaxTrainMode         HpnicfFaxTrainMode,
        hpnicfVoEntityCfgFaxEcm               TruthValue,
        hpnicfVoEntityCfgPriority             Integer32,
        hpnicfVoEntityCfgDescription          OCTET STRING
    }

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

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


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


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


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


hpnicfVoEntityCfgDSCP 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."
    ::= { hpnicfVoEntityCommonConfigEntry 6 }


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


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


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


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


hpnicfVoEntityCfgFaxLocalTrainPara 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."
    ::= { hpnicfVoEntityCommonConfigEntry 11 }


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


hpnicfVoEntityCfgFaxHRPackNum 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."
    ::= { hpnicfVoEntityCommonConfigEntry 13 }


hpnicfVoEntityCfgFaxLRPackNum 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."
    ::= { hpnicfVoEntityCommonConfigEntry 14 }


hpnicfVoEntityCfgFaxSendNSFEnable 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."
    ::= { hpnicfVoEntityCommonConfigEntry 15 }


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


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


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


hpnicfVoEntityCfgDescription 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."
    ::= { hpnicfVoEntityCommonConfigEntry 19 }




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


hpnicfVoPOTSEntityConfigEntry OBJECT-TYPE
    SYNTAX      HPN-ICFVoPOTSEntityConfigEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The entry of hpnicfVoPOTSEntityConfigTable."
    INDEX
        {
            hpnicfVoPOTSEntityConfigIndex
        }
    ::= { hpnicfVoPOTSEntityConfigTable 1 }


HPN-ICFVoPOTSEntityConfigEntry ::= SEQUENCE
    {
        hpnicfVoPOTSEntityConfigIndex      Integer32,
        hpnicfVoPOTSEntityConfigPrefix     OCTET STRING,
        hpnicfVoPOTSEntityConfigSubLine    OCTET STRING,
        hpnicfVoPOTSEntityConfigSendNum    Integer32
    }

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


hpnicfVoPOTSEntityConfigPrefix 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."
    ::= { hpnicfVoPOTSEntityConfigEntry 2 }


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


hpnicfVoPOTSEntityConfigSendNum 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."
    ::= { hpnicfVoPOTSEntityConfigEntry 4 }



-- ========================================================================
--                      hpnicfVoVoIPEntityConfigTable
--
-- ========================================================================
hpnicfVoVoIPEntityConfigTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF HPN-ICFVoVoIPEntityConfigEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "This table contains the VoIP entity information."
    ::= { hpnicfVoEntityObjects 4 }


hpnicfVoVoIPEntityConfigEntry OBJECT-TYPE
    SYNTAX      HPN-ICFVoVoIPEntityConfigEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The entry of hpnicfVoVoIPEntityConfigTable."
    INDEX
        {
            hpnicfVoVoIPEntityCfgIndex
        }
    ::= { hpnicfVoVoIPEntityConfigTable 1 }


HPN-ICFVoVoIPEntityConfigEntry ::= SEQUENCE
    {
        hpnicfVoVoIPEntityCfgIndex             Integer32,
        hpnicfVoVoIPEntityCfgTargetType        INTEGER,
        hpnicfVoVoIPEntityCfgTargetAddrType    InetAddressType,
        hpnicfVoVoIPEntityCfgTargetAddr        InetAddress
    }

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


hpnicfVoVoIPEntityCfgTargetType 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."
    ::= { hpnicfVoVoIPEntityConfigEntry 2 }


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


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

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


hpnicfVoEntityNumberEntry OBJECT-TYPE
    SYNTAX      HpnicfVoEntityNumberEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The entry of hpnicfVoEntityNumberTable.  HpnicfVoEntityIndex
        is used to uniquely identify these numbers registered on
        the server.  The same value of hpnicfVoEntityIndex used in
        the corresponding HPN-ICFVoEntityCommonConfigTable is used here."
    INDEX
        {
            hpnicfVoEntityIndex
        }
    ::= { hpnicfVoEntityNumberTable 1 }

HpnicfVoEntityNumberEntry ::= SEQUENCE
{
    hpnicfVoEntityNumberAuthUser                   OCTET STRING,
    hpnicfVoEntityNumberPasswordType               Integer32,
    hpnicfVoEntityNumberPassword                   OCTET STRING,
    hpnicfVoEntityNumberStatus                     HpnicfRegisterdStatus,
    hpnicfVoEntityNumberExpires                    Integer32
}

hpnicfVoEntityNumberAuthUser 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."
    ::= { hpnicfVoEntityNumberEntry 1 }

hpnicfVoEntityNumberPasswordType 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."
    ::= { hpnicfVoEntityNumberEntry 2 }

hpnicfVoEntityNumberPassword 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."
    ::= { hpnicfVoEntityNumberEntry 3 }

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

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

END
