-- ==========================================================================
-- Copyright (C) 2008 by H3C Technologies. All rights reserved.
--
-- Description: The purpose of this MIB file is to provide the definition of
--              voice call record.
-- Reference:
-- Version: V1.0
-- History:
-- V1.0 2008-02-17 Initial version, created by Tian Xiaoqiang, Qu Jin
-- ==========================================================================
H3C-VOICE-CALL-ACTIVE-MIB DEFINITIONS ::= BEGIN
IMPORTS
        OBJECT-TYPE, MODULE-IDENTITY, Integer32, Gauge32
    FROM SNMPv2-SMI
        InetAddressType, InetAddress
    FROM INET-ADDRESS-MIB
        H3cCodecType
    FROM H3C-VOICE-DIAL-CONTROL-MIB
        callActiveSetupTime, callActiveIndex
    FROM DIAL-CONTROL-MIB
        TEXTUAL-CONVENTION
    FROM SNMPv2-TC
        h3cVoice
    FROM HUAWEI-3COM-OID-MIB;

h3cVoCallActive MODULE-IDENTITY
    LAST-UPDATED "200802170000Z"
    ORGANIZATION
        "Hangzhou H3C Technologies Co., Ltd."
    CONTACT-INFO
        "Platform Team Hangzhou 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 call
         active record information."
    REVISION "200802170000Z"
    DESCRIPTION
        "The initial version of this MIB file."
    ::= { h3cVoice 15 }

-- ======================================
--          Type declaration
-- ======================================

H3cGUid ::= TEXTUAL-CONVENTION
    STATUS       current
    DESCRIPTION
        "Represents a global call identifier. The global call identifier is
         used as an unique identifier for an end-to-end call. A zero length
         H3cGUid indicates no value for the global call identifier."
    SYNTAX       OCTET STRING(SIZE(0..16))


h3cVoiceCallActiveObjects OBJECT IDENTIFIER ::= { h3cVoCallActive 1 }

-- ===========================================================================
--                        h3cVoiceCallActiveTable
-- ===========================================================================
h3cVoiceCallActiveTable OBJECT-TYPE
    SYNTAX SEQUENCE OF H3cVoiceCallActiveEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "This table is the voice extension to the call active table
         of DIAL-CONTROL-MIB. It contains voice encapsulation call
         leg information that is derived from the statistics
         of lower layer telephony interface."
    ::= { h3cVoiceCallActiveObjects 1 }

h3cVoiceCallActiveEntry OBJECT-TYPE
    SYNTAX H3cVoiceCallActiveEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "The information regarding a single voice encapsulation
         call leg.
         The call leg entry is identified by using the same index
         objects that are used by call active table of
         DIAL-CONTROL-MIB to identify the call.
         An entry of this table is created when its associated call
         active entry in the DIAL-CONTROL-MIB is created and
         call active entry contains the call establishment to a
         voice over telephony network peer.
         The entry is deleted when its associated call active entry
         in the DIAL-CONTROL-MIB is deleted."
    INDEX { callActiveSetupTime, callActiveIndex }
    ::= { h3cVoiceCallActiveTable 1 }

H3cVoiceCallActiveEntry ::= SEQUENCE {
        h3cVoCallActiveConnectionId H3cGUid,
        h3cVoCallActiveTxDuration Gauge32,
        h3cVoCallActiveVoiceTxDuration Gauge32,
        h3cVoCallActiveFaxTxDuration Gauge32,
        h3cVoCallActiveCoderType H3cCodecType,
        h3cVoCallActiveImgPageCount Gauge32
    }

h3cVoCallActiveConnectionId OBJECT-TYPE
    SYNTAX H3cGUid
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The global call identifier for the gateway call."
    ::= { h3cVoiceCallActiveEntry 1 }

h3cVoCallActiveTxDuration OBJECT-TYPE
    SYNTAX Gauge32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Duration of transmit path open from this peer to the
         voice gateway for the call. The units is milliseconds."
    ::= { h3cVoiceCallActiveEntry 2 }

h3cVoCallActiveVoiceTxDuration OBJECT-TYPE
    SYNTAX Gauge32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Duration of voice transmitted from this peer to voice
         gateway for this call. The voice utilization rate can be
         obtained by dividing this by h3cVoCallActiveTXDuration object.
         The units is milliseconds."
    ::= { h3cVoiceCallActiveEntry 3 }

h3cVoCallActiveFaxTxDuration OBJECT-TYPE
    SYNTAX Gauge32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Duration of fax transmitted from this peer to voice gateway
         for this call. The fax utilization rate can be obtained by
         dividing this by h3cVoCallActiveTXDuration object. The units
         is milliseconds."
    ::= { h3cVoiceCallActiveEntry 4 }

