-- ****************************************************************************
-- ****************************************************************************
--             Copyright(c) 2004 Mediatrix Telecom, Inc.
--  NOTICE:
--   This document contains information that is confidential and proprietary
--   to Mediatrix Telecom, Inc.
--   Mediatrix Telecom, Inc. 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
--   Mediatrix Telecom, Inc.
--   Mediatrix Telecom, Inc. 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-SIPEP-MIB
DEFINITIONS ::= BEGIN

IMPORTS
        MODULE-IDENTITY,
        OBJECT-TYPE,
        Unsigned32,
        Integer32
    FROM SNMPv2-SMI
        MODULE-COMPLIANCE,
        OBJECT-GROUP
    FROM SNMPv2-CONF
        MxEnableState,
        MxActivationState,
        MxIpHostName,
        MxIpAddress,
        MxIpPort,
        MxAdvancedIpPort,
        MxIpSubnetMask,
        MxDigitMap
    FROM MX-TC
        MxUInt64,
        MxFloat32,
        MxIpHostNamePort,
        MxIpAddr,
        MxIpAddrPort,
        MxIpAddrMask,
        MxUri,
        MxUrl
    FROM MX-TC2
        mediatrixServices
    FROM MX-SMI2;

sipEpMIB MODULE-IDENTITY
 LAST-UPDATED   "1910210000Z"
 ORGANIZATION " Mediatrix Telecom, Inc. "
 CONTACT-INFO " Mediatrix Telecom, Inc.
                4229, Garlock Street
                Sherbrooke (Quebec)
                Canada
                Phone: (819) 829-8749
                "
 DESCRIPTION  " SIP Endpoint

                The SIP Endpoint (SipEp) service allows the administrator to
                associate telephony endpoints with SIP user agents.
                "
 ::= { mediatrixServices 1400 }

sipEpMIBObjects OBJECT IDENTIFIER ::= { sipEpMIB 1 }

-- *****************************************************************************

-- Table:Gateway

-- *****************************************************************************

gatewayTable OBJECT-TYPE
 SYNTAX            SEQUENCE OF GatewayEntry
 MAX-ACCESS        not-accessible
 STATUS            current
 DESCRIPTION   "   Gateway

                   This table holds the basic configuration of the IP gateways.
                   "
 ::= { sipEpMIBObjects 100 }
 gatewayEntry OBJECT-TYPE
  SYNTAX        GatewayEntry
  MAX-ACCESS    not-accessible
  STATUS        current
  DESCRIPTION " A row in table Gateway. "
  INDEX         {
                  gatewayName
                }

  ::= { gatewayTable 1 }

 GatewayEntry ::= SEQUENCE
 {
   gatewayName             OCTET STRING,
   gatewayType             INTEGER,
   gatewayNetworkInterface OCTET STRING,
   gatewayMediaNetworks    OCTET STRING,
   gatewayPort             MxAdvancedIpPort,
   gatewaySecurePort       MxAdvancedIpPort,
   gatewayDomain           OCTET STRING,
   gatewayDelete           INTEGER
 }

 -- Index:Name

 gatewayName OBJECT-TYPE
  SYNTAX        OCTET STRING
  MAX-ACCESS    read-only
  STATUS        current
  DESCRIPTION " Name

                Name of the SIP gateway. It identifies the gateway in other
                tables.
                "
  ::= { gatewayEntry 100 }

 -- Columnar:Type

 gatewayType OBJECT-TYPE
  SYNTAX        INTEGER { trunkGateway(100) , endpointGateway(200) }
  MAX-ACCESS    read-write
  STATUS        current
  DESCRIPTION " Type

                Type of the SIP gateway.
                "
  DEFVAL        { trunkGateway }
  ::= { gatewayEntry 150 }

 -- Columnar:Network Interface

 gatewayNetworkInterface OBJECT-TYPE
  SYNTAX        OCTET STRING ( SIZE(1..50) )
  MAX-ACCESS    read-write
  STATUS        current
  DESCRIPTION " Network Interface

                The network on which the gateway listens for incoming SIP
                traffic.

                The value must match one of the InterfaceName values in the
                NetworkInterfaces or NetworkInterfacesStatus table of the BNI
                service.

                The value must be set to 'Loop' when the Sbc service is set as
                a home domain or outbound proxy.

                This value applies to all transports (e.g., UDP, TCP, etc.).

                "
  DEFVAL        { "Lan1" }
  ::= { gatewayEntry 200 }

 -- Columnar:Media Networks

 gatewayMediaNetworks OBJECT-TYPE
  SYNTAX        OCTET STRING ( SIZE(0..255) )
  MAX-ACCESS    read-write
  STATUS        current
  DESCRIPTION " Media Networks

                List of networks (separated by ',') to use for the media
                (voice, fax, etc.) stream. The value must match one of the
                InterfaceName values in the NetworkInterfacesStatus table of
                the BNI service. The order in the list defines the priority. If
                the list of media network is empty, the network defined in the
                Gateway.NetworkInterface parameter is used.

                When the media stream is negotiated, only the first active
                network (NetworkInterfacesStatus.Status columnar of the network
                in the BNI service is active) of an IP address family (IPv4,
                IPv6) is used. All subsequent networks of the same IP family
                are ignored.

                Note: When generating an offer and multiple networks are
                available for the media, ANAT grouping (RFC 4091) is
                automatically activated. When generating an answer, ANAT
                grouping is activated when it is detected in the offer. The SDP
                answer will always have only one active media with the
                preferred IP address family.

                "
  DEFVAL        { "" }
  ::= { gatewayEntry 250 }

 -- Columnar:SIP Port

 gatewayPort OBJECT-TYPE
  SYNTAX        MxAdvancedIpPort
  MAX-ACCESS    read-write
  STATUS        current
  DESCRIPTION " SIP Port

                Port on which the gateway listens for incoming unsecure SIP
                traffic.

                This is used only when UDP and/or TCP transports are enabled.

                Notes:

                  * If set to 0, the unit uses the default SIP port 5060.
                  * This parameter applies to Trunk gateways only. 'Endpoint'
                    gateways have no static listening port.

                "
  DEFVAL        { 0 }
  ::= { gatewayEntry 300 }

 -- Columnar:SIP Secure Port

 gatewaySecurePort OBJECT-TYPE
  SYNTAX        MxAdvancedIpPort
  MAX-ACCESS    read-write
  STATUS        current
  DESCRIPTION " SIP Secure Port

                Port on which the gateway listens for incoming secure SIP
                traffic.

                This is used only when the TLS transport is enabled.

                Notes:

                  * If set to 0, the unit uses the default SIP port 5061.
                  * This parameter applies to Trunk gateways only. 'Endpoint'
                    gateways have no static listening port.

                "
  DEFVAL        { 0 }
  ::= { gatewayEntry 325 }

 -- Columnar:SIP Domain

 gatewayDomain OBJECT-TYPE
  SYNTAX        OCTET STRING ( SIZE(0..255) )
  MAX-ACCESS    read-write
  STATUS        current
  DESCRIPTION " SIP Domain

                SIP domain name. If not empty, it overrides the home domain
                proxy (refer to the DefaultStaticProxyHomeDomainHost parameter)
                in the following places:

                In the address of record.

                In the Request-URI. When the Gateway.Domain parameter overrides
                the home domain proxy in the Request-URI, the Request-URI also
                contain a maddr parameter with the resolved home domain proxy
                to make sure the requests are routable.

                "
  DEFVAL        { "" }
  ::= { gatewayEntry 350 }

 -- Row command:Delete

 gatewayDelete OBJECT-TYPE
  SYNTAX        INTEGER { noOp(0), delete(10) }
  MAX-ACCESS    read-write
  STATUS        current
  DESCRIPTION " Delete

                Deletes this row.
                "
  DEFVAL        { noOp }
  ::= { gatewayEntry 400 }

-- End of table:Gateway

-- *****************************************************************************

-- Table:GatewayStatus

-- *****************************************************************************

gatewayStatusTable OBJECT-TYPE
 SYNTAX              SEQUENCE OF GatewayStatusEntry
 MAX-ACCESS          not-accessible
 STATUS              current
 DESCRIPTION       " GatewayStatus

                     This table holds the status of the current IP gateways.
                     "
 ::= { sipEpMIBObjects 150 }
 gatewayStatusEntry OBJECT-TYPE
  SYNTAX        GatewayStatusEntry
  MAX-ACCESS    not-accessible
  STATUS        current
  DESCRIPTION " A row in table GatewayStatus. "
  INDEX         {
                  gatewayStatusName
                }

  ::= { gatewayStatusTable 1 }

 GatewayStatusEntry ::= SEQUENCE
 {
   gatewayStatusName             OCTET STRING,
   gatewayStatusNetworkInterface OCTET STRING,
   gatewayStatusMediaNetworks    OCTET STRING,
   gatewayStatusPort             MxAdvancedIpPort,
   gatewayStatusSecurePort       MxAdvancedIpPort,
   gatewayStatusDomain           OCTET STRING,
   gatewayStatusState            OCTET STRING
 }

 -- Index:Name

 gatewayStatusName OBJECT-TYPE
  SYNTAX        OCTET STRING
  MAX-ACCESS    read-only
  STATUS        current
  DESCRIPTION " Name

                Name of the SIP gateway. It identifies the gateway in other
                tables.
                "
  ::= { gatewayStatusEntry 100 }

 -- Columnar:Network Interface

 gatewayStatusNetworkInterface OBJECT-TYPE
  SYNTAX        OCTET STRING
  MAX-ACCESS    read-only
  STATUS        current
  DESCRIPTION " Network Interface

                The network on which the gateway listens for incoming SIP
                traffic.

                This value applies to all transports (e.g., UDP, TCP, etc.).

                "
  ::= { gatewayStatusEntry 200 }

 -- Columnar:Media Networks

 gatewayStatusMediaNetworks OBJECT-TYPE
  SYNTAX        OCTET STRING
  MAX-ACCESS    read-only
  STATUS        current
  DESCRIPTION " Media Networks

                List of networks (separated by ',') to use for the media
                (voice, fax, etc.) stream. Only the first active network of an
                IP address family (IPv4, IPv6) is present. The order in the
                list defines the priority.

                Note: When generating an offer and multiple network are
                available for the media, ANAT grouping (RFC 4091) is
                automatically activated. When generating an answer, ANAT
                grouping is activated when it is detected in the offer. The SDP
                answer will always have only one active media with the
                preferred IP address family.

                "
  ::= { gatewayStatusEntry 250 }

 -- Columnar:SIP Port

 gatewayStatusPort OBJECT-TYPE
  SYNTAX        MxAdvancedIpPort
  MAX-ACCESS    read-only
  STATUS        current
  DESCRIPTION " SIP Port

                Port on which the gateway listens for incoming unsecure SIP
                traffic.

                This value applies to UDP and TCP transports only and for Trunk
                gateways.

                Note: If set to 0, the unit uses the default SIP port 5060.

                "
  ::= { gatewayStatusEntry 300 }

 -- Columnar:SIP Secure Port

 gatewayStatusSecurePort OBJECT-TYPE
  SYNTAX        MxAdvancedIpPort
  MAX-ACCESS    read-only
  STATUS        current
  DESCRIPTION " SIP Secure Port

                Port on which the gateway listens for incoming SIP traffic.

                This value applies to TLS transport only and for Trunk
                gateways.

                Note: If set to 0, the unit uses the default SIP port 5061.

                "
  ::= { gatewayStatusEntry 325 }

 -- Columnar:SIP Domain

 gatewayStatusDomain OBJECT-TYPE
  SYNTAX        OCTET STRING
  MAX-ACCESS    read-only
  STATUS        current
  DESCRIPTION " SIP Domain

                SIP domain name. String used to build the address of record.
                "
  ::= { gatewayStatusEntry 350 }

 -- Columnar:State

 gatewayStatusState OBJECT-TYPE
  SYNTAX        OCTET STRING
  MAX-ACCESS    read-only
  STATUS        current
  DESCRIPTION " State

                The current state of the gateway.

                  * Ready: The gateway is ready to make and receive calls.
                  * Cannot start, port already in use: The gateway cannot open
                    its IP port because the port is already used by another
                    service. This generally occurs when the administrator adds
                    a new gateway but forgets to configure a different IP port.
                  * Network down: The SIP gateway is not started or the network
                    interface on which the SIP gateway is associated does not
                    have an IP address.
                  * Restarting: The SIP gateway cannot make or receive calls
                    while it is restarting.
                  * Waiting for time synchronization: The gateway is started
                    but it cannot open its SIP TLS port because the real-time
                    clock is not synchronized. This generally occurs when the
                    SNTP server is not set or is unreachable.
                  * Server unreachable: The gateway is started but it cannot
                    make and receive calls because the SIP server is
                    unreachable. This state is only reported when the
                    SipKeepAliveMethod parameter is configured.
                  * Invalid Configuration: The gateway cannot start due to an
                    inconsistent configuration.
                  * Waiting for telephony lines: The gateway is waiting for all
                    E1T1 links to be up, as per the
                    EpAdm.DisableSipGatewaysWhenTrunkLinesDown parameter.

                "
  ::= { gatewayStatusEntry 400 }

-- End of table:GatewayStatus

-- *****************************************************************************

-- Table:User Agent SIP

-- *****************************************************************************

userAgentTable OBJECT-TYPE
 SYNTAX        SEQUENCE OF UserAgentEntry
 MAX-ACCESS    not-accessible
 STATUS        current
 DESCRIPTION " User Agent SIP

               This table holds the user agent configuration parameters. A user
               agent is a logical entity that can act as both a client and a
               server for the duration of a dialog. The information contained
               in this table will be used to dynamically create the To, From,
               and Contact headers used in the request sent by the UAC (User
               Agent Client).
               "
 ::= { sipEpMIBObjects 400 }
 userAgentEntry OBJECT-TYPE
  SYNTAX        UserAgentEntry
  MAX-ACCESS    not-accessible
  STATUS        current
  DESCRIPTION " A row in table User Agent SIP. "
  INDEX         {
                  userAgentEpId
                }

  ::= { userAgentTable 1 }

 UserAgentEntry ::= SEQUENCE
 {
   userAgentEpId           OCTET STRING,
   userAgentUsername       OCTET STRING,
   userAgentFriendlyName   OCTET STRING,
   userAgentRegister       MxEnableState,
   userAgentGatewayName    OCTET STRING,
   userAgentMwiSubscribe   MxEnableState,
   userAgentContactDomain  OCTET STRING,
   userAgentAcceptLanguage OCTET STRING
 }

 -- Index:Endpoint Identifier

 userAgentEpId OBJECT-TYPE
  SYNTAX        OCTET STRING
  MAX-ACCESS    read-only
  STATUS        current
  DESCRIPTION " Endpoint Identifier

                String that identifies an endpoint in other tables.
                "
  ::= { userAgentEntry 100 }

 -- Columnar:User Name

 userAgentUsername OBJECT-TYPE
  SYNTAX        OCTET STRING ( SIZE(0..255) )
  MAX-ACCESS    read-write
  STATUS        current
  DESCRIPTION " User Name

                A string that uniquely identifies this endpoint in the domain.
                For example, a telephone number.

                This string is used when creating the Contact and From headers.
                The SIP From header carries the permanent location (IP address,
                home domain) where the endpoint is. The SIP Contact header
                carries the CURRENT location (IP address) where the endpoint
                can be reached.

                Contact headers are used in two ways:

                First, contacts are registered to the SIP registrar. This
                enables external callers to be redirected to the endpoint's
                current location.

                Second, a contact header is sent along with any request the UA
                sends (e.g.: INVITE), and is used by the target UA as a return
                address for later requests sent by the target to this endpoint.

                "
  DEFVAL        { "" }
  ::= { userAgentEntry 200 }

 -- Columnar:Friendly Name

 userAgentFriendlyName OBJECT-TYPE
  SYNTAX        OCTET STRING ( SIZE(0..255) )
  MAX-ACCESS    read-write
  STATUS        current
  DESCRIPTION " Friendly Name

                Friendly name for SIP User Agent. A friendly name or display
                name is meant to contain a descriptive version of the URI and
                is intended to be displayed to a user interface.
                "
  DEFVAL        { "" }
  ::= { userAgentEntry 300 }

 -- Columnar:Register

 userAgentRegister OBJECT-TYPE
  SYNTAX        MxEnableState
  MAX-ACCESS    read-write
  STATUS        current
  DESCRIPTION " Register

                Indicates if the endpoint needs to register to the registrar.

                If set to Enable, the endpoint will become BY DEFAULT
                unavailable when not registered. The
                RegistrationUnregisteredBehavior parameter can modify this
                behaviour.

                "
  DEFVAL        { disable }
  ::= { userAgentEntry 400 }

 -- Columnar:Gateway

 userAgentGatewayName OBJECT-TYPE
  SYNTAX        OCTET STRING
  MAX-ACCESS    read-write
  STATUS        current
  DESCRIPTION " Gateway

                Selects on which SIP gateway the user configuration is applied.
                The value must match the gateway name as defined in the
                Gateway.Name parameter.

                The value 'all' means all gateways.

                "
  DEFVAL        { "all" }
  ::= { userAgentEntry 500 }

 -- Columnar:MWI Subscribe

 userAgentMwiSubscribe OBJECT-TYPE
  SYNTAX        MxEnableState
  MAX-ACCESS    read-write
  STATUS        current
  DESCRIPTION " MWI Subscribe

                Indicates if the endpoint needs to subscribe to messaging
                system. When set to Enable, an endpoint subscription is
                triggered.
                "
  DEFVAL        { disable }
  ::= { userAgentEntry 700 }

 -- Columnar:Contact Domain

 userAgentContactDomain OBJECT-TYPE
  SYNTAX        OCTET STRING ( SIZE(0..127) )
  MAX-ACCESS    read-write
  STATUS        current
  DESCRIPTION " Contact Domain

                Indicates the host part of the SIP contact field. If an empty
                string is specified, the listening IP address is used.
                "
  DEFVAL        { "" }
  ::= { userAgentEntry 800 }

 -- Columnar:Accept Language

 userAgentAcceptLanguage OBJECT-TYPE
  SYNTAX        OCTET STRING ( SIZE(0..255) )
  MAX-ACCESS    read-write
  STATUS        current
  DESCRIPTION " Accept Language

                Indicates the preferred languages for reason phrases, session
                descriptions, or status responses carried as message bodies in
                the response. It is used to fill the Accept-Language SIP header
                field.

                The general syntax is a comma-separated list of language codes.

                Example: en, fr

                See ISO 639-1 for a list of language codes.

                See RFC 3261 for the detailed syntax.

                NOTE: When the string is empty, the Accept-Language header will
                not be added.

                "
  DEFVAL        { "" }
  ::= { userAgentEntry 900 }

-- End of table:User Agent SIP

-- ****************************************************************************

-- Group:Proxy

-- ****************************************************************************

proxyGroup OBJECT IDENTIFIER
 ::= { sipEpMIBObjects 500 }
 -- Scalar:Default Static Home Domain Proxy Server Host.

 defaultStaticProxyHomeDomainHost OBJECT-TYPE
  SYNTAX        MxIpHostNamePort
  MAX-ACCESS    read-write
  STATUS        current
  DESCRIPTION " Default Static Home Domain Proxy Server Host.

                SIP proxy server FQDN and port.

                An intermediary entity that acts as both a server and a client
                for the purpose of making requests on behalf of other clients.
                A proxy server primarily plays the role of routing, which
                means its job is to ensure that a request is passed on to
                another entity that can further process the request. Proxies
                are also useful for enforcing policy and for firewall
                traversal. A proxy interprets, and, if necessary, rewrites
                parts of a request message before forwarding it.

                Special macros can be entered when the Sbc and/or SipProxy
                service are available:

                  * The special macro '%sbc%' can be entered to use the SBC as
                    the destination host. This macro resolves to the IP
                    address and port of the 'loop_s' signaling interface in
                    the Sbc service.
                  * The special macro '%sipproxy%' can be entered to use the
                    SipProxy service as the destination host. This macro
                    resolves to the IP address and port of the SipProxy
                    service.

                If the special macro %sbc% is used in the home domain proxy,
                then the registration and messaging hosts must be either set
                to %sbc% or left empty.

                Note: If the host corresponds to a domain name that is bound
                to a SRV record, the port must be set to 0 for the unit to
                perform DNS SRV queries; otherwise only A type record lookups
                will be used.

                "
  DEFVAL        { "192.168.10.10:0" }
  ::= { proxyGroup 100 }

 -- Scalar:Default Static Outboud Proxy Server Host

 defaultStaticProxyOutboundHost OBJECT-TYPE
  SYNTAX        MxIpHostNamePort
  MAX-ACCESS    read-write
  STATUS        current
  DESCRIPTION " Default Static Outboud Proxy Server Host

                SIP outbound proxy server FQDN and port

                To disable the outbound proxy, set it to '0.0.0.0'.

                From RFC 3261: A proxy that receives requests from a client,
                even though it may not be the server resolved by the
                Request-URI. Typically, a UA is manually configured with an
                outbound proxy, or can learn about one through
                auto-configuration protocols.

                When enabled, the initial route for all SIP requests will
                contain the outbound proxy address, suffixed with the loose
                routing parameter 'lr'. The Request-URI still contains the
                home domain proxy address. Requests are directed to the first
                route (the outbound proxy).

                Special macros can be entered when the Sbc and/or SipProxy
                service are available:

                  * The special macro '%sbc%' can be entered to use the SBC as
                    the destination host. This macro resolves to the IP
                    address and port of the 'loop_s' signaling interface in
                    the Sbc service.
                  * The special macro '%sipproxy%' can be entered to use the
                    SipProxy service as the destination host. This macro
                    resolves to the IP address and port of the SipProxy
                    service.

                Note: If the host corresponds to a domain name that is bound
                to a SRV record, the port must be set to 0 for the unit to
                perform DNS SRV queries; otherwise only A type record lookups
                will be used.

                "
  DEFVAL        { "" }
  ::= { proxyGroup 200 }

 -- Scalar:Outbound Proxy Type

 defaultProxyOutboundType OBJECT-TYPE
  SYNTAX        INTEGER { looseRouter(100) , strictRouter(200) , noRouteHeader
                (300) }
  MAX-ACCESS    read-write
  STATUS        current
  DESCRIPTION " Outbound Proxy Type

                Default type of routing that the configured outbound proxy
                does.

                  * LooseRouter: This is the most current method for SIP
                    routing, as per RFC 3261, and will become the standard
                    behaviour once RFC 3261 compliance is achieved. See the
                    DefaultStaticProxyOutboundHost parameter for a
                    description.
                  * StrictRouter: Pre-RFC 3261, RFC 2543 compatible SIP
                    routing.
                  * NoRouteHeader: Removes the route header from all SIP
                    packets sent to an outbound proxy. Does not modify
                    persistent TLS connection headers.

                The initial route for all SIP requests contains the home
                domain proxy address (the Request-URI). Requests are directed
                to the outbound proxy.

                In other words, the Request-URI is constructed as usual by
                using the home domain proxy and the user name, but is used in
                the route set. The Request-URI is filled by the outbound proxy
                address.

                Also see the DefaultStaticProxyHomeDomainHost parameter.

                "
  DEFVAL        { looseRouter }
  ::= { proxyGroup 300 }

 -- ***************************************************************************
 
 -- Table:SIP Gateway Specific Proxy

 -- ***************************************************************************
 
 gwSpecificProxyTable OBJECT-TYPE
  SYNTAX        SEQUENCE OF GwSpecificProxyEntry
  MAX-ACCESS    not-accessible
  STATUS        current
  DESCRIPTION " SIP Gateway Specific Proxy

                A table of the proxy configuration indexed by the SIP gateway
                name. It is used to override the default value.
                "
  ::= { proxyGroup 400 }
  gwSpecificProxyEntry OBJECT-TYPE
   SYNTAX        GwSpecificProxyEntry
   MAX-ACCESS    not-accessible
   STATUS        current
   DESCRIPTION " A row in table SIP Gateway Specific Proxy. "
   INDEX         {
                   gwSpecificProxyGatewayName
                 }

   ::= { gwSpecificProxyTable 1 }

  GwSpecificProxyEntry ::= SEQUENCE
  {
    gwSpecificProxyGatewayName    OCTET STRING,
    gwSpecificProxyEnableConfig   MxEnableState,
    gwSpecificProxyHomeDomainHost MxIpHostNamePort,
    gwSpecificProxyOutboundHost   MxIpHostNamePort,
    gwSpecificProxyOutboundType   INTEGER
  }

  -- Index:Gateway Name

  gwSpecificProxyGatewayName OBJECT-TYPE
   SYNTAX        OCTET STRING
   MAX-ACCESS    read-only
   STATUS        current
   DESCRIPTION " Gateway Name

                 String that identifies a SIP gateway in other tables.
                 "
   ::= { gwSpecificProxyEntry 100 }

  -- Columnar:Enable Configuration

  gwSpecificProxyEnableConfig OBJECT-TYPE
   SYNTAX        MxEnableState
   MAX-ACCESS    read-write
   STATUS        current
   DESCRIPTION " Enable Configuration

                 Defines the configuration to use for a specific SIP gateway.

                   * Disable: The SIP gateway uses the default configuration
                     as defined in the DefaultStaticProxyHomeDomainHost,
                     DefaultStaticProxyOutboundHost, and
                     DefaultProxyOutboundType parameters.
                   * Enable: The SIP gateway uses the specific configuration
                     as defined in the GwSpecificProxy.HomeDomainHost,
                     GwSpecificProxy.OutboundHost, and
                     GwSpecificProxy.OutboundType parameters.

                 "
   DEFVAL        { disable }
   ::= { gwSpecificProxyEntry 200 }

  -- Columnar:SIP Gateway Specific Home Domain Proxy Server Host

  gwSpecificProxyHomeDomainHost OBJECT-TYPE
   SYNTAX        MxIpHostNamePort
   MAX-ACCESS    read-write
   STATUS        current
   DESCRIPTION " SIP Gateway Specific Home Domain Proxy Server Host

                 SIP proxy server FQDN and port for a specific SIP gateway.

                 An intermediary entity that acts as both a server and a
                 client for the purpose of making requests on behalf of other
                 clients. A proxy server primarily plays the role of routing,
                 which means its job is to ensure that a request is passed on
                 to another entity that can further process the request.
                 Proxies are also useful for enforcing policy and for firewall
                 traversal. A proxy interprets, and, if necessary, rewrites
                 parts of a request message before forwarding it.

                 Special macros can be entered when the Sbc and/or SipProxy
                 service are available:

                   * The special macro '%sbc%' can be entered to use the SBC
                     as the destination host. This macro resolves to the IP
                     address and port of the 'loop_s' signaling interface in
                     the Sbc service.
                   * The special macro '%sipproxy%' can be entered to use the
                     SipProxy service as the destination host. This macro
                     resolves to the IP address and port of the SipProxy
                     service.

                 If the special macro %sbc% is used in the home domain proxy,
                 then the registration and messaging hosts must be either set
                 to %sbc% or left empty.

                 Note: If the host corresponds to a domain name that is bound
                 to a SRV record, the port must be set to 0 for the unit to
                 perform DNS SRV queries; otherwise, only A type record
                 lookups will be used.

                 "
   DEFVAL        { "192.168.0.10:0" }
   ::= { gwSpecificProxyEntry 300 }

  -- Columnar:SIP Gateway Specific Outboud Proxy Server Host

  gwSpecificProxyOutboundHost OBJECT-TYPE
   SYNTAX        MxIpHostNamePort
   MAX-ACCESS    read-write
   STATUS        current
   DESCRIPTION " SIP Gateway Specific Outboud Proxy Server Host

                 SIP outbound proxy server FQDN and port for a specific SIP
                 gateway.

                 To disable the outbound proxy, set it to '0.0.0.0'.

                 From RFC 3261: A proxy that receives requests from a client,
                 even though it may not be the server resolved by the
                 Request-URI. Typically, a UA is manually configured with an
                 outbound proxy, or can learn about one through
                 auto-configuration protocols.

                 When enabled, the initial route for all SIP requests will
                 contain the outbound proxy address, suffixed with the loose
                 routing parameter 'lr'. The Request-URI still contains the
                 home domain proxy address. Requests are directed to the first
                 route (the outbound proxy).

                 Special macros can be entered when the Sbc and/or SipProxy
                 service are available:

                   * The special macro '%sbc%' can be entered to use the SBC
                     as the destination host. This macro resolves to the IP
                     address and port of the 'loop_s' signaling interface in
                     the Sbc service.
                   * The special macro '%sipproxy%' can be entered to use the
                     SipProxy service as the destination host. This macro
                     resolves to the IP address and port of the SipProxy
                     service.

                 Note: If the host corresponds to a domain name that is bound
                 to a SRV record, the port must be set to 0 for the unit to
                 perform DNS SRV queries; otherwise, only A type record
                 lookups will be used.

                 "
   DEFVAL        { "0.0.0.0:0" }
   ::= { gwSpecificProxyEntry 400 }

  -- Columnar:SIP Gateway Specific Outbound Proxy Type

  gwSpecificProxyOutboundType OBJECT-TYPE
   SYNTAX        INTEGER { looseRouter(100) , strictRouter(200) ,
                 noRouteHeader(300) }
   MAX-ACCESS    read-write
   STATUS        current
   DESCRIPTION " SIP Gateway Specific Outbound Proxy Type

                 Type of routing that the configured outbound proxy does for a
                 specific SIP gateway.

                   * LooseRouter: This is the most current method for SIP
                     routing, as per RFC 3261, and will become the standard
                     behaviour once RFC 3261 compliance is achieved. See the
                     DefaultStaticProxyOutboundHost parameter for a
                     description.
                   * StrictRouter: Pre-RFC 3261, RFC 2543 compatible SIP
                     routing.
                   * NoRouteHeader: Removes the route header from all SIP
                     packets sent to an outbound proxy. Does not modify
                     persistent TLS connection headers.

                 The initial route for all SIP requests contains the home
                 domain proxy address (the Request-URI). Requests are directed
                 to the outbound proxy.

                 In other words, the Request-URI is constructed as usual by
                 using the home domain proxy and the user name, but is used in
                 the route set. The Request-URI is filled by the outbound
                 proxy address.

                 Also see the DefaultStaticProxyHomeDomainHost parameter.

                 "
   DEFVAL        { looseRouter }
   ::= { gwSpecificProxyEntry 500 }

 -- End of table:SIP Gateway Specific Proxy

