-- ****************************************************************************
-- ****************************************************************************
--
--      Copyright(c) 2004 Mediatrix Telecom, Inc.
--      Copyright(c) 2008 Media5 Corporation. ("Media5")
--
--  NOTICE:
--   This document contains information that is confidential and proprietary
--   to Media5.
--
--   Media5 reserves all rights to this document as well as to the Intellectual
--   Property of the document and the technology and know-how that it includes
--   and represents.
--
--   This publication cannot be reproduced, neither in whole nor in part, in
--   any form whatsoever without written prior approval by Media5.
--
--   Media5 reserves the right to revise this publication and make changes at
--   any time and without the obligation to notify any person and/or entity of
--   such revisions and/or changes.
--
-- ****************************************************************************
-- ****************************************************************************

MX-MGCP-MIB
DEFINITIONS ::= BEGIN

IMPORTS
        MODULE-IDENTITY,
        OBJECT-IDENTITY,
        OBJECT-TYPE,
        Unsigned32
    FROM SNMPv2-SMI
        OBJECT-GROUP,
        MODULE-COMPLIANCE
    FROM SNMPv2-CONF
        ifIndex
    FROM RFC1213-MIB
        MxIpHostName,
        MxIpConfigSource,
        MxIpPort,
        MxIpSelectConfigSource,
        MxIpDhcpSiteSpecificCode,
        MxEnableState
    FROM MX-TC
        ipAddressStatus,
        ipAddressConfig,
        mediatrixIpTelephonySignaling
    FROM MX-SMI;

mgcp OBJECT-IDENTITY
    STATUS      current
    DESCRIPTION "This MIB contains MGCP configuration objects."
    ::= { mediatrixIpTelephonySignaling 1 }

mgcpMIB MODULE-IDENTITY
    LAST-UPDATED "200807290000Z"
    ORGANIZATION "Mediatrix Telecom, Inc."
    CONTACT-INFO "Mediatrix Telecom, Inc.
                  4229, Garlock Street
                  Sherbrooke (Quebec)
                  Canada
                  Phone: (819) 829-8749
                  "
    DESCRIPTION "This MIB contains MGCP configuration objects."

    -- ************************************************************************
    -- Revision history
    -- ************************************************************************
    REVISION    "200807290000Z"
    DESCRIPTION "Added range validation for mgcpDtmfPackageLDuration, mgcpDtmfPackageTCriticalDuration
                 mgcpDtmfPackageTPartialDuration, mgcpGenericMediaPackageRbkDuration,
                 mgcpGenericMediaPackageRtDuration, mgcpLinePackageBzDuration,
                 mgcpLinePackageDlDuration, mgcpLinePackageMwiDuration, mgcpLinePackageOtDuration,
                 mgcpLinePackageRgDuration, mgcpLinePackageRoDuration, mgcpLinePackageSlDuration,
                 mgcpLinePackageWtDuration, mgcpLinePackageOsiDuration and mgcpXPPackageIrDuration."

    REVISION    "200409210000Z"
    DESCRIPTION "Variable mgcpFwEndpointId from the MGCP Firewall traversal
                 mechanism is now obsolete."

    REVISION    "200407200000Z"
    DESCRIPTION "Introduction of a new MGCP Firewall traversal mechanism."

    REVISION    "200212310000Z"
    DESCRIPTION "Updated the DESCRIPTION of mgcpRetransmissionDisconnectMinWaitingPeriod."

    REVISION    "200211180000Z"
    DESCRIPTION "Edited many DEFVALs.
                    - Set the interval of mgcpRetransmissionInitialPeriod
                    to mgcpRetransmissionMaxPeriod since it is forbidden that
                    the first has more 'range', than the second.
                    - Set a minimum value of 100 to:
                        - mgcpRetransmissionDisconnectTimeout
                        - mgcpRetransmissionHistoryTimeout
                        - mgcpRetransmissionMaxWaitingDelay
                        - mgcpRetransmissionDisconnectInitialWaitingPeriod
                        - mgcpRetransmissionDisconnectMinWaitingPeriod
                        - mgcpRetransmissionDisconnectMaxWaitingPeriod
                     since each must be at least equal to minimum internal tick
                     value.
                    - Set a minimum value of 1 to:
                        - mgcpRetransmissionSuspicionThreshold
                        - mgcpRetransmissionDisconnectThreshold
                    since each must be at least higher than zero.
                    - Use the same DEFVAL for:
                        - mgcpRetransmissionHistoryTimeout
                        - mgcpRetransmissionDisconnectTimeout
                    since the second must be at least equal to the second DEFVAL"
    REVISION    "200207100000Z"
    DESCRIPTION "Renamed doNotIncludePtime(0) to excludePtime(0)."

    REVISION    "200207050000Z"
    DESCRIPTION "Added X-P package."

    REVISION    "200206260000Z"
    DESCRIPTION "Renamed INTEGER value doNotIncludeNotStarted(0) to excludeNotStarted(0)."

    REVISION    "200205010000Z"
    DESCRIPTION "Added mgcpLinePackageOsiDuration."

    REVISION    "200203130000Z"
    DESCRIPTION "Added mgcpPiggyBackingEnable."

    REVISION    "200111230000Z"
    DESCRIPTION "Added range for mgcpRetransmissionInitialPeriod."

    REVISION    "200108020000Z"
    DESCRIPTION "Creation"
    ::= { mgcp 1 }