h3cVoCallActiveCoderType OBJECT-TYPE
    SYNTAX H3cCodecType
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The negotiated coder type. It specifies the encode type to
         the PSTN leg of a call."
    ::= { h3cVoiceCallActiveEntry 5 }

h3cVoCallActiveImgPageCount OBJECT-TYPE
    SYNTAX Gauge32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The number of fax related image pages are received or
         transmitted via the peer for the call. The units is pages."
    ::= { h3cVoiceCallActiveEntry 6 }


-- ===========================================================================
--                        h3cVoiceVoIPCallActiveTable
-- ===========================================================================
h3cVoiceVoIPCallActiveTable OBJECT-TYPE
    SYNTAX SEQUENCE OF H3cVoiceVoIPCallActiveEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "This table is the VoIP extension to the call active table of
         DIAL-CONTROL-MIB. It contains VoIP call leg
         information about specific VoIP call destination."
    ::= { h3cVoiceCallActiveObjects 2 }

h3cVoiceVoIPCallActiveEntry OBJECT-TYPE
    SYNTAX H3cVoiceVoIPCallActiveEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "The information regarding a single VoIP call leg.
         The call leg entry is identified by using the same index
         objects that are used by call active table of DIAL-CONTROL-MIB
         to identify the call.
         An entry of this table is created when its associated call
         active entry in the DIAL-CONTROL-MIB is created and the
         call active entry contains information for the call
         establishment to the peer on the IP backbone via a voice
         over IP peer.
         The entry is deleted when its associated call active entry
         in the DIAL-CONTROL-MIB is deleted."
    INDEX { callActiveSetupTime, callActiveIndex }
    ::= { h3cVoiceVoIPCallActiveTable 1 }

H3cVoiceVoIPCallActiveEntry ::= SEQUENCE {
    h3cVoVoIPCallActiveConnectionId H3cGUid,
    h3cVoVoIPCallActiveRemSigIPType InetAddressType,
    h3cVoVoIPCallActiveRemSigIPAddr InetAddress,
    h3cVoVoIPCallActiveRemSigPort Integer32,
    h3cVoVoIPCallActiveRemMedIPType InetAddressType,
    h3cVoVoIPCallActiveRemMedIPAddr InetAddress,
    h3cVoVoIPCallActiveRemMedPort Integer32,
    h3cVoVoIPCallActiveSessProtocol INTEGER,
    h3cVoVoIPCallActiveCoderType H3cCodecType
    }

h3cVoVoIPCallActiveConnectionId OBJECT-TYPE
    SYNTAX H3cGUid
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The global call identifier for the gateway call."
    ::= { h3cVoiceVoIPCallActiveEntry 1 }

h3cVoVoIPCallActiveRemSigIPType OBJECT-TYPE
    SYNTAX InetAddressType
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The type of remote system signalling IP address for the VoIP call."
    ::= { h3cVoiceVoIPCallActiveEntry 2 }

h3cVoVoIPCallActiveRemSigIPAddr OBJECT-TYPE
    SYNTAX InetAddress
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Remote system signalling IP address for the VoIP call."
    ::= { h3cVoiceVoIPCallActiveEntry 3 }

h3cVoVoIPCallActiveRemSigPort OBJECT-TYPE
    SYNTAX Integer32(0..65535)
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Remote system UDP listener signalling port to which to transmit voice
         packets."
    ::= { h3cVoiceVoIPCallActiveEntry 4 }

h3cVoVoIPCallActiveRemMedIPType OBJECT-TYPE
    SYNTAX InetAddressType
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The type of remote system media IP address for the VoIP call."
    ::= { h3cVoiceVoIPCallActiveEntry 5 }

h3cVoVoIPCallActiveRemMedIPAddr OBJECT-TYPE
    SYNTAX InetAddress
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Remote system media IP address for the VoIP call."
    ::= { h3cVoiceVoIPCallActiveEntry 6 }

h3cVoVoIPCallActiveRemMedPort OBJECT-TYPE
    SYNTAX Integer32(0..65535)
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Remote system UDP listener media port to which to transmit voice
         packets."
    ::= { h3cVoiceVoIPCallActiveEntry 7 }

h3cVoVoIPCallActiveSessProtocol OBJECT-TYPE
    SYNTAX INTEGER {
        unknown(1),
        h323(2),
        sip(3)
        }
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The object specifies the session protocol to be used
         for internet call between local and remote router via
         IP backbone."
    ::= { h3cVoiceVoIPCallActiveEntry 8 }

h3cVoVoIPCallActiveCoderType OBJECT-TYPE
    SYNTAX H3cCodecType
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The negotiated coder type. It specifies the encode type to
         the VoIP leg of a call."
    ::= { h3cVoiceVoIPCallActiveEntry 9 }


END
