-- *****************************************************************
-- CISCO-VOICE-IF-MIB.my: Voice Interface MIB file
--
-- September 1996  Hongchi Shih
--
-- Copyright (c) 1996-1998 by cisco Systems, Inc.
-- All rights reserved.
-- *****************************************************************

CISCO-VOICE-IF-MIB  DEFINITIONS ::= BEGIN

IMPORTS
        MODULE-IDENTITY,
        OBJECT-TYPE,
        Integer32 
                FROM SNMPv2-SMI
        TruthValue,
        DisplayString
                FROM SNMPv2-TC
        MODULE-COMPLIANCE,
        OBJECT-GROUP
                FROM SNMPv2-CONF
        ifIndex
                FROM IF-MIB
        CountryCode
                FROM CISCO-TC
        ciscoMgmt
                FROM CISCO-SMI;
 
 
ciscoVoiceInterfaceMIB MODULE-IDENTITY
        LAST-UPDATED    "9803060000Z"
        ORGANIZATION    "Cisco Systems, Inc."
        CONTACT-INFO
                "       Cisco Systems
                        Customer Service

                Postal: 170 W. Tasman Drive
                        San Jose, CA  95134
                        USA
 
                Tel: +1 800 553-NETS
 
                E-mail: cs-voice@cisco.com"
        DESCRIPTION
                "Common Voice Interface MIB module.
                 The MIB module manages the common voice related parameters
                 for both voice analog and ISDN interfaces.
                "
        ::= { ciscoMgmt 64 }




-- Common Voice Interface MIB objects definitions

cvIfObjects                OBJECT IDENTIFIER ::= { ciscoVoiceInterfaceMIB 1 }
cvIfCfgObjects             OBJECT IDENTIFIER ::= { cvIfObjects 1 }


--
-- Voice interface Layering model and ifStack usage             
--
-- Refer to section 2.2.1 of RFC2128 for Layering model and ifStack usage
--

--
-- Voice interface Common Configuration Group
--
-- This group contains the common voice related configuration variables 
-- that are used by both analog and digital telephony interfaces
--

--  
-- Voice Common Configuration Table 
--
cvIfCfgTable OBJECT-TYPE
        SYNTAX      SEQUENCE OF CvIfCfgEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "The Voice Common Configuration Table. It contains information
             about the voice related configuration parameters for
             both analog and digital telephony interfaces. 
            "
       ::= { cvIfCfgObjects 1 }

cvIfCfgEntry OBJECT-TYPE
        SYNTAX      CvIfCfgEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "An entry in the configuration table for each voice analog
             interface or voice feature associated ISDN signalling channel.
             The entry is automatically created when a voice analog interface
             hardware is found or ISDN signalling channel is configured
             and the ISDN associated voice support hardware is detected 
             by the managed system.
             For the ISDN signalling channel associated entry, the entry
             is deleted after ISDN signalling channel is removed. 
            "
        INDEX    { ifIndex }
      ::= { cvIfCfgTable 1 }

CvIfCfgEntry ::=
        SEQUENCE {
            cvIfCfgNoiseRegEnable         TruthValue, 
            cvIfCfgNonLinearProcEnable    TruthValue, 
            cvIfCfgMusicOnHoldThreshold   Integer32, 
            cvIfCfgInGain                 Integer32,
            cvIfCfgOutAttn                Integer32,
            cvIfCfgEchoCancelEnable       TruthValue,
            cvIfCfgEchoCancelCoverage     INTEGER,
            cvIfCfgConnectionMode         INTEGER, 
            cvIfCfgConnectionNumber       DisplayString,
            cvIfCfgInitialDigitTimeOut    Integer32,
            cvIfCfgInterDigitTimeOut      Integer32,
            cvIfCfgRegionalTone           CountryCode 
        }

cvIfCfgNoiseRegEnable OBJECT-TYPE
        SYNTAX      TruthValue
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "The object indicates whether or not the background noise should
             be played to fill silence gaps if VAD is activated.
             The default value of this object is enabled.
            "
        ::= { cvIfCfgEntry 1 }


cvIfCfgNonLinearProcEnable OBJECT-TYPE
        SYNTAX      TruthValue
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "The object indicates whether or not the Nonlinear Processing
             is enabled for the interface.
             The default value of this object is enabled.
            "
        ::= { cvIfCfgEntry 2 }

