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

MX-SUBSCRIBER-SERVICES-MIB
DEFINITIONS ::= BEGIN

IMPORTS
        MODULE-IDENTITY,
        OBJECT-TYPE,
        Unsigned32
    FROM SNMPv2-SMI
        MODULE-COMPLIANCE,
        OBJECT-GROUP
    FROM SNMPv2-CONF
        ifIndex
    FROM RFC1213-MIB
        MxEnableState,
        MxActivationState
    FROM MX-TC
        mediatrixConfig
    FROM MX-SMI;

subscriberServicesMIB MODULE-IDENTITY
    LAST-UPDATED "201007300000Z"
    ORGANIZATION "Mediatrix Telecom, Inc."
    CONTACT-INFO "Mediatrix Telecom, Inc.
                  4229, Garlock Street
                  Sherbrooke (Quebec)
                  Canada
                  Phone: (819) 829-8749
                  "
    DESCRIPTION  "This MIB is used to configure the availability of the different
                  basic subscriber services, such as call hold and conference,
                  as well as more advanced services, such as call waiting and
                  call forwarding preferences."


    -- ************************************************************************
    -- Revision history
    -- ************************************************************************
    REVISION    "201007300000Z"
    DESCRIPTION "Updated subscriberServicesProcessingTrigger."
    REVISION    "200806120000Z"
    DESCRIPTION "Updated subscriberServicesConferenceEnable."
    REVISION    "200806100000Z"
    DESCRIPTION "Added subscriberServicesCallWaitingPermanentDigitMapEnable and
                 subscriberServicesCallWaitingPermanentDigitMapDisable to the
                 subscriberServicesActivationDigitmaps group."
    REVISION    "200507140000Z"
    DESCRIPTION "Added subscriberServicesProcessingTrigger variable under new
                 group subscriberServicesProcessing."
    REVISION    "200305280000Z"
    DESCRIPTION "May 28, 2003
                    Corrected mistakes in description of subscriberServicesCallWaitingEnable and
                    subscriberServicesCallWaitingCancelDigitMap
                 May 1, 2003
                    Replaced 'unconditionnal' by 'unconditional' everywhere.
                 April 29, 2003
                    Changed the OID of subscriberServicesMIB.
                 April 28, 2003
                    - In the following SEQUENCE objects:
                        SubscriberServicesIfEnablingEntry,
                        SubscriberServicesIfStatusEntry and
                        SubscriberServicesIfCallForwardActivationEntry
                      Made sure syntaxes are in synch with the actual objects syntax.
                    - Variables subscriberServicesBlindTransferEnable
                      and subscriberServicesConferenceEnable has varying semantics depending
                      on the signaling protocol.
                 March 03, 2003
                    Creation.
                    The following variables were moved from MX-TELEPHONY-SERVICES-MIB
                    to this MIB, (the prefix was renamed to subscriberServices):

                    telephonyServicesCallForwardUnconditionalEnableDigitMap
                    telephonyServicesCallForwardUnconditionalDisableDigitMap
                    telephonyServicesCallForwardUnconditionalEnable
                    telephonyServicesCallForwardUnconditionalForwardingAddress
                    telephonyServicesCallForwardUnconditionalActivation
                    telephonyServicesCallForwardOnBusyEnableDigitMap
                    telephonyServicesCallForwardOnBusyDisableDigitMap
                    telephonyServicesCallForwardOnBusyEnable
                    telephonyServicesCallForwardOnBusyForwardingAddress
                    telephonyServicesCallForwardOnBusyActivation
                    telephonyServicesCallForwardOnNoAnswerEnableDigitMap
                    telephonyServicesCallForwardOnNoAnswerDisableDigitMap
                    telephonyServicesCallForwardOnNoAnswerEnable
                    telephonyServicesCallForwardOnNoAnswerForwardingAddress
                    telephonyServicesCallForwardOnNoAnswerTimeout
                    telephonyServicesCallForwardOnNoAnswerActivation
                    telephonyServicesCallWaitingCancelDigitMap"
    ::= { mediatrixConfig 62 }

