-- ==========================================================================
-- Copyright (C) 2004 by Huawei 3Com Technologies. All rights reserved.
--
-- Description: The purpose of this MIB file is to provide the definition of
--              voice call histroy.
-- Reference:
-- Version: V1.1
-- History:
-- V1.0 2005-03-22 Initial version, created by Yang Youku
-- V1.1 2005.11.02  zhoujianming
--      change time unit from minute to second in DESCRIPTION clause of h3cVoCallHistoryMaxRetainTime
-- ==========================================================================
H3C-VOCALLHISTORY-MIB DEFINITIONS ::= BEGIN
    IMPORTS
        OBJECT-TYPE, MODULE-IDENTITY, TimeTicks, IpAddress, Integer32, Counter32
            FROM SNMPv2-SMI
        TimeStamp,DateAndTime
            FROM SNMPv2-TC
        CodecType
            FROM H3C-VO-TYPE-MIB
        InetAddressType, InetAddress
            FROM INET-ADDRESS-MIB
        h3cVoice
            FROM HUAWEI-3COM-OID-MIB;


        h3cVoiceCallHistory MODULE-IDENTITY
            LAST-UPDATED "200503150000Z"
            ORGANIZATION
                "Huawei-3COM Technologies Co., Ltd."
            CONTACT-INFO
                "PLAT Team Huawei 3Com Technologies co.,Ltd.
                Shang-Di Information Industry Base,
                Hai-Dian District Beijing P.R. China
                http://www.huawei-3com.com
                Zip:100085"
            DESCRIPTION
                "This MIB is to provide the definition of voice call histroy."
            REVISION "200503150000Z"
            DESCRIPTION
                "The initial version of this MIB file."
            ::= { h3cVoice 7 }



--===========================================================================
--                            h3cVoCallHistoryObjects
--
--===========================================================================
        h3cVoCallHistoryObjects OBJECT IDENTIFIER ::= { h3cVoiceCallHistory 1 }


        h3cVoCallHistoryMaxLen OBJECT-TYPE
            SYNTAX Integer32
            MAX-ACCESS read-write
            STATUS current
            DESCRIPTION
                "This object indicates the maximum items of history record."
            ::= { h3cVoCallHistoryObjects 1 }

        h3cVoCallHistoryMaxRetainTime OBJECT-TYPE
            SYNTAX Integer32 (0..2147483647)
            MAX-ACCESS read-write
            STATUS current
            DESCRIPTION
                "This object indicates the maximum retain time of histroy record.
                Unit is second."
            ::= { h3cVoCallHistoryObjects 2 }