cvIfCfgMusicOnHoldThreshold OBJECT-TYPE
        SYNTAX      Integer32 (-70..-30)
        UNITS       "dBm" 
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "The object specifies the Music On Hold Threshold for
             the interface.
             The default value of this object is -38 dBm.
            "
        ::= { cvIfCfgEntry 3 }


cvIfCfgInGain OBJECT-TYPE
       SYNTAX     Integer32 (-6..14)
       UNITS      "dB"
       MAX-ACCESS  read-write
       STATUS      current
       DESCRIPTION
               "This object contains the amount of gain inserted at the
                receiver side of the interface. The input gain settings
                only define a gain/loss relative to the 0 dB setting.
                The absolute loss at the 0 dB setting could be implementation
                dependent based on the desired network loss plan.
                The default value of this object is 0 dB (decibel).
               "
        ::= { cvIfCfgEntry 4 }

cvIfCfgOutAttn OBJECT-TYPE
       SYNTAX      Integer32 (0..14)     
       UNITS      "dB"
       MAX-ACCESS  read-write
       STATUS      current
       DESCRIPTION
               "This object contains the amount of attenuation inserted at the
                transmit side of the interface. 
                The output attenuation settings only define a loss 
                relative to the 0 dB setting.
                The absolute loss at the 0 dB setting could be implementation
                dependent based on the desired network loss plan.
                The default value of this object is 0 dB (decibel).
               "
       ::= { cvIfCfgEntry 5 }

cvIfCfgEchoCancelEnable OBJECT-TYPE
        SYNTAX      TruthValue
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "The object specifies whether or not the Echo Cancellation 
             is enabled for the interface.
             The default value of this object is enabled.
            "
        ::= { cvIfCfgEntry 6 }

cvIfCfgEchoCancelCoverage OBJECT-TYPE
        SYNTAX      INTEGER {
            echoCanceller16ms (1),
            echoCanceller24ms (2),
            echoCanceller32ms (3)
        }
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "The object specifies the Echo Canceller coverage for
             the interface. This object is valid if the
             cvIfCfgEchoCancelEnable object is 'true'.
             echoCanceller16ms - 16 milliseconds echo canceller coverage.
             echoCanceller24ms - 24 milliseconds echo canceller coverage.
             echoCanceller32ms - 32 milliseconds echo canceller coverage.
             The default value of this object is echoCanceller16ms.
            "
        ::= { cvIfCfgEntry 7 }

cvIfCfgConnectionMode OBJECT-TYPE
        SYNTAX      INTEGER {
              normal  (1),
              trunk   (2),
              plar    (3)
        }
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "The object indicates the connection mode of the interface.
             normal - the interface acts normally to handle incoming
                      and outgoing call.
             trunk  - the interface acts in trunking mode. trunking mode
                      causes two interfaces (on either the same or different
                      routers) to be always conferenced together, and for
                      telephony signaling to be passed transparently through
                      the VoIP system rather than trapped and interpreted by
                      the session application on the router(s).
             plar   - the interface acts in PLAR (private line automatic
                      ringdown) mode. PLAR is handled by associating a
                      peer directly with an interface such that when the
                      interface goes off-hook, that peer is used to setup
                      the second call leg and conference them together
                      without the caller having to dial any digits.
            "
        ::= { cvIfCfgEntry 8 }

cvIfCfgConnectionNumber OBJECT-TYPE
        SYNTAX      DisplayString (SIZE (0..32))           
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "This is the E.164 phone number that is used to 
             establish connection with trunking mode or PLAR mode.
             If the cvIfCfgConnectionMode is 'normal', then  this
             object will be a zero length string.
            "
        ::= { cvIfCfgEntry 9 }

cvIfCfgInitialDigitTimeOut OBJECT-TYPE
        SYNTAX      Integer32 (0..120)
        UNITS      "seconds"
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "This is the initial digit timeout that indicates the amount of
             time the managed system waits for an initial input digit from the
             caller. The timer is activated when the call is accepted and is
             deactivated upon digit input. If the timer expires, the caller
             is signaled through the appropriate tone and the call is abandoned.
             The value of zero disables the timer.
             The default value of this object is 10 seconds.
            "
        ::= { cvIfCfgEntry 10 }