mgcpMIBObjects  OBJECT IDENTIFIER ::= { mgcpMIB 1 }
mgcpConformance OBJECT IDENTIFIER ::= { mgcpMIB 2 }

    mgcpPort OBJECT-TYPE
        SYNTAX      MxIpPort
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION "MGCP IP port number. This is the UDP port number on
                     which the gateway is listening for any MGCP request."
        DEFVAL      { 2427 }
        ::=  {  mgcpMIBObjects  1  }

    mgcpDefaultDigitMap OBJECT-TYPE
        SYNTAX      OCTET STRING (SIZE (1..255))
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION "Default digit map for all the endpoints."
        DEFVAL      { "x.T" }
        ::=  {  mgcpMIBObjects  2  }

    mgcpDefaultPackage OBJECT-TYPE
        SYNTAX      INTEGER {
                              linePackage(0),
                              dtmfPackage(1),
                              genericPackage(2)
                            }
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION "Default package for all the endpoints."
        DEFVAL      { linePackage }
        ::=  {  mgcpMIBObjects  3  }

    mgcpRestartLevel OBJECT-TYPE
        SYNTAX      INTEGER {
                              gateway(0),
                              group(1),
                              endpoint(2)
                            }
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION "Level of restart for initial RSIP."
        DEFVAL      { gateway }
        ::=  {  mgcpMIBObjects 4  }

    mgcpEndpointIdListIncludeNotStarted OBJECT-TYPE
        SYNTAX      INTEGER {
                              excludeNotStarted(0),
                              includeNotStarted(1)
                            }
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION "Indicates if the EndpointIdList returned by a wildcarded
                     AUEP will include or not endpoints that are not started."
        DEFVAL       { excludeNotStarted }
        ::=  {  mgcpMIBObjects  5  }

    mgcpPiggyBackingEnable OBJECT-TYPE
        SYNTAX      INTEGER {
                             disable(0),
                             enable(1)
                            }
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION "Indicates if piggy-backing can be used to send several
                     MGCP messages in the same UDP packet. If enabled,
                     piggy-backing can be used. Otherwise, no piggy-backing
                     is used."
        DEFVAL      { enable }
        ::=  {  mgcpMIBObjects  6  }

    mgcpAddPtimeIfPresentInLCO   OBJECT-TYPE
        SYNTAX      INTEGER {
                              excludePtime(0),
                              includePtime(1)
                            }
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION "If includePtime is selected, the ptime will be included
                     in the SDP packets whenever the ptime is provided in
                     the LocalConnectionOptions(LCO) parameters. Otherwise,
                     the ptime is never provided in SDP."
        DEFVAL { excludePtime }
        ::=  {  mgcpMIBObjects  10  }

-- ************************************************************************
-- EndPoint Id information
-- ************************************************************************