--===========================================================================
--                       h3cVoCallHistoryGenericTable
--
--===========================================================================
        h3cVoCallHistoryGenericTable OBJECT-TYPE
            SYNTAX SEQUENCE OF H3CVoCallHistoryGenericEntry
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "The table contains the generic call history information."
            ::= { h3cVoiceCallHistory 2 }


        h3cVoCallHistoryGenericEntry OBJECT-TYPE
            SYNTAX H3CVoCallHistoryGenericEntry
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "The entry of h3cVoCallHistoryGenericTable."
            INDEX { h3cVoCallHisIndex }
            ::= { h3cVoCallHistoryGenericTable 1 }


        H3CVoCallHistoryGenericEntry ::=
            SEQUENCE {
                h3cVoCallHisIndex
                    Integer32,
                h3cVoCallHisCallerNumber
                    OCTET STRING,
                h3cVoCallHisCalledNumber
                    OCTET STRING,
                h3cVoCallHisEncodeType
                    CodecType,
                h3cVoCallHisChannel
                    Integer32,
                h3cVoCallHisLocalAddressType
                    InetAddressType,
                h3cVoCallHisLocalAddress
                    InetAddress,
                h3cVoCallHisPeerAddressType
                    InetAddressType,
                h3cVoCallHisPeerAddress
                    InetAddress,
                h3cVoCallHisDisconnectText
                    INTEGER,
                h3cVoCallHisCallDuration
                    TimeTicks,
                h3cVoCallHisVoCallDuration
                    TimeTicks,
                h3cVoCallHisFaxCallDuration
                    TimeTicks,
                h3cVoCallHisImgPages
                    Integer32,
                h3cVoCallHisCallOrigin
                    INTEGER
             }

        h3cVoCallHisIndex OBJECT-TYPE
            SYNTAX Integer32 (1..2147483647)
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "The index of the generic call history table."
            ::= { h3cVoCallHistoryGenericEntry 1 }


        h3cVoCallHisCallerNumber OBJECT-TYPE
            SYNTAX OCTET STRING
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "This object indicates the calling number of a call."
            ::= { h3cVoCallHistoryGenericEntry 2 }


        h3cVoCallHisCalledNumber OBJECT-TYPE
            SYNTAX OCTET STRING
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "This object indicates the called number of a call."
            ::= { h3cVoCallHistoryGenericEntry 3 }


        h3cVoCallHisEncodeType OBJECT-TYPE
            SYNTAX CodecType
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "This object indicates the encode type of a call."
            ::= { h3cVoCallHistoryGenericEntry 4 }


        h3cVoCallHisChannel OBJECT-TYPE
            SYNTAX Integer32
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "This object indicates the logic channel of a call."
            ::= { h3cVoCallHistoryGenericEntry 5 }


         h3cVoCallHisLocalAddressType OBJECT-TYPE
            SYNTAX  InetAddressType
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "This object indicates the local IP address type of a call."
            ::= { h3cVoCallHistoryGenericEntry 6 }


        h3cVoCallHisLocalAddress OBJECT-TYPE
            SYNTAX InetAddress
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "This object indicates the local IP address of a call."
            ::= { h3cVoCallHistoryGenericEntry 7 }


        h3cVoCallHisPeerAddressType OBJECT-TYPE
            SYNTAX  InetAddressType
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "This object indicates peer IP address type of a call."
            ::= { h3cVoCallHistoryGenericEntry 8 }


        h3cVoCallHisPeerAddress OBJECT-TYPE
            SYNTAX InetAddress
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "This object indicates peer IP address of a call."
            ::= { h3cVoCallHistoryGenericEntry 9 }


        h3cVoCallHisDisconnectText OBJECT-TYPE
            SYNTAX INTEGER
                {
                normalRelease(1),          -- Normal release.
                cardNumberNotExist(2),     -- Card number not exist.
                invalidPassword(3),        -- Password is invalid.
                thisAccountsIsUsing(4),    -- This Accounts is using.
                noEnoughBalance(5),        -- Not enough money.
                theAccountsIsExpired(6),   -- The Accounts is expired.
                creditLimit(7),            -- Credit limit.
                userReject(8),             -- User was been rejected.
                serviceInvalid(9),         -- The requested service is invalid.
                calledLimit(10),           -- The called is limited.
                maxRedialTimesLimit(11),   -- Reach the maximum redial times.
                invalidParameter(12),      -- Invalid parameter.
                callerHookOn(13),          -- Caller hook on.
                calledHookOn(14),          -- Called hook on.
                networkProblem(15),        -- Network problem.
                unknownReason(16)          -- Unknown Reason.
                }
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "This object indicates the disconnection reason."
            ::= { h3cVoCallHistoryGenericEntry 10 }


        h3cVoCallHisCallDuration OBJECT-TYPE
            SYNTAX TimeTicks
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "This object indicates the duration of this call(include voice
                duration and fax duration)."
            ::= { h3cVoCallHistoryGenericEntry 11 }


        h3cVoCallHisVoCallDuration OBJECT-TYPE
            SYNTAX TimeTicks
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "This object indicates the duration of voice in this call."
            ::= { h3cVoCallHistoryGenericEntry 12 }


        h3cVoCallHisFaxCallDuration OBJECT-TYPE
            SYNTAX TimeTicks
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "This object indicates the duration of fax in this call."
            ::= { h3cVoCallHistoryGenericEntry 13 }


        h3cVoCallHisImgPages OBJECT-TYPE
            SYNTAX Integer32
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "This object indicates the number of pages which fax received
                or transmitted."
            ::= { h3cVoCallHistoryGenericEntry 14 }


        h3cVoCallHisCallOrigin OBJECT-TYPE
            SYNTAX INTEGER
                {
                caller(1),
                called(2)
                }
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "This object indicates the direction of a call."
            ::= { h3cVoCallHistoryGenericEntry 15 }


