-- ****************************************************************************
-- ****************************************************************************
--
--  File: MX-QOS-MIB.my
--
--  Package: MediatrixMibs
--
-- ****************************************************************************
-- ****************************************************************************
--
--      Copyright(c) 2001-2005 Mediatrix Telecom, Inc.
--      Copyright(c) 2009 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-QOS-MIB
DEFINITIONS ::= BEGIN

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

qosMIB MODULE-IDENTITY
    LAST-UPDATED "201011020000Z"
    ORGANIZATION "Mediatrix Telecom, Inc."
    CONTACT-INFO "Mediatrix Telecom, Inc.
                  4229, Garlock Street
                  Sherbrooke (Quebec)
                  Canada
                  Phone: (819) 829-8749
                  "
    DESCRIPTION  "This MIB provides configuration of Quality of Services
                  field value."
    -- ************************************************************************
    -- Revision history
    -- ************************************************************************
    REVISION    "201011020000Z"
    DESCRIPTION "Added qosInterop group"
    REVISION    "200903060000Z"
    DESCRIPTION "Modified qosVlanIeee8021qSubstitutionVlanID value range to allow value 0"
    REVISION    "200509260000Z"
    DESCRIPTION "Addition of the qosVlanIeee8021qSubstitutionFiltering variable"
    REVISION    "200502210000Z"
    DESCRIPTION "Addition of the qosIeee8021qSubstitution group"
    REVISION    "200406170000Z"
    DESCRIPTION "Modified the QoS configuration variable descriptions to mention that
                 the Administration Manual contains further material on the subject."
    REVISION    "200108230000Z"      
    DESCRIPTION "Creation"
    ::= { mediatrixConfig 20 }

qosMIBObjects   OBJECT IDENTIFIER ::= { qosMIB 1 }
qosConformance  OBJECT IDENTIFIER ::= { qosMIB 2 }

qosDiffServ     OBJECT IDENTIFIER ::= { qosMIBObjects 1 }


    qosSignalingDiffServ OBJECT-TYPE
        SYNTAX      Unsigned32 (0..255)
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION "Signaling QoS Differentiated Services field value.
                     Refer to the Quality of Service section of your Administration
                     Manual for a detailed description."
        DEFVAL      { 184 }
        ::=  {  qosDiffServ  1  }

    qosVoiceDiffServ OBJECT-TYPE
        SYNTAX      Unsigned32 (0..255)
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION "Voice QoS Differentiated Services field value.
                     Refer to the Quality of Service section of your Administration
                     Manual for a detailed description."
        DEFVAL      { 184 }
        ::=  {  qosDiffServ  2  }

    qosT38FaxDiffServ OBJECT-TYPE
        SYNTAX      Unsigned32 (0..255)
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION "T.38 QoS Differentiated Services field value.
                     Refer to the Quality of Service section of your Administration
                     Manual for a detailed description."
        DEFVAL     { 184 }
        ::=  {  qosDiffServ  3  }

    qosVbdDiffServ OBJECT-TYPE
        SYNTAX      Unsigned32 (0..255)
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION "Voice-band data QoS Differentiated Services field value.
                     Refer to the Quality of Service section of your Administration
                     Manual for a detailed description."
        DEFVAL      { 184 }
        ::=  {  qosDiffServ  4  }