mgcpEndpointId  OBJECT IDENTIFIER ::=  {  mgcpMIBObjects  17  }

    mgcpEndpointIfTable OBJECT-TYPE
        SYNTAX      SEQUENCE OF MgcpEndpointIfEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION "Table that contains MGCP endpoint interface parameters.
                     This table contains the local endpoint name. The endpoint
                     name is created as follows: term2/term1@localHostFqdn."
        ::= { mgcpEndpointId  10 }

        mgcpEndpointIfEntry OBJECT-TYPE
            SYNTAX      MgcpEndpointIfEntry
            MAX-ACCESS  not-accessible
            STATUS      current
            DESCRIPTION "Table entry of the endpoint interface table."
            INDEX       {
                         ifIndex
                        }
            ::= { mgcpEndpointIfTable 1 }

            MgcpEndpointIfEntry ::= SEQUENCE
                {
                    mgcpEndpointIdTerm2 OCTET STRING (SIZE (1..255)),
                    mgcpEndpointIdTerm1 OCTET STRING (SIZE (1..255))
               }

    mgcpEndpointIdTerm1 OBJECT-TYPE
        SYNTAX      OCTET STRING (SIZE (1..255))
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION "The right most term of the local endpoint name."
        ::=  {  mgcpEndpointIfEntry  1  }


    mgcpEndpointIdTerm2 OBJECT-TYPE
        SYNTAX      OCTET STRING (SIZE (1..255))
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION "Second term from the right of the local endpoint name."
        DEFVAL      { "aaln" }
        ::=  {  mgcpEndpointIfEntry  2  }


-- ************************************************************************
-- Retransmission information
-- ************************************************************************
mgcpRetransmission  OBJECT IDENTIFIER ::=  {  mgcpMIBObjects  18  }

    mgcpRetransmissionAlgorithm OBJECT-TYPE
        SYNTAX      INTEGER {
                              static(0),
                              exponential(1),
                              exponentialWithJitter(2)
                            }
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION "Retransmission algorithm used."
        DEFVAL      { exponentialWithJitter }
        ::=  {  mgcpRetransmission  1  }

    mgcpRetransmissionInitialPeriod OBJECT-TYPE
        SYNTAX      Unsigned32 (200..4294967295)
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION "Retransmission initial period in ms."
        DEFVAL      { 200 }
        ::=  {  mgcpRetransmission  2  }

    mgcpRetransmissionMaxPeriod OBJECT-TYPE
        SYNTAX      Unsigned32 (200..4294967295)
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION "Retransmission maximum period in ms.
                     Must be greater than or equal to the retransmission
                     initial period."
        DEFVAL      { 30000 }
        ::=  {  mgcpRetransmission  3  }

    mgcpRetransmissionDisconnectTimeout OBJECT-TYPE
        SYNTAX      Unsigned32 (100..4294967295)
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION "Time elapsed (in ms) at which an endpoint will become disconnected."
        DEFVAL { 20000 }
        ::=  {  mgcpRetransmission  4  }

    mgcpRetransmissionSuspicionThreshold OBJECT-TYPE
        SYNTAX  Unsigned32 (1..4294967295)
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION "Number of retransmissions at which an endpoint may
                     actively query the name server to detect the possible
                     change of the Call Agent's interfaces."
        DEFVAL      { 7 }
        ::=  {  mgcpRetransmission  5  }

    mgcpRetransmissionSuspicionThresholdDnsQuery OBJECT-TYPE
        SYNTAX     INTEGER {
                             noDnsQuery(0),
                             performDnsQuery(1)
                           }
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION "Indicates whether a DNS query will be performed or not when the
                     number of retransmissions is equal to the suspicion threshold."
        DEFVAL      { noDnsQuery }
        ::=  {  mgcpRetransmission  6  }

    mgcpRetransmissionDisconnectThreshold OBJECT-TYPE
        SYNTAX  Unsigned32 (1..4294967295)
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION "Number of retransmissions at which an endpoint
                     should contact the DNS one more time to see if
                     any other interfaces have become available. When
                     the number of retransmissions is greater than
                     this value, the endpoint will become disconnected."
        DEFVAL       { 7 }
        ::=  {  mgcpRetransmission  7  }

    mgcpRetransmissionDisconnectThresholdDnsQuery OBJECT-TYPE
        SYNTAX      INTEGER {
                             noDnsQuery(0),
                             performDnsQuery(1)
                            }
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION "Indicates whether a DNS query will be performed or not when the
                     number of retransmissions is equal to the disconnect threshold."
        DEFVAL { noDnsQuery }
        ::=  {  mgcpRetransmission  8  }

    mgcpRetransmissionHistoryTimeout OBJECT-TYPE
        SYNTAX      Unsigned32 (100..4294967295)
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION "Number of milliseconds for which reponses to old
                     transactions must be kept."
        DEFVAL      { 20000 }
        ::=  {  mgcpRetransmission  9  }

    mgcpRetransmissionMaxWaitingDelay OBJECT-TYPE
        SYNTAX      Unsigned32 (100..4294967295)
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION "Maximum waiting delay (in ms) an endpoint can wait
                     before sending an RSIP."
        DEFVAL      { 600000 }
        ::=  {  mgcpRetransmission  10  }

    mgcpRetransmissionDisconnectInitialWaitingPeriod OBJECT-TYPE
        SYNTAX      Unsigned32 (100..4294967295)
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION "Initial waiting delay (in ms) an endpoint must wait before
                     starting the disconnect procedure."
        DEFVAL      { 15000 }
        ::=  {  mgcpRetransmission  11  }

    mgcpRetransmissionDisconnectMinWaitingPeriod OBJECT-TYPE
        SYNTAX      Unsigned32 (100..4294967295)
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION "Minimum waiting delay (in ms) that must have elapsed since
                     the gateway became initially disconnected, and before
                     reinitiating the disconnect procedure. If the endpoint
                     remains disconnected after 'disconnected' procedure, the
                     minimum waiting delay is doubled up to a maximum value."
        DEFVAL      { 15000 }
        ::=  {  mgcpRetransmission  12  }

    mgcpRetransmissionDisconnectMaxWaitingPeriod OBJECT-TYPE
        SYNTAX      Unsigned32 (100..4294967295)
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION "Disconnected maximum waiting delay (in ms) since the
                     gateway became disconnected that an endpoint can wait
                     before starting the disconnect procedure."
        DEFVAL      { 600000 }
        ::=  {  mgcpRetransmission  13  }

