-- **SDOC***********************************************************************
-- *****************************************************************************
--
--             Copyright(c) 2003 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 prior written 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.
--
-- *****************************************************************************
-- **EDOC***********************************************************************

MX-LINE-GROUPING-MIB
DEFINITIONS ::= BEGIN

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

lineGroupingMIB MODULE-IDENTITY
    LAST-UPDATED "0307170000Z"
    ORGANIZATION "Mediatrix Telecom, Inc."
    CONTACT-INFO "Mediatrix Telecom, Inc.
                  4229, Garlock Street
                  Sherbrooke (Quebec)
                  Canada, J1L 2C8
                  Phone: (819) 829-8749
                  http://www.mediatrix.com"
    DESCRIPTION  "This MIB is used to customize the attributes related to groups of lines."


    -- *************************************************************************
    -- Revision history
    -- *************************************************************************
    REVISION    "0307170000Z"
    DESCRIPTION "July 17, 2003
                    Change the access of lineGroupingNbGroups and
                    lineGrpAssocGroupIndex from read-only to read-write. Updated the
                    description of lineGroupingNbGroups.
                 June 16, 2003
                    Updated lineGroupingNbGroups description to be hardware specific.
                 February 25, 2003
                    Creation."
    ::= { mediatrixConfig 80 }

