-- ==========================================================================
-- Copyright (C) 2004 by H3C 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
            "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 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