-- ************************************************************************
-- DTMF (D) package
-- ************************************************************************

mgcpDtmfPackage OBJECT IDENTIFIER ::=  {  mgcpMIBObjects 30  }

    mgcpDtmfPackageLDuration OBJECT-TYPE
        SYNTAX      Unsigned32 ( 0..4294967295 )
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION "DTMF long duration timeout value in ms."
        DEFVAL      { 2000 }
        ::=  {  mgcpDtmfPackage  4  }

    mgcpDtmfPackageTCriticalDuration OBJECT-TYPE
        SYNTAX      Unsigned32 ( 0..4294967295 )
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION "Interdigit timeout value in ms when a timer is all that
                     is required for the digit string to match a pattern in
                     the digit map."
        DEFVAL      { 4000 }
        ::=  {  mgcpDtmfPackage  8  }

    mgcpDtmfPackageTPartialDuration OBJECT-TYPE
        SYNTAX      Unsigned32 ( 0..4294967295 )
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION "Interdigit timeout value in ms when at least one more
                     digit is required for the digit string to match any of
                     the patterns in the digit map."
        DEFVAL      { 16000 }
        ::=  {  mgcpDtmfPackage  12  }

-- ************************************************************************
-- Generic (G) package
-- ************************************************************************

mgcpGenericMediaPackage OBJECT IDENTIFIER ::=  {  mgcpMIBObjects 35  }

    mgcpGenericMediaPackageRbkDuration OBJECT-TYPE
        SYNTAX      Unsigned32 ( 0..4294967295 )
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION "Ring back on connection tone timeout value in ms."
        DEFVAL      { 180000 }
        ::=  {  mgcpGenericMediaPackage  10  }

    mgcpGenericMediaPackageRtDuration OBJECT-TYPE
        SYNTAX      Unsigned32 ( 0..4294967295 )
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION "Ring back tone timeout value in ms."
        DEFVAL      { 180000 }
        ::=  {  mgcpGenericMediaPackage  14  }

-- ************************************************************************
-- Line (L) package
-- ************************************************************************