-- End of group:Proxy

-- ****************************************************************************

-- Group:Session Timer

-- ****************************************************************************

sessionRefreshGroup OBJECT IDENTIFIER
 ::= { sipEpMIBObjects 600 }
 -- Scalar:Default Enable/Disable Session Expiration Services

 defaultSessionTimerEnable OBJECT-TYPE
  SYNTAX        MxEnableState
  MAX-ACCESS    read-write
  STATUS        current
  DESCRIPTION " Default Enable/Disable Session Expiration Services

                Enables/Disables the session expiration services.

                Disabling this service is not recommended since it will make
                'dead' calls impossible to detect.

                Questions and Answers:

                Q - What is the session timer extension?

                A - The session timer extension allows the detection of the
                premature end of a call caused by a network problem or a
                peer's failure.

                The session timer mechanism sends a refresh request every n
                seconds. This refresh request is either an reINVITE or an
                UPDATE, according to configuration in the
                SessionRefreshRequestMethod parameter. A sucessful response
                (200 OK) to this refresh request means that the peer is still
                alive and reachable. A timeout to this refresh request may
                mean that there are problems in the signaling path, or that
                the peer is simply not there anymore. In that case the call
                will be shut down by using normal SIP means.

                Q - SDP in Session Timer reINVITEs or UPDATEs:

                A - If the reINVITE method is used, it is sent with the last
                SDP that was negotiated. Reception of a session timer reINVITE
                should not modify the connection characteristics. If the
                UPDATE method is used, it is sent without any SDP offer.

                Q - Relation between minimum and maximum values:

                A - A UA that receives a Session-Expires header whose value is
                smaller than the minimum it is willing to accept will reply a
                422 Timer too low to the INVITE and terminate the call. The
                phone will not ring.

                It is up to the caller to decide what to do when it receives a
                422 to its INVITE. The service will automatically retry the
                INVITE, with a Session-Expires value equal to the minimum
                value that the UAS was ready to accept (found in the Min-SE
                header). This means that the maximum value as set in the
                service might not be followed. This has the advantageous
                effect of establishing the call even if the two endpoints have
                conflicting values. The service will also keep retrying as
                long as it gets 422 answers with different Min-SE values.

                Q - Who refreshes?

                A - Sending a session timer reINVITE or UPDATE is referred to
                as refreshing the session. Normally, the UAS that receives the
                INVITE will have the last word on who refreshes. The service
                will always let the UAC (caller) do the refreshes if the
                caller supports session timers. In the case the caller does
                not support session timers, the service will assume the role
                of the refresher.

                "
  DEFVAL        { enable }
  ::= { sessionRefreshGroup 100 }

 -- Scalar:Default Minimum Session Expiration Delay

 defaultSessionTimerMinimumExpirationDelay OBJECT-TYPE
  SYNTAX        Unsigned32 ( 180..86400 )
  MAX-ACCESS    read-write
  STATUS        current
  DESCRIPTION " Default Minimum Session Expiration Delay

                Minimum value for the periodical session refreshes.

                This value is reflected in the Min-SE header.

                The Min-SE value is a threshold under which proxies and/or UAs
                on the signaling path are not allowed.

                Increasing the minimum helps to reduce network traffic, but
                also makes 'dead' calls longer to detect.

                This value is expressed in seconds (s).

                Also see the DefaultSessionTimerMaximumExpirationDelay
                parameter.

                "
  DEFVAL        { 1800 }
  ::= { sessionRefreshGroup 200 }

 -- Scalar:Default Maximum Session Expiration Delay

 defaultSessionTimerMaximumExpirationDelay OBJECT-TYPE
  SYNTAX        Unsigned32 ( 180..86400 )
  MAX-ACCESS    read-write
  STATUS        current
  DESCRIPTION " Default Maximum Session Expiration Delay

                Suggested maximum time for the periodical session refreshes.

                This value is reflected in the Session-Expires header.

                Increasing the maximum helps to reduce network traffic, but
                also makes 'dead' calls longer to detect.

                This value is expressed in seconds (s).

                Also see the DefaultSessionTimerMinimumExpirationDelay
                parameter.

                "
  DEFVAL        { 3600 }
  ::= { sessionRefreshGroup 300 }

 -- Scalar:Method for Session Refresh Requests

 sessionRefreshRequestMethod OBJECT-TYPE
  SYNTAX        INTEGER { reInvite(100) , update(200) }
  MAX-ACCESS    read-write
  STATUS        current
  DESCRIPTION " Method for Session Refresh Requests

                Selects the method used for sending Session Refresh Requests.

                  * ReInvite: Session Refresh Requests are sent with the
                    INVITE method.
                  * Update: Session Refresh Requests are sent with the UPDATE
                    method.

                Session Refresh Requests can be received via both methods,
                regardless of how this parameter is configured.

                "
  DEFVAL        { reInvite }
  ::= { sessionRefreshGroup 400 }

-- End of group:Session Timer

-- ****************************************************************************

-- Group:Authentication Group

-- ****************************************************************************

authenticationGroup OBJECT IDENTIFIER
 ::= { sipEpMIBObjects 700 }
 -- ***************************************************************************
 
 -- Table:SIP Authentication Configuration

 -- ***************************************************************************
 
 authenticationTable OBJECT-TYPE
  SYNTAX        SEQUENCE OF AuthenticationEntry
  MAX-ACCESS    not-accessible
  STATUS        current
  DESCRIPTION " SIP Authentication Configuration

                This table holds the user agent authentication configuration
                parameters. Authentication information adds some level of
                security.
                "
  ::= { authenticationGroup 100 }
  authenticationEntry OBJECT-TYPE
   SYNTAX        AuthenticationEntry
   MAX-ACCESS    not-accessible
   STATUS        current
   DESCRIPTION " A row in table SIP Authentication Configuration. "
   INDEX         {
                   authenticationIndex
                 }

   ::= { authenticationTable 1 }

  AuthenticationEntry ::= SEQUENCE
  {
    authenticationIndex             Unsigned32,
    authenticationCriteriaSelection INTEGER,
    authenticationEpId              OCTET STRING,
    authenticationGatewayName       OCTET STRING,
    authenticationUsernameCriteria  OCTET STRING,
    authenticationValidateRealm     MxEnableState,
    authenticationRealm             OCTET STRING,
    authenticationUsername          OCTET STRING,
    authenticationPassword          OCTET STRING,
    authenticationUp                INTEGER,
    authenticationDown              INTEGER,
    authenticationInsert            INTEGER,
    authenticationDelete            INTEGER
  }

  -- Index:Authentication Entry Index

  authenticationIndex OBJECT-TYPE
   SYNTAX        Unsigned32
   MAX-ACCESS    read-only
   STATUS        current
   DESCRIPTION " Authentication Entry Index

                 Authentication index for this row.

                 The table's entries are searched in ascending
                 Authentication.Index order.

                 "
   ::= { authenticationEntry 100 }

  -- Row command:Delete

  authenticationDelete OBJECT-TYPE
   SYNTAX        INTEGER { noOp(0), delete(10) }
   MAX-ACCESS    read-write
   STATUS        current
   DESCRIPTION " Delete

                 Deletes this row.

                 The Authentication table has a minimum size of 20 rows. When
                 calling the DeleteAllRows command on this table, all the rows
                 are deleted and 20 new rows are added. When the user deletes
                 a specific row, a new row is added at the end of the table if
                 the number of rows is inferior to 20.

                 "
   DEFVAL        { noOp }
   ::= { authenticationEntry 1000 }

  -- Columnar:Credential Selection Criteria

  authenticationCriteriaSelection OBJECT-TYPE
   SYNTAX        INTEGER { unit(100) , endpoint(200) , gateway(300) , username
                 (400) }
   MAX-ACCESS    read-write
   STATUS        current
   DESCRIPTION " Credential Selection Criteria

                 Selects which criterion to use for matching an authentication
                 request with an authentication entry.

                   * Unit: The authentication entry is used on all challenges
                     that were not matched on a previous entry.
                   * Endpoint: The authentication entry is used for all
                     challenges related to the endpoint specified in the
                     Authentication.EpId parameter.
                   * Gateway: The authentication entry is used for all
                     challenges related to the gateway specified in the
                     Authentication.GatewayName parameter.
                   * Username: The authentication entry is used for all
                     challenges related to the username specified in the
                     Authentication.UsernameCriteria parameter.

                 "
   DEFVAL        { unit }
   ::= { authenticationEntry 200 }

  -- Columnar:Endpoint Criteria

  authenticationEpId OBJECT-TYPE
   SYNTAX        OCTET STRING
   MAX-ACCESS    read-write
   STATUS        current
   DESCRIPTION " Endpoint Criteria

                 String that identifies an endpoint in the UserAgent table.
                 Used only if the CriteriaSelection parameter is set to
                 'Endpoint'.

                 "
   DEFVAL        { "" }
   ::= { authenticationEntry 300 }

  -- Columnar:Gateway Name Criteria

  authenticationGatewayName OBJECT-TYPE
   SYNTAX        OCTET STRING
   MAX-ACCESS    read-write
   STATUS        current
   DESCRIPTION " Gateway Name Criteria

                 String that identifies a SIP gateway in the GatewayStatus
                 table. It is used only if the CriteriaSelection parameter is
                 set to 'Gateway'.

                 "
   DEFVAL        { "" }
   ::= { authenticationEntry 350 }

  -- Columnar:Username Criteria

  authenticationUsernameCriteria OBJECT-TYPE
   SYNTAX        OCTET STRING ( SIZE(0..255) )
   MAX-ACCESS    read-write
   STATUS        current
   DESCRIPTION " Username Criteria

                 String that identifies a username in the SIP request to
                 authenticate. It is used only if the CriteriaSelection
                 parameter is set to 'Username'.

                 "
   DEFVAL        { "" }
   ::= { authenticationEntry 360 }

  -- Columnar:Validate Realm

  authenticationValidateRealm OBJECT-TYPE
   SYNTAX        MxEnableState
   MAX-ACCESS    read-write
   STATUS        current
   DESCRIPTION " Validate Realm

                 Configures how to interpret the realm in the challenge.

                   * Disable: The credential defined in this row will be used
                     with any realm given in the challenge.
                   * Enable: The credential defined in this row will be used
                     only when the realm given in the challenge is the same as
                     the one defined in the Realm parameter.

                 "
   DEFVAL        { enable }
   ::= { authenticationEntry 375 }

  -- Columnar:Authentication Realm

  authenticationRealm OBJECT-TYPE
   SYNTAX        OCTET STRING ( SIZE(0..128) )
   MAX-ACCESS    read-write
   STATUS        current
   DESCRIPTION " Authentication Realm

                 When authentication informations are required from users, the
                 realm identifies who requested the information.
                 "
   DEFVAL        { "" }
   ::= { authenticationEntry 400 }

  -- Columnar:Authentification User Name

  authenticationUsername OBJECT-TYPE
   SYNTAX        OCTET STRING ( SIZE(0..128) )
   MAX-ACCESS    read-write
   STATUS        current
   DESCRIPTION " Authentification User Name

                 A string that uniquely identifies this entity in the realm,
                 used for authentication purposes. The user name always maps
                 to a password.
                 "
   DEFVAL        { "" }
   ::= { authenticationEntry 500 }

  -- Columnar:Authentication Password

  authenticationPassword OBJECT-TYPE
   SYNTAX        OCTET STRING ( SIZE(0..128) )
   MAX-ACCESS    read-write
   STATUS        current
   DESCRIPTION " Authentication Password

                 User password.
                 "
   DEFVAL        { "" }
   ::= { authenticationEntry 600 }

  -- Row command:Up

  authenticationUp OBJECT-TYPE
   SYNTAX        INTEGER { noOp(0), up(10) }
   MAX-ACCESS    read-write
   STATUS        current
   DESCRIPTION " Up

                 Moves the current row upside.
                 "
   DEFVAL        { noOp }
   ::= { authenticationEntry 700 }

  -- Row command:Down

  authenticationDown OBJECT-TYPE
   SYNTAX        INTEGER { noOp(0), down(10) }
   MAX-ACCESS    read-write
   STATUS        current
   DESCRIPTION " Down

                 Moves the current row downside.
                 "
   DEFVAL        { noOp }
   ::= { authenticationEntry 800 }

  -- Row command:Insert

  authenticationInsert OBJECT-TYPE
   SYNTAX        INTEGER { noOp(0), insert(10) }
   MAX-ACCESS    read-write
   STATUS        current
   DESCRIPTION " Insert

                 Inserts a new row before this row.
                 "
   DEFVAL        { noOp }
   ::= { authenticationEntry 900 }

 -- End of table:SIP Authentication Configuration

-- End of group:Authentication Group

-- ****************************************************************************

-- Group:Registration Group

-- ****************************************************************************