subscriberServicesMIBObjects OBJECT IDENTIFIER ::= { subscriberServicesMIB 1 }
subscriberServicesConformance OBJECT IDENTIFIER ::= { subscriberServicesMIB 2 }


    -- ************************************************************************
    -- Enable/Disable Subscriber Services table parameters
    -- ************************************************************************
    subscriberServicesIfEnablingTable OBJECT-TYPE
        SYNTAX      SEQUENCE OF SubscriberServicesIfEnablingEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION "A table of the basic subscriber services configuration for
                     the interface, indexed by the interface number."
        ::= { subscriberServicesMIBObjects 10 }

        subscriberServicesIfEnablingEntry OBJECT-TYPE
            SYNTAX      SubscriberServicesIfEnablingEntry
            MAX-ACCESS  not-accessible
            STATUS      current
            DESCRIPTION "A row in the subscriberServicesIfEnablingTable table.
                         It contains the configuration of the basic subscriber
                         services for this interface."
            INDEX       {
                            ifIndex
                        }
            ::= { subscriberServicesIfEnablingTable 1 }

            SubscriberServicesIfEnablingEntry ::= SEQUENCE
                {
                    subscriberServicesHoldEnable                        MxEnableState,
                    subscriberServicesCallWaitingEnable                 MxEnableState,
                    subscriberServicesSecondCallEnable                  MxEnableState,
                    subscriberServicesBlindTransferEnable               MxEnableState,
                    subscriberServicesAttendedTransferEnable            MxEnableState,
                    subscriberServicesConferenceEnable                  MxEnableState,
                    subscriberServicesCallForwardUnconditionalEnable   MxEnableState,
                    subscriberServicesCallForwardOnBusyEnable           MxEnableState,
                    subscriberServicesCallForwardOnNoAnswerEnable       MxEnableState
                }

            subscriberServicesHoldEnable OBJECT-TYPE
                SYNTAX  MxEnableState
                MAX-ACCESS  read-write
                STATUS      current
                DESCRIPTION "Enable/Disable the holding service.

                             With this service enabled, an active call can be temporarily put on hold,
                             usually by using the 'flash' button of the telephone. The user can resume the
                             call in the same way.

                             This service has no dependencies on other services being enabled."
                DEFVAL      { enable }
                ::= { subscriberServicesIfEnablingEntry 5 }

            subscriberServicesCallWaitingEnable OBJECT-TYPE
                SYNTAX  MxEnableState
                MAX-ACCESS  read-write
                STATUS      current
                DESCRIPTION "Enable/Disable the call waiting service.

                             With this service enabled, new calls received by an endpoint during an already
                             active call on that endpoint will result in the endpoint hearing a special tone
                             indicating that a call is waiting on the second line. The user may then answer
                             that call by using the 'flash' button of the telephone. The user will be able
                             to switch between the two active calls by using the 'flash' button.

                             For this service to be enabled, the call hold service must be enabled as well.

                             The user cancels this service on a per-call basis when dialing a DTMF sequence
                             matching the digit map stored in subscriberServicesCallWaitingCancelDigitMap. To
                             disable or enable this service permanently, the subscriberServicesCallWaitingPermanentDigitMapEnable
                             and subscriberServicesCallWaitingPermanentDigitMapDisable digit maps must be used.

                             See subscriberServicesHoldEnable, subscriberServicesCallWaitingCancelDigitMap,
                             subscriberServicesCallWaitingPermanentDigitMapEnable and subscriberServicesCallWaitingPermanentDigitMapDisable"
                DEFVAL      { enable }
                ::= { subscriberServicesIfEnablingEntry 10 }

            subscriberServicesSecondCallEnable OBJECT-TYPE
                SYNTAX  MxEnableState
                MAX-ACCESS  read-write
                STATUS      current
                DESCRIPTION "Enable/Disable the second call service.

                             With this service enabled, a user with an active call can put the call on hold
                             and initiate a new call on the second line.

                             This service is most useful in conjunction with the transfer and conference
                             services.

                             For this service to be enabled, the call hold service must be enabled as well.

                             See subscriberServicesHoldEnable."
                DEFVAL      { enable }
                ::= { subscriberServicesIfEnablingEntry 15 }

            subscriberServicesBlindTransferEnable OBJECT-TYPE
                SYNTAX  MxEnableState
                MAX-ACCESS  read-write
                STATUS      current
                DESCRIPTION "Enable/Disable the blind call transfer service, sometimes called Transfer
                             without Consultation, or Unattended Transfer.

                             With this service enabled, a user can transfer a call on hold to a still
                             ringing (unanswered) call.

                             Starting with an active call, a user can put the call on hold, initiate a call
                             to a third party, then transfer the participant that is currently on hold to
                             the third party. This must be done before the third party has answered. In case
                             the third party answers, the transfer becomes an Attended Transfer.

                             The transfer is triggered by the user hanging up the handset.

                             The remaining calls (held call and ringing call with third party) are then
                             connected together. The held call will be automatically unheld and will hear
                             the ringback tone provided by the third party's ringing.

                             For this service to be enabled, the call hold AND second call services must be
                             enabled as well.

                             See subscriberServicesHoldEnable and subscriberServicesSecondCallEnable.

                             Also see subscriberServicesAttendedTransferEnable for a variation of the
                             transfer method.

                             This variable's semantics are different depending on protocol and/or hardware
                             platforms. Please refer to the documentation shipped with your device for more
                             details."
                DEFVAL      { enable }
                ::= { subscriberServicesIfEnablingEntry 20 }

            subscriberServicesAttendedTransferEnable OBJECT-TYPE
                SYNTAX  MxEnableState
                MAX-ACCESS  read-write
                STATUS      current
                DESCRIPTION "Enable/Disable the attended call transfer service, sometimes called Transfer
                             with Consultation.

                             With this service enabled, a user can transfer a call on hold to an active
                             call.

                             Starting with an active call, a user can put the call on hold, initiate a call
                             to a third party, wait for the third party to answer, then transfer the
                             participant that is currently on hold to the third party.

                             The transfer is triggered by the user hanging up the handset. The remaining
                             calls (held call and active call with third party) are then connected together.

                             For this service to be enabled, the call hold AND second call services must be
                             enabled as well.

                             See subscriberServicesHoldEnable and subscriberServicesSecondCallEnable."
                DEFVAL      { enable }
                ::= { subscriberServicesIfEnablingEntry 25 }

            subscriberServicesConferenceEnable OBJECT-TYPE
                SYNTAX  MxEnableState
                MAX-ACCESS  read-write
                STATUS      current
                DESCRIPTION "Enable/Disable the call conference service.

                             With this service enabled, a user can link two or more calls together to form
                             a single conversation, called a conference.

                             Starting with an active call, a user can put the call on hold, initiate a call
                             to a third party, wait for the third party to answer, then use the 'flash'
                             button of the telephone to start the conference with the call that is already
                             on hold.

                             * Supported conference type depends on protocol and/or hardware platforms.
                               Please refer to the documentation shipped with your device for more details.

                             * Currently, a participant of the conference can put the conference on hold and
                               attempt other calls. This participant may then rejoin the conference at a
                               later time by unholding it. The endpoint that has initiated the conference is
                               NOT able to put the conference on hold.

                             For this service to be enabled, the call hold AND second call services must be
                             enabled as well.

                             See subscriberServicesHoldEnable and subscriberServicesSecondCallEnable.

                             This variable's semantics are different depending on protocol and/or hardware
                             platforms. Please refer to the documentation shipped with your device for more
                             details."
                DEFVAL      { enable }
                ::= { subscriberServicesIfEnablingEntry 30 }

            subscriberServicesCallForwardUnconditionalEnable OBJECT-TYPE
                SYNTAX  MxEnableState
                MAX-ACCESS  read-write
                STATUS      current
                DESCRIPTION "Enable/Disable the unconditional call forward service.

                             This service allows a user to forward ALL incoming calls to a specified target.
                             A short ring will be emitted to alert the user that the call has been
                             forwarded, but the user will not be able to pick up the call from that
                             location.

                             If enabled, the user can dial the digit maps for enabling and disabling this
                             service.

                             See subscriberServicesCallForwardUnconditionalForwardingAddress."
                DEFVAL      { disable }
                ::= { subscriberServicesIfEnablingEntry 35 }

            subscriberServicesCallForwardOnBusyEnable OBJECT-TYPE
                SYNTAX  MxEnableState
                MAX-ACCESS  read-write
                STATUS      current
                DESCRIPTION "Enable/Disable the call forward on busy service.

                             This service allows a user to forward incoming calls to a specified target when
                             the user is already participating in another call.

                             The user will not have any feedback that a call was forwarded.

                             If enabled, the user can dial the digit maps for enabling and disabling this
                             service.

                             See subscriberServicesCallForwardOnBusyForwardingAddress."
                DEFVAL      { disable }
                ::= { subscriberServicesIfEnablingEntry 40 }

            subscriberServicesCallForwardOnNoAnswerEnable OBJECT-TYPE
                SYNTAX  MxEnableState
                MAX-ACCESS  read-write
                STATUS      current
                DESCRIPTION "Enable/Disable the call forward on no answer service.

                             This service allows a user to forward incoming calls to a specified target when
                             the user is unable to pick up the call before the timeout, specified by
                             subscriberServicesCallForwardOnNoAnswerTimeout expires.

                             The user will not have any feedback that a call was forwarded.

                             If enabled, the user can dial the digit maps for enabling and disabling this
                             service.

                             See subscriberServicesCallForwardOnNoAnswerForwardingAddress and
                             subscriberServicesCallForwardOnNoAnswerTimeout."
                DEFVAL      { disable }
                ::= { subscriberServicesIfEnablingEntry 45 }

    -- ************************************************************************
    --  Subscriber Services Status table parameters
    -- ************************************************************************
    subscriberServicesIfStatusTable OBJECT-TYPE
        SYNTAX      SEQUENCE OF SubscriberServicesIfStatusEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION "A table of the basic subscriber services statuses for
                     the interface, indexed by the interface number."
        ::= { subscriberServicesMIBObjects 15 }

        subscriberServicesIfStatusEntry OBJECT-TYPE
            SYNTAX      SubscriberServicesIfStatusEntry
            MAX-ACCESS  not-accessible
            STATUS      current
            DESCRIPTION "A row in the subscriberServicesIfStatusTable table.
                         It contains the status of the basic subscriber
                         services for this interface."
            INDEX       {
                            ifIndex
                        }
            ::= { subscriberServicesIfStatusTable 1 }

            SubscriberServicesIfStatusEntry ::= SEQUENCE
                {
                    subscriberServicesHoldStatus             MxActivationState,
                    subscriberServicesCallWaitingStatus      MxActivationState,
                    subscriberServicesSecondCallStatus       MxActivationState,
                    subscriberServicesBlindTransferStatus    MxActivationState,
                    subscriberServicesAttendedTransferStatus MxActivationState,
                    subscriberServicesConferenceStatus       MxActivationState
                }


            subscriberServicesHoldStatus OBJECT-TYPE
                SYNTAX  MxActivationState
                MAX-ACCESS  read-only
                STATUS      current
                DESCRIPTION "Status of the holding service.

                             See subscriberServicesHoldEnable."
                DEFVAL      { active }
                ::= { subscriberServicesIfStatusEntry 5 }

            subscriberServicesCallWaitingStatus OBJECT-TYPE
                SYNTAX  MxActivationState
                MAX-ACCESS  read-only
                STATUS      current
                DESCRIPTION "Status of the call waiting service.

                             See subscriberServicesCallWaitingEnable."
                DEFVAL      { active }
                ::= { subscriberServicesIfStatusEntry 10 }

            subscriberServicesSecondCallStatus OBJECT-TYPE
                SYNTAX  MxActivationState
                MAX-ACCESS  read-only
                STATUS      current
                DESCRIPTION "Status of the second call service.

                             See subscriberServicesSecondCallEnable."
                DEFVAL      { active }
                ::= { subscriberServicesIfStatusEntry 15 }

            subscriberServicesBlindTransferStatus OBJECT-TYPE
                SYNTAX  MxActivationState
                MAX-ACCESS  read-only
                STATUS      current
                DESCRIPTION "Status of the blind transfer service.

                             See subscriberServicesBlindTransferEnable."
                DEFVAL      { active }
                ::= { subscriberServicesIfStatusEntry 20 }

            subscriberServicesAttendedTransferStatus OBJECT-TYPE
                SYNTAX  MxActivationState
                MAX-ACCESS  read-only
                STATUS      current
                DESCRIPTION "Status of the attended transfer service.

                             See subscriberServicesAttendedTransferEnable."
                DEFVAL      { active }
                ::= { subscriberServicesIfStatusEntry 25 }

            subscriberServicesConferenceStatus OBJECT-TYPE
                SYNTAX  MxActivationState
                MAX-ACCESS  read-only
                STATUS      current
                DESCRIPTION "Status of the conference service.

                             See subscriberServicesConferenceEnable."
                DEFVAL      { active }
                ::= { subscriberServicesIfStatusEntry 30 }

    -- ************************************************************************
    --  Subscriber Services - Call Forward Activation Table
    -- ************************************************************************

    subscriberServicesIfCallForwardActivationTable OBJECT-TYPE
        SYNTAX      SEQUENCE OF SubscriberServicesIfCallForwardActivationEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION "A table of the call forward activation statuses for
                     the interface, indexed by the interface number."
        ::= { subscriberServicesMIBObjects 21 }

        subscriberServicesIfCallForwardActivationEntry OBJECT-TYPE
            SYNTAX      SubscriberServicesIfCallForwardActivationEntry
            MAX-ACCESS  not-accessible
            STATUS      current
            DESCRIPTION "A row in the subscriberServicesIfCallForwardActivationTable table.
                         It contains the status of the basic subscriber
                         services for this interface."
            INDEX       {
                            ifIndex
                        }
            ::= { subscriberServicesIfCallForwardActivationTable 1 }

            SubscriberServicesIfCallForwardActivationEntry ::= SEQUENCE
                {
                    subscriberServicesCallForwardUnconditionalActivation           MxActivationState,
                    subscriberServicesCallForwardUnconditionalForwardingAddress    OCTET STRING,
                    subscriberServicesCallForwardOnBusyActivation                   MxActivationState,
                    subscriberServicesCallForwardOnBusyForwardingAddress            OCTET STRING,
                    subscriberServicesCallForwardOnNoAnswerActivation               MxActivationState,
                    subscriberServicesCallForwardOnNoAnswerForwardingAddress        OCTET STRING,
                    subscriberServicesCallForwardOnNoAnswerTimeout                  Unsigned32
                }

            subscriberServicesCallForwardUnconditionalActivation OBJECT-TYPE
                SYNTAX  MxActivationState
                MAX-ACCESS  read-write
                STATUS      current
                DESCRIPTION "Activation status of the unconditional call forward service.

                             Using the digit maps configured for this service, the user can use his/her
                             handset to activate or deactivate this service. In that case, the variable will
                             be automatically updated to reflect the activation status.

                             This service can also be activated or deactivated by setting the value of this
                             variable."
                DEFVAL      { inactive }
                ::= { subscriberServicesIfCallForwardActivationEntry 5 }

            subscriberServicesCallForwardUnconditionalForwardingAddress OBJECT-TYPE
                SYNTAX  OCTET STRING (SIZE(0..127))
                MAX-ACCESS  read-write
                STATUS      current
                DESCRIPTION "A string that represents the address or telephone number to which the user
                             wants to forward calls.

                             This variable's semantics are different depending on protocol and/or hardware
                             platforms. Please refer to the documentation shipped with your device for more
                             details."
                DEFVAL      { "" }
                ::= { subscriberServicesIfCallForwardActivationEntry 10 }

            subscriberServicesCallForwardOnBusyActivation OBJECT-TYPE
                SYNTAX  MxActivationState
                MAX-ACCESS  read-write
                STATUS      current
                DESCRIPTION "Activation status of the call forward on busy service.

                             Using the digit maps configured for this service, the user can use his/her
                             handset to activate or deactivate this service. In that case, the variable will
                             be automatically updated to reflect the activation status.

                             This service can also be activated or deactivated by setting the value of this
                             variable."
                DEFVAL      { inactive }
                ::= { subscriberServicesIfCallForwardActivationEntry 15 }

            subscriberServicesCallForwardOnBusyForwardingAddress OBJECT-TYPE
                SYNTAX  OCTET STRING (SIZE(0..127))
                MAX-ACCESS  read-write
                STATUS      current
                DESCRIPTION "A string that represents the address or telephone number to which the user
                             wants to forward calls.

                             This variable's semantics are different depending on protocol and/or hardware
                             platforms. Please refer to the documentation shipped with your device for more
                             details."
                DEFVAL      { "" }
                ::= { subscriberServicesIfCallForwardActivationEntry 20 }

            subscriberServicesCallForwardOnNoAnswerActivation OBJECT-TYPE
                SYNTAX  MxActivationState
                MAX-ACCESS  read-write
                STATUS      current
                DESCRIPTION "Activation status of the call forward on no answer service.

                             Using the digit maps configured for this service, the user can use his/her
                             handset to activate or deactivate this service. In that case, the variable will
                             be automatically updated to reflect the activation status.

                             This service can also be activated or deactivated by setting the value of this
                             variable."
                DEFVAL      { inactive }
                ::= { subscriberServicesIfCallForwardActivationEntry 25 }

            subscriberServicesCallForwardOnNoAnswerForwardingAddress OBJECT-TYPE
                SYNTAX  OCTET STRING (SIZE(0..127))
                MAX-ACCESS  read-write
                STATUS      current
                DESCRIPTION "A string that represents the address or telephone number to which the user
                             wants to forward calls.

                             This variable's semantics are different depending on protocol and/or
                             hardware platforms.
                             Please refer to the documentation shipped with your device for more details."
                DEFVAL      { "" }
                ::= { subscriberServicesIfCallForwardActivationEntry 30 }

            subscriberServicesCallForwardOnNoAnswerTimeout OBJECT-TYPE
                SYNTAX  Unsigned32(200..120000)
                MAX-ACCESS  read-write
                STATUS      current
                DESCRIPTION "Time the telephone will keep ringing before the call
                             forwarding activates, in milliseconds."
                DEFVAL      { 5000 }
                ::= { subscriberServicesIfCallForwardActivationEntry 35 }


    -- ************************************************************************
    -- Activation Digitmaps
    -- ************************************************************************
    subscriberServicesActivationDigitmaps OBJECT IDENTIFIER ::= { subscriberServicesMIBObjects 25 }

    subscriberServicesCallForwardUnconditionalEnableDigitMap OBJECT-TYPE
        SYNTAX  OCTET STRING (SIZE(0..63))
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION "Digit map the user can dial to enable the application of the service.

                     This digit map must follow the syntax for digit maps as declared in the digit
                     maps MIB.

                     Note that dialing this digit map will not have any effect unless the service's
                     status is 'enabled'.

                     See subscriberServicesCallForwardUnconditionalEnable."
        DEFVAL      { "" }
        ::= { subscriberServicesActivationDigitmaps 5 }

    subscriberServicesCallForwardUnconditionalDisableDigitMap OBJECT-TYPE
        SYNTAX  OCTET STRING (SIZE(0..63))
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION "Digit map the user can dial to disable the application of the service.

                     This digit map must follow the syntax for digit maps as declared in the digit
                     maps MIB.

                     Note that dialing this digit map will not have any effect unless the service's
                     status is 'enabled'.

                     See subscriberServicesCallForwardUnconditionalEnable."
        DEFVAL      { "" }
        ::= { subscriberServicesActivationDigitmaps 10 }

    subscriberServicesCallForwardOnBusyEnableDigitMap OBJECT-TYPE
        SYNTAX  OCTET STRING (SIZE(0..63))
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION "Digit map the user can dial to enable the application of the service.

                     This digit map must follow the syntax for digit maps as declared in the digit
                     maps MIB.

                     Note that dialing this digit map will not have any effect unless the service's
                     status is 'enabled'.

                     See subscriberServicesCallForwardOnBusyEnable."
        DEFVAL      { "" }
        ::= { subscriberServicesActivationDigitmaps 15 }

    subscriberServicesCallForwardOnBusyDisableDigitMap OBJECT-TYPE
        SYNTAX  OCTET STRING (SIZE(0..63))
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION "Digit map the user can dial to disable the application of the service.

                     This digit map must follow the syntax for digit maps as declared in the digit
                     maps MIB.

                     Note that dialing this digit map will not have any effect unless the service's
                     status is 'enabled'.

                     See subscriberServicesCallForwardOnBusyEnable."
        DEFVAL      { "" }
        ::= { subscriberServicesActivationDigitmaps 20 }

    subscriberServicesCallForwardOnNoAnswerEnableDigitMap OBJECT-TYPE
        SYNTAX  OCTET STRING (SIZE(0..63))
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION "Digit map the user can dial to enable the application of the service.

                     This digit map must follow the syntax for digit maps as declared in the digit
                     maps MIB.

                     Note that dialing this digit map will not have any effect unless the service's
                     status is 'enabled'.

                     See subscriberServicesCallForwardOnNoAnswerEnable."
        DEFVAL      { "" }
        ::= { subscriberServicesActivationDigitmaps 25 }

    subscriberServicesCallForwardOnNoAnswerDisableDigitMap OBJECT-TYPE
        SYNTAX  OCTET STRING (SIZE(0..63))
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION "Digit map the user can dial to disable the application of the service.

                     This digit map must follow the syntax for digit maps as declared in the digit
                     maps MIB.

                     Note that dialing this digit map will not have any effect unless the service's
                     status is 'enabled'.

                     See subscriberServicesCallForwardOnNoAnswerEnable."
        DEFVAL      { "" }
        ::= { subscriberServicesActivationDigitmaps 30 }

    subscriberServicesCallWaitingCancelDigitMap OBJECT-TYPE
        SYNTAX  OCTET STRING (SIZE(0..63))
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION "Digit map the user can dial to disable the call waiting service.
                     This service is cancelled on a per-call basis.

                     This digit map must follow the syntax for digit maps as declared in the digit
                     maps MIB.

                     Note that dialing this digit map will not have any effect unless the Call
                     Waiting service's status is 'enabled'.

                     See subscriberServicesCallWaitingEnable."
        DEFVAL      { "" }
        ::= { subscriberServicesActivationDigitmaps 35 }

    subscriberServicesCallWaitingPermanentDigitMapEnable OBJECT-TYPE
        SYNTAX  OCTET STRING (SIZE(0..63))
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION "Digit map the user can dial to enable the call waiting service permanently.
                     The subscriberServicesCallWaitingEnable variable for the line the user is
                     currently using is set to 'enable' when this digit map is executed successfully.

                     This digit map must follow the syntax for digit maps as declared in the digit
                     maps MIB.

                     See subscriberServicesCallWaitingEnable."
        DEFVAL      { "" }
        ::= { subscriberServicesActivationDigitmaps 40 }

    subscriberServicesCallWaitingPermanentDigitMapDisable OBJECT-TYPE
        SYNTAX  OCTET STRING (SIZE(0..63))
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION "Digit map the user can dial to disable the call waiting service permanently.
                     The subscriberServicesCallWaitingEnable variable for the line the user is
                     currently using is set to 'disable' when this digit map is executed successfully.

                     This digit map must follow the syntax for digit maps as declared in the digit
                     maps MIB.

                     See subscriberServicesCallWaitingEnable."
        DEFVAL      { "" }
        ::= { subscriberServicesActivationDigitmaps 45 }

    -- ************************************************************************
    -- subscriberServicesProcessing
    -- ************************************************************************
    subscriberServicesProcessing OBJECT IDENTIFIER ::= { subscriberServicesMIBObjects 50 }

    subscriberServicesProcessingTrigger OBJECT-TYPE
        SYNTAX      INTEGER {
                             flashHook(0),
                             flashHookAndDigits(1)
                            }
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION "Selects which action the user must perform to trigger a service change.

                     flashHook:
                        The user must perform a flash hook to activate a service.

                     flashHookAndDigits:
                        The user must perform a flash hook and enter a digit to activate a service.
                        The digit dialed has a different behavior depending on the current call context:

                        One call active and one waiting call:
                            Flash hook then dial the digit 2: Answer the waiting call.

                        One call active and one call on hold:
                            Flash hook then dial the digit 1: Terminate the active call and recover the
                                                              call on hold.
                            Flash hook then dial the digit 2: Hold the active call and recover the call
                                                              on hold.
                            Flash hook then dial the digit 3: Enter the conference mode.
                            Flash hook then dial the digit 4: Transfer the call on hold to the active call.

                            When hanging up in this context, the phone rings to notify
                            the user there is still a call on hold.

                        In conference mode:
                            Flash hook then dial the digit 2: Return to one active call and one call on hold.
                            Flash hook then dial the digit 4: Transfer the second active call to the first active call.

                            When hanging up in this context, all calls are finished.

                     As example, the following are the steps to perform a conference call:
                        1. Call the first attendee.
                        2. Flash hook to put the first attendee on hold.
                        3. Call the second attendee.  The context is now one call active and
                           one call on hold.
                        4. Flash hook then dial the digit 3 to start the conference call."

        DEFVAL      { flashHook }
        ::= { subscriberServicesProcessing 5 }


    -- ************************************************************************
    -- Conformance information
    -- ************************************************************************
    subscriberServicesCompliances OBJECT IDENTIFIER ::= { subscriberServicesConformance 1 }

    subscriberServicesComplVer1 MODULE-COMPLIANCE
        STATUS      current
        DESCRIPTION
            "List of groups required to support subscriber services."
        MODULE  -- This Module
            MANDATORY-GROUPS {
                                subscriberServicesEnablingVer1,
                                subscriberServicesActivationVer1,
                                subscriberServicesCallForwardActivationVer1,
                                subscriberServicesActivationDigitmapsVer1,
                                subscriberServicesProcessingVer1
                             }
        ::= { subscriberServicesCompliances 1 }

    -- ************************************************************************
    --  MIB variable grouping
    -- ************************************************************************
    subscriberServicesGroups OBJECT IDENTIFIER ::= { subscriberServicesConformance 5 }

    subscriberServicesEnablingVer1 OBJECT-GROUP
        OBJECTS {
                    subscriberServicesHoldEnable,
                    subscriberServicesCallWaitingEnable,
                    subscriberServicesSecondCallEnable,
                    subscriberServicesBlindTransferEnable,
                    subscriberServicesAttendedTransferEnable,
                    subscriberServicesConferenceEnable,
                    subscriberServicesCallForwardUnconditionalEnable,
                    subscriberServicesCallForwardOnBusyEnable,
                    subscriberServicesCallForwardOnNoAnswerEnable
                }
        STATUS current
        DESCRIPTION
            "A collection of objects that defines the characteristics of subscriber services."
        ::= { subscriberServicesGroups 3 }

    subscriberServicesActivationVer1 OBJECT-GROUP
        OBJECTS {
                    subscriberServicesHoldStatus,
                    subscriberServicesCallWaitingStatus,
                    subscriberServicesSecondCallStatus,
                    subscriberServicesBlindTransferStatus,
                    subscriberServicesAttendedTransferStatus,
                    subscriberServicesConferenceStatus
                }
        STATUS current
        DESCRIPTION
            "A collection of objects that defines the characteristics of subscriber services."
        ::= { subscriberServicesGroups 10 }


    subscriberServicesCallForwardActivationVer1 OBJECT-GROUP
        OBJECTS {
                    subscriberServicesCallForwardUnconditionalActivation,
                    subscriberServicesCallForwardUnconditionalForwardingAddress,
                    subscriberServicesCallForwardOnBusyActivation,
                    subscriberServicesCallForwardOnBusyForwardingAddress,
                    subscriberServicesCallForwardOnNoAnswerActivation,
                    subscriberServicesCallForwardOnNoAnswerForwardingAddress,
                    subscriberServicesCallForwardOnNoAnswerTimeout
                }
        STATUS current
        DESCRIPTION
            "A collection of objects that defines the characteristics of subscriber services."
        ::= { subscriberServicesGroups 12 }


    subscriberServicesActivationDigitmapsVer1 OBJECT-GROUP
        OBJECTS {
                    subscriberServicesCallForwardUnconditionalEnableDigitMap,
                    subscriberServicesCallForwardUnconditionalDisableDigitMap,
                    subscriberServicesCallForwardOnBusyEnableDigitMap,
                    subscriberServicesCallForwardOnBusyDisableDigitMap,
                    subscriberServicesCallForwardOnNoAnswerEnableDigitMap,
                    subscriberServicesCallForwardOnNoAnswerDisableDigitMap,
                    subscriberServicesCallWaitingCancelDigitMap,
                    subscriberServicesCallWaitingPermanentDigitMapEnable,
                    subscriberServicesCallWaitingPermanentDigitMapDisable
                }
        STATUS current
        DESCRIPTION
            "A collection of objects that defines the characteristics of subscriber services."
        ::= { subscriberServicesGroups 15 }


    subscriberServicesProcessingVer1  OBJECT-GROUP
        OBJECTS {
                    subscriberServicesProcessingTrigger
                }
        STATUS current
        DESCRIPTION
            "A collection of objects that defines the characteristics of subscriber services."
        ::= { subscriberServicesGroups 18 }

END