mgcpLinePackage OBJECT IDENTIFIER ::=  {  mgcpMIBObjects  40  }

    mgcpLinePackageBzDuration OBJECT-TYPE
        SYNTAX      Unsigned32 ( 0..4294967295 )
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION "Busy tone timeout value in ms."
        DEFVAL      { 30000 }
        ::=  {  mgcpLinePackage  4 }

    mgcpLinePackageDlDuration OBJECT-TYPE
        SYNTAX      Unsigned32 ( 0..4294967295 )
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION "Dial tone timeout value in ms."
        DEFVAL      { 16000 }
        ::=  {  mgcpLinePackage  8  }

    mgcpLinePackageMwiDuration OBJECT-TYPE
        SYNTAX      Unsigned32 ( 0..4294967295 )
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION "Message waiting indicator tone timeout value in ms."
        DEFVAL      { 16000 }
        ::=  {  mgcpLinePackage  12  }

    mgcpLinePackageOtDuration OBJECT-TYPE
        SYNTAX      Unsigned32 ( 0..4294967295 )
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION "Off hook warning tone timeout value in ms."
        DEFVAL      { 65535000 }
        ::=  {  mgcpLinePackage  16  }

    mgcpLinePackageRgDuration OBJECT-TYPE
        SYNTAX      Unsigned32 ( 0..4294967295 )
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION "Ring tone timeout value in ms."
        DEFVAL      { 180000 }
        ::=  {  mgcpLinePackage  20  }

    mgcpLinePackageRoDuration OBJECT-TYPE
        SYNTAX      Unsigned32 ( 0..4294967295 )
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION "Reorder tone timeout value in ms."
        DEFVAL      { 30000 }
        ::=  {  mgcpLinePackage  24  }

    mgcpLinePackageSlDuration OBJECT-TYPE
        SYNTAX      Unsigned32 ( 0..4294967295 )
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION "Stutter dial tone timeout value in ms."
        DEFVAL      { 16000 }
        ::=  {  mgcpLinePackage  28  }

    mgcpLinePackageWtDuration OBJECT-TYPE
        SYNTAX      Unsigned32 ( 0..4294967295 )
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION "Call waiting tone timeout value in ms."
        DEFVAL      { 30000 }
        ::=  {  mgcpLinePackage  32  }

    mgcpLinePackageOsiDuration OBJECT-TYPE
        SYNTAX      Unsigned32 ( 0..4294967295 )
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION "Network disconnect timeout value in ms."
        DEFVAL      { 900 }
        ::=  {  mgcpLinePackage  36  }

    mgcpLinePackageHdPersistent OBJECT-TYPE
        SYNTAX      INTEGER {
                            disable(0),
                            enable(1)
                           }
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION "Indicates whether the off-hook event is persistent or not.

                     Persistent events in a given package are always detected on an
                     endpoint that implements that package. If a persistent event is not
                     included in the list of RequestedEvents and the event occurs, the
                     event will be detected anyway and processed like all other events,
                     as if the persistent event had been requested with a Notify action."
        DEFVAL      { disable }
        ::=  {  mgcpLinePackage  100  }

    mgcpLinePackageHfPersistent OBJECT-TYPE
        SYNTAX      INTEGER {
                            disable(0),
                            enable(1)
                           }
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION "Indicates whether the flash hook event is persistent or not.

                     Persistent events in a given package are always detected on an
                     endpoint that implements that package. If a persistent event is not
                     included in the list of RequestedEvents and the event occurs, the
                     event will be detected anyway and processed like all other events,
                     as if the persistent event had been requested with a Notify action."
        DEFVAL      { disable }
        ::=  {  mgcpLinePackage  101  }

    mgcpLinePackageHuPersistent OBJECT-TYPE
        SYNTAX      INTEGER {
                            disable(0),
                            enable(1)
                           }
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION "Indicates whether the on hook event is persistent or not.

                     Persistent events in a given package are always detected on an
                     endpoint that implements that package. If a persistent event is not
                     included in the list of RequestedEvents and the event occurs, the
                     event will be detected anyway and processed like all other events,
                     as if the persistent event had been requested with a Notify action."
        DEFVAL      { disable }
        ::=  {  mgcpLinePackage  102  }


-- ************************************************************************
-- X-P package
-- ************************************************************************