registrationGroup OBJECT IDENTIFIER
 ::= { sipEpMIBObjects 800 }
 -- Scalar:Default Registration Refresh Time

 defaultRegistrationRefreshTime OBJECT-TYPE
  SYNTAX        Unsigned32 ( 0..600 )
  MAX-ACCESS    read-write
  STATUS        current
  DESCRIPTION " Default Registration Refresh Time

                In SIP, a registration is valid for a period of time defined
                by the registrar. Once a unit is registered, the SIP protocol
                requires the User Agent to refresh this registration before
                the registration expires. Typically, this re-registration must
                be completed before the ongoing registration expires, so that
                the User Agent's registration state does not change (i.e.,
                remains 'registered').

                This parameter defines the time, relative to the end of the
                registration, at which a registered unit will begin updating
                its registration.

                For example, if the registration lasts 60 minutes and the
                RegistrationRefreshTime parameter is set to 43, the unit will
                send new REGISTER requests 59 minutes and 17 seconds after the
                reception of the registration acknowledgement (43 seconds
                before the end of the registration period).

                Setting the RegistrationRefreshTime parameter to 0 means that
                the User Agent will fall into the 'unregistered' state BEFORE
                sending the re-REGISTER requests.

                This value is expressed in seconds (s).

                If a specific configuration is set in the
                GwSpecificRegistration.RefreshTime parameter and the
                GwSpecificRegistration.EnableConfig parameter is set to
                'Enable', then it overrides the current default configuration.

                "
  DEFVAL        { 60 }
  ::= { registrationGroup 200 }

 -- Scalar:Default Expiration Value In Registration

 defaultRegistrationExpirationValue OBJECT-TYPE
  SYNTAX        Unsigned32 ( 1..86400 )
  MAX-ACCESS    read-write
  STATUS        current
  DESCRIPTION " Default Expiration Value In Registration

                Configures the default registration expiration.

                This value is used when the contact in a registration response
                contains no expires or the expires is badly formatted. In this
                case, the delay before a re-REGISTER is the value set in this
                parameter minus the value set in the
                DefaultRegistrationRefreshTime parameter.

                See also the DefaultRegistrationRefreshTime parameter.

                This value is expressed in seconds (s).

                If a specific configuration is set in the
                GwSpecificRegistration.ExpirationValue parameter and the
                GwSpecificRegistration.EnableConfig parameter is set to
                'Enable', then it overrides the current default configuration.

                "
  DEFVAL        { 3600 }
  ::= { registrationGroup 250 }

 -- Scalar:Proposed Expiration Value In Registration

 defaultRegistrationProposedExpirationValue OBJECT-TYPE
  SYNTAX        Unsigned32 ( 0..86400 )
  MAX-ACCESS    read-write
  STATUS        current
  DESCRIPTION " Proposed Expiration Value In Registration

                Configures the suggested expiration delay of a contact in the
                SIP REGISTER.

                Set the value to 0 to disable the expiration proposition.

                This value does not modify the delay before a re-REGISTER. The
                delay is the expires of the contact in the 200 OK response to
                the REGISTER minus the value set in the
                RegistrationRefreshTime parameter. If the expires of the
                contact in the 200 OK response to the REGISTER is not present
                or badly formatted, then the delay is the default registration
                proposed expiration value minus the value set in the
                RegistrationRefreshTime parameter.

                See also the DefaultRegistrationRefreshTime parameter.

                This value is expressed in seconds (s).

                If a specific configuration is set in the
                GwSpecificRegistration.ProposedExpirationValue parameter and
                the GwSpecificRegistration.EnableConfig parameter is set to
                'Enable', then it overrides the current default configuration.

                "
  DEFVAL        { 0 }
  ::= { registrationGroup 300 }

 -- Scalar:Default Registration Retry Time

 defaultRegistrationRetryTime OBJECT-TYPE
  SYNTAX        Unsigned32 ( 1..86400 )
  MAX-ACCESS    read-write
  STATUS        current
  DESCRIPTION " Default Registration Retry Time

                Configures the interval on which a failed registration is
                retried.

                This parameter defines the time, relative to the failure of
                the registration, at which the device retries the
                registration.

                This value is expressed in seconds (s).

                If a specific configuration is set in the
                GwSpecificRegistration.RetryTime parameter and the
                GwSpecificRegistration.EnableConfig parameter is set to
                'Enable', then it overrides the current default configuration.

                "
  DEFVAL        { 120 }
  ::= { registrationGroup 350 }

 -- Scalar:Unregistered Behaviour

 defaultRegistrationUnregisteredBehavior OBJECT-TYPE
  SYNTAX        MxEnableState
  MAX-ACCESS    read-write
  STATUS        current
  DESCRIPTION " Unregistered Behaviour

                Specifies whether an endpoint should remain enabled or not
                when not registered.

                  * Disable: When an endpoint is not registered, it is
                    disabled. This prevents the user from making or receiving
                    calls. Picking up the handset yields a fast busy tone and
                    incoming INVITEs receive a '403 Forbidden' response.
                  * Enable: When an endpoint is not registered, it is still
                    enabled. The user can receive and initiate outgoing calls.
                    Note that since the endpoint is not registered to a
                    registrar, the public address of the endpoint is not
                    available to the outside world, so the endpoint will most
                    likely be unreachable except through direct IP calling.

                If a specific configuration is set in the
                GwSpecificRegistration.UnregisteredBehavior parameter and the
                GwSpecificRegistration.EnableConfig parameter is set to
                'Enable', then it overrides the current default configuration.

                "
  DEFVAL        { disable }
  ::= { registrationGroup 400 }

 -- Scalar:Unregistered Unit Behaviour

 defaultUnitRegistrationUnregisteredBehavior OBJECT-TYPE
  SYNTAX        INTEGER { noEffect(100) , disableGateway(200) }
  MAX-ACCESS    read-write
  STATUS        current
  DESCRIPTION " Unregistered Unit Behaviour

                Specifies whether the SIP gateway state should be affected or
                not by the unit registrations state.

                  * NoEffect: The unit registrations state has no effect on
                    the SIP gateway state.
                  * DisableGateway: The SIP gateway goes in the 'unregistered'
                    state when all unit registrations are not in the
                    'registered' state.

                "
  DEFVAL        { noEffect }
  ::= { registrationGroup 450 }

 -- Scalar:Default Static Registrar Server Host

 defaultStaticRegistrarServerHost OBJECT-TYPE
  SYNTAX        MxIpHostNamePort
  MAX-ACCESS    read-write
  STATUS        current
  DESCRIPTION " Default Static Registrar Server Host

                SIP registrar server FQDN and port.

                A registrar is a server that accepts REGISTER requests and
                places the information it receives in those requests into the
                location service for the domain it handles.

                Note: If the host corresponds to a domain name that is bound
                to a SRV record, the port must be set to 0 for the unit to
                perform DNS SRV queries; otherwise only type A record lookups
                will be used.

                Special macros can be entered when the Sbc and/or SipProxy
                service are available:

                  * The special macro '%sbc%' can be entered to use the SBC as
                    the destination host. This macro resolves to the IP
                    address and port of the 'loop_s' signaling interface in
                    the Sbc service.
                  * The special macro '%sipproxy%' can be entered to use the
                    SipProxy service as the destination host. This macro
                    resolves to the IP address and port of the SipProxy
                    service.

                If the special macro %sbc% is used in the home domain proxy,
                then the registration and messaging hosts must be either set
                to %sbc% or left empty.

                If a specific configuration is set in the
                GwSpecificRegistration.ServerHost parameter and the
                GwSpecificRegistration.EnableConfig parameter is set to
                'Enable', then it overrides the current default configuration.

                "
  DEFVAL        { "192.168.10.10:0" }
  ::= { registrationGroup 500 }

 -- ***************************************************************************
 
 -- Table:SIP Gateway Specific Proxy

 -- ***************************************************************************
 
 gwSpecificRegistrationTable OBJECT-TYPE
  SYNTAX        SEQUENCE OF GwSpecificRegistrationEntry
  MAX-ACCESS    not-accessible
  STATUS        current
  DESCRIPTION " SIP Gateway Specific Proxy

                A table of the registration configuration indexed by the SIP
                gateway name. It is used to override the default value.
                "
  ::= { registrationGroup 600 }
  gwSpecificRegistrationEntry OBJECT-TYPE
   SYNTAX        GwSpecificRegistrationEntry
   MAX-ACCESS    not-accessible
   STATUS        current
   DESCRIPTION " A row in table SIP Gateway Specific Proxy. "
   INDEX         {
                   gwSpecificRegistrationGatewayName
                 }

   ::= { gwSpecificRegistrationTable 1 }

  GwSpecificRegistrationEntry ::= SEQUENCE
  {
    gwSpecificRegistrationGatewayName             OCTET STRING,
    gwSpecificRegistrationEnableConfig            MxEnableState,
    gwSpecificRegistrationRefreshTime             Unsigned32,
    gwSpecificRegistrationExpirationValue         Unsigned32,
    gwSpecificRegistrationProposedExpirationValue Unsigned32,
    gwSpecificRegistrationRetryTime               Unsigned32,
    gwSpecificRegistrationUnregisteredBehavior    MxEnableState,
    gwSpecificRegistrationServerHost              MxIpHostNamePort
  }

  -- Index:Gateway Name

  gwSpecificRegistrationGatewayName OBJECT-TYPE
   SYNTAX        OCTET STRING
   MAX-ACCESS    read-only
   STATUS        current
   DESCRIPTION " Gateway Name

                 String that identifies a SIP gateway in other tables.
                 "
   ::= { gwSpecificRegistrationEntry 100 }

  -- Columnar:Enable Configuration

  gwSpecificRegistrationEnableConfig OBJECT-TYPE
   SYNTAX        MxEnableState
   MAX-ACCESS    read-write
   STATUS        current
   DESCRIPTION " Enable Configuration

                 Defines the configuration to use for a specific SIP gateway.

                   * Disable: The SIP gateway uses the default configuration
                     as defined in the DefaultStaticProxyHomeDomainHost,
                     DefaultRegistrationRefreshTime,
                     DefaultRegistrationProposedExpirationValue,
                     DefaultRegistrationUnregisteredBehavior, and
                     DefaultStaticRegistrarServerHost parameters.
                   * Enable: The endpoint uses the specific configuration as
                     defined in the GwSpecificRegistration.RefreshTime,
                     GwSpecificRegistration.ProposedExpirationValue,
                     GwSpecificRegistration.UnregisteredBehavior, and
                     GwSpecificRegistration.ServerHost parameters.

                 "
   DEFVAL        { disable }
   ::= { gwSpecificRegistrationEntry 200 }

  -- Columnar:SIP Gateway Specific Registration Refresh Time

  gwSpecificRegistrationRefreshTime OBJECT-TYPE
   SYNTAX        Unsigned32 ( 0..600 )
   MAX-ACCESS    read-write
   STATUS        current
   DESCRIPTION " SIP Gateway Specific Registration Refresh Time

                 Refresh registration time for a specific SIP gateway.

                 In SIP, a registration is valid for a period of time defined
                 by the registrar. Once a unit is registered, the SIP protocol
                 requires the User Agent to refresh this registration before
                 the registration expires. Typically, this re-registration
                 must be completed before the ongoing registration expires, so
                 that the User Agent's registration state does not change
                 (i.e., remains 'registered').

                 This parameter defines the time, relative to the end of the
                 registration, at which a registered unit will begin updating
                 its registration.

                 For instance, if the registration lasts 60 minutes and the
                 RegistrationRefreshTime parameter is set to 43, the unit will
                 send new REGISTER requests 59 minutes and 17 seconds after
                 the reception of the registration acknowledgement (43 seconds
                 before the end of the registration period).

                 Setting the RegistrationRefreshTime parameter to 0 means that
                 the User Agent will fall into the 'unregistered' state BEFORE
                 sending the re-REGISTER requests.

                 This value is expressed in seconds (s).

                 This configuration overrides the default configuration set in
                 the DefaultRegistrationRefreshTime parameter if the
                 GwSpecificRegistration.EnableConfig parameter is set to
                 'Enable'.

                 "
   DEFVAL        { 60 }
   ::= { gwSpecificRegistrationEntry 300 }

  -- Columnar:Default Expiration Value In Registration

  gwSpecificRegistrationExpirationValue OBJECT-TYPE
   SYNTAX        Unsigned32 ( 1..86400 )
   MAX-ACCESS    read-write
   STATUS        current
   DESCRIPTION " Default Expiration Value In Registration

                 Configures the default registration expiration.

                 This value is used when the contact in a registration
                 response contains no expires or the expires is badly
                 formatted. In this case, the delay before a re-REGISTER is
                 the value set in this parameter minus the value set in the
                 RefreshTime parameter.

                 See also the RefreshTime parameter.

                 This value is expressed in seconds (s).

                 This configuration overrides the default configuration set in
                 the DefaultRegistrationExpirationValue parameter if the
                 GwSpecificRegistration.EnableConfig parameter is set to
                 'Enable'.

                 "
   DEFVAL        { 3600 }
   ::= { gwSpecificRegistrationEntry 350 }

  -- Columnar:SIP Gateway Specific Proposed Expiration Value In Registration

  gwSpecificRegistrationProposedExpirationValue OBJECT-TYPE
   SYNTAX        Unsigned32 ( 0..86400 )
   MAX-ACCESS    read-write
   STATUS        current
   DESCRIPTION " SIP Gateway Specific Proposed Expiration Value In
                 Registration

                 Suggested expiration delay of a contact in the SIP REGISTER
                 for a specific SIP gateway.

                 Set the value to 0 to disable the expiration proposal.

                 This value does not modify the delay before a re-REGISTER.
                 The delay is the expires of the contact in the 200 OK
                 response to the REGISTER minus the value set in the
                 RegistrationRefreshTime parameter. If the expires of the
                 contact in the 200 OK response to the REGISTER is not present
                 or badly formatted, then the delay is the default
                 registration proposed expiration value minus the value set in
                 the RegistrationRefreshTime parameter.

                 See also the RefreshTime parameter.

                 This value is expressed in seconds (s).

                 This configuration overrides the default configuration set in
                 the DefaultRegistrationProposedExpirationValue parameter if
                 the GwSpecificRegistration.EnableConfig parameter is set to
                 'Enable'.

                 "
   DEFVAL        { 0 }
   ::= { gwSpecificRegistrationEntry 400 }

  -- Columnar:SIP Gateway Specific Registration Retry Time

  gwSpecificRegistrationRetryTime OBJECT-TYPE
   SYNTAX        Unsigned32 ( 1..86400 )
   MAX-ACCESS    read-write
   STATUS        current
   DESCRIPTION " SIP Gateway Specific Registration Retry Time

                 Configures the interval on which a failed registration
                 retries on a specific SIP gateway.

                 This parameter defines the time, relative to the failure of
                 the registration, at which the SIP gateway retries the
                 registration.

                 This value is expressed in seconds (s).

                 This configuration overrides the default configuration set in
                 the DefaultRegistrationRetryTime parameter if the
                 GwSpecificRegistration.EnableConfig parameter is set to
                 'Enable'.

                 "
   DEFVAL        { 120 }
   ::= { gwSpecificRegistrationEntry 450 }

  -- Columnar:SIP Gateway Specific Unregistered Behaviour

  gwSpecificRegistrationUnregisteredBehavior OBJECT-TYPE
   SYNTAX        MxEnableState
   MAX-ACCESS    read-write
   STATUS        current
   DESCRIPTION " SIP Gateway Specific Unregistered Behaviour

                 Specifies whether an endpoint should remain enabled or not
                 when not registered for a specific SIP gateway.

                   * Disable: When an endpoint is not registered, it is
                     disabled. This prevents the user from making or receiving
                     calls. Picking up the handset yields a fast busy tone and
                     incoming INVITEs receive a '403 Forbidden' response.
                   * Enable: When an endpoint is not registered, it is still
                     enabled. The user can receive and initiate outgoing
                     calls. Note that since the endpoint is not registered to
                     a registrar, the public address of the endpoint is not
                     available to the outside world, so the endpoint will most
                     likely be unreachable except through direct IP calling.

                 This configuration overrides the default configuration set in
                 the DefaultRegistrationUnregisteredBehavior parameter if the
                 GwSpecificRegistration.EnableConfig parameter is set to
                 'Enable'.

                 "
   DEFVAL        { disable }
   ::= { gwSpecificRegistrationEntry 500 }

  -- Columnar:SIP Gateway Specific Registrar Server Host

  gwSpecificRegistrationServerHost OBJECT-TYPE
   SYNTAX        MxIpHostNamePort
   MAX-ACCESS    read-write
   STATUS        current
   DESCRIPTION " SIP Gateway Specific Registrar Server Host

                 SIP registrar server FQDN and port for a specific SIP
                 gateway.

                 A registrar is a server that accepts REGISTER requests and
                 places the information it receives in those requests into the
                 location service for the domain it handles.

                 Note: If the host corresponds to a domain name that is bound
                 to a SRV record, the port must be set to 0 for the unit to
                 perform DNS SRV queries; otherwise, only type A record
                 lookups will be used.

                 Special macros can be entered when the Sbc and/or SipProxy
                 service are available:

                   * The special macro '%sbc%' can be entered to use the SBC
                     as the destination host. This macro resolves to the IP
                     address and port of the 'loop_s' signaling interface in
                     the Sbc service.
                   * The special macro '%sipproxy%' can be entered to use the
                     SipProxy service as the destination host. This macro
                     resolves to the IP address and port of the SipProxy
                     service.

                 If the special macro %sbc% is used in the home domain proxy,
                 then the registration and messaging hosts must be either set
                 to %sbc% or left empty.

                 This configuration overrides the default configuration set in
                 the DefaultRegistrarServerHost parameter if the
                 GwSpecificRegistration.EnableConfig parameter is set to
                 'Enable'.

                 "
   DEFVAL        { "192.168.0.10:0" }
   ::= { gwSpecificRegistrationEntry 600 }

 -- End of table:SIP Gateway Specific Proxy

 -- ***************************************************************************
 
 -- Table:Unit Registrations

 -- ***************************************************************************
 
 unitRegistrationsTable OBJECT-TYPE
  SYNTAX        SEQUENCE OF UnitRegistrationsEntry
  MAX-ACCESS    not-accessible
  STATUS        current
  DESCRIPTION " Unit Registrations

                This table holds a list of users to register. These users are
                not tied to a specifiic endpoint.

                Note: Endpoint related registration can be specified in table
                UserAgent

                "
  ::= { registrationGroup 700 }
  unitRegistrationsEntry OBJECT-TYPE
   SYNTAX        UnitRegistrationsEntry
   MAX-ACCESS    not-accessible
   STATUS        current
   DESCRIPTION " A row in table Unit Registrations. "
   INDEX         {
                   unitRegistrationsIndex
                 }

   ::= { unitRegistrationsTable 1 }

  UnitRegistrationsEntry ::= SEQUENCE
  {
    unitRegistrationsIndex       Unsigned32,
    unitRegistrationsUsername    OCTET STRING,
    unitRegistrationsGatewayName OCTET STRING,
    unitRegistrationsDelete      INTEGER
  }

  -- Index:Index

  unitRegistrationsIndex OBJECT-TYPE
   SYNTAX        Unsigned32
   MAX-ACCESS    read-only
   STATUS        current
   DESCRIPTION " Index

                 Unique identifier of the row.
                 "
   ::= { unitRegistrationsEntry 100 }

  -- Columnar:User Name

  unitRegistrationsUsername OBJECT-TYPE
   SYNTAX        OCTET STRING ( SIZE(0..255) )
   MAX-ACCESS    read-write
   STATUS        current
   DESCRIPTION " User Name

                 A string that uniquely identifies this user in the domain.
                 "
   DEFVAL        { "" }
   ::= { unitRegistrationsEntry 200 }

  -- Columnar:Gateway

  unitRegistrationsGatewayName OBJECT-TYPE
   SYNTAX        OCTET STRING
   MAX-ACCESS    read-write
   STATUS        current
   DESCRIPTION " Gateway

                 Selects on which SIP gateway the unit registration is
                 applied. The value must match the gateway name as defined in
                 the Gateway.Name parameter.

                 The value 'all' means all gateways.

                 "
   DEFVAL        { "all" }
   ::= { unitRegistrationsEntry 250 }

  -- Row command:Delete

  unitRegistrationsDelete OBJECT-TYPE
   SYNTAX        INTEGER { noOp(0), delete(10) }
   MAX-ACCESS    read-write
   STATUS        current
   DESCRIPTION " Delete

                 Delete this row.
                 "
   DEFVAL        { noOp }
   ::= { unitRegistrationsEntry 300 }

 -- End of table:Unit Registrations

 -- Scalar:Behaviour on Initial-Registration Reception

 behaviorOnInitialRegistrationReception OBJECT-TYPE
  SYNTAX        INTEGER { noRegistration(100) , endpointRegistration(200) ,
                unitRegistration(300) , unitAndEndpointRegistration(400) }
  MAX-ACCESS    read-write
  STATUS        current
  DESCRIPTION " Behaviour on Initial-Registration Reception

                Configures the behaviour upon reception of a 380 or 504
                carrying an XML body with a specified 'initial-registration'
                action.

                  * NoRegistration: No registration refresh are sent upon
                    reception of the message.
                  * EndpointRegistration: Registration refresh of the endpoint
                    associated with the call is sent upon reception of the
                    message.
                  * UnitRegistration: Registration refresh of all the
                    usernames configured as 'unit registration' are sent upon
                    reception of the message.
                  * UnitAndEndpointRegistration: Registration refresh of the
                    endpoint associated with the call and of all the usernames
                    configured as 'unit registration' are sent upon reception
                    of the message.

                If the registration(s) succeed, then the call is re-attempted.
                If the registration(s) fail, then the call is terminated.

                See also the RegistrationDelayOnInitialRegistrationReception
                parameter.

                "
  DEFVAL        { noRegistration }
  ::= { registrationGroup 900 }

 -- Scalar:Registration Delay on Initial-Registration Reception

 registrationDelayOnInitialRegistrationReception OBJECT-TYPE
  SYNTAX        Unsigned32 ( 0..5000 )
  MAX-ACCESS    read-write
  STATUS        current
  DESCRIPTION " Registration Delay on Initial-Registration Reception

                This parameter is only used when the
                BehaviorOnInitialRegistrationReception parameter is configured
                to a value other than 'NoRegistration'. This parameter
                configures the time interval between the unregistration
                confirmation (or final response) and the registration attempt
                that follows.

                Note: This parameter only applies on registration refresh
                triggered by the BehaviorOnInitialRegistrationReception
                feature.

                This value is expressed in milliseconds (ms).

                See also the BehaviorOnInitialRegistrationReception parameter.

                "
  DEFVAL        { 0 }
  ::= { registrationGroup 1000 }

 -- ***************************************************************************
 
 -- Table:Registration Status

 -- ***************************************************************************
 
 registrationStatusTable OBJECT-TYPE
  SYNTAX            SEQUENCE OF RegistrationStatusEntry
  MAX-ACCESS        not-accessible
  STATUS            current
  DESCRIPTION     " Registration Status

                    This table holds a list of current registration.
                    "
  ::= { registrationGroup 10000 }
  registrationStatusEntry OBJECT-TYPE
   SYNTAX        RegistrationStatusEntry
   MAX-ACCESS    not-accessible
   STATUS        current
   DESCRIPTION " A row in table Registration Status. "
   INDEX         {
                   registrationStatusIndex
                 }

   ::= { registrationStatusTable 1 }

  RegistrationStatusEntry ::= SEQUENCE
  {
    registrationStatusIndex     Unsigned32,
    registrationStatusGateway   OCTET STRING,
    registrationStatusEndpoint  OCTET STRING,
    registrationStatusState     INTEGER,
    registrationStatusRegistrar OCTET STRING,
    registrationStatusUsername  OCTET STRING
  }

  -- Index:Index

  registrationStatusIndex OBJECT-TYPE
   SYNTAX        Unsigned32
   MAX-ACCESS    read-only
   STATUS        current
   DESCRIPTION " Index

                 Unique identifier of the row.
                 "
   ::= { registrationStatusEntry 100 }

  -- Columnar:Gateway

  registrationStatusGateway OBJECT-TYPE
   SYNTAX        OCTET STRING
   MAX-ACCESS    read-only
   STATUS        current
   DESCRIPTION " Gateway

                 The SIP gateway used to register.
                 "
   ::= { registrationStatusEntry 200 }

  -- Columnar:Endpoint

  registrationStatusEndpoint OBJECT-TYPE
   SYNTAX        OCTET STRING
   MAX-ACCESS    read-only
   STATUS        current
   DESCRIPTION " Endpoint

                 The endpoint related to this registration.

                 The parameter is empty for generic unit registration not
                 related to an endpoint.

                 "
   ::= { registrationStatusEntry 300 }

  -- Columnar:State

  registrationStatusState OBJECT-TYPE
   SYNTAX        INTEGER { unregistered(100) , registering(200) , registered
                 (300) , refreshing(400) , unregistering(500) , unreachable
                 (600) , authFailed(700) , rejected(800) , configError(900) ,
                 invalidResponse (1000) }
   MAX-ACCESS    read-only
   STATUS        current
   DESCRIPTION " State

                 The current state of the registration.

                   * Unregistered: The registration is not registered and
                     never tries to register. This case occurs if the network
                     interface used by the SIP gateway is not up or the unit/
                     endpoint is locked.
                   * Registering: The registration is currently trying to
                     register.
                   * Registered: The registration is successfully registered.
                   * Refreshing: The registration is trying to refresh.
                   * Unreachable: The last registration attempt failed because
                     the registrar is unreachable.
                   * AuthFailed: The last registration attempt failed because
                     authentication was not successful.
                   * Rejected: The last registration attempt failed because
                     the registrar rejects the registration.
                   * ConfigError: The last registration attempt failed because
                     it was badly configured. Check if the username to
                     register and the registrar host are not empty.
                   * InvalidResponse: The received 200 OK response contact do
                     not match the contact of the register. Or the 200 OK
                     response for an un-register contains contact.

                 "
   ::= { registrationStatusEntry 400 }

  -- Columnar:Registrar

  registrationStatusRegistrar OBJECT-TYPE
   SYNTAX        OCTET STRING
   MAX-ACCESS    read-only
   STATUS        current
   DESCRIPTION " Registrar

                 The host of the registrar currently used by the registration.
                 "
   ::= { registrationStatusEntry 500 }

  -- Columnar:Username

  registrationStatusUsername OBJECT-TYPE
   SYNTAX        OCTET STRING
   MAX-ACCESS    read-only
   STATUS        current
   DESCRIPTION " Username

                 The username currently used by the registration.
                 "
   ::= { registrationStatusEntry 600 }

 -- End of table:Registration Status

-- End of group:Registration Group

-- ****************************************************************************

-- Group:Transport Group

-- ****************************************************************************

transportGroup OBJECT IDENTIFIER
 ::= { sipEpMIBObjects 900 }
 -- Scalar:Persistent Connection Port

 transportPersistentBasePort OBJECT-TYPE
  SYNTAX        Unsigned32 ( 1025..64535 )
  MAX-ACCESS    read-write
  STATUS        current
  DESCRIPTION " Persistent Connection Port

                Base port used to establish persistent connections with SIP
                servers.

                When the SipEp service creates a persistent connection, the
                local SIP port for that connection is the first available port
                starting from the last Persistent base port value used.

                See also the TransportPersistentPortInterval parameter.

                "
  DEFVAL        { 16000 }
  ::= { transportGroup 50 }

 -- Scalar:Persistent Connection Port Interval

 transportPersistentPortInterval OBJECT-TYPE
  SYNTAX        Unsigned32 ( 0..0 | 100..1000 )
  MAX-ACCESS    read-write
  STATUS        current
  DESCRIPTION " Persistent Connection Port Interval

                Interval used to cycle through a range of ports. That last
                available port is the sum of TransportPersistentBasePort and
                TransportPersistentPortInterval values.

                After a reboot, the last SIP port used is remembered and the
                following ports are used, instead starting from the base port.

                If set to '0', the cycle mechanism is disabled.

                See also the TransportPersistentBasePort parameter.

                "
  DEFVAL        { 0 }
  ::= { transportGroup 55 }

 -- Scalar:Transport Failback Interval

 transportFailbackInterval OBJECT-TYPE
  SYNTAX        Unsigned32 ( 5..3600 )
  MAX-ACCESS    read-write
  STATUS        current
  DESCRIPTION " Transport Failback Interval

                Time interval before retrying the establishment of a
                persistent connection.

                This value is the interval that the device waits before
                retrying periodically to establish a persistent connection to
                the highest priority target. This timer is started when a
                persistent connection goes down or fails to connect to the
                destination.

                See also the DefaultSipFailoverConditions and
                GwSpecificFailover.SipFailoverConditions parameters.

                This value is expressed in seconds (s).

                "
  DEFVAL        { 15 }
  ::= { transportGroup 75 }

 -- Scalar:Certificate Trust Level for TLS connections

 transportTlsCertificateTrustLevel OBJECT-TYPE
  SYNTAX        INTEGER { locallyTrusted(100) , ocspOptional(200) ,
                ocspMandatory(300) }
  MAX-ACCESS    read-write
  STATUS        current
  DESCRIPTION " Certificate Trust Level for TLS connections

                Define how a peer certificate is considered trusted for a TLS
                connection.

                  * LocallyTrusted: A certificate is considered trusted when
                    the certificate authority (CA) that signed the peer
                    certificate is present in the Cert.OthersCertificatesInfo
                    table. The certificate revocation status is not verified.
                  * OcspOptional: A certificate is considered trusted when it
                    is locally trusted and is not revoked by its certificate
                    authority (CA). The certificate revocation status is
                    queried using the Online Certificate Status Protocol
                    (OCSP). If the OCSP server is not available or the
                    verification status is unknown, the certificate is
                    considered trusted.
                  * OcspMandatory: A certificate is considered trusted when it
                    is locally trusted and is not revoked by its certificate
                    authority (CA). The certificate revocation status is
                    queried using the Online Certificate Status Protocol
                    (OCSP). If the OCSP server is not available or the
                    verification status is unknown, the certificate is
                    considered not trusted.

                "
  DEFVAL        { locallyTrusted }
  ::= { transportGroup 85 }

 -- Scalar:TLS Cipher Suite

 transportTlsCipherSuite OBJECT-TYPE
  SYNTAX        INTEGER { cS1(100) , cS2(200) , cS3(300) }
  MAX-ACCESS    read-write
  STATUS        current
  DESCRIPTION " TLS Cipher Suite

                Defines the allowed cipher suites when using TLS persistent
                connections.

                  * CS1:
                      + TLS_RSA_WITH_AES_256_CBC_SHA
                      + TLS_RSA_WITH_AES_128_CBC_SHA
                      + TLS_RSA_WITH_3DES_EDE_CBC_SHA
                      + TLS_RSA_WITH_RC4_128_SHA
                  * CS2:
                      + TLS_RSA_WITH_AES_128_CBC_SHA
                      + TLS_RSA_WITH_AES_256_CBC_SHA
                      + TLS_RSA_WITH_3DES_EDE_CBC_SHA
                      + TLS_DHE_RSA_WITH_AES_128_CBC_SHA
                      + TLS_DHE_RSA_WITH_AES_256_CBC_SHA
                      + TLS_DHE_RSA_WITH_3DES_EDE_CBC_SHA
                  * CS3:
                      + TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384
                      + TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384
                      + TLS_DHE_RSA_WITH_AES_256_GCM_SHA384
                      + TLS_DHE_RSA_WITH_AES_256_CBC_SHA256
                      + TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256
                      + TLS_ECDH_RSA_WITH_AES_256_GCM_SHA384
                      + TLS_ECDH_RSA_WITH_AES_256_CBC_SHA384
                      + TLS_RSA_WITH_AES_256_GCM_SHA384
                      + TLS_RSA_WITH_AES_256_CBC_SHA256
                      + TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
                      + TLS_DHE_RSA_WITH_AES_128_GCM_SHA256
                      + TLS_DHE_RSA_WITH_AES_128_CBC_SHA256
                      + TLS_ECDH_RSA_WITH_AES_128_GCM_SHA256
                      + TLS_ECDH_RSA_WITH_AES_128_CBC_SHA256
                      + TLS_RSA_WITH_AES_128_GCM_SHA256
                      + TLS_RSA_WITH_AES_128_CBC_SHA256

                "
  DEFVAL        { cS1 }
  ::= { transportGroup 90 }

 -- Scalar:TLS Version

 transportTlsVersion OBJECT-TYPE
  SYNTAX        INTEGER { sSLv3(100) , tLSv1(200) , tLSv1-1(300) , tLSv1-2
                (400) }
  MAX-ACCESS    read-write
  STATUS        current
  DESCRIPTION " TLS Version

                Defines the allowed TLS versions when using TLS persistent
                connections.

                  * SSLv3: Allow SSL version 3 and all TLS versions.
                  * TLSv1: Allow TLS versions 1 and up.
                  * TLSv1_1: Allow TLS versions 1.1 and up.
                  * TLSv1_2: Allow TLS versions 1.2 and up.

                The device will always send its highest supported TLS version
                in the ClientHello message. The server will select the highest
                supported TLS version it supports from the ClientHello
                message. The device will then validate that the selected
                version is allowed. If the version is not allowed the device
                will close the connection.

                "
  DEFVAL        { tLSv1 }
  ::= { transportGroup 95 }

 -- ***************************************************************************
 
 -- Table:Transport Configuration

 -- ***************************************************************************
 
 transportConfigTable OBJECT-TYPE
  SYNTAX        SEQUENCE OF TransportConfigEntry
  MAX-ACCESS    not-accessible
  STATUS        current
  DESCRIPTION " Transport Configuration

                This table contains the informations pertaining to the
                supported transports. It is indexed by gateway name.

                Note that the transport used for the entire unit is always the
                transport configured in the first row of this table.
                Consequently when a transport is configured on a specific row
                (gateway), the configuration is also applied to all rows
                (gateways). This characteristic could possibly change when the
                unit will be able to support different transports.

                "
  ::= { transportGroup 100 }
  transportConfigEntry OBJECT-TYPE
   SYNTAX        TransportConfigEntry
   MAX-ACCESS    not-accessible
   STATUS        current
   DESCRIPTION " A row in table Transport Configuration. "
   INDEX         {
                   transportConfigGatewayName
                 }

   ::= { transportConfigTable 1 }

  TransportConfigEntry ::= SEQUENCE
  {
    transportConfigGatewayName        OCTET STRING,
    transportConfigRegistrationEnable MxEnableState,
    transportConfigContactEnable      MxEnableState,
    transportConfigUdpEnable          MxEnableState,
    transportConfigUdpQValue          OCTET STRING,
    transportConfigTcpEnable          MxEnableState,
    transportConfigTcpQValue          OCTET STRING,
    transportConfigTlsEnable          MxEnableState,
    transportConfigTlsQValue          OCTET STRING
  }

  -- Index:Gateway Name

  transportConfigGatewayName OBJECT-TYPE
   SYNTAX        OCTET STRING
   MAX-ACCESS    read-only
   STATUS        current
   DESCRIPTION " Gateway Name

                 String that identifies a SIP gateway in other tables.
                 "
   ::= { transportConfigEntry 100 }

  -- Columnar:Enable/Disable Transport Registration

  transportConfigRegistrationEnable OBJECT-TYPE
   SYNTAX        MxEnableState
   MAX-ACCESS    read-write
   STATUS        current
   DESCRIPTION " Enable/Disable Transport Registration

                 Indicates whether or not the SIP Gateway must include its
                 supported transports in its registrations.

                 If enabled, then the gateway registers with one contact for
                 each transport that is currently enabled. Each of these
                 contacts contains a 'transport' parameter.

                 "
   DEFVAL        { disable }
   ::= { transportConfigEntry 200 }

  -- Columnar:Enable/Disable Transport Contact

  transportConfigContactEnable OBJECT-TYPE
   SYNTAX        MxEnableState
   MAX-ACCESS    read-write
   STATUS        current
   DESCRIPTION " Enable/Disable Transport Contact

                 Indicates whether or not the SIP Gateway must include its
                 supported transport in all SIP messages that have the contact
                 header, except for the REGISTER message (see the
                 RegistrationEnable parameter).

                 If enabled, then the gateway sends SIP messages with the
                 'transport' parameter in the contact header.

                 When secure transport is not selected, it is either set to
                 'transport=tcp' when TCP is enabled and UDP is disabled,
                 'transport=udp' when UDP is enabled and TCP disabled or no
                 transport parameter when both TCP and UDP are enabled. When
                 secure transport is selected, it is set to 'transport=tls'.

                 "
   DEFVAL        { disable }
   ::= { transportConfigEntry 300 }

  -- Columnar:Enable/Disable UDP transport

  transportConfigUdpEnable OBJECT-TYPE
   SYNTAX        MxEnableState
   MAX-ACCESS    read-write
   STATUS        current
   DESCRIPTION " Enable/Disable UDP transport

                 Enables or disables the UDP transport.

                 Note that the UDP and TLS transports are mutually exclusive.
                 The TLS transport cannot be used with the UDP transport.

                 "
   DEFVAL        { enable }
   ::= { transportConfigEntry 400 }

  -- Columnar:UDP Qvalue

  transportConfigUdpQValue OBJECT-TYPE
   SYNTAX        OCTET STRING ( SIZE(0..5) )
   MAX-ACCESS    read-write
   STATUS        current
   DESCRIPTION " UDP Qvalue

                 Indicates the priority of the UDP transport.

                 A qvalue parameter is added to each contact. This only
                 applies if the transport-specific registration is enabled
                 (see the TransportRegistrationEnable parameter).

                 Qvalues give each transport a weight, indicating the degree
                 of preference for that transport. A higher value means higher
                 preference.

                 The format of the qvalue string must follow the RFC 3261 ABNF
                 (a floating point value between 0.000 and 1.000). If an empty
                 string is specified, no qvalue is set in the contacts.

                 "
   DEFVAL        { "" }
   ::= { transportConfigEntry 500 }

  -- Columnar:Enable/Disable TCP transport

  transportConfigTcpEnable OBJECT-TYPE
   SYNTAX        MxEnableState
   MAX-ACCESS    read-write
   STATUS        current
   DESCRIPTION " Enable/Disable TCP transport

                 Enables or disables the TCP transport.

                 Note that the TCP and TLS transports are mutually exclusive.
                 The TLS transport cannot be used with the TCP transport.

                 "
   DEFVAL        { disable }
   ::= { transportConfigEntry 600 }

  -- Columnar:TCP Qvalue

  transportConfigTcpQValue OBJECT-TYPE
   SYNTAX        OCTET STRING ( SIZE(0..5) )
   MAX-ACCESS    read-write
   STATUS        current
   DESCRIPTION " TCP Qvalue

                 Indicates the priority of the TCP transport.

                 A qvalue parameter is added to each contact. This only
                 applies if the transport-specific registration is enabled
                 (see the TransportRegistrationEnable parameter).

                 Qvalues give each transport a weight, indicating the degree
                 of preference for that transport. A higher value means higher
                 preference.

                 The format of the qvalue string must follow the RFC 3261 ABNF
                 (a floating point value between 0.000 and 1.000). If an empty
                 string is specified, no qvalue is set in the contacts.

                 "
   DEFVAL        { "" }
   ::= { transportConfigEntry 700 }

  -- Columnar:Enable/Disable TLS transport

  transportConfigTlsEnable OBJECT-TYPE
   SYNTAX        MxEnableState
   MAX-ACCESS    read-write
   STATUS        current
   DESCRIPTION " Enable/Disable TLS transport

                 Enables or disables the TLS transport.

                 Note that the TLS transport is exclusive to UDP and TCP
                 transport. The TLS transport cannot be used with the TCP or
                 UDP transport.

                 "
   DEFVAL        { disable }
   ::= { transportConfigEntry 800 }

  -- Columnar:TLS Qvalue

  transportConfigTlsQValue OBJECT-TYPE
   SYNTAX        OCTET STRING ( SIZE(0..5) )
   MAX-ACCESS    read-write
   STATUS        current
   DESCRIPTION " TLS Qvalue

                 Indicates the priority of the TLS transport.

                 A qvalue parameter is added to each contact. This only
                 applies if the transport-specific registration is enabled
                 (see the TransportRegistrationEnable parameter).

                 Qvalues give each transport a weight, indicating the degree
                 of preference for that transport. A higher value means higher
                 preference.

                 The format of the qvalue string must follow the RFC 3261 ABNF
                 (a floating point value between 0.000 and 1.000). If an empty
                 string is specified, no qvalue is set in the contacts.

                 "
   DEFVAL        { "" }
   ::= { transportConfigEntry 900 }

 -- End of table:Transport Configuration

 -- ***************************************************************************
 
 -- Table:TLS Persistent Connection Status

 -- ***************************************************************************
 
 tlsPersistentConnectionStatusTable OBJECT-TYPE
  SYNTAX        SEQUENCE OF TlsPersistentConnectionStatusEntry
  MAX-ACCESS    not-accessible
  STATUS        current
  DESCRIPTION " TLS Persistent Connection Status

                This table holds the status of the TLS persistent connections.
                "
  ::= { transportGroup 10000 }
  tlsPersistentConnectionStatusEntry OBJECT-TYPE
   SYNTAX        TlsPersistentConnectionStatusEntry
   MAX-ACCESS    not-accessible
   STATUS        current
   DESCRIPTION " A row in table TLS Persistent Connection Status. "
   INDEX         {
                   tlsPersistentConnectionStatusIndex
                 }

   ::= { tlsPersistentConnectionStatusTable 1 }

  TlsPersistentConnectionStatusEntry ::= SEQUENCE
  {
    tlsPersistentConnectionStatusIndex            Unsigned32,
    tlsPersistentConnectionStatusGateway          OCTET STRING,
    tlsPersistentConnectionStatusLocalPort        MxAdvancedIpPort,
    tlsPersistentConnectionStatusRemoteHost       OCTET STRING,
    tlsPersistentConnectionStatusRemoteHostIpAddr OCTET STRING,
    tlsPersistentConnectionStatusState            INTEGER
  }

  -- Index:Index

  tlsPersistentConnectionStatusIndex OBJECT-TYPE
   SYNTAX        Unsigned32
   MAX-ACCESS    read-only
   STATUS        current
   DESCRIPTION " Index

                 Unique identifier of the row.
                 "
   ::= { tlsPersistentConnectionStatusEntry 100 }

  -- Columnar:Gateway

  tlsPersistentConnectionStatusGateway OBJECT-TYPE
   SYNTAX        OCTET STRING
   MAX-ACCESS    read-only
   STATUS        current
   DESCRIPTION " Gateway

                 The SIP gateway used to register.
                 "
   ::= { tlsPersistentConnectionStatusEntry 200 }

  -- Columnar:Local Port

  tlsPersistentConnectionStatusLocalPort OBJECT-TYPE
   SYNTAX        MxAdvancedIpPort
   MAX-ACCESS    read-only
   STATUS        current
   DESCRIPTION " Local Port

                 Local port used by the TLS persistent connection.
                 "
   ::= { tlsPersistentConnectionStatusEntry 300 }

  -- Columnar:Remote Host

  tlsPersistentConnectionStatusRemoteHost OBJECT-TYPE
   SYNTAX        OCTET STRING
   MAX-ACCESS    read-only
   STATUS        current
   DESCRIPTION " Remote Host

                 The remote host used to establish the TLS persistent
                 connection. The remote host can be a host name or an IP
                 address of the proxy, outbound proxy or registrar.
                 "
   ::= { tlsPersistentConnectionStatusEntry 400 }

  -- Columnar:Remote Host Ip Address

  tlsPersistentConnectionStatusRemoteHostIpAddr OBJECT-TYPE
   SYNTAX        OCTET STRING
   MAX-ACCESS    read-only
   STATUS        current
   DESCRIPTION " Remote Host Ip Address

                 The resolved IP address of the remote host used to establish
                 the TLS persistent connection.
                 "
   ::= { tlsPersistentConnectionStatusEntry 450 }

  -- Columnar:State

  tlsPersistentConnectionStatusState OBJECT-TYPE
   SYNTAX        INTEGER { up(100) , down(200) , waitingShutdown(300) ,
                 waitingUp(400) }
   MAX-ACCESS    read-only
   STATUS        current
   DESCRIPTION " State

                 The current state of the TLS persistent connection.

                   * Up: The TLS connection is established and ready to be
                     used.
                   * Down: The TLS connection is not established.
                   * WaitingShutdown: The TLS connection is established but in
                     a graceful shutdown.
                   * WaitingUp: The TLS connection is established not yet
                     ready to be used.

                 "
   ::= { tlsPersistentConnectionStatusEntry 500 }

 -- End of table:TLS Persistent Connection Status