--===========================================================================
--                     h3cVoCallHistoryVoIPTable
--
--===========================================================================
        h3cVoCallHistoryVoIPTable OBJECT-TYPE
            SYNTAX SEQUENCE OF H3CVoCallHistoryVoIPEntry
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "The table contains the VOIP(Voice over Internet Protocol)
                call history information."
            ::= { h3cVoiceCallHistory 3 }


        h3cVoCallHistoryVoIPEntry OBJECT-TYPE
            SYNTAX H3CVoCallHistoryVoIPEntry
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "The entry of h3cVoCallHistoryVoIPTable."
            INDEX { h3cVoCallHisVoIPIndex }
            ::= { h3cVoCallHistoryVoIPTable 1 }


        H3CVoCallHistoryVoIPEntry ::=
            SEQUENCE {
                h3cVoCallHisVoIPIndex
                    Integer32,
                h3cVoCallHisVoIPSetupTime
                    DateAndTime,
                h3cVoCallHisVoIPConnTime
                    DateAndTime,
                h3cVoCallHisVoIPDiscTime
                    DateAndTime,
                h3cVoCallHisVoIPTxPackets
                    Counter32,
                h3cVoCallHisVoIPTxBytes
                    Counter32,
                h3cVoCallHisVoIPRxPackets
                    Counter32,
                h3cVoCallHisVoIPRxeBytes
                    Counter32
             }

        h3cVoCallHisVoIPIndex OBJECT-TYPE
            SYNTAX Integer32 (1..2147483647)
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "The index of the voice VOIP(Voice over Internet Protocol)
                call history table."
            ::= { h3cVoCallHistoryVoIPEntry 1 }


        h3cVoCallHisVoIPSetupTime OBJECT-TYPE
            SYNTAX DateAndTime
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "This object indicates the time when the gateway receives the
                SETUP message from the IP side."
            ::= { h3cVoCallHistoryVoIPEntry 2 }


        h3cVoCallHisVoIPConnTime OBJECT-TYPE
            SYNTAX DateAndTime
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "This object indicates the time when the gateway receives the
                CONNECT message from the IP side."
            ::= { h3cVoCallHistoryVoIPEntry 3 }


        h3cVoCallHisVoIPDiscTime OBJECT-TYPE
            SYNTAX DateAndTime
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "This object indicates the time when the gateway recieves the
                DISCONNECT message from the IP side."
            ::= { h3cVoCallHistoryVoIPEntry 4 }


        h3cVoCallHisVoIPTxPackets OBJECT-TYPE
            SYNTAX Counter32
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "This object indicates the number of packets which
                VOIP(Voice over Internet Protocol) sends during a call."
            ::= { h3cVoCallHistoryVoIPEntry 5 }


        h3cVoCallHisVoIPTxBytes OBJECT-TYPE
            SYNTAX Counter32
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "This object indicates the number of bytes which VOIP
                (Voice over Internet Protocol) sends during a call."
            ::= { h3cVoCallHistoryVoIPEntry 6 }


        h3cVoCallHisVoIPRxPackets OBJECT-TYPE
            SYNTAX Counter32
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "This object indicates the number of packets which VOIP
                (Voice over Internet Protocol) receives during a call."
            ::= { h3cVoCallHistoryVoIPEntry 7 }


        h3cVoCallHisVoIPRxeBytes OBJECT-TYPE
            SYNTAX Counter32
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "This object indicates the number of bytes which VOIP
                (Voice over Internet Protocol) receives during a call."
            ::= { h3cVoCallHistoryVoIPEntry 8 }