mgcpXPPackage OBJECT IDENTIFIER ::=  {  mgcpMIBObjects  43  }

    mgcpXPPackageIrDuration OBJECT-TYPE
        SYNTAX     Unsigned32 ( 0..4294967295 )
        MAX-ACCESS read-write
        STATUS     current
        DESCRIPTION "Initial ring timeout value in ms."
        DEFVAL      { 500 }
        ::=  {  mgcpXPPackage  4 }

-- ************************************************************************
-- MGCP statistics
-- ************************************************************************

-- ************************************************************************
-- Firewall traversal mechanism
-- ************************************************************************

mgcpFirewall OBJECT IDENTIFIER ::=  {  mgcpMIBObjects  46  }

    mgcpFwKeepAliveEnable OBJECT-TYPE
        SYNTAX      MxEnableState
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION "Enable/disable the Firewall keep-alive timeout mechanism.

                     When Media Gateways (MGW) controlled with the MGCP protocol are
                     deployed behind firewalls, the Media Gateway Controller (MGC) should
                     be allowed to control the MGW. To keep the firewall and NAT connection
                     alive, signalling packets must be exchanged between the MGW and MGC
                     within a specified period of time called the keep-alive timeout.
                     If no packets are exchanged for the specified period, then the
                     connection will be closed.

                     To keep the connection alive, the gateway uses the RSIP
                     RM : x-keepalive command to indicate that the gateway inactivity
                     timer has timed-out.  The RSIP keep-alive command is sent from
                     a provisionable virtual endpoint.

                     The RSIP keep-alive command does not require any 200 OK from the
                     Media Gateway controler (MGC).  The RSIP keep-alive is launched
                     immediately after the activation of the MGCP stack. It is then
                     possible to see RSIP keep-alive command preceeding the initial
                     RSIP restart if the registration initial delay period is larger
                     than the inactivity timer.  Also, the RSIP keep-alive is not
                     submitted to the disconnection procedure.

                     Note that voice packets cannot be used to keep the connection opened
                     because they are transmitted on another channel."
        DEFVAL { disable }
        ::=  { mgcpFirewall 5 }

    mgcpFwKeepAliveTimeout OBJECT-TYPE
        SYNTAX      Unsigned32 (10..86400)
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION "Keep-alive timeout value in sec.

                     The range varies from 10 sec to 24 hrs.
                     The default value is set to 5 min."
        DEFVAL      { 300 }
        ::=  { mgcpFirewall 10 }

mgcpStats OBJECT IDENTIFIER ::= { mgcpMIBObjects 50 }

    mgcpStatsCurrentNumberOfActiveConnections OBJECT-TYPE
        SYNTAX      Unsigned32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "Number of active connections which are currently
                     conducted by the gateway."
        ::= { mgcpStats 1 }

mgcpStatsCurrentStatistics        OBJECT IDENTIFIER ::= { mgcpStats 5 }
mgcpStatsCumulatedStatistics      OBJECT IDENTIFIER ::= { mgcpStats 6 }

   -- MGCP Current Statistics

    mgcpStatsCurrentTotalNumberOfConnections OBJECT-TYPE
        SYNTAX      Unsigned32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "Total number of connections conducted by the gateway so far
                     in the current statistics period."
        ::= { mgcpStatsCurrentStatistics 1 }

    mgcpStatsCurrentAvgConnectionTime OBJECT-TYPE
        SYNTAX       Unsigned32
        MAX-ACCESS   read-only
        STATUS       current
        DESCRIPTION "Average connection time (in seconds) so far in the current
                     statistics period."
        ::= { mgcpStatsCurrentStatistics 2 }

   -- MGCP Cumulated Statistics
     mgcpStatsCumulatedTotalNumberOfConnections OBJECT-TYPE
        SYNTAX      Unsigned32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "Cumulated number of connections conducted by the gateway."
        ::= { mgcpStatsCumulatedStatistics 1 }

    mgcpStatsCumulatedAvgConnectionTime OBJECT-TYPE
        SYNTAX      Unsigned32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "Cumulated average connection time (in seconds)."
        ::= { mgcpStatsCumulatedStatistics 2 }

    -- ************************************************************************
    -- CallAgent IP address: Placed in the mediatrixMgmt.ipAddressStatus and
    --                       in mediatrixConfig.ipAddressConfig.
    -- ************************************************************************