-- End of group:Transport Group

-- ****************************************************************************

-- Group:Failover

-- ****************************************************************************

failoverGroup OBJECT IDENTIFIER
 ::= { sipEpMIBObjects 930 }
 -- Scalar:Sip Failover Conditions

 defaultSipFailoverConditions OBJECT-TYPE
  SYNTAX        OCTET STRING ( SIZE(0..512) )
  MAX-ACCESS    read-write
  STATUS        current
  DESCRIPTION " Sip Failover Conditions

                Configures additional SIP-level conditions for failover.

                Expressed as a sequence of keywords separated by commas.
                Spaces and tabs are ignored.

                Supported keyword list is:

                  * 5xxOnRegistration: 5xx (Server Failure, i.e. 500 to 599
                    inclusively) response received to a registration attempt.
                  * 500OnRegistration: 500 (Server Internal Error) response
                    received to a registration attempt.
                  * 5xxOnInvite: 5xx (Server Failure, i.e. 500 to 599
                    inclusively) response received to an INVITE.
                  * 504OnInvite: 504 (Server Time-Out) response received to an
                    INVITE.

                The parameter can accept multiple values, comma-separated.
                When empty, only the connection-level failover conditions
                apply.

                Note that 5xxOnRegistration and 500OnRegistration are mutually
                exclusive and cannot be selected together. Same applies to
                5xxOnInvite and 504OnInvite.

                Note: This parameter only applies to Endpoint gateways.

                "
  DEFVAL        { "5xxOnRegistration" }
  ::= { failoverGroup 100 }

 -- ***************************************************************************
 
 -- Table:Gateway Specific Failover Configuration

 -- ***************************************************************************
 
 gwSpecificFailoverTable OBJECT-TYPE
  SYNTAX        SEQUENCE OF GwSpecificFailoverEntry
  MAX-ACCESS    not-accessible
  STATUS        current
  DESCRIPTION " Gateway Specific Failover Configuration

                A table of the failover configuration indexed by the SIP
                gateway name. It is used to override the default value.
                "
  ::= { failoverGroup 500 }
  gwSpecificFailoverEntry OBJECT-TYPE
   SYNTAX        GwSpecificFailoverEntry
   MAX-ACCESS    not-accessible
   STATUS        current
   DESCRIPTION " A row in table Gateway Specific Failover Configuration. "
   INDEX         {
                   gwSpecificFailoverGatewayName
                 }

   ::= { gwSpecificFailoverTable 1 }

  GwSpecificFailoverEntry ::= SEQUENCE
  {
    gwSpecificFailoverGatewayName           OCTET STRING,
    gwSpecificFailoverEnableConfig          MxEnableState,
    gwSpecificFailoverSipFailoverConditions OCTET STRING
  }

  -- Index:Gateway Name

  gwSpecificFailoverGatewayName OBJECT-TYPE
   SYNTAX        OCTET STRING
   MAX-ACCESS    read-only
   STATUS        current
   DESCRIPTION " Gateway Name

                 String that identifies a SIP gateway in other tables.
                 "
   ::= { gwSpecificFailoverEntry 100 }

  -- Columnar:Enable Configuration

  gwSpecificFailoverEnableConfig OBJECT-TYPE
   SYNTAX        MxEnableState
   MAX-ACCESS    read-write
   STATUS        current
   DESCRIPTION " Enable Configuration

                 Defines the configuration to use for a specific SIP gateway.

                   * Disable: The SIP gateway uses the default configuration
                     as defined in the DefaultSipFailoverCondition parameter.
                   * Enable: The endpoint uses the specific configuration as
                     defined in the GwSpecificFailover.SipFailoverCondition
                     parameter.

                 "
   DEFVAL        { disable }
   ::= { gwSpecificFailoverEntry 200 }

  -- Columnar:Sip Failover Conditions

  gwSpecificFailoverSipFailoverConditions OBJECT-TYPE
   SYNTAX        OCTET STRING ( SIZE(0..512) )
   MAX-ACCESS    read-write
   STATUS        current
   DESCRIPTION " Sip Failover Conditions

                 Configures additional SIP-level conditions for failover.

                 Expressed as a sequence of keywords separated by commas.
                 Spaces and tabs are ignored.

                 Supported keyword list is:

                   * 5xxOnRegistration: 5xx (Server Failure, i.e. 500 to 599
                     inclusively) response received to a registration attempt.
                   * 500OnRegistration: 500 (Server Internal Error) response
                     received to a registration attempt.
                   * 5xxOnInvite: 5xx (Server Failure, i.e. 500 to 599
                     inclusively) response received to an INVITE.
                   * 504OnInvite: 504 (Server Time-Out) response received to
                     an INVITE.

                 The parameter can accept multiple values, comma-separated.
                 When empty, only the connection-level failover conditions
                 apply.

                 Note that 5xxOnRegistration and 500OnRegistration are
                 mutually exclusive and cannot be selected together. Same
                 applies to 5xxOnInvite and 504OnInvite.

                 Note: This parameter only applies to Endpoint gateways.

                 "
   DEFVAL        { "5xxOnRegistration" }
   ::= { gwSpecificFailoverEntry 300 }

 -- End of table:Gateway Specific Failover Configuration

-- End of group:Failover

-- ****************************************************************************

-- Group:Penalty Box

-- ****************************************************************************

penaltyBoxGroup OBJECT IDENTIFIER
 ::= { sipEpMIBObjects 1000 }
 -- Scalar:Penalty Box Enable

 penaltyBoxEnable OBJECT-TYPE
  SYNTAX        MxEnableState
  MAX-ACCESS    read-write
  STATUS        current
  DESCRIPTION " Penalty Box Enable

                Indicates whether the unit uses the penalty box feature.

                The penalty box feature is used when a given host FQDN
                resolves to a non-responding address. When the address times
                out, it is put into the penalty box for a given amount of
                time. During that time, the address in question is considered
                as 'non-responding' for all requests.

                This feature is most useful when using DNS requests returning
                multiple or varying server addresses. It makes sure that, when
                a host is down, users wait a minimal amount of time before
                trying a secondary host.

                The penalty box is always 'active'. This means that even if
                the feature is disabled, IP addresses are marked as invalid,
                but they are still tried. The advantage is that when the
                feature is enabled, IP addresses that were already marked as
                invalid are instantly put into the penalty box.

                When enabled, this feature takes effect immediately on the
                next call attempt.

                The penalty box feature is applied only when using UDP or TCP
                connections established with a FQDN. A similar penalty box
                feature for the TLS connections is available via the
                SipEp.TransportFailbackInterval parameter.

                See also the PenaltyBoxTime parameter.

                "
  DEFVAL        { disable }
  ::= { penaltyBoxGroup 100 }

 -- Scalar:Penalty Box Time

 penaltyBoxTime OBJECT-TYPE
  SYNTAX        Unsigned32 ( 30..7200 )
  MAX-ACCESS    read-write
  STATUS        current
  DESCRIPTION " Penalty Box Time

                Amount of time that a host spends in the penalty box.

                An IP address is put into the penalty box for the current
                PenaltyBoxEnable parameter. Changing the PenaltyBoxTime
                parameter does not affect IP addresses that are already in the
                penalty box. In other words, the PenaltyBoxTime parameter only
                affects new entries in the penalty box.

                The penalty box feature is applied only when the
                'non-responding' destination timeout a non-persistent
                connection. A similar penalty box feature for the TLS
                persistent connections is available via the
                SipEp.TransportFailbackInterval parameter.

                This value is expressed in seconds (s).

                Also see the PenaltyBoxEnable parameter.

                "
  DEFVAL        { 300 }
  ::= { penaltyBoxGroup 200 }

-- End of group:Penalty Box

-- ****************************************************************************

-- Group:Error Mapping Group

-- ****************************************************************************

errorMappingGroup OBJECT IDENTIFIER
 ::= { sipEpMIBObjects 1100 }
 -- ***************************************************************************
 
 -- Table:Error Mapping SIP To Cause

 -- ***************************************************************************
 
 errorMappingSipToCauseTable OBJECT-TYPE
  SYNTAX        SEQUENCE OF ErrorMappingSipToCauseEntry
  MAX-ACCESS    not-accessible
  STATUS        current
  DESCRIPTION " Error Mapping SIP To Cause

                This table allow the user to override the default mapping for
                SIP code to ISDN cause.

                The default mapping is defined in RFC 3398

                "
  ::= { errorMappingGroup 100 }
  errorMappingSipToCauseEntry OBJECT-TYPE
   SYNTAX        ErrorMappingSipToCauseEntry
   MAX-ACCESS    not-accessible
   STATUS        current
   DESCRIPTION " A row in table Error Mapping SIP To Cause. "
   INDEX         {
                   errorMappingSipToCauseSipCode
                 }

   ::= { errorMappingSipToCauseTable 1 }

  ErrorMappingSipToCauseEntry ::= SEQUENCE
  {
    errorMappingSipToCauseSipCode Unsigned32,
    errorMappingSipToCauseCause   Unsigned32,
    errorMappingSipToCauseDelete  INTEGER
  }

  -- Index:SIP code

  errorMappingSipToCauseSipCode OBJECT-TYPE
   SYNTAX        Unsigned32 ( 400..699 )
   MAX-ACCESS    read-only
   STATUS        current
   DESCRIPTION " SIP code

                 SIP code to map to a cause. It's also the unique identifier
                 of the row.

                 SIP code:

                   * 400: Bad Request
                   * 401: Unauthorized
                   * 402: Payment required
                   * 403: Forbidden
                   * 404: Not found
                   * 405: Method not allowed
                   * 406: Not acceptable
                   * 407: Proxy authentication required
                   * 408: Request timeout
                   * 410: Gone
                   * 413: Request Entity too long
                   * 414: Request-URI too long
                   * 415: Unsupported media type
                   * 416: Unsupported URI Scheme
                   * 420: Bad extension
                   * 421: Extension Required
                   * 423: Interval Too Brief
                   * 480: Temporarily unavailable
                   * 481: Call/Transaction Does not Exist
                   * 482: Loop Detected
                   * 483: Too many hops
                   * 484: Address incomplete
                   * 485: Ambiguous
                   * 486: Busy here
                   * 500: Server internal error
                   * 501: Not implemented
                   * 502: Bad gateway
                   * 503: Service unavailable
                   * 504: Server time-out
                   * 504: Version Not Supported
                   * 513: Message Too Large
                   * 600: Busy everywhere
                   * 603: Decline
                   * 604: Does not exist anywhere

                 "
   ::= { errorMappingSipToCauseEntry 100 }

  -- Columnar:Cause

  errorMappingSipToCauseCause OBJECT-TYPE
   SYNTAX        Unsigned32 ( 1..127 )
   MAX-ACCESS    read-write
   STATUS        current
   DESCRIPTION " Cause

                 Cause to map the the SIP code.

                 The cause specified in Q.931 are:

                 Normal event:

                   * 1: Unassigned (unallocated) number.
                   * 2: No route to specified transit network.
                   * 3: No route to destination.
                   * 6: Channel unacceptable.
                   * 7: Call awarded and being delivered in an established
                     channel.
                   * 17: User busy.
                   * 18: No user responding.
                   * 19: User alerting, no answer.
                   * 20: Subscriber absent.
                   * 21: Call rejected.
                   * 22: Number changed.
                   * 23: Redirection to new destination.
                   * 26: Non-selected user clearing.
                   * 27: Destination out of order.
                   * 28: Invalid number format (incomplete number).
                   * 29: Facility rejected.
                   * 30: Response to STATUS ENQUIRY.
                   * 31: Normal, unspecified.

                 Resource unavailable:

                   * 34: No circuit/channel available.
                   * 38: Network out of order.
                   * 41: Temporary failure.
                   * 42: Switching equipment congestion.
                   * 43: Access information discarded.
                   * 44: Requested circuit/channel not available.
                   * 47: Resource unavailable, unspecified.

                 Service or option not available:

                   * 55: Incoming calls barred within CUG.
                   * 57: Bearer capability not authorized.
                   * 58: Bearer capability not presently available.
                   * 63: Service or option not available, unspecified.

                 Service or option not implemented:

                   * 65: Bearer capability not implemented.
                   * 66: Channel type not implemented.
                   * 69: Requested facility not implemented.
                   * 70: Only restricted digital information bearer capability
                     is available.
                   * 79: Service or option not implemented, unspecified.

                 Invalid message:

                   * 81: Invalid call reference value.
                   * 82: Identified channel does not exist.
                   * 83: A suspended call exists, but this call identity does
                     not.
                   * 84: Call identity in use.
                   * 85: No call suspended.
                   * 86: Call having the requested call identity has been
                     cleared.
                   * 87: user not member of CUG.
                   * 88: Incompatible destination.
                   * 91: Invalid transit network selection.
                   * 95: Invalid message, unspecified.

                 Protocol error:

                   * 96: Mandatory information element is missing
                   * 97: Message type non-existent or not implemented
                   * 98: Message not compatible with call state or message
                     type non-existent or not implemented
                   * 99: Information element non-existent or not implemented
                   * 100: Invalid information element contents
                   * 101: Message not compatible with call state
                   * 102: Recovery on time expiry
                   * 111: Protocol error, unspecified

                 Interworking:

                   * 127: Interworking, unspecified

                 "
   DEFVAL        { 127 }
   ::= { errorMappingSipToCauseEntry 200 }

  -- Row command:Delete

  errorMappingSipToCauseDelete OBJECT-TYPE
   SYNTAX        INTEGER { noOp(0), delete(10) }
   MAX-ACCESS    read-write
   STATUS        current
   DESCRIPTION " Delete

                 Delete this row.
                 "
   DEFVAL        { noOp }
   ::= { errorMappingSipToCauseEntry 300 }

 -- End of table:Error Mapping SIP To Cause

 -- ***************************************************************************
 
 -- Table:Error Mapping Cause To SIP

 -- ***************************************************************************
 
 errorMappingCauseToSipTable OBJECT-TYPE
  SYNTAX        SEQUENCE OF ErrorMappingCauseToSipEntry
  MAX-ACCESS    not-accessible
  STATUS        current
  DESCRIPTION " Error Mapping Cause To SIP

                This table allow the user to override the default mapping for
                ISDN cause to SIP.

                The default mapping is defined in RFC 3398

                "
  ::= { errorMappingGroup 300 }
  errorMappingCauseToSipEntry OBJECT-TYPE
   SYNTAX        ErrorMappingCauseToSipEntry
   MAX-ACCESS    not-accessible
   STATUS        current
   DESCRIPTION " A row in table Error Mapping Cause To SIP. "
   INDEX         {
                   errorMappingCauseToSipCause
                 }

   ::= { errorMappingCauseToSipTable 1 }

  ErrorMappingCauseToSipEntry ::= SEQUENCE
  {
    errorMappingCauseToSipCause   Unsigned32,
    errorMappingCauseToSipSipCode Unsigned32,
    errorMappingCauseToSipDelete  INTEGER
  }

  -- Index:Cause

  errorMappingCauseToSipCause OBJECT-TYPE
   SYNTAX        Unsigned32 ( 1..127 )
   MAX-ACCESS    read-only
   STATUS        current
   DESCRIPTION " Cause

                 Cause to map the the SIP code. It's also the unique
                 identificator of the row.

                 The cause specified in Q.931 are:

                 Normal event:

                   * 1: Unassigned (unallocated) number.
                   * 2: No route to specified transit network.
                   * 3: No route to destination.
                   * 6: Channel unacceptable.
                   * 7: Call awarded and being delivered in an established
                     channel.
                   * 17: User busy.
                   * 18: No user responding.
                   * 19: User alerting, no answer.
                   * 20: Subscriber absent.
                   * 21: Call rejected.
                   * 22: Number changed.
                   * 23: Redirection to new destination.
                   * 26: Non-selected user clearing.
                   * 27: Destination out of order.
                   * 28: Invalid number format (incomplete number).
                   * 29: Facility rejected.
                   * 30: Response to STATUS ENQUIRY.
                   * 31: Normal, unspecified.

                 Resource unavailable:

                   * 34: No circuit/channel available.
                   * 38: Network out of order.
                   * 41: Temporary failure.
                   * 42: Switching equipment congestion.
                   * 43: Access information discarded.
                   * 44: Requested circuit/channel not available.
                   * 47: Resource unavailable, unspecified.

                 Service or option not available:

                   * 55: Incoming calls barred within CUG.
                   * 57: Bearer capability not authorized.
                   * 58: Bearer capability not presently available.
                   * 63: Service or option not available, unspecified.

                 Service or option not implemented:

                   * 65: Bearer capability not implemented.
                   * 66: Channel type not implemented.
                   * 69: Requested facility not implemented.
                   * 70: Only restricted digital information bearer capability
                     is available.
                   * 79: Service or option not implemented, unspecified.

                 Invalid message:

                   * 81: Invalid call reference value.
                   * 82: Identified channel does not exist.
                   * 83: A suspended call exists, but this call identity does
                     not.
                   * 84: Call identity in use.
                   * 85: No call suspended.
                   * 86: Call having the requested call identity has been
                     cleared.
                   * 87: user not member of CUG.
                   * 88: Incompatible destination.
                   * 91: Invalid transit network selection.
                   * 95: Invalid message, unspecified.

                 Protocol error:

                   * 96: Mandatory information element is missing
                   * 97: Message type non-existent or not implemented
                   * 98: Message not compatible with call state or message
                     type non-existent or not implemented
                   * 99: Information element non-existent or not implemented
                   * 100: Invalid information element contents
                   * 101: Message not compatible with call state
                   * 102: Recovery on time expiry
                   * 111: Protocol error, unspecified

                 Interworking:

                   * 127: Interworking, unspecified

                 "
   ::= { errorMappingCauseToSipEntry 100 }

  -- Columnar:SIP code

  errorMappingCauseToSipSipCode OBJECT-TYPE
   SYNTAX        Unsigned32 ( 400..699 )
   MAX-ACCESS    read-write
   STATUS        current
   DESCRIPTION " SIP code

                 SIP code to map to a cause.

                 SIP code:

                   * 400: Bad Request
                   * 401: Unauthorized
                   * 402: Payment required
                   * 403: Forbidden
                   * 404: Not found
                   * 405: Method not allowed
                   * 406: Not acceptable
                   * 407: Proxy authentication required
                   * 408: Request timeout
                   * 410: Gone
                   * 413: Request Entity too long
                   * 414: Request-URI too long
                   * 415: Unsupported media type
                   * 416: Unsupported URI Scheme
                   * 420: Bad extension
                   * 421: Extension Required
                   * 423: Interval Too Brief
                   * 480: Temporarily unavailable
                   * 481: Call/Transaction Does not Exist
                   * 482: Loop Detected
                   * 483: Too many hops
                   * 484: Address incomplete
                   * 485: Ambiguous
                   * 486: Busy here
                   * 500: Server internal error
                   * 501: Not implemented
                   * 502: Bad gateway
                   * 503: Service unavailable
                   * 504: Server time-out
                   * 504: Version Not Supported
                   * 513: Message Too Large
                   * 600: Busy everywhere
                   * 603: Decline
                   * 604: Does not exist anywhere

                 "
   DEFVAL        { 500 }
   ::= { errorMappingCauseToSipEntry 200 }

  -- Row command:Delete

  errorMappingCauseToSipDelete OBJECT-TYPE
   SYNTAX        INTEGER { noOp(0), delete(10) }
   MAX-ACCESS    read-write
   STATUS        current
   DESCRIPTION " Delete

                 Delete this row.
                 "
   DEFVAL        { noOp }
   ::= { errorMappingCauseToSipEntry 300 }

 -- End of table:Error Mapping Cause To SIP

 -- Scalar:Reason Header Support

 reasonHeaderSupport OBJECT-TYPE
  SYNTAX        INTEGER { none(100) , sendQ850(200) , receiveQ850(300) ,
                sendReceiveQ850(400) }
  MAX-ACCESS    read-write
  STATUS        current
  DESCRIPTION " Reason Header Support

                Configures how the unit handles the SIP Reason header.

                  * None: Silently ignore any incoming SIP Reason headers. Do
                    not send the SIP Reason header.
                  * SendQ850: Silently ignore incoming SIP Reason headers.
                    Send the SIP Reason header with a Q.850 code. When the
                    original Q.850 code is available from an ISDN interface,
                    this code is used. When no original Q.850 code is
                    available, a Q.850 code is used to represent the actual
                    cause. The Reason code sent is not affected by the entries
                    in the ErrorMappingSipToCause table. These SIP Reason
                    headers are sent in the following SIP messages:
                      + In all 4xx, 5xx, and 6xx responses to an original
                        INVITE.
                      + In all CANCEL requests.
                      + In all BYE requests.
                  * ReceiveQ850: Relay the Q.850 code in the incoming SIP
                    Reason headers to the telephony interface if it is an ISDN
                    interface. When received, the Q.850 Reason code supersedes
                    any entries in the ErrorMappingSipToCause table. Do not
                    send the SIP Reason header.
                  * SendReceiveQ850: Send the SIP Reason headers as when set
                    to SendQ850. Relay the Q.850 code in the incoming SIP
                    Reason headers as when set to ReceiveQ850.

                "
  DEFVAL        { none }
  ::= { errorMappingGroup 500 }

-- End of group:Error Mapping Group

-- ****************************************************************************

-- Group:SIP Keep-Alive

-- ****************************************************************************

