-- ****************************************************************************
-- ****************************************************************************
--             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-DCM-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;

dcmMIB 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  " Device Control Manager

                The Device Control Manager (DCM) service manages the hardware
                properties as well as the licence activation keys.
                "
 ::= { mediatrixServices 2000 }

dcmMIBObjects OBJECT IDENTIFIER ::= { dcmMIB 1 }

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

-- Group:Unit

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

unitInfoGroup OBJECT IDENTIFIER
        ::= { dcmMIBObjects 100 }
        -- Scalar:Product Name

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

                       Name of the unit.
                       "
         ::= { unitInfoGroup 100 }

        -- Scalar:Serial Number

        unitInfoSerialNumber OBJECT-TYPE
         SYNTAX        OCTET STRING
         MAX-ACCESS    read-only
         STATUS        current
         DESCRIPTION " Serial Number

                       Serial number of the unit.
                       "
         ::= { unitInfoGroup 200 }

        -- Scalar:MAC Address

        unitInfoMacAddress OBJECT-TYPE
         SYNTAX        OCTET STRING
         MAX-ACCESS    read-only
         STATUS        current
         DESCRIPTION " MAC Address

                       MAC address of the unit.
                       "
         ::= { unitInfoGroup 300 }

        -- Scalar:Hardware Revision

        unitInfoHardwareRevision OBJECT-TYPE
         SYNTAX        OCTET STRING
         MAX-ACCESS    read-only
         STATUS        current
         DESCRIPTION " Hardware Revision

                       The hardware revision of the unit.
                       "
         ::= { unitInfoGroup 400 }

        -- Scalar:Total Number of DSPs

        totalNumberOfDsp OBJECT-TYPE
         SYNTAX        Unsigned32
         MAX-ACCESS    read-only
         STATUS        current
         DESCRIPTION " Total Number of DSPs

                       The total number of DSPs present on the
                       unit.
                       "
         ::= { unitInfoGroup 500 }

-- End of group:Unit

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

-- Group:Hardware Extensions

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

hwExtInfoGroup OBJECT IDENTIFIER
 ::= { dcmMIBObjects 300 }
 -- ***************************************************************************
 
 -- Table:Installed Extensions

 -- ***************************************************************************
 
 hardwareExtInfoTable OBJECT-TYPE
  SYNTAX        SEQUENCE OF HardwareExtInfoEntry
  MAX-ACCESS    not-accessible
  STATUS        current
  DESCRIPTION " Installed Extensions

                This table displays all hardware extensions currently
                installed in the unit.
                "
  ::= { hwExtInfoGroup 100 }
  hardwareExtInfoEntry OBJECT-TYPE
   SYNTAX        HardwareExtInfoEntry
   MAX-ACCESS    not-accessible
   STATUS        current
   DESCRIPTION " A row in table Installed Extensions. "
   INDEX         {
                   hardwareExtInfoIndex
                 }

   ::= { hardwareExtInfoTable 1 }

  HardwareExtInfoEntry ::= SEQUENCE
  {
    hardwareExtInfoIndex        Unsigned32,
    hardwareExtInfoProductName  OCTET STRING,
    hardwareExtInfoSerialNumber OCTET STRING,
    hardwareExtInfoLocation     OCTET STRING
  }

  -- Index:Index

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

                 The index of the Installed Hardware Extension table.

                 Installed hardware components are listed in an arbitrary
                 order.

                 "
   ::= { hardwareExtInfoEntry 100 }

  -- Columnar:Product Name

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

                 Name of the hardware extension.
                 "
   ::= { hardwareExtInfoEntry 200 }

  -- Columnar:Serial Number

  hardwareExtInfoSerialNumber OBJECT-TYPE
   SYNTAX        OCTET STRING
   MAX-ACCESS    read-only
   STATUS        current
   DESCRIPTION " Serial Number

                 Serial number of the hardware extension.
                 "
   ::= { hardwareExtInfoEntry 300 }

  -- Columnar:Location

  hardwareExtInfoLocation OBJECT-TYPE
   SYNTAX        OCTET STRING
   MAX-ACCESS    read-only
   STATUS        current
   DESCRIPTION " Location

                 Indicates where the hardware extension is installed in the
                 unit.
                 "
   ::= { hardwareExtInfoEntry 400 }

 -- End of table:Installed Extensions

-- End of group:Hardware Extensions

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

-- Group:Licence

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