-- Add the MGCP ip addresses specifics parameters

    ipAddressStatusMgcpCallAgent OBJECT IDENTIFIER ::= { ipAddressStatus 50 }
    ipAddressConfigMgcpCallAgent OBJECT IDENTIFIER ::= { ipAddressConfig 50 }

-- Add the MGCP Call Agent status information
    mgcpCAConfigSource OBJECT-TYPE
        SYNTAX      MxIpConfigSource
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "Indicates the source used for the provisioning of
                     the MGCP Call Agent MIB objects."
        DEFVAL { dhcp }
        ::=  {  ipAddressStatusMgcpCallAgent  1  }

    mgcpCAHost OBJECT-TYPE
        SYNTAX      MxIpHostName
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "MGCP Call Agent IP address or domain name."
        DEFVAL      { "192.168.0.10" }
        ::=  {  ipAddressStatusMgcpCallAgent  2  }

    mgcpCAPort OBJECT-TYPE
        SYNTAX      MxIpPort
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "MGCP Call Agent IP port number."
        DEFVAL { 2727 }
        ::=  {  ipAddressStatusMgcpCallAgent  3  }

-- Add the MGCP Call Agent configuration information

    mgcpCASelectConfigSource OBJECT-TYPE
        SYNTAX      MxIpSelectConfigSource
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION "Indicates the source to be used for the provisioning of
                     the MGCP Call Agent MIB objects."
        DEFVAL      { dhcp }
        ::=  {  ipAddressConfigMgcpCallAgent  1  }

ipAddressConfigMgcpCAStatic OBJECT IDENTIFIER  ::=  {  ipAddressConfigMgcpCallAgent  6  }

    mgcpCAStaticHost OBJECT-TYPE
        SYNTAX      MxIpHostName
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION "Static MGCP Call Agent IP address or domain name."
        DEFVAL      { "192.168.0.10" }
        ::=  {  ipAddressConfigMgcpCAStatic  1  }

    mgcpCAStaticPort OBJECT-TYPE
        SYNTAX      MxIpPort
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION "Static MGCP Call Agent IP port number."
        DEFVAL      { 2727 }
        ::=  {  ipAddressConfigMgcpCAStatic  2  }