sipKeepAliveGroup OBJECT IDENTIFIER
 ::= { sipEpMIBObjects 1300 }
 -- Scalar:Sip Keep-Alive Method

 sipKeepAliveMethod OBJECT-TYPE
  SYNTAX        INTEGER { none(100) , sipOptions(200) , ping(300) ,
                tcpKeepAlive(400) }
  MAX-ACCESS    read-write
  STATUS        current
  DESCRIPTION " Sip Keep-Alive Method

                Method used to perform the SIP Keep-Alive. The Keep-Alive
                mechanism generates an activity between the SIP gateway and
                the remote end. If the mechanism is unable to reach the remote
                end, the SIP gateway is disconnected.

                  * None: No Keep-Alive is performed.
                  * SipOptions: SIP OPTIONS are sent periodically for each
                    gateway to the corresponding server. Any response received
                    from the server means that it is reachable. No additional
                    processing is performed on the response. If no response is
                    received after the retransmission timer expires
                    (configurable via the InteropTransmissionTimeout
                    parameter), the gateway considers the server as
                    unreachable. In this case, any call attempt through the
                    gateway is refused. SIP OPTIONS are still sent when the
                    server is unreachable and as soon as it becomes reachable
                    again, new calls are allowed.
                  * Ping: A Ping is sent periodically for each gateway to the
                    corresponding server. The response received from the
                    server means that it is reachable. If no response is
                    received after the retransmission timer expires
                    (sipTransmissionTimeout), the gateway considers the server
                    as unreachable. In this case, any call attempt through the
                    gateway is refused. The Pings are still sent when the
                    server is unreachable and as soon as it becomes reachable
                    again, new calls are allowed.
                  * TcpKeepAlive: For TCP and TLS connections, a small
                    Keep-Alive packet is periodically sent to probe an idle
                    connection. The connection is terminated if the remote end
                    failed to reply after a few retries, configurable through
                    the SipEp.SipKeepAliveRetry parameter. The delay between
                    two Keep-Alive transmissions is configurable with the
                    SipEp.SipKeepAliveInterval parameter.

                Note: The SipOptions and Ping methods are only available for
                Trunk gateways, See the Gateway.Type parameter.

                "
  DEFVAL        { none }
  ::= { sipKeepAliveGroup 100 }

 -- Scalar:SIP Keep-Alive Interval

 sipKeepAliveInterval OBJECT-TYPE
  SYNTAX        Unsigned32 ( 1..3600 )
  MAX-ACCESS    read-write
  STATUS        current
  DESCRIPTION " SIP Keep-Alive Interval

                Interval at which Sip Keep-Alive requests using SipOptions,
                Ping or TcpKeepAlive are sent to verify the server status.

                This value is expressed in seconds (s).

                "
  DEFVAL        { 30 }
  ::= { sipKeepAliveGroup 200 }

 -- Scalar:SIP Keep-Alive Retry

 sipKeepAliveRetry OBJECT-TYPE
  SYNTAX        Unsigned32 ( 0..10 )
  MAX-ACCESS    read-write
  STATUS        current
  DESCRIPTION " SIP Keep-Alive Retry

                Specifies the number of retransmissions to be carried out
                before considering the remote end as unavailable and closing
                the connection.

                Note: Only available when the SipKeepAliveMethod parameter is
                configured to TcpKeepAlive.

                "
  DEFVAL        { 3 }
  ::= { sipKeepAliveGroup 210 }

 -- Scalar:Sip Keep-Alive Destination

 sipKeepAliveDestination OBJECT-TYPE
  SYNTAX        INTEGER { firstSipDestination(100) , alternateDestination(200)
                }
  MAX-ACCESS    read-write
  STATUS        current
  DESCRIPTION " Sip Keep-Alive Destination

                Determines the behaviour of the device when performing the
                Keep-Alive action.

                  * FirstSipDestination: Perform the Keep-Alive action through
                    the first SIP destination. This corresponds to the
                    outbound proxy host when specified, otherwise it is the
                    proxy host.
                  * AlternateDestination: Perform the Keep-Alive action
                    through the alternate destination target (refer to the
                    GwKeepAliveAlternateDestination parameter).

                Note: Only available when the SipKeepAliveMethod parameter is
                configured to SipOptions or Ping.

                "
  DEFVAL        { firstSipDestination }
  ::= { sipKeepAliveGroup 300 }

 -- ***************************************************************************
 
 -- Table:SIP Gateway Keep-Alive Alternate Destination

 -- ***************************************************************************
 
 gwKeepAliveAlternateDestinationTable OBJECT-TYPE
  SYNTAX        SEQUENCE OF GwKeepAliveAlternateDestinationEntry
  MAX-ACCESS    not-accessible
  STATUS        current
  DESCRIPTION " SIP Gateway Keep-Alive Alternate Destination

                A table of Keep-Alive destination alternate target indexed by
                the SIP gateway name. It is used to override the default value
                when the SipKeepAliveDestination parameter is set to
                'AlternateDestination'. If the TlsEnable parameter is set to
                'Enable', the persistent connection maintains the Keep-Alive
                action as well as with the default proxy in addition to the
                alternate destination.

                "
  ::= { sipKeepAliveGroup 400 }
  gwKeepAliveAlternateDestinationEntry OBJECT-TYPE
   SYNTAX        GwKeepAliveAlternateDestinationEntry
   MAX-ACCESS    not-accessible
   STATUS        current
   DESCRIPTION " A row in table SIP Gateway Keep-Alive Alternate Destination.
                 "
   INDEX         {
                   gwKeepAliveAlternateDestinationGatewayName
                 }

   ::= { gwKeepAliveAlternateDestinationTable 1 }

  GwKeepAliveAlternateDestinationEntry ::= SEQUENCE
  {
    gwKeepAliveAlternateDestinationGatewayName          OCTET STRING,
    gwKeepAliveAlternateDestinationAlternateDestination MxIpHostNamePort
  }

  -- Index:Gateway Name

  gwKeepAliveAlternateDestinationGatewayName OBJECT-TYPE
   SYNTAX        OCTET STRING
   MAX-ACCESS    read-only
   STATUS        current
   DESCRIPTION " Gateway Name

                 String that identifies a SIP gateway in other tables.
                 "
   ::= { gwKeepAliveAlternateDestinationEntry 100 }

  -- Columnar:SIP Gateway Keep-Alive Alternate Destination

  gwKeepAliveAlternateDestinationAlternateDestination OBJECT-TYPE
   SYNTAX        MxIpHostNamePort
   MAX-ACCESS    read-write
   STATUS        current
   DESCRIPTION " SIP Gateway Keep-Alive Alternate Destination

                 Alternate destination target server FQDN and port for a
                 specific SIP gateway.
                 "
   DEFVAL        { "192.168.0.10:0" }
   ::= { gwKeepAliveAlternateDestinationEntry 200 }

 -- End of table:SIP Gateway Keep-Alive Alternate Destination

-- End of group:SIP Keep-Alive

-- ****************************************************************************

-- Group:PRACK Group

-- ****************************************************************************

prackGroup OBJECT IDENTIFIER
 ::= { sipEpMIBObjects 1400 }
 -- Scalar:UAS PRACK Support

 uasPrackSupport OBJECT-TYPE
  SYNTAX        INTEGER { unsupported(200) , supported(300) }
  MAX-ACCESS    read-write
  STATUS        current
  DESCRIPTION " UAS PRACK Support

                Determines the support of RFC 3262 (PRACK) when acting as a
                user agent server.

                  * Unsupported: The option tag '100rel' is ignored if present
                    in the Supported or Required headers of received initial
                    INVITEs and provisional responses are not sent reliably as
                    per RFC 3261.
                  * Supported: If the option tag '100rel' is present in the
                    Supported or Required header of initial received INVITEs,
                    provisional responses are sent reliably as per RFC 3262 by
                    adding the option tag '100rel' to the Require header.

                Receiving an UPDATE request to negotiate 'early media' is
                supported only if the UasPrackSupport parameter is set to
                'Supported'.

                "
  DEFVAL        { unsupported }
  ::= { prackGroup 100 }

 -- Scalar:UAC PRACK Support

 uacPrackSupport OBJECT-TYPE
  SYNTAX        INTEGER { unsupported(200) , supported(300) , required(400) }
  MAX-ACCESS    read-write
  STATUS        current
  DESCRIPTION " UAC PRACK Support

                Determines the support of RFC 3262 (PRACK) when acting as a
                user agent client.

                  * Unsupported: The option tag '100rel' is not added in the
                    Supported or Required headers of sent INVITEs as per RFC
                    3261. If the provisional response contains a 'Require'
                    header field with the option tag '100rel', the indication
                    is ignored and no PRACK are sent.
                  * Supported: The option tag '100rel' is added to the
                    Supported header of sent initial INVITEs as per RFC 3262.
                    If the received provisional response contains a Require
                    header field with the option tag '100rel', the response is
                    to be sent reliably using the PRACK method.
                  * Required: The option tag '100rel' is added to the Require
                    header of sent initial INVITEs as per RFC 3262. If the
                    received provisional response contains a Require header
                    field with the option tag '100rel', the response is to be
                    sent reliably using the PRACK method.

                "
  DEFVAL        { unsupported }
  ::= { prackGroup 200 }

-- End of group:PRACK Group

-- ****************************************************************************

-- Group:Offer and Answer Group

-- ****************************************************************************

offerAnswerGroup OBJECT IDENTIFIER
 ::= { sipEpMIBObjects 1500 }
 -- Scalar:Answer Codec Negotiation

 answerCodecNegotiation OBJECT-TYPE
  SYNTAX        INTEGER { allCommonLocalPriority(100) ,
                firstCommonLocalPriority(200) , allCommonPeerPriority(300) ,
                firstCommonPeerPriority(400) }
  MAX-ACCESS    read-write
  STATUS        current
  DESCRIPTION " Answer Codec Negotiation

                Defines the codec negotiation rule when generating a SDP
                answer.

                  * AllCommonLocalPriority : When generating an answer to an
                    offered session, all common codecs are listed in the local
                    order of priority. The local priority is defined for each
                    codec in the Mipt service.
                  * FirstCommonLocalPriority : When generating an answer to an
                    offered session, only the first common codec with the
                    higher local priority is listed. The local priority is
                    defined for each codec in the Mipt service.
                  * AllCommonPeerPriority : When generating an answer to an
                    offered session, all common codecs are listed. The codecs
                    order is the same as in the peer offer.
                  * FirstCommonPeerPriority : When generating an answer to an
                    offered session, only the first common codec is listed.
                    The codecs order is the same as in the peer offer.

                "
  DEFVAL        { allCommonLocalPriority }
  ::= { offerAnswerGroup 100 }

-- End of group:Offer and Answer Group

-- ****************************************************************************

-- Group:Call Diversion Group

-- ****************************************************************************

diversionGroup OBJECT IDENTIFIER
 ::= { sipEpMIBObjects 1600 }
 -- ***************************************************************************
 
 -- Table:Diversion Configuration

 -- ***************************************************************************
 
 diversionConfigTable OBJECT-TYPE
  SYNTAX        SEQUENCE OF DiversionConfigEntry
  MAX-ACCESS    not-accessible
  STATUS        current
  DESCRIPTION " Diversion Configuration

                A table of the call diversion configuration indexed by the SIP
                gateway name.
                "
  ::= { diversionGroup 100 }
  diversionConfigEntry OBJECT-TYPE
   SYNTAX        DiversionConfigEntry
   MAX-ACCESS    not-accessible
   STATUS        current
   DESCRIPTION " A row in table Diversion Configuration. "
   INDEX         {
                   diversionConfigGatewayName
                 }

   ::= { diversionConfigTable 1 }

  DiversionConfigEntry ::= SEQUENCE
  {
    diversionConfigGatewayName OCTET STRING,
    diversionConfigMethod      INTEGER
  }

  -- Index:Gateway Name

  diversionConfigGatewayName OBJECT-TYPE
   SYNTAX        OCTET STRING
   MAX-ACCESS    read-only
   STATUS        current
   DESCRIPTION " Gateway Name

                 String that identifies a SIP gateway in other tables.
                 "
   ::= { diversionConfigEntry 100 }

  -- Columnar:Call Diversion Method

  diversionConfigMethod OBJECT-TYPE
   SYNTAX        INTEGER { none(100) , diversionHeader(200) }
   MAX-ACCESS    read-write
   STATUS        current
   DESCRIPTION " Call Diversion Method

                 Selects the SIP method used to receive/send call diversion
                 information in an INVITE.

                   * None: No diversion information is sent in SIP messages.
                   * DiversionHeader: The SIP gateway supports the SIP header
                     'Diversion' (RFC 5806) in received and sent INVITEs, as
                     well as in 302 messages.

                 "
   DEFVAL        { none }
   ::= { diversionConfigEntry 200 }

 -- End of table:Diversion Configuration

-- End of group:Call Diversion Group

-- ****************************************************************************

-- Group:DNS Group

-- ****************************************************************************

dnsGroup OBJECT IDENTIFIER
 ::= { sipEpMIBObjects 1700 }
 -- Scalar:Supported DNS Queries

 supportedDnsQueries OBJECT-TYPE
  SYNTAX        INTEGER { address(100) , srv(200) , naptr(300) }
  MAX-ACCESS    read-write
  STATUS        current
  DESCRIPTION " Supported DNS Queries

                Specify the type of DNS queries that the SipEp service
                supports and uses.

                  * Address: Sends only Address requests (type A).
                  * Srv: Sends a Service request (type SRV) first and then
                    Address requests (type A) if needed.
                  * Naptr: Sends a Naming Authority Pointer request (type
                    NAPTR) first and then Service requests (type SRV) or
                    Address requests (type A) as needed.

                "
  DEFVAL        { naptr }
  ::= { dnsGroup 100 }

 -- Scalar:Dns Failure Concealment Strategy

 dnsFailureConcealment OBJECT-TYPE
  SYNTAX        INTEGER { none(100) , onNoResolution(300) }
  MAX-ACCESS    read-write
  STATUS        current
  DESCRIPTION " Dns Failure Concealment Strategy

                Configures the way failed DNS queries are handled.

                  * None: When a DNS query times-out or returns an error, the
                    SIP transaction fails.
                  * OnNoResolution: When a DNS query times-out or returns an
                    error, the result from the last succesful query for the
                    same FQDN is used.

                Note: This parameter applies only to the 'Endpoint' type
                Gateways.

                "
  DEFVAL        { none }
  ::= { dnsGroup 200 }

 -- Scalar:DNS IP Version

 dnsIpVersion OBJECT-TYPE
  SYNTAX        INTEGER { ipV4Only(100) , ipV4Preferred(200) }
  MAX-ACCESS    read-write
  STATUS        current
  DESCRIPTION " DNS IP Version

                Configures which versions of IP are supported or enabled for
                DNS queries made for SIP requests.

                  * Ipv4Only: The DNS queries for SIP requests only support
                    IPv4.
                  * Ipv4Preferred: The DNS queries for SIP requests support
                    both IPv4 and IPv6: If both are resolved successfully,
                    IPv4 will be used.

                "
  DEFVAL        { ipV4Preferred }
  ::= { dnsGroup 300 }

-- End of group:DNS Group

-- ****************************************************************************

-- Group:Message Waiting Indication

-- ****************************************************************************

messageWaitingIndication OBJECT IDENTIFIER
 ::= { sipEpMIBObjects 1800 }
 -- Scalar:Default Static Messaging Host

 defaultStaticMessagingHost OBJECT-TYPE
  SYNTAX        MxIpHostNamePort
  MAX-ACCESS    read-write
  STATUS        current
  DESCRIPTION " Default Static Messaging Host

                Messaging server FQDN and port.

                A Messaging system host is a server that accepts MWI SUBSCRIBE
                requests and places the information it receives in those
                requests into the location service for the domain it handles.

                Note: If the host corresponds to a domain name that is bound
                to a SRV record, the port must be set to 0 for the unit to
                perform DNS SRV queries; otherwise only type A record lookups
                will be used.

                When the Sbc service is available, the special macro '%sbc%'
                can be entered to use the SBC as the destination host. This
                macro resolves to the IP address and port of the 'loop_s'
                signaling interface in the Sbc service.

                If the special macro %sbc% is used in the home domain proxy,
                then the registration and messaging hosts must be either set
                to %sbc% or left empty.

                If a specific configuration is set in the
                GwSpecificMwi.MessagingHost parameter and the
                GwSpecificMwi.EnableConfig parameter is set to 'Enable', then
                it overrides the current default configuration.

                "
  DEFVAL        { "192.168.10.10:0" }
  ::= { messageWaitingIndication 100 }

 -- Scalar:Default Username in Request-URI Enable

 defaultUsernameInRequestUriEnable OBJECT-TYPE
  SYNTAX        MxEnableState
  MAX-ACCESS    read-write
  STATUS        current
  DESCRIPTION " Default Username in Request-URI Enable

                Indicates whether or not the unit adds the username in the
                request URI of MWI SUBSCRIBE requests.

                  * enable: The unit adds the username in the Request-URI of
                    sent MWI SUBSCRIBE requests.
                  * disable: No username in Request-URI of MWI SUBSCRIBE
                    requests sent by the unit.

                If a specific configuration is set in the
                GwSpecificMwi.UsernameInRequestUriEnable parameter and the
                GwSpecificMwi.EnableConfig parameter is set to 'Enable', then
                it overrides the current default configuration.

                "
  DEFVAL        { disable }
  ::= { messageWaitingIndication 110 }

 -- ***************************************************************************
 
 -- Table:SIP Gateway Specific MWI

 -- ***************************************************************************
 
 gwSpecificMwiTable OBJECT-TYPE
  SYNTAX        SEQUENCE OF GwSpecificMwiEntry
  MAX-ACCESS    not-accessible
  STATUS        current
  DESCRIPTION " SIP Gateway Specific MWI

                A table of the MWI subscription configuration indexed by the
                SIP gateway name. It is used to override the default value.
                "
  ::= { messageWaitingIndication 200 }
  gwSpecificMwiEntry OBJECT-TYPE
   SYNTAX        GwSpecificMwiEntry
   MAX-ACCESS    not-accessible
   STATUS        current
   DESCRIPTION " A row in table SIP Gateway Specific MWI. "
   INDEX         {
                   gwSpecificMwiGatewayName
                 }

   ::= { gwSpecificMwiTable 1 }

  GwSpecificMwiEntry ::= SEQUENCE
  {
    gwSpecificMwiGatewayName                OCTET STRING,
    gwSpecificMwiEnableConfig               MxEnableState,
    gwSpecificMwiMessagingHost              MxIpHostNamePort,
    gwSpecificMwiUsernameInRequestUriEnable MxEnableState
  }

  -- Index:Gateway Name

  gwSpecificMwiGatewayName OBJECT-TYPE
   SYNTAX        OCTET STRING
   MAX-ACCESS    read-only
   STATUS        current
   DESCRIPTION " Gateway Name

                 String that identifies a SIP gateway in other tables.
                 "
   ::= { gwSpecificMwiEntry 100 }

  -- Columnar:Enable Configuration

  gwSpecificMwiEnableConfig OBJECT-TYPE
   SYNTAX        MxEnableState
   MAX-ACCESS    read-write
   STATUS        current
   DESCRIPTION " Enable Configuration

                 Defines the configuration to use for a specific SIP gateway.

                   * Disable: The SIP gateway uses the default configuration
                     as defined in the DefaultStaticMessagingHost and
                     DefaultUsernameInRequestUriEnable parameters.
                   * Enable: The endpoint uses the specific configuration as
                     defined in the GwSpecificMwi.MessagingHost and
                     GwSpecificMwi.UsernameInRequestUriEnable parameters.

                 "
   DEFVAL        { disable }
   ::= { gwSpecificMwiEntry 200 }

  -- Columnar:Messaging Host

  gwSpecificMwiMessagingHost OBJECT-TYPE
   SYNTAX        MxIpHostNamePort
   MAX-ACCESS    read-write
   STATUS        current
   DESCRIPTION " Messaging Host

                 Messaging server FQDN and port.

                 When the Sbc service is available, the special macro '%sbc%'
                 can be entered to use the SBC as the destination host. This
                 macro resolves to the IP address and port of the 'loop_s'
                 signaling interface in the Sbc service.

                 If the special macro %sbc% is used in the home domain proxy,
                 then the registration and messaging hosts must be either set
                 to %sbc% or left empty.

                 "
   DEFVAL        { "192.168.10.10:0" }
   ::= { gwSpecificMwiEntry 300 }

  -- Columnar:Username in Request-URI Enable

  gwSpecificMwiUsernameInRequestUriEnable OBJECT-TYPE
   SYNTAX        MxEnableState
   MAX-ACCESS    read-write
   STATUS        current
   DESCRIPTION " Username in Request-URI Enable

                 Indicates whether or not the unit adds the username in the
                 request URI of MWI SUBSCRIBE requests.

                   * enable: The unit adds the username in the Request-URI of
                     sent MWI SUBSCRIBE requests.
                   * disable: No username in Request-URI of MWI SUBSCRIBE
                     requests sent by the unit.

                 "
   DEFVAL        { disable }
   ::= { gwSpecificMwiEntry 400 }

 -- End of table:SIP Gateway Specific MWI

 -- ***************************************************************************
 
 -- Table:MWI Status

 -- ***************************************************************************
 
 mwiStatusTable OBJECT-TYPE
  SYNTAX                      SEQUENCE OF MwiStatusEntry
  MAX-ACCESS                  not-accessible
  STATUS                      current
  DESCRIPTION              "  MWI Status

                              "
  ::= { messageWaitingIndication 300 }
  mwiStatusEntry OBJECT-TYPE
   SYNTAX        MwiStatusEntry
   MAX-ACCESS    not-accessible
   STATUS        current
   DESCRIPTION " A row in table MWI Status. "
   INDEX         {
                   mwiStatusIndex
                 }

   ::= { mwiStatusTable 1 }

  MwiStatusEntry ::= SEQUENCE
  {
    mwiStatusIndex             Unsigned32,
    mwiStatusGatewayName       OCTET STRING,
    mwiStatusSubscriptionState INTEGER,
    mwiStatusEndpoint          OCTET STRING,
    mwiStatusMessagingHost     OCTET STRING,
    mwiStatusUsername          OCTET STRING
  }

  -- Index:Index

  mwiStatusIndex OBJECT-TYPE
   SYNTAX        Unsigned32
   MAX-ACCESS    read-only
   STATUS        current
   DESCRIPTION " Index

                 Unique identifier of the row.
                 "
   ::= { mwiStatusEntry 100 }

  -- Columnar:Gateway Name

  mwiStatusGatewayName OBJECT-TYPE
   SYNTAX        OCTET STRING
   MAX-ACCESS    read-only
   STATUS        current
   DESCRIPTION " Gateway Name

                 The SIP gateway used for this subscription.
                 "
   ::= { mwiStatusEntry 200 }

  -- Columnar:State

  mwiStatusSubscriptionState OBJECT-TYPE
   SYNTAX        INTEGER { unsubscribed(100) , subscribing(200) , subscribed
                 (300) , refreshing(400) , unsubscribing(500) , unreachable
                 (600) , authFailed(700) , rejected(800) , configError(900) ,
                 invalidResponse (1000) , error (1100) }
   MAX-ACCESS    read-only
   STATUS        current
   DESCRIPTION " State

                 The current state of the subscription.

                   * Unsubscribed: The unit/endpoint is not subscribed and
                     never tries to subscribe. This case occurs if the network
                     interface used by the SIP gateway is not up or the unit/
                     endpoint is locked.
                   * Subscribing: The subscription is currently trying to
                     subscribe.
                   * Subscribed: The subscription is successfully subscribed.
                   * Refreshing: The subscription is trying to refresh.
                   * Unreachable: The last subscription attempt failed because
                     the messaging server is unreachable.
                   * AuthFailed: The last subscription attempt failed because
                     authentication was not successful.
                   * Rejected: The last subscription attempt failed because
                     the messaging server rejects the subscription.
                   * ConfigError: The last subscription attempt failed because
                     it was badly configured. Check if the username and the
                     messaging host are not empty.
                   * InvalidResponse: The received 200 OK response contact
                     does not match the contact of the messaging server, or
                     the 200 OK response for an un-subscribe contains a
                     contact.
                   * Error: The last subscription attempt failed for
                     unspecified reason. This may occur on an 'Endpoint'
                     gateway preventing a subscription until registration is
                     completed

                 "
   ::= { mwiStatusEntry 300 }

  -- Columnar:Endpoint

  mwiStatusEndpoint OBJECT-TYPE
   SYNTAX        OCTET STRING
   MAX-ACCESS    read-only
   STATUS        current
   DESCRIPTION " Endpoint

                 The endpoint related to this subscription.
                 "
   ::= { mwiStatusEntry 400 }

  -- Columnar:Messaging Host

  mwiStatusMessagingHost OBJECT-TYPE
   SYNTAX        OCTET STRING
   MAX-ACCESS    read-only
   STATUS        current
   DESCRIPTION " Messaging Host

                 Messaging server FQDN and port used to subscribe the event
                 state.
                 "
   ::= { mwiStatusEntry 500 }

  -- Columnar:Username

  mwiStatusUsername OBJECT-TYPE
   SYNTAX        OCTET STRING
   MAX-ACCESS    read-only
   STATUS        current
   DESCRIPTION " Username

                 The username currently used by the subscription.
                 "
   ::= { mwiStatusEntry 600 }

 -- End of table:MWI Status

-- End of group:Message Waiting Indication

-- ****************************************************************************

-- Group:Conference

-- ****************************************************************************

conferenceGroup OBJECT IDENTIFIER
 ::= { sipEpMIBObjects 1900 }
 -- Scalar:Default Static Conference Server URI

 defaultStaticConferenceServerUri OBJECT-TYPE
  SYNTAX        OCTET STRING ( SIZE(0..255) )
  MAX-ACCESS    read-write
  STATUS        current
  DESCRIPTION " Default Static Conference Server URI

                URI used in the Request-URI of the INVITE sent to the
                conference server as defined in RFC 4579.

                This parameter only has an effect when the conference type is
                'ConferenceServer'. See the EpServ.DefaultConferenceType
                parameter.

                Please refer to the documentation shipped with your device for
                more details regarding this parameter's semantics.

                If a specific configuration is set in the
                GwSpecificConference.ServerUri parameter and the
                GwSpecificConference.EnableConfig parameter is set to
                'Enable', then it overrides the current default configuration.

                "
  DEFVAL        { "" }
  ::= { conferenceGroup 100 }

 -- ***************************************************************************
 
 -- Table:SIP Gateway Specific Conference

 -- ***************************************************************************
 
 gwSpecificConferenceTable OBJECT-TYPE
  SYNTAX        SEQUENCE OF GwSpecificConferenceEntry
  MAX-ACCESS    not-accessible
  STATUS        current
  DESCRIPTION " SIP Gateway Specific Conference

                A table of the conference configuration indexed by the SIP
                gateway name. It is used to override the default value.
                "
  ::= { conferenceGroup 1000 }
  gwSpecificConferenceEntry OBJECT-TYPE
   SYNTAX        GwSpecificConferenceEntry
   MAX-ACCESS    not-accessible
   STATUS        current
   DESCRIPTION " A row in table SIP Gateway Specific Conference. "
   INDEX         {
                   gwSpecificConferenceGatewayName
                 }

   ::= { gwSpecificConferenceTable 1 }

  GwSpecificConferenceEntry ::= SEQUENCE
  {
    gwSpecificConferenceGatewayName  OCTET STRING,
    gwSpecificConferenceEnableConfig MxEnableState,
    gwSpecificConferenceServerUri    OCTET STRING
  }

  -- Index:Gateway Name

  gwSpecificConferenceGatewayName OBJECT-TYPE
   SYNTAX        OCTET STRING
   MAX-ACCESS    read-only
   STATUS        current
   DESCRIPTION " Gateway Name

                 String that identifies a SIP gateway in other tables.
                 "
   ::= { gwSpecificConferenceEntry 100 }

  -- Columnar:Enable Configuration

  gwSpecificConferenceEnableConfig OBJECT-TYPE
   SYNTAX        MxEnableState
   MAX-ACCESS    read-write
   STATUS        current
   DESCRIPTION " Enable Configuration

                 Defines the configuration to use for a specific SIP gateway.

                   * Disable: The SIP gateway uses the default configuration
                     as defined in the DefaultStaticConferenceServerUri
                     parameter.
                   * Enable: The endpoint uses the specific configuration as
                     defined in the GwSpecificConference.ServerUri parameter.

                 "
   DEFVAL        { disable }
   ::= { gwSpecificConferenceEntry 200 }

  -- Columnar:SIP Gateway Specific Conference Server URI

  gwSpecificConferenceServerUri OBJECT-TYPE
   SYNTAX        OCTET STRING ( SIZE(0..255) )
   MAX-ACCESS    read-write
   STATUS        current
   DESCRIPTION " SIP Gateway Specific Conference Server URI

                 URI used in the Request-URI of the INVITE sent to the
                 conference server as defined in RFC 4579.

                 This parameter only has an effect when the conference type is
                 'ConferenceServer'. See the EpServ.DefaultConferenceType
                 parameter.

                 Please refer to the documentation shipped with your device
                 for more details regarding this parameter's semantics.

                 "
   DEFVAL        { "" }
   ::= { gwSpecificConferenceEntry 300 }

 -- End of table:SIP Gateway Specific Conference

-- End of group:Conference

-- ****************************************************************************

-- Group:Priority Group

-- ****************************************************************************