licenseGroup OBJECT IDENTIFIER
 ::= { dcmMIBObjects 500 }
 -- ***************************************************************************
 
 -- Table:Active Feature Table

 -- ***************************************************************************
 
 activeFeatureTable OBJECT-TYPE
  SYNTAX        SEQUENCE OF ActiveFeatureEntry
  MAX-ACCESS    not-accessible
  STATUS        current
  DESCRIPTION " Active Feature Table

                This table displays the features that are currently enabled by
                a licence activation key.
                "
  ::= { licenseGroup 100 }
  activeFeatureEntry OBJECT-TYPE
   SYNTAX        ActiveFeatureEntry
   MAX-ACCESS    not-accessible
   STATUS        current
   DESCRIPTION " A row in table Active Feature Table. "
   INDEX         {
                   activeFeatureID
                 }

   ::= { activeFeatureTable 1 }

  ActiveFeatureEntry ::= SEQUENCE
  {
    activeFeatureID          Unsigned32,
    activeFeatureDescription OCTET STRING,
    activeFeatureDelete      INTEGER
  }

  -- Index:Feature ID

  activeFeatureID OBJECT-TYPE
   SYNTAX        Unsigned32
   MAX-ACCESS    read-only
   STATUS        current
   DESCRIPTION " Feature ID

                 A unique ID of a feature.
                 "
   ::= { activeFeatureEntry 100 }

  -- Columnar:Activated feature

  activeFeatureDescription OBJECT-TYPE
   SYNTAX        OCTET STRING
   MAX-ACCESS    read-only
   STATUS        current
   DESCRIPTION " Activated feature

                 The description of the active feature.
                 "
   ::= { activeFeatureEntry 200 }

  -- Row command:Delete

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

                 Deletes the licence entry and permanently removes it from the
                 system.
                 "
   DEFVAL        { noOp }
   ::= { activeFeatureEntry 500 }

 -- End of table:Active Feature Table

-- End of group:Licence

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

-- Group:Statistics

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

statisticsGroup OBJECT IDENTIFIER
 ::= { dcmMIBObjects 10000 }
 -- ***************************************************************************
 
 -- Group:Memory

 -- ***************************************************************************
 
 memoryGroup OBJECT IDENTIFIER
  ::= { statisticsGroup 100 }
  -- Scalar:Total Persistent Memory

  persistentMemoryTotal OBJECT-TYPE
   SYNTAX        Unsigned32
   MAX-ACCESS    read-only
   STATUS        current
   DESCRIPTION " Total Persistent Memory

                 The total amount (in kilobytes) of persistent memory in the
                 system.
                 "
   ::= { memoryGroup 100 }

  -- Scalar:Used Persistent Memory

  persistentMemoryInUse OBJECT-TYPE
   SYNTAX        Unsigned32
   MAX-ACCESS    read-only
   STATUS        current
   DESCRIPTION " Used Persistent Memory

                 The amount (in kilobytes) of persistent memory currently in
                 use by the system.
                 "
   ::= { memoryGroup 200 }

  -- Scalar:Persistent Wear Percentage

  persistentWearPercentage OBJECT-TYPE
   SYNTAX        Integer32 ( -1..1000 )
   MAX-ACCESS    read-only
   STATUS        current
   DESCRIPTION " Persistent Wear Percentage

                 The wear percentage of the internal disk. Returns -1 if the
                 unit's SSD does not support this parameter.
                 "
   ::= { memoryGroup 250 }

  -- Scalar:Total Volatile Memory

  volatileMemoryTotal OBJECT-TYPE
   SYNTAX        MxUInt64
   MAX-ACCESS    read-only
   STATUS        current
   DESCRIPTION " Total Volatile Memory

                 The total amount (in kilobytes) of volatile memory in the
                 system.
                 "
   ::= { memoryGroup 300 }

  -- Scalar:Used Volatile Memory

  volatileMemoryInUse OBJECT-TYPE
   SYNTAX        MxUInt64
   MAX-ACCESS    read-only
   STATUS        current
   DESCRIPTION " Used Volatile Memory

                 The amount (in kilobytes) of volatile memory currently in use
                 by the system.
                 "
   ::= { memoryGroup 400 }

 -- End of group:Memory

-- End of group:Statistics

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

-- Group:Interop Group

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

interopGroup OBJECT IDENTIFIER
 ::= { dcmMIBObjects 50000 }
 -- Scalar:Interop Ethernet Controller Rev A0

 interopEthernetControllerRevA0 OBJECT-TYPE
  SYNTAX        MxEnableState
  MAX-ACCESS    read-write
  STATUS        current
  DESCRIPTION " Interop Ethernet Controller Rev A0

                When enabled, the network speed is limited to 100 Mbps on
                specific platforms, to improve stability and increase the unit
                lifetime.

                Only applies to early Mediatrix G7, S7 and Sentinel 100
                models.

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

-- End of group:Interop Group

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

-- Group:Notification Messages Configuration

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

notificationsGroup OBJECT IDENTIFIER
 ::= { dcmMIBObjects 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
 ::= { dcmMIBObjects 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