ipAddressConfigMgcpCADhcp OBJECT IDENTIFIER  ::=  {  ipAddressConfigMgcpCallAgent  7  }

    mgcpCADhcpSiteSpecificCode OBJECT-TYPE
        SYNTAX      MxIpDhcpSiteSpecificCode
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION "DHCP MGCP Call Agent site specific code.
	                 If set to 0, use vendor-specific code #207."
        DEFVAL      { 0 }
        ::=  {  ipAddressConfigMgcpCADhcp  1  }


    -- ************************************************************************
    -- Conformance information
    -- ************************************************************************
    mgcpCompliances OBJECT IDENTIFIER ::= { mgcpConformance 1 }

    mgcpResidentialGatewayBasicComplVer1 MODULE-COMPLIANCE
        STATUS      current
        DESCRIPTION "Minimal definitions for the MGCP Residential Gateway group"
        MODULE -- This Module
            MANDATORY-GROUPS {
                                mgcpBasicGroupVer1,
                                mgcpGenericPkgGroupVer1,
                                mgcpDtmfPkgGroupVer1,
                                mgcpLinePkgGroupVer1,
                                mgcpStatsBasicGroupVer1,
                                mgcpCallAgentGroupVer1,
                                mgcpXPPackageGroupVer1,
                                mgcpFirewallGroupVer1
                             }
        ::= { mgcpCompliances 1 }

    -- ************************************************************************
    -- MIB variable grouping
    -- ************************************************************************
    mgcpGroups OBJECT IDENTIFIER ::= {mgcpConformance 2 }

    mgcpBasicGroupVer1 OBJECT-GROUP
        OBJECTS {
                  mgcpPort,
                  mgcpDefaultDigitMap,
                  mgcpDefaultPackage,
                  mgcpRestartLevel,
                  mgcpEndpointIdListIncludeNotStarted,
                  mgcpPiggyBackingEnable,
                  mgcpAddPtimeIfPresentInLCO,
                  mgcpEndpointIdTerm1,
                  mgcpEndpointIdTerm2,
                  mgcpRetransmissionAlgorithm,
                  mgcpRetransmissionInitialPeriod,
                  mgcpRetransmissionMaxPeriod,
                  mgcpRetransmissionDisconnectTimeout,
                  mgcpRetransmissionSuspicionThreshold,
                  mgcpRetransmissionSuspicionThresholdDnsQuery,
                  mgcpRetransmissionDisconnectThreshold,
                  mgcpRetransmissionDisconnectThresholdDnsQuery,
                  mgcpRetransmissionHistoryTimeout,
                  mgcpRetransmissionMaxWaitingDelay,
                  mgcpRetransmissionDisconnectInitialWaitingPeriod,
                  mgcpRetransmissionDisconnectMinWaitingPeriod,
                  mgcpRetransmissionDisconnectMaxWaitingPeriod
                }
        STATUS      current
        DESCRIPTION "This group holds the objects that define the basic
                     MGCP group."
        ::= { mgcpGroups 1 }

    mgcpGenericPkgGroupVer1 OBJECT-GROUP
        OBJECTS {
                  mgcpGenericMediaPackageRbkDuration,
                  mgcpGenericMediaPackageRtDuration
                }
        STATUS      current
        DESCRIPTION "This group holds the objects that define the basic
                     MGCP GENERIC media package."
        ::= { mgcpGroups 2 }

    mgcpDtmfPkgGroupVer1 OBJECT-GROUP
        OBJECTS {
                  mgcpDtmfPackageLDuration,
                  mgcpDtmfPackageTCriticalDuration,
                  mgcpDtmfPackageTPartialDuration
                }
        STATUS      current
        DESCRIPTION "This group holds the objects that define the
                     MGCP DTMF package."
        ::= { mgcpGroups 3 }

    mgcpLinePkgGroupVer1 OBJECT-GROUP
        OBJECTS {
                  mgcpLinePackageBzDuration,
                  mgcpLinePackageDlDuration,
                  mgcpLinePackageMwiDuration,
                  mgcpLinePackageOtDuration,
                  mgcpLinePackageRoDuration,
                  mgcpLinePackageRgDuration,
                  mgcpLinePackageSlDuration,
                  mgcpLinePackageWtDuration
                }
        STATUS      current
        DESCRIPTION "This group holds the objects that define the
                     MGCP LINE package."
        ::= { mgcpGroups 4 }

    mgcpStatsBasicGroupVer1 OBJECT-GROUP
        OBJECTS {
                  mgcpStatsCurrentNumberOfActiveConnections,
                  mgcpStatsCurrentTotalNumberOfConnections,
                  mgcpStatsCurrentAvgConnectionTime,
                  mgcpStatsCumulatedTotalNumberOfConnections,
                  mgcpStatsCumulatedAvgConnectionTime

                }
        STATUS current
        DESCRIPTION "This group holds the objects that define the basic
                     MGCP statistics group."
        ::= { mgcpGroups 5 }

    mgcpCallAgentGroupVer1 OBJECT-GROUP
        OBJECTS {
                  mgcpCAConfigSource,
                  mgcpCAHost,
                  mgcpCAPort,
                  mgcpCASelectConfigSource,
                  mgcpCAStaticHost,
                  mgcpCAStaticPort,
                  mgcpCADhcpSiteSpecificCode
                }
        STATUS      current
        DESCRIPTION "This group holds the objects that define the
                     MGCP Call Agent IP address."
        ::= { mgcpGroups 6 }

    mgcpXPPackageGroupVer1 OBJECT-GROUP
        OBJECTS {
                    mgcpXPPackageIrDuration
                }
        STATUS      current
        DESCRIPTION "This group holds the objects that define the
                     MGCP X-P package specific parameters."
        ::= { mgcpGroups 15 }

    mgcpFirewallGroupVer1 OBJECT-GROUP
        OBJECTS {
                    mgcpFwKeepAliveEnable,
                    mgcpFwKeepAliveTimeout
                }
        STATUS      current
        DESCRIPTION "This group holds the objects that define the
                     MGCP Firewall traversal specific parameters."
        ::= { mgcpGroups 20 }

END