qosIeee8021q OBJECT IDENTIFIER ::= { qosMIBObjects 2 }

    qosSignalingIeee8021qEnable OBJECT-TYPE
        SYNTAX      INTEGER {
                             disable(0),
                             enable(1)
                            }
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION "Enabling IEEE 802.1Q VLAN user priority 
                     tagging for VoIP signaling packet. 
                     This filter applies to any VoIP signaling 
                     protocol in use (e.g. MGCP or SIP). 
                     When the filter is disabled (as well as VLAN), 
                     no tag is added to the Ethernet header. 
                     Otherwise, each signaling packet is 
                     tagged with the user priority defined below."
        DEFVAL      { disable }
    ::= {  qosIeee8021q 1 }

    qosSignalingIeee8021qUserPriority OBJECT-TYPE
        SYNTAX      Unsigned32 (0..7)
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION "IEEE 802.1Q VLAN user priority value for VoIP 
                     signaling packet. This value is used to set 
                     the user priority in the TCI field of the VLAN tag. 
                     Tagging user priority is applied only when the 
                     filter is enabled. In the case where the filter 
                     for signaling protocol is disabled and the VLAN 
                     option is enabled, the default user priority 
                     declared under the VLAN group will be used. 
                     Otherwise, the user priority set for signaling 
                     has precedence over the VLAN default user priority.
                     7 = High priority
                     0 = Low priority"
        DEFVAL      { 6 }
        ::= {  qosIeee8021q 2 }

    qosVoiceIeee8021qEnable OBJECT-TYPE
        SYNTAX      INTEGER {
                             disable(0),
                             enable(1)
                            }
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION "Enabling IEEE 802.1Q VLAN user priority 
                     tagging for VoIP packet. This filter 
                     applies to any VoIP voice protocol in use 
                     (e.g. RTP). When the filter is disabled 
                     (as well as VLAN), no tag is added to the Ethernet 
                     header. Otherwise, each signaling packet is tagged 
                     with the user priority defined below."
        DEFVAL      { disable }
        ::= {  qosIeee8021q 3 }

    qosVoiceIeee8021qUserPriority OBJECT-TYPE
        SYNTAX      Unsigned32 (0..7)
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION "IEEE 802.1Q VLAN user priority value for VoIP 
                     packet. This value is used to set the 
                     user priority in the TCI field of the VLAN tag. 
                     Tagging user priority is applied only when the 
                     filter is enabled. In the case where the filter 
                     for media protocol is disabled and the VLAN 
                     option is enabled, the default user priority 
                     declared under the VLAN group will be used. 
                     Otherwise, the user priority set for media 
                     has precedence over the VLAN default user priority.
                     7 = High priority
                     0 = Low priority"
        DEFVAL      { 6 }
        ::= {  qosIeee8021q 4 }

    qosT38FaxIeee8021qEnable OBJECT-TYPE
        SYNTAX      INTEGER {
                             disable(0),
                             enable(1)
                            }
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION "Enabling IEEE 802.1Q VLAN user priority 
                     tagging for T.38 fax packet. When the filter is disabled 
                     (as well as VLAN), no tag is added to the Ethernet 
                     header. Otherwise, each signaling packet is tagged 
                     with the user priority defined below."
        DEFVAL      { disable }
        ::= {  qosIeee8021q 5 }

    qosT38FaxIeee8021qUserPriority OBJECT-TYPE
        SYNTAX      Unsigned32 (0..7)
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION "IEEE 802.1Q VLAN user priority value for T.38 
                     fax packet. This value is used to set the 
                     user priority in the TCI field of the VLAN tag. 
                     Tagging user priority is applied only when the 
                     filter is enabled. In the case where the filter 
                     for T.38 protocol is disabled and the VLAN 
                     option is enabled, the default user priority 
                     declared under the VLAN group will be used. 
                     Otherwise, the user priority set for T.38 
                     has precedence over the VLAN default user priority.
                     7 = High priority
                     0 = Low priority"
        DEFVAL      { 6 }
        ::= {  qosIeee8021q 6 }
    
    qosVbdIeee8021qEnable OBJECT-TYPE
        SYNTAX     INTEGER {
                             disable(0),
                             enable(1)
                            }
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION "Enabling IEEE 802.1Q VLAN user priority 
                     tagging for voice-band data packet. This filter 
                     applies to any voice-band data protocol in use. 
                     When the filter is disabled (as well as VLAN),
                     no tag is added to the Ethernet header.
                     Otherwise, each signaling packet is tagged 
                     with the user priority defined below."
        DEFVAL      { disable }
        ::= {  qosIeee8021q 7 }

    qosVbdIeee8021qUserPriority OBJECT-TYPE
        SYNTAX      Unsigned32 (0..7)
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION "IEEE 802.1Q VLAN user priority value for voice-band 
                     data packet. This value is used to set the 
                     user priority in the TCI field of the VLAN tag. 
                     Tagging user priority is applied only when the 
                     filter is enabled. In the case where the filter 
                     for VBD protocol is disabled and the VLAN 
                     option is enabled, the default user priority 
                     declared under the VLAN group will be used. 
                     Otherwise, the user priority set for VBD 
                     has precedence over the VLAN default user priority.
                     7 = High priority
                     0 = Low priority"
        DEFVAL { 6 }
        ::= {  qosIeee8021q 8 }
    
  qosVlanIeee8021q OBJECT IDENTIFIER ::= { qosIeee8021q 15 }

    qosVlanIeee8021qTaggingEnable OBJECT-TYPE
        SYNTAX     INTEGER {
                             disable(0),
                             enable(1)
                            }
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION "Enabling IEEE 802.1Q VLAN tagging. With this 
                     option enabled, all packets are tagged with 
                     the Virtual ID (VID) specified below. The 
                     default user priority is to be applied in case 
                     of general protocol or when signaling or media 
                     protocol filtering is disabled.
                     WARNING: Enable this option only on compatible LAN 
                     with equipment supporting the VLAN tagging. Otherwise, 
                     the Unit may be unreachable. In this case, please use 
                     the reset button to access and disable VLAN tagging -
                     in the reset mode, tagging is not permitted. See IEEE 
                     802.1Q for more information on this topic."
            DEFVAL  { disable }
            ::= {  qosVlanIeee8021q 1 }

    qosVlanIeee8021qVirtualLanID OBJECT-TYPE
        SYNTAX      Unsigned32 (0..4095)
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION "IEEE 802.1Q Virtual LAN ID. This is the VID to 
                     be applied in the TCI field when tagging is enabled. 
                     The value 1 is the default Port VID (PVID) for bridge 
                     port. The 4095 VID (0xFFF) is reserved for implementation 
                     use and it shall not be used in tag header.
                     NOTE: As per standard, some bridges may not support 
                     the full range of VID."
        DEFVAL      { 1 }
        ::= {  qosVlanIeee8021q 2 }

    qosVlanIeee8021qDefaultUserPriority OBJECT-TYPE
        SYNTAX      Unsigned32 (0..7)
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION "IEEE 802.1Q Virtual LAN default user priority. 
                     This is the user priority to be applied in the 
                     TCI field when tagging is enabled. This value 
                     applies to all protocols for which no priority 
                     filtering is enabled (e.g. ARP, ICMP)
                     7 = High priority
                     0 = Low priority"
        DEFVAL      { 6 }
        ::= {  qosVlanIeee8021q 3 }