lineGroupingMIBObjects OBJECT IDENTIFIER ::= { lineGroupingMIB 1 }
lineGroupingConformance OBJECT IDENTIFIER ::= { lineGroupingMIB 5 }


    -- *************************************************************************
    -- Number of groups
    -- *************************************************************************

    lineGroupingNbGroups OBJECT-TYPE
        SYNTAX      Unsigned32 (0..24)
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION "Indicates the number of groups of lines for this unit.

                     The group indexes start at 1. For example, if the value is 3, the group indexes
                     are 1, 2 and 3.

                     When the number of groups is decreased, the higher group indexes are deleted.
                     For example, if the value goes from 4 to 2, the group indexes 3 and 4 are
                     deleted.

                     When a group is deleted, its lines are associated with the default group index.

                     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      { 0 }
        ::= { lineGroupingMIBObjects  5 }

    -- *************************************************************************
    -- IfAssociationTable
    -- *************************************************************************

    lineGroupingIfAssociationTable OBJECT-TYPE
        SYNTAX      SEQUENCE OF LineGroupingIfAssociationEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION "A table that optionaly associates a group to each line."
        ::= { lineGroupingMIBObjects 10 }

        lineGroupingIfAssociationEntry OBJECT-TYPE
            SYNTAX      LineGroupingIfAssociationEntry
            MAX-ACCESS  not-accessible
            STATUS      current
            DESCRIPTION "A row in the lineGroupingIfAssociationTable table."
            INDEX       {
                            ifIndex
                        }
            ::= { lineGroupingIfAssociationTable 5 }

            LineGroupingIfAssociationEntry ::= SEQUENCE
                {
                    lineGrpAssocIfType      INTEGER,
                    lineGrpAssocGroupIndex  Unsigned32
                }

            lineGrpAssocIfType OBJECT-TYPE
                SYNTAX  INTEGER {
                                  fxo(0),
                                  fxs(1)
                                }
                MAX-ACCESS  read-only
                STATUS      current
                DESCRIPTION "The type of interface.

                             fxo : an FXO analog interface.

                             fxs : an FXS analog interface."
                DEFVAL      { fxo }
                ::= { lineGroupingIfAssociationEntry 5 }

            lineGrpAssocGroupIndex OBJECT-TYPE
                SYNTAX  Unsigned32 (0..24)
                MAX-ACCESS  read-write
                STATUS      current
                DESCRIPTION "The group index associated to this interface. A value of 0 means that the
                             interface is not part of a group."
                DEFVAL      { 0 }
                ::= { lineGroupingIfAssociationEntry 10 }

    -- *************************************************************************
    -- IfGroupConfigTable
    -- *************************************************************************

    lineGroupingGroupConfigTable OBJECT-TYPE
        SYNTAX      SEQUENCE OF LineGroupingGroupConfigEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION "A table for configuring attributes for groups of lines, one row for each group."
        ::= { lineGroupingMIBObjects 15 }

        lineGroupingGroupConfigEntry OBJECT-TYPE
            SYNTAX      LineGroupingGroupConfigEntry
            MAX-ACCESS  not-accessible
            STATUS      current
            DESCRIPTION "A row in the lineGroupingGroupConfigTable table."
            INDEX       {
                            groupIndex
                        }
            ::= { lineGroupingGroupConfigTable 5 }

            LineGroupingGroupConfigEntry ::= SEQUENCE
                {
                    groupIndex                               Unsigned32,
                    lineGrpConfLineSelectionAlgorithm        INTEGER,
                    lineGrpConfCallForwardNoRessourceEnable  MxEnableState,
                    lineGrpConfCallForwardNoRessourceAddress MxSignalingAddress
                }

            groupIndex OBJECT-TYPE
                SYNTAX      Unsigned32 (1..24)
                MAX-ACCESS  read-only
                STATUS      current
                DESCRIPTION "The group index"
                ::= { lineGroupingGroupConfigEntry 5 }

            lineGrpConfLineSelectionAlgorithm OBJECT-TYPE
                SYNTAX  INTEGER {
                                  roundRobin(0),
                                  lowToHigh(1),
                                  highToLow(2)
                                }
                MAX-ACCESS  read-write
                STATUS      current
                DESCRIPTION "The algorithm for selecting a line on an incoming IP to SCN call.

                             roundRobin : The unit starts from the interface following the interface used
                                          for the last IP to SCN call. Going toward the highest interface,
                                          the unit selects the first line available. If the highest
                                          interface is unavailable, the search continues from the lowest
                                          interface number to the interface used for the last IP to SCN
                                          call.

                             lowToHigh :  Starting from the lowest interface number and going toward the
                                          highest interface number, the unit selects the first line
                                          available.

                             highToLow :  Starting from the highest interface number and going toward the
                                          lowest interface number, the unit selects the first line
                                          available."
                DEFVAL      { roundRobin }
                ::= { lineGroupingGroupConfigEntry 10 }

            lineGrpConfCallForwardNoRessourceEnable OBJECT-TYPE
                SYNTAX  MxEnableState
                MAX-ACCESS  read-write
                STATUS      current
                DESCRIPTION "Enables the call forward on no ressource mechanism.

                             When enabled, this mechanism reroutes an incoming IP to SCN call in the event
                             that all the lines associated with the group are unavailable.

                             The call is rerouted to the destination specified by
                             configCallForwardNoRessourceAddress."
                DEFVAL      { disable }
                ::= { lineGroupingGroupConfigEntry 15 }

            lineGrpConfCallForwardNoRessourceAddress OBJECT-TYPE
                SYNTAX      MxSignalingAddress
                MAX-ACCESS  read-write
                STATUS      current
                DESCRIPTION "A string that represents the address or telephone number that the user wants to
                             call when all lines are unavailable.

                             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      { "" }
                ::= { lineGroupingGroupConfigEntry 20 }

    -- *************************************************************************
    -- Conformance information
    -- *************************************************************************

    lineGroupingCompliances OBJECT IDENTIFIER ::= { lineGroupingConformance 1 }

    lineGroupingComplVer1 MODULE-COMPLIANCE
        STATUS      current
        DESCRIPTION
            "List of groups required to support line grouping."
        MODULE  -- This Module
            MANDATORY-GROUPS {
                                lineGroupingVer1
                             }
        ::= { lineGroupingCompliances 1 }

    -- *************************************************************************
    --  MIB variable grouping
    -- *************************************************************************

    lineGroupingGroups OBJECT IDENTIFIER ::= { lineGroupingConformance 5 }

    lineGroupingVer1 OBJECT-GROUP
        OBJECTS {
                    lineGroupingNbGroups,
                    lineGrpAssocIfType,
                    lineGrpAssocGroupIndex,
                    groupIndex,
                    lineGrpConfLineSelectionAlgorithm,
                    lineGrpConfCallForwardNoRessourceEnable,
                    lineGrpConfCallForwardNoRessourceAddress
                }
        STATUS current
        DESCRIPTION
            "A collection of objects that defines the characteristics of line grouping."
        ::= { lineGroupingGroups 10 }
END