priorityGroup OBJECT IDENTIFIER
 ::= { sipEpMIBObjects 2000 }
 -- Scalar:Default Outbound Priority Call Routing

 defaultOutboundPriorityCallRouting OBJECT-TYPE
  SYNTAX        INTEGER { normal(100) , skipOutboundProxy(200) }
  MAX-ACCESS    read-write
  STATUS        current
  DESCRIPTION " Default Outbound Priority Call Routing

                Describes how to route priority calls including emergency
                calls.

                  * Normal: Send call using normal SIP call routing to the
                    outbound proxy (if defined) and to the target host
                    (usually the SIP server).
                  * SkipOutboundProxy: Send call directly to the configured
                    server skipping the outbound proxy.

                "
  DEFVAL        { skipOutboundProxy }
  ::= { priorityGroup 100 }

-- End of group:Priority Group

-- ****************************************************************************

-- Group:EventHandling

-- ****************************************************************************

eventHandlingGroup OBJECT IDENTIFIER
 ::= { sipEpMIBObjects 2100 }
 -- ***************************************************************************
 
 -- Table:SIP Gateway Event Handling

 -- ***************************************************************************
 
 gwEventHandlingTable OBJECT-TYPE
  SYNTAX        SEQUENCE OF GwEventHandlingEntry
  MAX-ACCESS    not-accessible
  STATUS        current
  DESCRIPTION " SIP Gateway Event Handling

                A table of event handling configuration indexed by SIP
                gateway.
                "
  ::= { eventHandlingGroup 100 }
  gwEventHandlingEntry OBJECT-TYPE
   SYNTAX        GwEventHandlingEntry
   MAX-ACCESS    not-accessible
   STATUS        current
   DESCRIPTION " A row in table SIP Gateway Event Handling. "
   INDEX         {
                   gwEventHandlingGatewayName
                 }

   ::= { gwEventHandlingTable 1 }

  GwEventHandlingEntry ::= SEQUENCE
  {
    gwEventHandlingGatewayName OCTET STRING,
    gwEventHandlingReboot      INTEGER,
    gwEventHandlingCheckSync   INTEGER
  }

  -- Index:Gateway Name

  gwEventHandlingGatewayName OBJECT-TYPE
   SYNTAX        OCTET STRING
   MAX-ACCESS    read-only
   STATUS        current
   DESCRIPTION " Gateway Name

                 String that identifies a SIP gateway in other tables.
                 "
   ::= { gwEventHandlingEntry 100 }

  -- Columnar:SIP Gateway can start a remote reboot via a SIP NOTIFY Event.

  gwEventHandlingReboot OBJECT-TYPE
   SYNTAX        INTEGER { rejected(100) , restart(200) }
   MAX-ACCESS    read-write
   STATUS        current
   DESCRIPTION " SIP Gateway can start a remote reboot via a SIP NOTIFY Event.

                 Specifies how this Sip gateway handles the reception of a
                 'reboot' SIP NOTIFY message.

                   * Rejected: The 'reboot' notification is rejected on
                     reception.
                   * Restart: When receiving a 'Reboot' notification, a
                     restart of the unit is done.

                 "
   DEFVAL        { rejected }
   ::= { gwEventHandlingEntry 200 }

  -- Columnar:SIP Gateway can transfer and run a configuration file via a SIP
  -- NOTIFY Event.

  gwEventHandlingCheckSync OBJECT-TYPE
   SYNTAX        INTEGER { rejected(100) , transferScript(200) , cwmpInform
                 (300) }
   MAX-ACCESS    read-write
   STATUS        current
   DESCRIPTION " SIP Gateway can transfer and run a configuration file via a
                 SIP NOTIFY Event.

                 Specifies how this SIP gateway handles the reception of a
                 'check-sync' SIP NOTIFY message.

                   * Rejected: The 'check-sync' notification is rejected on
                     reception.
                   * TransferScript: When receiving a 'check-sync'
                     notification, the Conf.ConfiguredScriptsTransferAndRun
                     command is executed.
                   * CwmpInform: When receiving a 'check-sync' notification,
                     the Cwmp service sends a TR-069 INFORM message to it's
                     configured ACS.

                 "
   DEFVAL        { rejected }
   ::= { gwEventHandlingEntry 300 }

 -- End of table:SIP Gateway Event Handling

 -- Scalar:Sip Message Support

 sipMessageSupport OBJECT-TYPE
  SYNTAX        INTEGER { disabled(100) , acceptPlainText(200) }
  MAX-ACCESS    read-write
  STATUS        current
  DESCRIPTION " Sip Message Support

                Specifies the support of incoming SIP MESSAGE for
                notifications.

                  * Disabled: SIP MESSAGEs are rejected with a 405 Method Not
                    Allowed.
                  * AcceptPlainText: SIP MESSAGEs are accepted if the payload
                    type is text/plain, otherwise the MESSAGE is rejected with
                    a 405 Method Not Allowed.

                Accepted MESSAGE are sent to the corresponding FXS endpoint,
                which will trigger an alert if the
                Pots.FxsSipMessageAlertingEnable parameter is enabled.

                This feature is usually used for call forwarding
                notifications.

                "
  DEFVAL        { disabled }
  ::= { eventHandlingGroup 200 }

-- End of group:EventHandling

-- ****************************************************************************

-- Group:Transfer Group

-- ****************************************************************************

transferGroup OBJECT IDENTIFIER
 ::= { sipEpMIBObjects 2200 }
 -- Scalar:Referred By Header

 referredByHeader OBJECT-TYPE
  SYNTAX        INTEGER { none(100) , headerOnly(200) }
  MAX-ACCESS    read-write
  STATUS        current
  DESCRIPTION " Referred By Header

                Indicates how the Referred-By header is used when
                participating in a transfer.

                  * None: When acting as the transferor (sending the REFER),
                    the REFER does not contain a Referred-By header. When
                    acting as the transferee (receiving the REFER and sending
                    the INVITE to the target), the Referred-By header is not
                    copied from the REFER to the INVITE.
                  * HeaderOnly: When acting as the transferor (sending the
                    REFER), the Referred-By header contains the SIP URI and
                    the parameters of the transferor. When acting as the
                    transferee (receiving the REFER and sending the INVITE to
                    the target), the Referred-By header is copied from the
                    REFER to the INVITE.

                "
  DEFVAL        { none }
  ::= { transferGroup 100 }

 -- Scalar:Blind Transfer Method

 blindTransferMethod OBJECT-TYPE
  SYNTAX        INTEGER { semiAttended(100) , semiAttendedConfirmed(200) ,
                semiAttendedCancelled(300) }
  MAX-ACCESS    read-write
  STATUS        current
  DESCRIPTION " Blind Transfer Method

                Indicates how the blind transfer is achieved when
                participating in a transfer as the transferor.

                  * SemiAttended: When blind transfer is invoked by the
                    transferor, the device does not wait for the 200 OK
                    response before sending the REFER request, causing the
                    call transfer to be executed before the transfer-target
                    answers. The transferee and the target are connected
                    together early and the transferee can hear the ringback
                    from the target until the target answers.
                  * SemiAttendedConfirmed: When blind transfer is invoked by
                    the transferor, the device waits for receiving the 200 OK
                    from the transfer-target before sending a REFER to the
                    transferee. This is as per RFC 5589 section 7.6, figure
                    11.
                  * SemiAttendedCancelled: Similar to SemiAttended but the
                    INVITE to the transfer-target is cancelled when the blind
                    transfer is invoked before receiving a 200 OK. This is as
                    per RFC 5589 section 7.6, Figure 12.

                "
  DEFVAL        { semiAttended }
  ::= { transferGroup 200 }

 -- Scalar:Refer-To Header Uri Source

 referToHeaderUriSource OBJECT-TYPE
  SYNTAX        INTEGER { aor(100) , contactUri(200) }
  MAX-ACCESS    read-write
  STATUS        current
  DESCRIPTION " Refer-To Header Uri Source

                Source of the URI inserted in the Refer-To header when acting
                as a transferor.

                  * Aor: The URI of the Refer-To header is based on the
                    Address of Record of the transfer target.
                  * ContactUri: The URI of the Refer-To header is based on the
                    Contact URI of the transfer target.

                "
  DEFVAL        { aor }
  ::= { transferGroup 300 }

-- End of group:Transfer Group

-- ****************************************************************************

-- Group:Aoc Group

-- ****************************************************************************

aocGroup OBJECT IDENTIFIER
 ::= { sipEpMIBObjects 2300 }
 -- ***************************************************************************
 
 -- Table:Aoc Configuration

 -- ***************************************************************************
 
 aocConfigTable OBJECT-TYPE
  SYNTAX        SEQUENCE OF AocConfigEntry
  MAX-ACCESS    not-accessible
  STATUS        current
  DESCRIPTION " Aoc Configuration

                A table of the Aoc configuration indexed by the SIP gateway
                name.
                "
  ::= { aocGroup 100 }
  aocConfigEntry OBJECT-TYPE
   SYNTAX        AocConfigEntry
   MAX-ACCESS    not-accessible
   STATUS        current
   DESCRIPTION " A row in table Aoc Configuration. "
   INDEX         {
                   aocConfigGatewayName
                 }

   ::= { aocConfigTable 1 }

  AocConfigEntry ::= SEQUENCE
  {
    aocConfigGatewayName OCTET STRING,
    aocConfigAocDSupport INTEGER,
    aocConfigAocESupport INTEGER
  }

  -- Index:Gateway Name

  aocConfigGatewayName OBJECT-TYPE
   SYNTAX        OCTET STRING
   MAX-ACCESS    read-only
   STATUS        current
   DESCRIPTION " Gateway Name

                 String that identifies a SIP gateway in other tables.
                 "
   ::= { aocConfigEntry 100 }

  -- Columnar:Advice of Charge AOC-D Support

  aocConfigAocDSupport OBJECT-TYPE
   SYNTAX        INTEGER { disabled(100) , transparent(200) }
   MAX-ACCESS    read-write
   STATUS        current
   DESCRIPTION " Advice of Charge AOC-D Support

                 Send/Receive the current charge (D)uring the call in AOC-D
                 messages.

                   * Disabled: No AOC information is sent. Received AOC
                     information is discarded.
                   * Transparent: AOC information is forwarded to the peer
                     interface if AOC messages are received from the network.

                 "
   DEFVAL        { disabled }
   ::= { aocConfigEntry 200 }

  -- Columnar:Advice of Charge AOC-E Support

  aocConfigAocESupport OBJECT-TYPE
   SYNTAX        INTEGER { disabled(100) , transparent(200) }
   MAX-ACCESS    read-write
   STATUS        current
   DESCRIPTION " Advice of Charge AOC-E Support

                 Send/Receive the total charge at the (E)nd of the call in
                 AOC-E messages.

                   * Disabled: No AOC information is sent. Received AOC
                     information is discarded.
                   * Transparent: AOC information is forwarded to the peer
                     interface if AOC messages are received from the network.

                 "
   DEFVAL        { transparent }
   ::= { aocConfigEntry 300 }

 -- End of table:Aoc Configuration

-- End of group:Aoc Group

-- ****************************************************************************

-- Group:Kpml Group

-- ****************************************************************************

kpmlGroup OBJECT IDENTIFIER
 ::= { sipEpMIBObjects 2400 }
 -- Scalar:UAS KPML Support

 uasKpmlSupport OBJECT-TYPE
  SYNTAX        INTEGER { unsupported(100) , supportedInDialog(200) }
  MAX-ACCESS    read-write
  STATUS        current
  DESCRIPTION " UAS KPML Support

                Determines the support of RFC 4730 (KPML) when the SIP gateway
                is acting as a user agent server.

                  * Unsupported: The KPML SUBSCRIBEs are rejected.
                  * SupportedInDialog: The KPML SUBSCRIBEs are accepted only
                    when received inside a call dialog.

                "
  DEFVAL        { unsupported }
  ::= { kpmlGroup 100 }

-- End of group:Kpml Group

-- ****************************************************************************

-- Group:Security Mechanism Agreement Group

-- ****************************************************************************

securityAgreementGroup OBJECT IDENTIFIER
 ::= { sipEpMIBObjects 2500 }
 -- Scalar:Media Security Agreement Enable

 mediaSecurityAgreementEnable OBJECT-TYPE
  SYNTAX        MxEnableState
  MAX-ACCESS    read-write
  STATUS        current
  DESCRIPTION " Media Security Agreement Enable

                Determines if the mediasec parameter is supported or not, as
                defined in the draft-dawes-sipcore-mediasec-parameter IETF
                draft.

                  * Disable: The media security agreement mechanism is not
                    supported.
                  * Enable: The media security agreement mechanism is
                    supported and used accordingly to section 6.1, 6.2, and
                    6.5 of the mediasec parameter IETF draft.

                Once enabled, this parameter adds security headers to the SIP
                signalling to agree upon the security mechanism to be used for
                the media, i.e. SRTP with SDES.

                Some environments require this parameter to be enabled to
                support SRTP calls, in which case:

                  * the Mipt.DefaultSecurityRtpMode parameter should be
                    configured to 'Secure' or 'SecureWithFallback'; and
                  * the Mipt.DefaultSecurityKeyManagement parameter to 'Sdes'.

                "
  DEFVAL        { disable }
  ::= { securityAgreementGroup 100 }

-- End of group:Security Mechanism Agreement Group

-- ****************************************************************************

-- Group:Privacy Headers Group

-- ****************************************************************************

privacyHeadersGroup OBJECT IDENTIFIER
 ::= { sipEpMIBObjects 2600 }
 -- Scalar:Privacy Headers In Response

 privacyHeadersInResponse OBJECT-TYPE
  SYNTAX        INTEGER { unsupported(100) , supportedPAssertedIdentity(200) }
  MAX-ACCESS    read-write
  STATUS        current
  DESCRIPTION " Privacy Headers In Response

                Determines if the usage of privacy and identity headers in
                responses is supported.

                  * Unsupported: No privacy or identity headers are added in
                    SIP responses. Privacy and identity headers received in
                    response are ignored.
                  * SupportedPAssertedIdentity: The P-Asserted-Identity header
                    is added in SIP responses. For received SIP responses, the
                    content of the P-Asserted-Identity header is relayed to
                    the telephony interfaces. Mostly useful with the CONP/COLP
                    supplementary services in ISDN. The supported SIP
                    responses are 180, 183, and 200.

                "
  DEFVAL        { unsupported }
  ::= { privacyHeadersGroup 100 }

-- End of group:Privacy Headers Group

-- ****************************************************************************

-- Group:RTCP XR events Group

-- ****************************************************************************

rtcpXrGroup OBJECT IDENTIFIER
 ::= { sipEpMIBObjects 2700 }
 -- Scalar:Default Static RTCP XR Collector Server URI

 defaultStaticRtcpXrCollectorUri OBJECT-TYPE
  SYNTAX        OCTET STRING ( SIZE(0..255) )
  MAX-ACCESS    read-write
  STATUS        current
  DESCRIPTION " Default Static RTCP XR Collector Server URI

                Define the URI for the Request-URI of the collector server
                that will receive RTCP XR voice quality reports.

                The reports are sent through a SIP PUBLISH with an 'vq-rtcpxr'
                event, as defined in RFC 6035.

                A report is usually sent at the end of a call, and may also be
                sent periodically if the DefaultRtcpXrPeriodicReportsInterval
                parameter is defined.

                When empty, the publication of RTCP XR reports is disabled.

                Valid SIP URI examples:

                  * sip:alice@example.com:5070
                  * sip:alice@example.com
                  * sip:example.com

                If a specific configuration is set in the
                GwSpecificRtcpXr.CollectorUri parameter and the
                GwSpecificRtcpXr.EnableConfig parameter is set to 'Enable',
                then it overrides the current default configuration.

                "
  DEFVAL        { "" }
  ::= { rtcpXrGroup 100 }

 -- Scalar:Default RTCP XR Periodic Reports Interval

 defaultRtcpXrPeriodicReportsInterval OBJECT-TYPE
  SYNTAX        Unsigned32 ( 0..60 )
  MAX-ACCESS    read-write
  STATUS        current
  DESCRIPTION " Default RTCP XR Periodic Reports Interval

                Configures the interval on which the periodic RTCP XR report
                are sent.

                A value of 0 disables the periodic interval report.

                This value is expressed in minutes (min).

                If a specific configuration is set in the
                GwSpecificRtcpXr.PeriodicReportsInterval parameter and the
                GwSpecificRtcpXr.EnableConfig parameter is set to 'Enable',
                then it overrides the current default configuration.

                "
  DEFVAL        { 0 }
  ::= { rtcpXrGroup 200 }

 -- ***************************************************************************
 
 -- Table:SIP Gateway Specific RTCP XR

 -- ***************************************************************************
 
 gwSpecificRtcpXrTable OBJECT-TYPE
  SYNTAX        SEQUENCE OF GwSpecificRtcpXrEntry
  MAX-ACCESS    not-accessible
  STATUS        current
  DESCRIPTION " SIP Gateway Specific RTCP XR

                A table of the RTCP XR configuration indexed by the SIP
                gateway name. It is used to override the default value.
                "
  ::= { rtcpXrGroup 1000 }
  gwSpecificRtcpXrEntry OBJECT-TYPE
   SYNTAX        GwSpecificRtcpXrEntry
   MAX-ACCESS    not-accessible
   STATUS        current
   DESCRIPTION " A row in table SIP Gateway Specific RTCP XR. "
   INDEX         {
                   gwSpecificRtcpXrGatewayName
                 }

   ::= { gwSpecificRtcpXrTable 1 }

  GwSpecificRtcpXrEntry ::= SEQUENCE
  {
    gwSpecificRtcpXrGatewayName             OCTET STRING,
    gwSpecificRtcpXrEnableConfig            MxEnableState,
    gwSpecificRtcpXrCollectorUri            OCTET STRING,
    gwSpecificRtcpXrPeriodicReportsInterval Unsigned32
  }

  -- Index:Gateway Name

  gwSpecificRtcpXrGatewayName OBJECT-TYPE
   SYNTAX        OCTET STRING
   MAX-ACCESS    read-only
   STATUS        current
   DESCRIPTION " Gateway Name

                 String that identifies a SIP gateway in other tables.
                 "
   ::= { gwSpecificRtcpXrEntry 100 }

  -- Columnar:Enable Configuration

  gwSpecificRtcpXrEnableConfig OBJECT-TYPE
   SYNTAX        MxEnableState
   MAX-ACCESS    read-write
   STATUS        current
   DESCRIPTION " Enable Configuration

                 Defines the configuration to use for a specific SIP gateway.

                   * Disable: The SIP gateway uses the default configuration
                     as defined in the DefaultStaticRtcpXrCollectorUri
                     parameter.
                   * Enable: The endpoint uses the specific configuration as
                     defined in the GwSpecificRtcpXr.CollectorUri parameter.

                 "
   DEFVAL        { disable }
   ::= { gwSpecificRtcpXrEntry 200 }

  -- Columnar:SIP Gateway Specific RTCP XR Collector Server URI

  gwSpecificRtcpXrCollectorUri OBJECT-TYPE
   SYNTAX        OCTET STRING ( SIZE(0..255) )
   MAX-ACCESS    read-write
   STATUS        current
   DESCRIPTION " SIP Gateway Specific RTCP XR Collector Server URI

                 Define the URI for the Request-URI of the collector server
                 that will receive RTCP XR voice quality reports.

                 The reports are sent through a SIP PUBLISH with an
                 'vq-rtcpxr' event, as defined in RFC 6035.

                 A report is usually sent at the end of a call, and may also
                 be sent periodically if the PeriodicReportsInterval parameter
                 is defined.

                 When empty, the publication of RTCP XR reports is disabled.

                 Valid SIP URI examples:

                   * sip:alice@example.com:5070
                   * sip:alice@example.com
                   * sip:example.com

                 "
   DEFVAL        { "" }
   ::= { gwSpecificRtcpXrEntry 300 }

  -- Columnar:SIP Gateway Specific RTCP XR Periodic Reports Interval

  gwSpecificRtcpXrPeriodicReportsInterval OBJECT-TYPE
   SYNTAX        Unsigned32 ( 0..60 )
   MAX-ACCESS    read-write
   STATUS        current
   DESCRIPTION " SIP Gateway Specific RTCP XR Periodic Reports Interval

                 Configures the interval on which the periodic RTCP XR report
                 are sent.

                 A value of 0 disables the periodic interval report.

                 This value is expressed in minutes (min).

                 "
   DEFVAL        { 0 }
   ::= { gwSpecificRtcpXrEntry 400 }

 -- End of table:SIP Gateway Specific RTCP XR

-- End of group:RTCP XR events Group

-- ****************************************************************************

-- Group:Interop Group

-- ****************************************************************************