cvIfCfgInterDigitTimeOut OBJECT-TYPE
        SYNTAX      Integer32 (0..120)
        UNITS      "seconds"
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "This is the inter-digit timeout that indicates the amount of time
             the managed system waits for a subsequent input digit from the
             caller. The timer is started upon receipt of an input digit and
             restarted as each digit is received until the destination address
             is identified. If the timer expires and no destination address is
             identified, the caller is signaled through the appropriate tone
             and the call is abandoned. The value of zero disables the timer.
             The default value of this object is 10 seconds.
            "
        ::= { cvIfCfgEntry 11 }

cvIfCfgRegionalTone OBJECT-TYPE
        SYNTAX      CountryCode
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
                "This object contains the country specific setting
                 for the tone, ring, cadence parameters to be used by
                 this interface.
                "
        ::= { cvIfCfgEntry 12 }

cvIfConformance OBJECT IDENTIFIER ::=
                                { ciscoVoiceInterfaceMIB 2 }
cvIfCompliances OBJECT IDENTIFIER ::=
                                { cvIfConformance 1 }
cvIfGroups      OBJECT IDENTIFIER ::=
                                { cvIfConformance 2 }

-- compliance statements

cvIfCompliance MODULE-COMPLIANCE
        STATUS      current
        DESCRIPTION
            "The compliance statement for entities which
             implement the Cisco Voice Interface MIB"
        MODULE      -- this module
        MANDATORY-GROUPS
            { cvIfGroup }

        GROUP cvIfConnectionGroup
            DESCRIPTION
               "The cvIfConnectionGroup is mandatory only for
                voice analog interfaces.
               "
        OBJECT  cvIfCfgNoiseRegEnable
            MIN-ACCESS  read-only
            DESCRIPTION
                "Write access is not required."

        OBJECT  cvIfCfgNonLinearProcEnable
            MIN-ACCESS  read-only
            DESCRIPTION
                "Write access is not required."

        OBJECT  cvIfCfgMusicOnHoldThreshold
            MIN-ACCESS  read-only
            DESCRIPTION
                "Write access is not required."

        OBJECT  cvIfCfgInGain
            MIN-ACCESS  read-only
            DESCRIPTION
                "Write access is not required."

        OBJECT  cvIfCfgOutAttn
            MIN-ACCESS  read-only
            DESCRIPTION
                "Write access is not required."

        OBJECT  cvIfCfgEchoCancelEnable
            MIN-ACCESS  read-only
            DESCRIPTION
                "Write access is not required."

        OBJECT  cvIfCfgEchoCancelCoverage
            MIN-ACCESS  read-only
            DESCRIPTION
                "Write access is not required."

        OBJECT  cvIfCfgConnectionMode
            MIN-ACCESS  read-only
            DESCRIPTION
                "Write access is not required."

        OBJECT  cvIfCfgConnectionNumber
            MIN-ACCESS  read-only
            DESCRIPTION
                "Write access is not required."

        OBJECT  cvIfCfgInitialDigitTimeOut
            MIN-ACCESS  read-only
            DESCRIPTION
                "Write access is not required."

        OBJECT  cvIfCfgInterDigitTimeOut
            MIN-ACCESS  read-only
            DESCRIPTION
                "Write access is not required."

        OBJECT  cvIfCfgRegionalTone
            MIN-ACCESS  read-only
            DESCRIPTION
                "Write access is not required."

        ::= { cvIfCompliances 1 }

-- units of conformance


cvIfGroup OBJECT-GROUP
        OBJECTS {
            cvIfCfgNoiseRegEnable, 
            cvIfCfgNonLinearProcEnable , 
            cvIfCfgMusicOnHoldThreshold, 
            cvIfCfgInGain,
            cvIfCfgOutAttn,
            cvIfCfgEchoCancelEnable,
            cvIfCfgEchoCancelCoverage,
            cvIfCfgInitialDigitTimeOut,
            cvIfCfgInterDigitTimeOut,
            cvIfCfgRegionalTone
        }
        STATUS      current
        DESCRIPTION
            "A collection of objects providing the Common Voice parameter
             related configuration for both analog and digital voice
             interfaces."
        ::= { cvIfGroups 1 }

cvIfConnectionGroup OBJECT-GROUP
        OBJECTS {
            cvIfCfgConnectionMode, 
            cvIfCfgConnectionNumber
        }
        STATUS      current
        DESCRIPTION
            "A collection of objects providing trunking or PLAR
             (private line automatic ringdown) related configuration
             for voice analog interfaces.
            "
        ::= { cvIfGroups 2 }

END