--===========================================================================
--                     h3cVoCallHistoryPSTNTable
--
--===========================================================================
        h3cVoCallHistoryPSTNTable OBJECT-TYPE
            SYNTAX SEQUENCE OF H3CVoCallHistoryPSTNEntry
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "The table contains the PSTN(Public Switched Telephone Network)
                call history information."
            ::= { h3cVoiceCallHistory 4 }


        h3cVoCallHistoryPSTNEntry OBJECT-TYPE
            SYNTAX H3CVoCallHistoryPSTNEntry
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "The entry of h3cVoCallHistoryPSTNTable."
            INDEX { h3cVoCallHisPSTNIndex }
            ::= { h3cVoCallHistoryPSTNTable 1 }


        H3CVoCallHistoryPSTNEntry ::=
            SEQUENCE {
                h3cVoCallHisPSTNIndex
                    Integer32,
                h3cVoCallHisPSTNSetupTime
                    DateAndTime,
                h3cVoCallHisPSTNConnTime
                    DateAndTime,
                h3cVoCallHisPSTNDiscTime
                    DateAndTime,
                h3cVoCallHisPSTNTxPackets
                    Counter32,
                h3cVoCallHisPSTNTxBytes
                    Counter32,
                h3cVoCallHisPSTNRxPackets
                    Counter32,
                h3cVoCallHisPSTNRxBytes
                    Counter32
             }

        h3cVoCallHisPSTNIndex OBJECT-TYPE
            SYNTAX Integer32 (1..2147483647)
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "The index of the voice PSTN(Public Switched Telephone Network)
                call history table."
            ::= { h3cVoCallHistoryPSTNEntry 1 }


        h3cVoCallHisPSTNSetupTime OBJECT-TYPE
            SYNTAX DateAndTime
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "This object indicates PSTN(Public Switched Telephone Network)
                setup time in this call."
            ::= { h3cVoCallHistoryPSTNEntry 2 }


        h3cVoCallHisPSTNConnTime OBJECT-TYPE
            SYNTAX DateAndTime
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "This object indicates PSTN(Public Switched Telephone Network)
                connect time in this call."
            ::= { h3cVoCallHistoryPSTNEntry 3 }


        h3cVoCallHisPSTNDiscTime OBJECT-TYPE
            SYNTAX DateAndTime
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "This object indicates PSTN(Public Switched Telephone Network)
                disconnect time in this call."
            ::= { h3cVoCallHistoryPSTNEntry 4 }


        h3cVoCallHisPSTNTxPackets OBJECT-TYPE
            SYNTAX Counter32
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "The number of packets which PSTN(Public Switched Telephone
                Network) sends during a call."
            ::= { h3cVoCallHistoryPSTNEntry 5 }


        h3cVoCallHisPSTNTxBytes OBJECT-TYPE
            SYNTAX Counter32
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                " The number of bytes which PSTN(Public Switched Telephone
                Netowrk) sends during a call."
            ::= { h3cVoCallHistoryPSTNEntry 6 }


        h3cVoCallHisPSTNRxPackets OBJECT-TYPE
            SYNTAX Counter32
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                " The number of packets which PSTN(Public Switched Telephone
                Netowrk) receives during a call."
            ::= { h3cVoCallHistoryPSTNEntry 7 }


        h3cVoCallHisPSTNRxBytes OBJECT-TYPE
            SYNTAX Counter32
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                " The number of bytes which PSTN(Public Switched Telephone
                Netowrk)  receives during a call."
            ::= { h3cVoCallHistoryPSTNEntry 8 }

    END