interopGroup OBJECT IDENTIFIER
 ::= { sipEpMIBObjects 50000 }
 -- Scalar:Transmission Timeout

 interopTransmissionTimeout OBJECT-TYPE
  SYNTAX        Unsigned32 ( 1..32 )
  MAX-ACCESS    read-write
  STATUS        current
  DESCRIPTION " Transmission Timeout

                Changes the time to wait for a response or an ACK before
                considering a transaction timed out. This corresponds to
                timers B, F and H for all transport protocols and timer J for
                UDP. These timers are defined in section A of RFC 3261.

                This timeout affects the number of retransmissions.
                Retransmissions continue to follow the timing guidelines
                described in RFC 3261.

                For example, if using DNS SRV and multiple entries are
                present, this value is the time spent waiting for answers from
                each entry.

                This value is expressed in seconds (s).

                "
  DEFVAL        { 32 }
  ::= { interopGroup 400 }

 -- Scalar:TCP Connect Timeout

 interopTcpConnectTimeout OBJECT-TYPE
  SYNTAX        Unsigned32 ( 1..127 )
  MAX-ACCESS    read-write
  STATUS        current
  DESCRIPTION " TCP Connect Timeout

                Defines the maximum time, in seconds, the unit should try to
                establish a TCP connection to SIP hosts. This timeout value is
                useful to have a faster detection of unreachable remote hosts.
                This timer can also affects the TLS connection establishment
                time.
                "
  DEFVAL        { 127 }
  ::= { interopGroup 450 }

 -- Scalar:Enable/Disable Symmetric UDP Source Port

 interopSymmetricUdpSourcePortEnable OBJECT-TYPE
  SYNTAX        MxEnableState
  MAX-ACCESS    read-write
  STATUS        current
  DESCRIPTION " Enable/Disable Symmetric UDP Source Port

                Indicates whether the unit always uses the same local port
                when sending SIP traffic over UDP.

                Symmetric UDP ports are sometimes needed to traverse NAT/
                Firewall devices.

                Note that when changing this setting, all destinations are
                automatically thrown out of the penalty box, when applicable.

                  * enable: SIP signaling sent over UDP originates from the
                    same port as the port on which the user agent is
                    listening. This is configured in the PortConfig parameter.
                    When enabled, ICMP messages are not processed, which means
                    that unreachable targets will take longer to detect.
                  * disable: SIP signaling over UDP uses a randomly-generated
                    originating port. ICMP errors are processed correctly.

                Note: This parameter applies only to Trunk gateways. For
                Endpoint gateways, only symmetric ports are used.

                "
  DEFVAL        { enable }
  ::= { interopGroup 600 }

 -- Scalar:Max Forwards Value

 interopMaxForwardsValue OBJECT-TYPE
  SYNTAX        Integer32 ( 0..200 )
  MAX-ACCESS    read-write
  STATUS        current
  DESCRIPTION " Max Forwards Value

                Sets the value used in the Max-Forwards header, in conformance
                with RFC 3261.
                "
  DEFVAL        { 70 }
  ::= { interopGroup 700 }

 -- Scalar:Enable/Disable Sending of User-Agent Header

 interopSendUaHeaderEnable OBJECT-TYPE
  SYNTAX        MxEnableState
  MAX-ACCESS    read-write
  STATUS        current
  DESCRIPTION " Enable/Disable Sending of User-Agent Header

                Enables/Disables sending of the SIP User-Agent header.
                "
  DEFVAL        { enable }
  ::= { interopGroup 800 }

 -- Scalar:Enable/Disable SDP Direction Attribute

 interopSdpDirectionAttributeEnable OBJECT-TYPE
  SYNTAX        MxEnableState
  MAX-ACCESS    read-write
  STATUS        current
  DESCRIPTION " Enable/Disable SDP Direction Attribute

                Indicates if the SDP direction attribute is supported by the
                unit.

                This parameter is used only when the negotiated media uses an
                IPv4 address. The application always behaves as if this
                parameter is set to 'Enable' for media using an IPv6 address.

                When disabled, the application uses the RFC 2543 method to put
                a session on hold:

                  * No direction attribute is present in the SDP sent by the
                    unit.
                  * Any direction attribute found in the SDP received from the
                    peer is ignored by the unit.

                When enabled, the application uses the RFC 3264 method to put
                a session on hold:

                  * The unit always sends the direction attribute in the SDP
                    of an initiated call. For all other SDP messages sent by
                    the unit, refer to the
                    InteropSdpDetectPeerDirectionAttributeSupportEnable
                    parameter.
                  * If present in the SDP, the direction attribute is
                    preferred over the connection address to transmit session
                    modification information.

                "
  DEFVAL        { enable }
  ::= { interopGroup 900 }

 -- Scalar:Enable/Disable SDP Detect Peer Direction Attribute Support

 interopSdpDetectPeerDirectionAttributeSupportEnable OBJECT-TYPE
  SYNTAX        MxEnableState
  MAX-ACCESS    read-write
  STATUS        current
  DESCRIPTION " Enable/Disable SDP Detect Peer Direction Attribute Support

                Indicates if the SDP direction attribute support should be
                autodetected in the SDP received from the peer.

                This parameter is used only when the negotiated media uses an
                IPv4 address and when the InteropSdpDirectionAttributeEnable
                parameter is enabled. The application always behaves as if
                this parameter is set to 'Disable' for media using an IPv6
                address.

                When disabled, the unit always sends the direction attribute
                in the SDP without autodetection of peer support.

                When enabled: the initial handshake determines if the peer
                supports the direction attribute. The direction attribute will
                be present when the peer supports it.

                "
  DEFVAL        { enable }
  ::= { interopGroup 950 }

 -- Scalar:On Hold SDP Connection Address

 interopOnHoldSdpConnectionAddress OBJECT-TYPE
  SYNTAX        INTEGER { holdAddress(100) , mediaAddress(200) }
  MAX-ACCESS    read-write
  STATUS        current
  DESCRIPTION " On Hold SDP Connection Address

                Indicates the value of the connection address sent in the SDP
                when an endpoint is on hold and no longer listening to media
                packets.

                This parameter is used only when the negotiated media uses an
                IPv4 address. The application always behaves as if this
                parameter is set to 'MediaAddress' for media using an IPv6
                address.

                  * HoldAddress: The connection address sent in the SDP is
                    '0.0.0.0' if the media uses an IPv4 address. This method
                    is described by RFC 2543.
                  * MediaAddress: The connection address sent in the SDP is
                    the listening address.

                "
  DEFVAL        { holdAddress }
  ::= { interopGroup 975 }

 -- Scalar:On Hold SDP Stream Direction

 interopOnHoldSdpStreamDirection OBJECT-TYPE
  SYNTAX        INTEGER { inactive(100) , sendonly(200) }
  MAX-ACCESS    read-write
  STATUS        current
  DESCRIPTION " On Hold SDP Stream Direction

                Indicates the direction attribute sent in the SDP when putting
                an endpoint on hold.

                  * Inactive: The stream is put on hold by marking it as
                    inactive.
                  * Sendonly: The stream is put on hold by marking it as
                    sendonly. This method is in conformance with RFC 3264.

                This configuration has no effect if the
                InteropSdpDirectionAttributeEnable parameter is set to
                'Disable'.

                "
  DEFVAL        { inactive }
  ::= { interopGroup 1000 }

 -- Scalar:On Hold Answer SDP Stream Direction

 interopOnHoldAnswerSdpStreamDirection OBJECT-TYPE
  SYNTAX        INTEGER { inactive(100) , recvonly(200) }
  MAX-ACCESS    read-write
  STATUS        current
  DESCRIPTION " On Hold Answer SDP Stream Direction

                Indicates how to set the direction attribute in the SDP when
                answering a hold offer with the direction attribute
                'sendonly'.

                  * Inactive: The stream is marked as inactive. If the stream
                    uses an IPv4 address, the connection address is set
                    according to the InteropOnHoldSdpConnectionAddress
                    parameter.
                  * Recvonly: If the stream is currently active or receive
                    only, the stream is marked as recvonly and the connection
                    address is set to the IP address of the unit. If the
                    stream is currently send only or inactive, the stream is
                    marked as inactive and the connection address is set
                    according to the InteropOnHoldSdpConnectionAddress
                    parameter.

                In both cases, no direction attribute is present in the SDP if
                the InteropSdpDirectionAttributeEnable parameter is set to
                'Disable'.

                "
  DEFVAL        { recvonly }
  ::= { interopGroup 1025 }

 -- Scalar:SDP Stream Direction Attribute Level

 interopSdpDirectionAttributeLevel OBJECT-TYPE
  SYNTAX        INTEGER { mediaOrSessionLevel(100) , mediaAndSessionLevel(200)
                }
  MAX-ACCESS    read-write
  STATUS        current
  DESCRIPTION " SDP Stream Direction Attribute Level

                Preferred location where the stream direction attribute is
                set.

                  * MediaOrSessionLevel: If every media have the same
                    direction, the stream direction attribute is only present
                    at session level. Otherwise, the stream direction
                    attribute is only present at media level.
                  * MediaAndSessionLevel: If every media have the same
                    direction, the stream direction attribute is present both
                    at session level and media level. Otherwise, the stream
                    direction attribute is only present at media level.

                "
  DEFVAL        { mediaOrSessionLevel }
  ::= { interopGroup 1050 }

 -- Scalar:Local Ring on Provisional Response

 interopLocalRingOnProvisionalResponse OBJECT-TYPE
  SYNTAX        INTEGER { disable(0) , localRingWhenNoEstablishedMediaStream
                (1) , localRingAlways(2) }
  MAX-ACCESS    read-write
  STATUS        current
  DESCRIPTION " Local Ring on Provisional Response

                Specifies if the local ring should be started upon receiving a
                '18x Provisional' response without SDP.

                  * Disable: The local ring is not started on a '18x
                    Provisional' response without SDP, with one exception: the
                    '180 Ringing' without SDP will start the local ring if the
                    media stream is not already established.
                  * LocalRingWhenNoEstablishedMediaStream: The local ring is
                    started on any '18x Provisional' response without SDP if
                    the media stream is not already established.
                  * LocalRingAlways: The local ring is always started on any
                    '18x Provisional' response without SDP.

                "
  DEFVAL        { disable }
  ::= { interopGroup 1100 }

 -- Scalar:SDP Origin Line Session ID and Version Max Length

 interopSdpOriginLineSessionIdAndVersionMaxLength OBJECT-TYPE
  SYNTAX        INTEGER { max32bits(100) , max64bits(200) }
  MAX-ACCESS    read-write
  STATUS        current
  DESCRIPTION " SDP Origin Line Session ID and Version Max Length

                The maximum length of the session ID and the session version
                number in the origin line (o=) of the SDP.

                  * Max-32bits: The session ID and the session version number
                    are represented with a 32 bit integer. They have a maximum
                    length of 10 digits.
                  * Max-64bits: The session ID and the session version number
                    are represented with a 64 bit integer. They have a maximum
                    length of 20 digits.

                "
  DEFVAL        { max64bits }
  ::= { interopGroup 1200 }

 -- Scalar:Enable/Disable Lock DNS SRV Record Per Call

 interopLockDnsSrvRecordPerCallEnable OBJECT-TYPE
  SYNTAX        MxEnableState
  MAX-ACCESS    read-write
  STATUS        current
  DESCRIPTION " Enable/Disable Lock DNS SRV Record Per Call

                Configures the behaviour of the DNS SRV feature.

                  * Disable: The behaviour follows RFC 3263.
                  * Enable: All messages during a call or registration use the
                    same SRV record.

                "
  DEFVAL        { disable }
  ::= { interopGroup 1400 }

 -- Scalar:Reject Code For Unsupported SDP Offer

 interopRejectCodeForUnsupportedSdpOffer OBJECT-TYPE
  SYNTAX        INTEGER { unsupportedMediaType(415) , notAcceptableHere(488) }
  MAX-ACCESS    read-write
  STATUS        current
  DESCRIPTION " Reject Code For Unsupported SDP Offer

                Configures the rejection code used when an offer is received
                with invalid or unsupported SDP Offer.

                  * UnsupportedMediaType: The SIP error code 415 'Unsupported
                    Media Type' is returned if the Content-Type is invalid;
                    the payload is missing or the SDP content is invalid.
                  * NotAcceptableHere: The SIP error code 488 'Not Acceptable
                    Here' is returned if the SDP content is invalid.

                RFC 3261 recommends using the error code 488 'Not Acceptable
                Here'.

                "
  DEFVAL        { unsupportedMediaType }
  ::= { interopGroup 1750 }

 -- Scalar:Enable/Disable Use DTMF Payload Type Found In Answer

 interopUseDtmfPayloadTypeFoundInAnswer OBJECT-TYPE
  SYNTAX        MxEnableState
  MAX-ACCESS    read-write
  STATUS        current
  DESCRIPTION " Enable/Disable Use DTMF Payload Type Found In Answer

                The default behaviour when sending an initial offer that
                contains an RFC 2833 payload type is to keep using that
                payload type even if the response comes back with a different
                one. When this parameter is enabled, the unit rather uses the
                payload type found in the answer. The parameter does not
                affect the behaviour when receiving an offer.

                  * Disable: Keep using the initial payload type.
                  * Enable: Use the RFC 2833 payload type found in the
                    received answer.

                This parameter only has an effect when the
                DefaultDtmfTransportMethod parameter is set to
                'OutOfBandUsingRtp'.

                "
  DEFVAL        { disable }
  ::= { interopGroup 2200 }

 -- Scalar:Register Home Domain Override

 interopRegisterHomeDomainOverride OBJECT-TYPE
  SYNTAX        OCTET STRING ( SIZE(0..255) )
  MAX-ACCESS    read-write
  STATUS        current
  DESCRIPTION " Register Home Domain Override

                Home domain override configuration. If not empty, the address
                of record in the register uses this string instead of the home
                domain proxy (refer to the DefaultStaticProxyHomeDomainHost
                parameter).

                "
  DEFVAL        { "" }
  ::= { interopGroup 2400 }

 -- Scalar:Enforce Offer Answer Model

 interopEnforceOfferAnswerModel OBJECT-TYPE
  SYNTAX        MxEnableState
  MAX-ACCESS    read-write
  STATUS        current
  DESCRIPTION " Enforce Offer Answer Model

                Determines whether or not the unit requires strict adherence
                to RFC 3264 when receiving an answer from the peer when
                negotiating capabilities for the establishment of a media
                session.

                When enabled, the following guidelines from the Offer-Answer
                Model must be strictly followed. An answer must:

                  * Include at least one codec from the list that the unit
                    sent in the offer;
                  * Contain the same number of media lines that the unit put
                    in its offer.

                Otherwise, the answer is rejected and the unit ends the call.

                When disabled, then the peer can freely:

                  * Send back a brand new list of codecs;
                  * Add new media lines.

                As long as at least one codec sent back was present in the
                initial offer, the call can go on. Any media line added by the
                peer is simply ignored.

                The InteropAllowLessMediaInResponse parameter allows other
                deviations from the Offer/Answer model.

                "
  DEFVAL        { enable }
  ::= { interopGroup 2600 }

 -- Scalar:Map Plus To TON International

 interopMapPlusToTonInternational OBJECT-TYPE
  SYNTAX        MxEnableState
  MAX-ACCESS    read-write
  STATUS        current
  DESCRIPTION " Map Plus To TON International

                When enabled, the service has the following behaviour:

                  * For a call to SIP, prefixes the username with '+' if the
                    call has the call property 'type of number' set to
                    'international'. Also adds the 'user' parameter with value
                    'phone' to the SIP URI. e.g.: 'sip:1234@domain.com;user=
                    phone'
                  * For a call from SIP, sets the call property 'type of
                    number' to 'international' if the username has the prefix
                    '+'.

                "
  DEFVAL        { enable }
  ::= { interopGroup 2700 }

 -- Scalar:Allow Less Media In Response

 interopAllowLessMediaInResponse OBJECT-TYPE
  SYNTAX        MxEnableState
  MAX-ACCESS    read-write
  STATUS        current
  DESCRIPTION " Allow Less Media In Response

                Determines the behaviour of the device when receiving less
                medias announcement in the response than in the offer.

                  * Enable: Tries to find matching media when the response
                    contains less media announcement than in the offer.
                  * Disable: Rejects the response with less media announcement
                    than in the offer.

                The InteropEnforceOfferAnswerModel parameter enable other
                deviations from the Offer/Answer model.

                "
  DEFVAL        { disable }
  ::= { interopGroup 2800 }

 -- Scalar:Default Username Value

 interopDefaultUsernameValue OBJECT-TYPE
  SYNTAX        INTEGER { anonymous(100) , host(200) }
  MAX-ACCESS    read-write
  STATUS        current
  DESCRIPTION " Default Username Value

                Determines the username to use when the username is empty or
                undefined.

                  * Anonymous: Set the username to 'anonymous'.
                  * Host: Set the username to the same value as the host.

                "
  DEFVAL        { anonymous }
  ::= { interopGroup 3000 }

 -- Scalar:Call Waiting Private Number Criteria for SIP INFO

 interopCallWaitingSipInfoPrivateNumberCriteria OBJECT-TYPE
  SYNTAX        OCTET STRING ( SIZE(0..255) )
  MAX-ACCESS    read-write
  STATUS        current
  DESCRIPTION " Call Waiting Private Number Criteria for SIP INFO

                Specify the call waiting criteria, in the form of a regular
                expression, that defines a private number received in a SIP
                INFO.

                For example, the value '(Anonymous|anonymous)' would define a
                calling number that is either 'Anonymous' or 'anonymous' as
                private. The regular expression symbols to match the beginning
                and end of the number are implicit and do not need to be
                specified.

                The parameter is effective only if the
                EpServ.DefaultCallHookFlashProcessing or
                EpServ.EpSpecificCall.HookFlashProcessing parameters are set
                to 'TransmitUsingSignalingProtocol'.

                "
  DEFVAL        { "" }
  ::= { interopGroup 3250 }

 -- Scalar:T.38 Capabilities Format

 interopSdpT38ParametersEncoding OBJECT-TYPE
  SYNTAX        INTEGER { ituT38AnnexD(100) ,
                sippingRealTimeFax00InternetDraft(200) }
  MAX-ACCESS    read-write
  STATUS        current
  DESCRIPTION " T.38 Capabilities Format

                Determines the format in which the unit's T.38 capabilities
                are advertised. This format is used in the SDP portion of SIP
                packets.

                  * SippingRealTimeFax00InternetDraft : Support for the
                    boolean T.38 T38FaxFillBitRemoval, T38FaxTranscodingMMR
                    and T38FaxTranscodingJBIG parameters is advertised by
                    associating a value of 0 (unsupported) or 1 (supported)
                    with the parameter in the following manner: 'a=
                    T38FaxFillBitRemoval:0', 'a=T38FaxTranscodingMMR:0' and 'a
                    =T38FaxTranscodingJBIG:0'. This is compliant with the
                    draft-ietf-sipping-realtimefax-00.txt internet draft.
                  * ItuT38AnnexD : Support for the above T.38 parameters is
                    advertised in conformance with ITU-T Recommendation T.38,
                    section D.2.3. The presence of the parameter in the SDP
                    indicates support for it (without the need for an
                    associated value), while its absence means that it is not
                    supported.

                "
  DEFVAL        { sippingRealTimeFax00InternetDraft }
  ::= { interopGroup 3300 }

 -- Scalar:ReInvite For Voice On 606 Not Acceptable

 interopReInviteForVoiceOn606NotAcceptable OBJECT-TYPE
  SYNTAX        MxEnableState
  MAX-ACCESS    read-write
  STATUS        current
  DESCRIPTION " ReInvite For Voice On 606 Not Acceptable

                Determines the behaviour of the device when receiving a 606
                Not Acceptable in response to an INVITE for T.38 fax.

                  * Enable: Fallback to voice is done by sending an INVITE for
                    voice codec negotiation. Also, fax detection is disabled
                    for the remainder of the call.
                  * Disable: The call is released.

                "
  DEFVAL        { disable }
  ::= { interopGroup 3400 }

 -- Scalar:Allow Multiple Active Media In Answer

 interopAllowMultipleActiveMediaInAnswer OBJECT-TYPE
  SYNTAX        MxEnableState
  MAX-ACCESS    read-write
  STATUS        current
  DESCRIPTION " Allow Multiple Active Media In Answer

                Determines the behaviour of the device when answering a
                request offering more than one active media.

                  * Enable: Each matching active media in the offer is
                    specified as active in the answer. Other medias are set to
                    inactive.
                  * Disable: The answer contains only one active media. The
                    media specified as active in the answer is the top-most
                    matching one in the offer. Other medias are set to
                    inactive.

                "
  DEFVAL        { enable }
  ::= { interopGroup 3500 }

 -- Scalar:Ignore SIP OPTIONS On No Usable Endpoints

 interopIgnoreSipOptionsOnNoUsuableEndpoints OBJECT-TYPE
  SYNTAX        MxEnableState
  MAX-ACCESS    read-write
  STATUS        current
  DESCRIPTION " Ignore SIP OPTIONS On No Usable Endpoints

                Determines whether or not the SIP OPTIONS requests should be
                ignored when all endpoints are unusable.

                Enable: The unit ignores SIP OPTIONS request when all
                endpoints are unusable. When at least one endpoint is usable,
                then the SIP OPTIONS requests are answered as configured in
                the InteropSipOptionsMethodSupport parameter.

                Disable: The SIP OPTIONS requests are answered as configured
                in the InteropSipOptionsMethodSupport parameter regardless of
                the state of the endpoints.

                "
  DEFVAL        { disable }
  ::= { interopGroup 3550 }

 -- Scalar:SIP OPTIONS Method Support

 interopSipOptionsMethodSupport OBJECT-TYPE
  SYNTAX        INTEGER { none(100) , alwaysOk(200) }
  MAX-ACCESS    read-write
  STATUS        current
  DESCRIPTION " SIP OPTIONS Method Support

                Determines the behaviour of the device when answering a SIP
                OPTIONS request.

                  * None: The unit responds with an error 405 Method not
                    allowed.
                  * AlwaysOk: The unit responds with a 200 OK regardless of
                    the content of the OPTIONS request.

                "
  DEFVAL        { none }
  ::= { interopGroup 3600 }

 -- Scalar:Allow Media Reactivation in SDP Answer

 interopAllowMediaReactivationInAnswer OBJECT-TYPE
  SYNTAX        MxEnableState
  MAX-ACCESS    read-write
  STATUS        current
  DESCRIPTION " Allow Media Reactivation in SDP Answer

                Determines the unit behaviour when receiving a SDP answer
                activating a media that had been previously deactivated in the
                offer.

                  * Enable: A media reactivated in an incoming answer is
                    ignored. This behaviour goes against the SDP Offer/Answer
                    model described by IETF RFC 3264.
                  * Disable: A media reactivated in an incoming answer ends
                    the current media negotiation and the call. This behaviour
                    follows the SDP Offer/Answer model described by IETF RFC
                    3264.

                The InteropEnforceOfferAnswerModel,
                InteropAllowLessMediaInResponse and
                InteropAllowMultipleActiveMediaInAnswer parameters allow to
                enable or disable other deviations from the Offer/Answer
                model.

                "
  DEFVAL        { disable }
  ::= { interopGroup 3700 }

 -- Scalar:Allow Simultaneous Audio and Image Media Negotiation

 interopAllowAudioAndImageNegotiation OBJECT-TYPE
  SYNTAX        INTEGER { enable(100) , disableOffer(200) , disableAll(300) }
  MAX-ACCESS    read-write
  STATUS        current
  DESCRIPTION " Allow Simultaneous Audio and Image Media Negotiation

                Determines the unit behaviour when offering media or answering
                to a media offer with audio and image negotiation.

                  * Enable: The unit offers audio and image media
                    simultaneously in outgoing SDP offers and transits to T.38
                    mode upon reception of a T.38 packet. Also, when the unit
                    answers positively to a SDP offer with audio and image, it
                    transits to T.38 mode upon reception of a T.38 packet.
                  * DisableOffer: Outgoing offers never include image and
                    audio simultaneously. Incoming offers with audio and image
                    media with a non-zero port are answered with audio and
                    image media, but considered as offering only audio.
                  * DisableAll: Outgoing offers never include image and audio
                    simultaneously. Incoming offers with audio and image media
                    with a non-zero port are answered with audio and image
                    media but the image media will be disabled. If it has the
                    T.38 codec enabled and wishes to send or receive fax, a
                    new re-INVITE will be sent to negotiate image port.

                "
  DEFVAL        { disableOffer }
  ::= { interopGroup 3800 }

 -- Scalar:Escape Pound in SIP URI Username

 interopEscapePoundInSipUriUsername OBJECT-TYPE
  SYNTAX        MxEnableState
  MAX-ACCESS    read-write
  STATUS        current
  DESCRIPTION " Escape Pound in SIP URI Username

                Determines whether or not the pound character (#) must be
                escaped in the username part of a SIP URI.

                  * Enable: Pound character (#) is escaped in the username
                    part of a SIP URI.
                  * Disable: Pound character (#) is not escaped in the
                    username part of a SIP URI.

                Note: RFC 3261 specifies that the pound character (#) needs to
                be escaped in the username part of a SIP URI.

                "
  DEFVAL        { enable }
  ::= { interopGroup 4000 }

 -- Scalar:Add the 'x-Siemens-Call-Type' header to the SIP packets

 interopSiemensTransportHeaderEnable OBJECT-TYPE
  SYNTAX        MxEnableState
  MAX-ACCESS    read-write
  STATUS        current
  DESCRIPTION " Add the 'x-Siemens-Call-Type' header to the SIP packets

                Triggers the addition of the 'x-Siemens-Call-Type' header to
                the SIP packets sent by the unit. When enabled, the header is
                added, and assigned the value 'ST-secure', as soon as secure
                transport and secure payload are being used. If secure
                transport or secure payload are not used, the header is not
                added.
                "
  DEFVAL        { disable }
  ::= { interopGroup 4100 }

 -- Scalar:Request client authentication when acting as TLS server

 interopTlsClientAuthenticationEnable OBJECT-TYPE
  SYNTAX        MxEnableState
  MAX-ACCESS    read-write
  STATUS        current
  DESCRIPTION " Request client authentication when acting as TLS server

                Specifies whether mutual authentication is enforced when the
                gateway is acting as a TLS server.

                  * Enable: The TLS clients have to provide their host
                    certificate in order for the connection to be allowed. In
                    this case, the level of security used to validate the host
                    certificate is TrustedCertificate, whatever the value set
                    in the SipEp.InteropTlsCertificateValidation parameter.
                  * Disable: The unit does not require to TLS client to
                    provide their host certificate in order for the connection
                    to be allowed.

                "
  DEFVAL        { disable }
  ::= { interopGroup 4200 }

 -- Scalar:Level of security used to validate the peer TLS certificate

 interopTlsCertificateValidation OBJECT-TYPE
  SYNTAX        INTEGER { noValidation(100) , trustedCertificate(200) ,
                dnsSrvResponse(300) , hostName(400) }
  MAX-ACCESS    read-write
  STATUS        current
  DESCRIPTION " Level of security used to validate the peer TLS certificate

                When the unit is acting as a TLS client, this parameter
                specifies which level of security is used to validate a TLS
                server certificate.

                NOTE: This parameter has no effect on the TLS client
                authentication when the unit is acting as a TLS server (See
                the InteropTlsClientAuthenticationEnable parameter).

                  * NoValidation: No validation of the peer certificate is
                    performed. All TLS connections are accepted without any
                    verification. Note that at least one certificate must be
                    returned by the peer even if no validation is made. This
                    option provides no security and should be restricted to a
                    lab use only.
                  * TrustedCertificate: Allow a TLS connection only if the
                    peer certificate is trusted. A certificate is considered
                    trusted when the certificate authority (CA) that signed
                    the peer certificate is present in the certMIB/
                    othersCertificatesInfoTable. This option provides a
                    minimum level of security and should be restricted to a
                    lab use only.
                  * DnsSrvResponse: Allow a TLS connection if the peer
                    certificate is trusted and contains a known host name. A
                    known host name can be the FQDN or IP address configured
                    as the SIP server, or can also be returned by a DNS SRV
                    request. In this case, the match is performed against the
                    DNS response name. If it matches either one of the Subject
                    Alternate Name (SAN) or Common Name (CN) in the peer
                    certificate, the connection is allowed. This option
                    provides an acceptable level of security, but not as good
                    as HostName.
                  * HostName: Allow a TLS connection if the peer certificate
                    is trusted and contains a known host name. A known host
                    name can only be the FQDN or IP address configured as the
                    SIP server. If it matches either one of the Subject
                    Alternate Name (SAN) or Common Name (CN) in the peer
                    certificate, the connection is allowed. This option
                    provides the highest level of security.

                "
  DEFVAL        { hostName }
  ::= { interopGroup 4250 }

 -- Scalar:Ignore Plus in Username

 interopIgnorePlusInUsername OBJECT-TYPE
  SYNTAX        MxEnableState
  MAX-ACCESS    read-write
  STATUS        current
  DESCRIPTION " Ignore Plus in Username

                Determines whether or not the plus character (+) is ignored
                when attempting to match a challenge username with usernames
                in the Authentication table.

                  * Enable: Plus character (+) is ignored when attempting to
                    match a username in the Authentication table.
                  * Disable: Plus character (+) is not ignored when attempting
                    to match a username in the Authentication table.

                Note that the plus character is ignored in both the challenge
                username and the Authentication table username.

                "
  DEFVAL        { disable }
  ::= { interopGroup 4300 }

 -- ***************************************************************************
 
 -- Table:Behaviour On T.38 Invite Not Accepted

 -- ***************************************************************************
 
 behaviorOnT38InviteNotAcceptedTable OBJECT-TYPE
  SYNTAX        SEQUENCE OF BehaviorOnT38InviteNotAcceptedEntry
  MAX-ACCESS    not-accessible
  STATUS        current
  DESCRIPTION " Behaviour On T.38 Invite Not Accepted

                This table defines the device behaviour after receiving an
                error to a SIP INVITE for T.38 fax.
                "
  ::= { interopGroup 4600 }
  behaviorOnT38InviteNotAcceptedEntry OBJECT-TYPE
   SYNTAX        BehaviorOnT38InviteNotAcceptedEntry
   MAX-ACCESS    not-accessible
   STATUS        current
   DESCRIPTION " A row in table Behaviour On T.38 Invite Not Accepted. "
   INDEX         {
                   behaviorOnT38InviteNotAcceptedSipErrorCode
                 }

   ::= { behaviorOnT38InviteNotAcceptedTable 1 }

  BehaviorOnT38InviteNotAcceptedEntry ::= SEQUENCE
  {
    behaviorOnT38InviteNotAcceptedSipErrorCode Unsigned32,
    behaviorOnT38InviteNotAcceptedBehavior     INTEGER
  }

  -- Index:SIP Error Code

  behaviorOnT38InviteNotAcceptedSipErrorCode OBJECT-TYPE
   SYNTAX        Unsigned32 ( 406..406 | 415..415 | 488..488 | 606..606 )
   MAX-ACCESS    read-only
   STATUS        current
   DESCRIPTION " SIP Error Code

                 SIP code in the error response to an INVITE for T.38 fax.
                 "
   ::= { behaviorOnT38InviteNotAcceptedEntry 100 }

  -- Columnar:Behaviour

  behaviorOnT38InviteNotAcceptedBehavior OBJECT-TYPE
   SYNTAX        INTEGER { dropCall(100) , reInviteForClearChannelOnly(200) ,
                 reEstablishAudio(300) , usePreviousMediaNegotiation(400) }
   MAX-ACCESS    read-write
   STATUS        current
   DESCRIPTION " Behaviour

                 Behaviour of the device when receiving a SIP error response
                 to an INVITE for T.38 fax.

                   * DropCall: The call is dropped by sending a BYE.
                   * ReInviteForClearChannelOnly: A re-INVITE is sent with
                     enabled clear channel codecs only.
                   * ReEstablishAudio: A re-INVITE is sent to re-establish the
                     audio path. Also, fax detection is disabled for the
                     remainder of the call.
                   * UsePreviousMediaNegotiation: No re-INVITE is sent and the
                     audio codec from the last successful negotiation is used.
                     For the remainder of the call, T.38 is disabled and fax
                     detection may trigger a switch to a clear channel codec
                     that was available in the last successful negotiation.

                 "
   DEFVAL        { reInviteForClearChannelOnly }
   ::= { behaviorOnT38InviteNotAcceptedEntry 200 }

 -- End of table:Behaviour On T.38 Invite Not Accepted

 -- Scalar:Behaviour On Machine Detection

 interopBehaviorOnMachineDetection OBJECT-TYPE
  SYNTAX        INTEGER { reInviteOnFaxT38Only(100) ,
                reInviteOnNoNegotiatedDataCodec(200) , reInviteUnconditional
                (300) }
  MAX-ACCESS    read-write
  STATUS        current
  DESCRIPTION " Behaviour On Machine Detection

                Specifies the SIP device behaviour when a machine is detected
                during a call.

                  * ReInviteOnFaxT38Only: A SIP re-INVITE is sent only on a
                    fax detection and T.38 is enabled.
                  * ReInviteOnNoNegotiatedDataCodec: A SIP re-INVITE is sent
                    on a fax or modem detection if no data codec was
                    previously negotiated in the original SDP negotiation. In
                    the case where at least one data codec was previously
                    negotiated in the SDP negotiation, the device switches
                    silently to a data codec without sending a SIP re-INVITE.
                    Note that if there is no data codec enabled on the device,
                    no SIP re-INVITE is sent and the call is dropped by
                    sending a BYE.
                  * ReInviteUnconditional : A SIP re-INVITE is sent with data
                    codecs upon detection of a fax or modem even if a data
                    codec was negotiated in the initial offer-answer. The T.38
                    codec is offered if it is enabled and a fax is detected.

                "
  DEFVAL        { reInviteOnFaxT38Only }
  ::= { interopGroup 4650 }

 -- Scalar:Codec vs Beareer Capabilities Mapping Preferred Codec Choice

 interopCodecVsBearerCapabilitiesMappingPreferredCodecChoice OBJECT-TYPE
  SYNTAX        INTEGER { firstCodec(100) , prioritizeClearChannel(200) }
  MAX-ACCESS    read-write
  STATUS        current
  DESCRIPTION " Codec vs Beareer Capabilities Mapping Preferred Codec Choice

                Configures the behaviour of the
                CodecVsBearerCapabilitiesMapping table by modifying the
                selection of the preferred codec in the incoming SDP.

                  * FirstCodec: The first valid codec in the incoming SDP is
                    considered the preferred one and is used when looking up
                    the CodecVsBearerCapabilitiesMapping table.
                  * PrioritizeClearChannel: When a clear channel codec is in
                    the incoming SDP, it is always considered as the preferred
                    one, no matter where it stands in the codec list, and is
                    used when looking up the CodecVsBearerCapabilitiesMapping
                    table.

                "
  DEFVAL        { firstCodec }
  ::= { interopGroup 4700 }

 -- Scalar:SIP URI User Parameter Value

 interopSipUriUserParameterValue OBJECT-TYPE
  SYNTAX        OCTET STRING ( SIZE(0..255) )
  MAX-ACCESS    read-write
  STATUS        current
  DESCRIPTION " SIP URI User Parameter Value

                Determines the value of the user parameter in SIP URIs sent by
                the unit. If empty, the parameter is not added.

                ex: 'sip:1234@domain.com;user=InteropSipUriUserParameterValue'

                Note that when the InteropMapPlusToTonInternational parameter
                is enabled, the parameter's value might be overwritten.

                "
  DEFVAL        { "" }
  ::= { interopGroup 4800 }

 -- Scalar:Listen for early RTP

 interopListenForEarlyRtpEnable OBJECT-TYPE
  SYNTAX        MxEnableState
  MAX-ACCESS    read-write
  STATUS        current
  DESCRIPTION " Listen for early RTP

                Listen for RTP even before the reception of a response with
                SDP.

                  * Enable: The RTP port is opened after the initial INVITE
                    has been sent, without waiting for a provisional or final
                    response with SDP to be received. No local ring is
                    generated. This conforms to section 5.1 of RFC 3264.
                  * Disable: The RTP port is opened only after a response with
                    SDP is received.

                This parameter only applies to calls initiated from analog
                endpoints (FXS/FXO) with non-secure RTP.

                "
  DEFVAL        { disable }
  ::= { interopGroup 4900 }

 -- Scalar:Registration Contact Matching

 interopRegistrationContactMatching OBJECT-TYPE
  SYNTAX        INTEGER { strict(100) , ignoreUriParams(200) ,
                ignoreUriAndPortParams(300) }
  MAX-ACCESS    read-write
  STATUS        current
  DESCRIPTION " Registration Contact Matching

                Configures the matching behaviour for the contact header
                received in positive responses to REGISTER requests sent by
                the unit.

                  * Strict: Validate the complete contact's SIP URI including
                    any URI parameters, if any, as per RFC 3261 sections
                    '10.2.4 Refreshing Bindings' and '19.1.4 URI Comparison'.
                    The contact's SIP URI of a 2XX positive response MUST
                    match the contact's SIP URI of the REGISTER request.
                  * IgnoreUriParams: Validate the username and the host port
                    part of the contact's SIP URI. All URI parameters are
                    ignored.
                  * IgnoreUriAndPortParams: Validate the username part of the
                    contact's SIP URI. All URI and host port parameters are
                    ignored.

                "
  DEFVAL        { strict }
  ::= { interopGroup 5000 }

 -- Scalar:Interop Resolve Route Header

 interopResolveRouteHeaderEnable OBJECT-TYPE
  SYNTAX        MxEnableState
  MAX-ACCESS    read-write
  STATUS        current
  DESCRIPTION " Interop Resolve Route Header

                Allows the resolution of the FQDN in the top-most route header
                of outgoing packets.

                  * Enable: The FQDN in the top-most route header is replaced
                    by the IP address of the packet's destination if the FQDN
                    matches the gateway's configured outbound proxy.
                  * Disable: The route header is not modified.

                "
  DEFVAL        { disable }
  ::= { interopGroup 5100 }

 -- Scalar:Force DNS NAPTR In TLS

 interopForceDnsNaptrInTls OBJECT-TYPE
  SYNTAX        MxEnableState
  MAX-ACCESS    read-write
  STATUS        current
  DESCRIPTION " Force DNS NAPTR In TLS

                Force DNS NAPTR request when SIP transport is TLS.

                  * Enable: A DNS NAPTR request is sent to obtain the DNS
                    record associated with SIP over TLS. An SRV request is
                    performed afterward. If no SIP over TLS entry is returned,
                    the call fails.
                  * Disable: The DNS SRV request is sent directly with the SIP
                    transport in SIP URI as recommended in RFC 3263, section
                    4.1.

                This parameter only applies to calls over TLS when the
                SupportedDnsQueries parameter is set to Naptr.

                "
  DEFVAL        { disable }
  ::= { interopGroup 5200 }

 -- Scalar:ACK Branch Matching

 interopAckBranchMatching OBJECT-TYPE
  SYNTAX        INTEGER { rfc3261(100) , rfc3261WithoutAck(200) }
  MAX-ACCESS    read-write
  STATUS        current
  DESCRIPTION " ACK Branch Matching

                Configures the method used to match incoming ACK SIP packets.

                  * Rfc3261: Follow the method described in RFC 3261 (section
                    8.1.1.7). The branch value in the topmost via of the ACK
                    request to a 2XX response MUST be different than the one
                    of the INVITE.
                  * Rfc3261WithoutAck: Follow the method described in RFC 3261
                    (section 8.1.1.7) but enable the handling of ACK requests
                    (for 2XX responses) that have the same branch value in the
                    topmost via as the INVITE.

                "
  DEFVAL        { rfc3261 }
  ::= { interopGroup 5300 }

 -- Scalar:Ignore Require Header

 interopIgnoreRequireHeaderEnable OBJECT-TYPE
  SYNTAX        MxEnableState
  MAX-ACCESS    read-write
  STATUS        current
  DESCRIPTION " Ignore Require Header

                Indicates if the Require Header must be ignored when
                processing the incoming SIP Client requests (Invite,
                re-Invite, Bye, etc.).

                  * Enable: The Require Header is ignored and no validation
                    about these options-tags is performed.
                  * Disable: The Require Header options-tags are validated
                    and, when an option-tag is not supported, a 420 (Bad
                    Extension) response is sent.

                    The supported options-tags are:
                      + * 100rel
                      + * replaces
                      + * timer

                "
  DEFVAL        { enable }
  ::= { interopGroup 5400 }

 -- Scalar:User-Agent Header Format

 interopUaHeaderFormat OBJECT-TYPE
  SYNTAX        OCTET STRING
  MAX-ACCESS    read-write
  STATUS        current
  DESCRIPTION " User-Agent Header Format

                The text to display in the User-Agent Header. Macros can be
                used to include information specific to the unit.

                The supported macros are:

                  * %version% - Application version.
                  * %mac% - MAC address.
                  * %product% - Product name.
                  * %profile% - Profile.
                  * %serial% - Serial number.
                  * %% - Insert % character.

                "
  DEFVAL        { "%product%/v%version% %profile%" }
  ::= { interopGroup 5500 }

 -- Scalar:SIP INFO Without Content Answer

 interopSipInfoWithoutContentAnswer OBJECT-TYPE
  SYNTAX        INTEGER { ok(200) , unsupportedMediaType(415) }
  MAX-ACCESS    read-write
  STATUS        current
  DESCRIPTION " SIP INFO Without Content Answer

                Determines the response of the device to a received SIP INFO
                with no message body for an existing call.

                  * UnsupportedMediaType: The unit responds with the SIP error
                    code 415 'Unsupported Media Type'.
                  * Ok: The unit responds with a 200 OK.

                RFC 2976 recommends that a 200 OK response MUST be sent for an
                INFO request with no message body if the INFO request was
                successfully received for an existing call.

                "
  DEFVAL        { unsupportedMediaType }
  ::= { interopGroup 5600 }

 -- Scalar:Registration Delay Value

 interopRegistrationDelayValue OBJECT-TYPE
  SYNTAX        Unsigned32 ( 0..600 )
  MAX-ACCESS    read-write
  STATUS        current
  DESCRIPTION " Registration Delay Value

                The maximum number of seconds that the system uses to apply a
                random algorithm, which is used to determine a delay before
                requesting a user registration or an endpoint registration.
                When the value is 0, the request registration is done
                immediately.

                Note: The random algorithm applies individually to all
                registrations meaning registrations order may not follow their
                corresponding index.

                This value is expressed in second(s).

                "
  DEFVAL        { 0 }
  ::= { interopGroup 5700 }

 -- Scalar:Unsupported Content-Type

 interopUnsupportedContentType OBJECT-TYPE
  SYNTAX        INTEGER { reject(100) , allow(200) , ignore(300) }
  MAX-ACCESS    read-write
  STATUS        current
  DESCRIPTION " Unsupported Content-Type

                Determines the behaviour of the device upon reception of a SIP
                packet containing multiple unsupported Content-Type in the
                payload.

                  * Reject: Unsupported Content-Type are rejected.
                  * Allow: Unsupported Content-Type are allowed and ignored if
                    at least one Content-Type is supported.
                  * Ignore: Unsupported Content-Type are ignored.

                Note: When ignored, unsupported Content-Type are treated as if
                they were not present in the packet.
                "
  DEFVAL        { reject }
  ::= { interopGroup 5800 }

 -- Scalar:Wait for Confirmed Dialog in Blind Transfers

 interopWaitConfirmedDialogForBlindTransfer OBJECT-TYPE
  SYNTAX        MxEnableState
  MAX-ACCESS    read-write
  STATUS        obsolete
  DESCRIPTION " Wait for Confirmed Dialog in Blind Transfers

                This parameter is obsolete and has been replaced by the
                TransferGroup.BlindTransferMethod parameter.

                "
  DEFVAL        { disable }
  ::= { interopGroup 5900 }

 -- Scalar:Maximum Waiting Time for a Pending Blind Transfer

 interopPendingBlindTransferTimeout OBJECT-TYPE
  SYNTAX        Unsigned32 ( 5..600 )
  MAX-ACCESS    read-write
  STATUS        current
  DESCRIPTION " Maximum Waiting Time for a Pending Blind Transfer

                The maximum number of seconds that the system keeps a blind
                transfer pending (waiting for a 200 OK response) when the
                TransferGroup.BlindTransferMethod parameter is set to
                SemiAttendedConfirmed. If the timeout expires, the call
                transfer is cancelled.

                "
  DEFVAL        { 30 }
  ::= { interopGroup 6000 }

 -- Scalar:Forked Provisional Reponses Behaviour

 interopForkedProvisionalResponsesBehavior OBJECT-TYPE
  SYNTAX        INTEGER { interpretFirst(100) , interpretAll(200) }
  MAX-ACCESS    read-write
  STATUS        current
  DESCRIPTION " Forked Provisional Reponses Behaviour

                Configure the unit's behaviour when receiving forked
                provisional answers.

                  * InterpretFirst: Only the first provisional answer is
                    interpreted. Following responses do not change the state
                    of the call and the SDP is ignored if present.
                  * InterpretAll: Each forked provisional response received by
                    the unit is interpreted replacing the previous one. If the
                    response contains SDP, it replaces previous answers if
                    any.

                This configuration has no effect if the UACPrackSupport
                parameter is set to a value other than 'Unsupported'.
                Otherwise, see the
                InteropReliableForkedProvisionalResponsesBehavior parameter.

                "
  DEFVAL        { interpretFirst }
  ::= { interopGroup 6100 }

 -- Scalar:Reliable Forked Provisional Reponses Behaviour

 interopReliableForkedProvisionalResponsesBehavior OBJECT-TYPE
  SYNTAX        INTEGER { interpretFirst(100) , interpretFirstRemoteMedia(200)
                }
  MAX-ACCESS    read-write
  STATUS        current
  DESCRIPTION " Reliable Forked Provisional Reponses Behaviour

                Configure the unit's behaviour when receiving reliable forked
                provisional answers.

                  * InterpretFirst: Only the first provisional answer is
                    interpreted. Following forked responses, do not change the
                    state of the call and the SDP is ignored if present.
                  * InterpretFirstRemoteMedia: The first forked provisional
                    response received by the unit is interpreted. If a
                    following forked response contains SDP and the media is
                    not already negociated, it replaces the previous answer.
                    Once media is negociated, following provisional responses
                    are ignored.

                This configuration has effect only if the UACPrackSupport
                parameter is set to a value other than 'Unsupported'.
                Otherwise, see the InteropForkedProvisionalResponsesBehavior
                parameter.

                "
  DEFVAL        { interpretFirst }
  ::= { interopGroup 6110 }

 -- Scalar:Interop SIP Contact Display Name Presence

 interopSipContactDisplayNamePresence OBJECT-TYPE
  SYNTAX        MxEnableState
  MAX-ACCESS    read-write
  STATUS        current
  DESCRIPTION " Interop SIP Contact Display Name Presence

                Determines if the display name appears in the SIP Contact
                header sent by the unit.

                  * Enable : The display name parameter appears in the SIP
                    Contact header of sent SIP request.
                  * Disable : The display name does not appear.

                "
  DEFVAL        { enable }
  ::= { interopGroup 6200 }

 -- Scalar:Interop Escaped Display Format

 interopEscapeFormat OBJECT-TYPE
  SYNTAX        INTEGER { lowercaseHex(100) , uppercaseHex(200) }
  MAX-ACCESS    read-write
  STATUS        current
  DESCRIPTION " Interop Escaped Display Format

                Configures the format of the escaped characters in all SIP
                header.

                  * LowercaseHex: Escaped characters are displayed in a
                    lowercase hexadecimals format.
                  * UppercaseHex: Escaped characters are displayed in a
                    uppercase hexadecimals format.

                "
  DEFVAL        { lowercaseHex }
  ::= { interopGroup 6300 }

 -- Scalar:Interop Keep-Alive Option Format

 interopKeepAliveOptionFormat OBJECT-TYPE
  SYNTAX        INTEGER { shortFrom(100) , fullFrom(200) }
  MAX-ACCESS    read-write
  STATUS        current
  DESCRIPTION " Interop Keep-Alive Option Format

                Configures the Keep-Alive OPTION requests format.

                  * ShortFrom : The unit sends the OPTION request with the
                    standard format with only the unit's IP address in the
                    from header.
                  * FullFrom : The unit sends the OPTION request with the
                    standard format with the first registered username and IP
                    address in the from header.

                The SipEp service must be restarted to apply a new username to
                the Keep-Alive.

                "
  DEFVAL        { shortFrom }
  ::= { interopGroup 6400 }

 -- Scalar:Interop Info Dtmf Relay Flash Event

 interopInfoDtmfRelayFlashEvent OBJECT-TYPE
  SYNTAX        INTEGER { disable(100) , evR(200) , ev16(300) }
  MAX-ACCESS    read-write
  STATUS        current
  DESCRIPTION " Interop Info Dtmf Relay Flash Event

                This parameter specifies which SIP INFO event triggers a hook
                flash on the PSTN interface when the DTMF transport method is
                set to InfoDtmfRelay. The event is the value of the Signal
                parameter in the SIP INFO message.

                  * Disable: No event is defined.
                  * EvR: The event is the string 'R' (case insensitive).
                  * Ev16: The event is the string '16'.

                The string must contain no other character.

                This parameter only has an effect when the
                InteropDtmfTransportMethod parameter is set to
                'InfoDtmfRelay'.

                "
  DEFVAL        { disable }
  ::= { interopGroup 6500 }

 -- Scalar:Interop SDP Ptime Attribute

 interopSdpPTimeAttribute OBJECT-TYPE
  SYNTAX        INTEGER { disabled(100) , declarativePreferredCodec(200) ,
                declarativeConfigured(300) }
  MAX-ACCESS    read-write
  STATUS        current
  DESCRIPTION " Interop SDP Ptime Attribute

                This parameter specifies what value must be put in the ptime
                attribute of the SDP offers.

                  * Disabled: No ptime attribute is inserted.
                  * DeclarativePreferredCodec: The ptime attribute is set to
                    the packetization time of the preferred codec.
                  * DeclarativeConfigured: The ptime attribute is set to the
                    value configured in the InteropSdpPTimeAttributeValue
                    parameter.

                The preferred codec is the highest priority codec that would
                be advertised in the SDP offer of an INVITE. The preferred
                codec and its packetization time depend on configuration
                parameters in the Mipt service.

                "
  DEFVAL        { disabled }
  ::= { interopGroup 6600 }

 -- Scalar:Interop SDP Ptime Attribute Value

 interopSdpPTimeAttributeValue OBJECT-TYPE
  SYNTAX        Unsigned32 ( 10..80 )
  MAX-ACCESS    read-write
  STATUS        current
  DESCRIPTION " Interop SDP Ptime Attribute Value

                This parameter specifies the configurable value to be put in
                the ptime attribute of the SDP offers when the
                InteropSdpPTimeAttribute parameter is set to
                'DeclarativeConfigured'.

                Note that this value is not checked for validity.

                "
  DEFVAL        { 30 }
  ::= { interopGroup 6700 }

 -- Scalar:Interop Increment SDP Version When Modified

 interopIncrementSdpVersionWhenModified OBJECT-TYPE
  SYNTAX        MxEnableState
  MAX-ACCESS    read-write
  STATUS        current
  DESCRIPTION " Interop Increment SDP Version When Modified

                This parameter specifies if the SDP must be checked for
                differences before updating its version.

                  * Disable: The version will be incremented on all new
                    generation of the SDP.
                  * Enable: The version will be updated on new generation if
                    there is a difference with the last one sent.

                "
  DEFVAL        { enable }
  ::= { interopGroup 6800 }

 -- Scalar:Interop Activate Early Media On Provisional Response
 -- Acknowledgement (PRACK)

 interopActivateEarlyMediaOnProvisionalResponseAck OBJECT-TYPE
  SYNTAX        MxEnableState
  MAX-ACCESS    read-write
  STATUS        current
  DESCRIPTION " Interop Activate Early Media On Provisional Response
                Acknowledgement (PRACK)

                This parameter specifies if the system must wait for a
                provisional response acknowledgement before sending the early
                media stream.

                  * Disable: The activation of the early media stream is
                    triggered by the transmission of a provisional response
                    (i.e. SIP 18X).
                  * Enable: The activation of the early media stream is
                    triggered by the transmission of the final positive
                    response of a provisional response acknowledgement (i.e.
                    200 OK of PRACK).

                In any case, the SIP SDP negotiation is not altered by this
                interop parameter.

                This parameter has an effect only when:

                  * the UasPrackSupport parameter is set to 'supported',
                  * the received SIP INVITE contains SDP and a '100rel'
                    option-tag header (i.e. PRACK), and
                  * early media negotiation is completed and ready to be
                    played towards the remote SIP peer.

                "
  DEFVAL        { disable }
  ::= { interopGroup 7000 }

 -- Scalar:Send 183 With SDP Before Sending 180 Witout SDP

 interopSend183WithSdpBefore180WithoutSdp OBJECT-TYPE
  SYNTAX        MxEnableState
  MAX-ACCESS    read-write
  STATUS        current
  DESCRIPTION " Send 183 With SDP Before Sending 180 Witout SDP

                This parameter specifies if the system must send a 183 with
                SDP before sending a 180 without SDP.

                  * Disable: Do not send a 183 with SDP before a 180 without
                    SDP.
                  * Enable: Send a 183 with SDP before sending a 180 without
                    SDP. Even if the 183 with SDP completes the media
                    negotiation, the system will start sending media only
                    after sending the 200 OK.

                Enabling this parameter may improve interoperability with
                VoLTE endpoints.

                This parameter has an effect only when:

                  * the UasPrackSupport parameter is set to 'supported',
                  * the received SIP INVITE contains SDP and a '100rel'
                    option-tag header (i.e. PRACK), and
                  * the call destination is an FXS endpoint.

                "
  DEFVAL        { disable }
  ::= { interopGroup 7100 }

 -- Scalar:Collect Call Proprietary Header

 interopCollectCallProprietaryHeader OBJECT-TYPE
  SYNTAX        INTEGER { ignore(100) , relay(200) , block(300) }
  MAX-ACCESS    read-write
  STATUS        current
  DESCRIPTION " Collect Call Proprietary Header

                Defines how the reception of a collect call, also known as
                'reverse charging' call, is handled:

                  * Ignore: Ignore the 'Collect Call' header and relay the
                    call as a normal call.
                  * Relay: Relay the call as a collect call to the ISDN or R2
                    telephony lines.
                  * Block: Upon reception, reject with a 603 Decline all
                    incoming calls with the collect call header.

                This is supported only if the incoming SIP INVITE has this
                proprietary header:

                  * P-Asserted-Service-Info: service-code=Collect Call

                "
  DEFVAL        { ignore }
  ::= { interopGroup 7200 }

 -- ***************************************************************************
 
 -- Group:DTMF Group

 -- ***************************************************************************
 
 interopDtmfGroup OBJECT IDENTIFIER
  ::= { interopGroup 50000 }
  -- Scalar:DTMF Transport Method With SIP

  interopDtmfTransportMethod OBJECT-TYPE
   SYNTAX        INTEGER { draftChoudhuriSipInfoDigit00(100) , infoDtmfRelay
                 (200) }
   MAX-ACCESS    read-write
   STATUS        current
   DESCRIPTION " DTMF Transport Method With SIP

                 Configures the method used to transmit DTMFs over the SIP
                 protocol.

                 This parameter is effective only if the endpoint is configured
                 to use the DTMF out-of-band by protocol transport method
                 ('OutOfBandUsingSignalingProtocol'; refer to the
                 DefaultDtmfTransportMethod parameter).

                   * DraftChoudhuriSipInfoDigit00: The unit will negotiate
                     rtpmap:111 X-nt-inforeq, and if the peer supports it, will
                     send DTMF using SIP INFO and Content-Type: application/
                     vnd.nortelnetworks.digits. Otherwise falls back to Inband.
                   * InfoDtmfRelay: Transmit DTMFs by using a custom method.
                     This custom method requires no SDP negotiation and assumes
                     that the other peer uses the same method. When sending
                     DTMF, it mutes the audio and uses a SIP INFO message with
                     application/dtmf-relay content type. The body of the
                     message contains the transmitted DTMF and the duration of
                     the DTMF:
                       + Signal = 1
                       + duration = 160

                     When transmitting, the duration is the one set in the
                     InteropDtmfTransportduration parameter.

                     When receiving, the duration of the received DTMF will be
                     ignored, the DTMF will be played accordingly to the
                     selected country dialing settings, see the
                     TelIf.CountrySelection parameter. The DTMF duration can be
                     overridden by the
                     TelIf.DefaultCountryCustomizationDialingDtmfDuration
                     parameter.

                     DTMFs are transmitted one at a time.

                     Available digits are '0123456789ABCD*#'. The Mediatrix
                     unit also supports the ',;p' characters when receiving
                     DTMFs.

                 "
   DEFVAL        { draftChoudhuriSipInfoDigit00 }
   ::= { interopDtmfGroup 100 }

  -- Scalar:DTMF Duration

  interopDtmfTransportDuration OBJECT-TYPE
   SYNTAX        Integer32 ( 50..2000 )
   MAX-ACCESS    read-write
   STATUS        current
   DESCRIPTION " DTMF Duration

                 Configures the DTMF duration sent in the INFO message when
                 using the 'InfoDtmfRelay' method (refer to the
                 InteropDtmfTransportMethod parameter).

                 This value is expressed in milliseconds (ms).

                 "
   DEFVAL        { 100 }
   ::= { interopDtmfGroup 200 }

 -- End of group:DTMF Group

-- End of group:Interop Group

-- ****************************************************************************

-- Group:Monitoring Group

-- ****************************************************************************

monitoringGroup OBJECT IDENTIFIER
 ::= { sipEpMIBObjects 50500 }
 -- Scalar:Sip Notifications Gateway

 sipNotificationsGateway OBJECT-TYPE
  SYNTAX        OCTET STRING
  MAX-ACCESS    read-write
  STATUS        current
  DESCRIPTION " Sip Notifications Gateway

                Defines the SIP gateway used to send SIP NOTIFY containing the
                notification events. Notification events are configured in the
                Nlm.Events table.

                "
  DEFVAL        { "default" }
  ::= { monitoringGroup 100 }

 -- Scalar:Maximal Number of Notifications Per Notify

 maxNotificationsPerNotify OBJECT-TYPE
  SYNTAX        Unsigned32 ( 1..25 )
  MAX-ACCESS    read-write
  STATUS        current
  DESCRIPTION " Maximal Number of Notifications Per Notify

                Defines the maximal number of notification events the device
                may have to send in one SIP NOTIFY request. Notifications are
                sent in XML elements through the SIP NOTIFY's body request.
                "
  DEFVAL        { 5 }
  ::= { monitoringGroup 200 }

-- End of group:Monitoring Group

-- ****************************************************************************

-- Group:Debug Group

-- ****************************************************************************

debugGroup OBJECT IDENTIFIER
 ::= { sipEpMIBObjects 51000 }
 -- Scalar:Enable/Disable Debug Signaling Log

 debugSignalingLogEnable OBJECT-TYPE
  SYNTAX        MxEnableState
  MAX-ACCESS    read-write
  STATUS        current
  DESCRIPTION " Enable/Disable Debug Signaling Log

                Enables the logging client debugging tool for IP telephony
                signaling.
                "
  DEFVAL        { disable }
  ::= { debugGroup 100 }

 -- Scalar:Debug Signaling Log Host

 debugSignalingLogHost OBJECT-TYPE
  SYNTAX        MxIpHostNamePort
  MAX-ACCESS    read-write
  STATUS        current
  DESCRIPTION " Debug Signaling Log Host

                Logging client FQDN and port.

                The default port is 6000.

                "
  DEFVAL        { "192.168.10.10:0" }
  ::= { debugGroup 200 }

 -- Scalar:Debug Snapshot Time

 debugContextSnapshotTime OBJECT-TYPE
  SYNTAX        Unsigned32 ( 0..10080 )
  MAX-ACCESS    read-write
  STATUS        current
  DESCRIPTION " Debug Snapshot Time

                Sets the time between snapshots.

                The list of contexts currently in use in the sipFramework and
                sipApplication are periodically output as debug-level syslog
                messages.

                Note that for this feature to work, the system log severity
                level must be set to 'debug', and the syslog feature must be
                properly configured.

                Note that enabling this feature also triggers an instant
                snapshot.

                To disable this feature, set this parameter to zero (0).

                This value is expressed in minutes (min).

                "
  DEFVAL        { 0 }
  ::= { debugGroup 300 }

-- End of group:Debug Group

-- ****************************************************************************

-- Group:Notification Messages Configuration

-- ****************************************************************************

notificationsGroup OBJECT IDENTIFIER
 ::= { sipEpMIBObjects 60010 }
 -- Scalar:Minimal Severity of Notification

 minSeverity OBJECT-TYPE
  SYNTAX        INTEGER { disable(0) , debug(100) , info(200) , warning(300) ,
                error(400) , critical (500) }
  MAX-ACCESS    read-write
  STATUS        current
  DESCRIPTION " Minimal Severity of Notification

                Sets the minimal severity to issue a notification message
                incoming from this service.

                  * Disable: No notification is issued.
                  * Debug: All notification messages are issued.
                  * Info: Notification messages with a 'Informational' and
                    higher severity are issued.
                  * Warning: Notification messages with a 'Warning' and higher
                    severity are issued.
                  * Error: Notification messages with an 'Error' and higher
                    severity are issued.
                  * Critical: Notification messages with a 'Critical' severity
                    are issued.

                "
  DEFVAL        { warning }
  ::= { notificationsGroup 100 }

-- End of group:Notification Messages Configuration

-- ****************************************************************************

-- Group:Configuration Settings

-- ****************************************************************************

configurationGroup OBJECT IDENTIFIER
 ::= { sipEpMIBObjects 60020 }
 -- Scalar:Need Restart

 needRestartInfo OBJECT-TYPE
  SYNTAX        INTEGER { no(0) , yes(100) }
  MAX-ACCESS    read-only
  STATUS        current
  DESCRIPTION " Need Restart

                Indicates if the service needs to be restarted for the
                configuration to fully take effect.

                  * Yes: Service needs to be restarted.
                  * No: Service does not need to be restarted.

                Services can be restarted by using the
                Scm.ServiceCommands.Restart command.

                "
  ::= { configurationGroup 100 }

-- End of group:Configuration Settings

END