qosIeee8021qSubstitution OBJECT IDENTIFIER ::= { qosMIBObjects 10 }

    qosVlanIeee8021qSubstitutionEnable OBJECT-TYPE
        SYNTAX      MxEnableState
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION "Indicates whether the packets relayed from the LAN port to
                     the WAN port will be tagged with the VLAN ID defined in the 
                     qosVlanIeee8021qSubstitutionVlanID variable.

                     enable  : The QoS 802.1q fields of the packets sent from the LAN to
                               the WAN are assigned the value defined in the 
                               qosVlanIeee8021qSubstitutionVlanID and 
                               qosVlanIeee8021qSubstitutionUserPriority variables.

                     disable : The QoS 802.1q fields of the packets sent from the LAN to
                               the WAN are left as is.

                     This variable's semantics are different depending on protocol and/or
                     hardware platforms.

                     The name of the LAN and WAN ports differ depending on the product.

                     Please refer to the documentation shipped with your device for more details."
            DEFVAL  { disable }
            ::= {  qosIeee8021qSubstitution 10 }

    qosVlanIeee8021qSubstitutionVlanID OBJECT-TYPE
        SYNTAX      Unsigned32 (0..4095)
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION "The IEEE 802.1Q Virtual LAN ID applied when the variable 
                     qosVlanIeee8021qSubstitutionEnable is set to enable. 
                     The value 1 is the default Port VID (PVID) for bridge 
                     port. The 4095 VID (0xFFF) is reserved for implementation 
                     use and it must not be used in the tag header.
                     NOTE: As per the standard, some bridges may not support 
                     the full range of VID.

                     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      { 1 }
        ::= {  qosIeee8021qSubstitution 20 }

    qosVlanIeee8021qSubstitutionUserPriority OBJECT-TYPE
        SYNTAX      Unsigned32 (0..7)
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION "IEEE 802.1Q Virtual LAN default user priority. 
                     This is the user priority applied when the variable 
                     qosVlanIeee8021qSubstitutionEnable is set to enable. This value 
                     applies to all protocols for which no priority 
                     filtering is enabled (e.g. ARP, ICMP).
                     7 = High priority
                     0 = Low priority

                     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 }
        ::= {  qosIeee8021qSubstitution 30 }


    qosVlanIeee8021qSubstitutionFiltering OBJECT-TYPE
        SYNTAX      MxEnableState
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION "Indicates whether packets sent to the Computer port will
                     pass trough the VLAN ID filtering. It is especially useful
                     to restrain the broadcast domain between each port's 
                     subnet. It is applied when the variable 
                     qosVlanIeee8021qSubstitutionEnable is set to enable.

                     enable  : Packets sent to the Computer port must have the
                               right VLAN ID. Packets with a different VLAN ID,
                               or untagged packets, will be dropped.

                     disable : Packets sent to the Computer port (tagged or not)
                               with any tag) are forwarded from the Network to 
                               the Computer port. This effectively extends 
                               the broadcast domain and allows nodes behind the
                               computer port to share the same IP subnet as
                               the unit itself.
                     
                     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      { disable }
        ::= {  qosIeee8021qSubstitution 40 }

qosInterop OBJECT IDENTIFIER ::= { qosMIBObjects 20 }

    qosInteropUseVoiceQoSForRtcpEnable OBJECT-TYPE
        SYNTAX      MxEnableState
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION "Indicates whether or not if the configuration related with the voice QoS (qosVoiceDiffServ and
                     qosVoiceIeee8021qUserPriority variables) is also applied to the RTCP packets 
                     generated by the device.

                     enable  : The voice QoS configuration (qosVoiceDiffServ and qosVoiceIeee8021qUserPriority
                               variables) is also applied to the RTCP packets.

                     disable : The RTCP packets are not tagged by the qosVoiceDiffServ and qosVoiceIeee8021qUserPriority variables.

                     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  { disable }
            ::= {  qosInterop 10 }

    -- ************************************************************************
    -- Conformance information
    -- ************************************************************************
    qosCompliances OBJECT IDENTIFIER ::= { qosConformance 1 }

    qosAnalogComplVer1 MODULE-COMPLIANCE
        STATUS      current
        DESCRIPTION     
            "This compliance group contains Qos variables supported by
             an analog device."
        MODULE -- This Module
            MANDATORY-GROUPS { 
                                qosDiffServGroupVer1,
                                qosIeee8021qGroupVer1,
                                qosIeee8021qSubstitutionGroupVer1
                             }
        ::= { qosCompliances 1 }

    -- ************************************************************************
    -- MIB variable grouping
    -- ************************************************************************
    qosGroups OBJECT IDENTIFIER ::= { qosConformance 2 }

    qosDiffServGroupVer1 OBJECT-GROUP
        OBJECTS {
                 qosSignalingDiffServ,
                 qosVoiceDiffServ,
                 qosT38FaxDiffServ,
                 qosVbdDiffServ
                }
        STATUS current
        DESCRIPTION
            "This group holds the objects that define the DiffServ 
             parameters supported."
        ::= { qosGroups 1 }

     qosIeee8021qGroupVer1 OBJECT-GROUP
        OBJECTS {
                 qosSignalingDiffServ,
                 qosVoiceDiffServ,
                 qosT38FaxDiffServ,
                 qosVbdDiffServ
                }
        STATUS current
        DESCRIPTION
            "This group holds the objects that define IEEE 802.1q 
             parameters supported."
        ::= { qosGroups 2 }

     qosIeee8021qSubstitutionGroupVer1 OBJECT-GROUP
        OBJECTS {
                 qosVlanIeee8021qSubstitutionEnable,
                 qosVlanIeee8021qSubstitutionVlanID,
                 qosVlanIeee8021qSubstitutionUserPriority,
                 qosVlanIeee8021qSubstitutionFiltering
                }
        STATUS current
        DESCRIPTION
            "This group holds the objects that define IEEE 802.1q 
             for packets switched between the LAN port and the WAN port."
        ::= { qosGroups 10 }

    qosInteropGroupVer1 OBJECT-GROUP
        OBJECTS {
                qosInteropUseVoiceQoSForRtcpEnable
                }
        STATUS current
        DESCRIPTION
            "This group holds the objects that define QoS interopability parameters."
        ::= { qosGroups 20 }

END
