-- ****************************************************************************
--
--             Copyright(c) 2005 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-COMDASYS-MIB
DEFINITIONS ::= BEGIN

IMPORTS
       mediatrix                                FROM MX-SMI
       MODULE-IDENTITY, OBJECT-TYPE, NOTIFICATION-TYPE,
       Integer32, Counter32, Gauge32,Counter64, TimeTicks  FROM SNMPv2-SMI
       TEXTUAL-CONVENTION, DisplayString,
       PhysAddress, TruthValue, RowStatus,
       TimeStamp, AutonomousType, TestAndIncr   FROM SNMPv2-TC
       MODULE-COMPLIANCE, OBJECT-GROUP          FROM SNMPv2-CONF
       snmpTraps                                FROM SNMPv2-MIB
       enterprises                              FROM RFC1155-SMI;

comdasysGW MODULE-IDENTITY
        LAST-UPDATED "2104081000Z"
        ORGANIZATION "Comdasys AG"
        CONTACT-INFO "Comdasys AG 
		ruedesheimer strae 7
		d - 80686 mnchen
		germany       
		Phone: + 49 (0) 89 - 548 4333 0 
                Web: http://www.comdasys.com"
        DESCRIPTION "This MIB describes the parameters of Comdasys products."

        REVISION "2104081000Z"
        DESCRIPTION
            "Creation"
       ::= { mediatrix 4 }

-- ****************************************************************************
-- defining the objects
-- ****************************************************************************

 sysinfo         OBJECT IDENTIFIER ::= { comdasysGW 1 }
 admin           OBJECT IDENTIFIER ::= { comdasysGW 2 }
 config          OBJECT IDENTIFIER ::= { comdasysGW 3 }
 firmware        OBJECT IDENTIFIER ::= { comdasysGW 4 }
 performance     OBJECT IDENTIFIER ::= { comdasysGW 70 }
 products        OBJECT IDENTIFIER ::= { comdasysGW 90 }

-- ****************************************************************************
-- defining the sysinfo objects
-- ****************************************************************************

swVersion OBJECT-TYPE
        SYNTAX      DisplayString (SIZE(0..255))
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "Provides the software version of the device. The following
            is an example of a software version information:

            4675.21"
        ::= { sysinfo 1 }

productName OBJECT-TYPE
        SYNTAX      DisplayString (SIZE(0..255))
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "Provides the product name of the device."
        ::= { sysinfo 2 }

-- ****************************************************************************
-- defining the startup config download objects
-- ****************************************************************************

downloadExecute OBJECT-TYPE
        SYNTAX  INTEGER {
            noOp (0),
            downloadConfiguration (1)
            }
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
            "Starts configuration download via FTP. A reload of the device will
             be necessary in order to apply the new downloaded configuration.
                0 noOP
                1 downloadConfiguration"
       ::= { config 1 }

downloadFtpServerAddress OBJECT-TYPE
        SYNTAX OCTET STRING (SIZE(1..255))
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
            "Ftp server IP address."
       ::= { config 2 }

downloadFtpServerPort OBJECT-TYPE
        SYNTAX INTEGER (1..65535)
        ACCESS  read-write
        STATUS  current
        DESCRIPTION "Ftp server IP port number."
        DEFVAL      { 21 }
       ::= { config 3 }

downloadStatus OBJECT-TYPE
        SYNTAX  INTEGER {
            failed (0),
            success (1),
            inProgress (2)
            }
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
            "The status of the configuration file transfer from the FTP server to
             the device's startup configuration.
                0 failed
                1 success
                2 inProgress"
        ::= { config 4 }

-- ****************************************************************************
-- defining the firmware download objects
-- ****************************************************************************

firmwareLoadExecute OBJECT-TYPE
        SYNTAX  INTEGER {
            noOp (0),
            loadFirmware (1)
            }
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
            "Starts firmware download via FTP.
               0 noOp
               1 loadFirmware"
       ::= { firmware 1 }

firmwareFtpServerAddress OBJECT-TYPE
        SYNTAX OCTET STRING (SIZE(1..255))
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
            "Ftp server IP address."
       ::= { firmware 2 }

firmwareFtpServerPort OBJECT-TYPE
        SYNTAX INTEGER (1..65535)
        ACCESS  read-write
        STATUS  current
        DESCRIPTION "Ftp server IP port number."
        DEFVAL      { 21 }
       ::= { firmware 3 }

firmwareLoadStatus OBJECT-TYPE
        SYNTAX  INTEGER {
            failed (0),
            success (1),
            inProgress (2)
            }
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
            "The status of the firmware download from the FTP server to the device.
                0 failed
                1 success
                2 inProgress"
        ::= { firmware 4 }

-- ****************************************************************************
-- defining the admin objects
-- ****************************************************************************

deviceRestart OBJECT-TYPE
        SYNTAX  INTEGER {
            noOp (0),
            reload (1)
            }
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
            "Force a reload of the device.
               0 noOp
               1 reload"
       ::= { admin 1 }

daemonNumber OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
            "The number of DAEMONs present 
             on this system."
        ::= { admin 2 }

daemonTable OBJECT-TYPE
	SYNTAX  SEQUENCE OF DaemonEntry
     	ACCESS  not-accessible
     	STATUS  mandatory
     	DESCRIPTION
             "A list of daemon entries. The 
              number of entries is given 
              by the value of daemonNumber."
     	::= { admin 3 }

daemonEntry OBJECT-TYPE
     	SYNTAX  DaemonEntry
	ACCESS  not-accessible
     	STATUS  mandatory
     	DESCRIPTION
             "A daemon entry containing objects 
              for corresponding to the daemon."
     	INDEX { daemonDescr }
	::= { daemonTable 1 }
          
DaemonEntry ::= 
	SEQUENCE {
       	     daemonDescr	DisplayString,
             daemonStatus       Gauge32,
             daemonRestart      INTEGER
        }

daemonDescr OBJECT-TYPE
	SYNTAX  DisplayString
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
             "A name of the daemon."
        ::= { daemonEntry 1 }

daemonStatus OBJECT-TYPE
        SYNTAX  Gauge32
       	ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
             "The current daemon status."
        ::= { daemonEntry 2 }

daemonRestart OBJECT-TYPE
        SYNTAX  INTEGER {
            noOp (0),
            reload (1)
            }
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
            "Restart the current daemon.
               0 noOp
               1 reload"
        ::= { daemonEntry 3 }

-- ****************************************************************************
-- defining the performance objects
-- ****************************************************************************

 cpu             OBJECT IDENTIFIER ::= { performance 10 }
 memory          OBJECT IDENTIFIER ::= { performance 20 }
 temperature     OBJECT IDENTIFIER ::= { performance 30 }

-- ****************************************************************************
-- defining the CPU objects
-- ****************************************************************************

          cpuNumber OBJECT-TYPE
              SYNTAX  INTEGER
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "The number of CPUs present 
                       on this system."
              ::= { cpu 1 }

          cpuTable OBJECT-TYPE
              SYNTAX  SEQUENCE OF CpuEntry
              ACCESS  not-accessible
              STATUS  mandatory
              DESCRIPTION
                      "A list of CPU entries. The 
                       number of entries is given 
                       by the value of cpuNumber."
              ::= { cpu 2 }

          cpuEntry OBJECT-TYPE
              SYNTAX  CpuEntry
              ACCESS  not-accessible
              STATUS  mandatory
              DESCRIPTION
                      "A CPU entry containing objects 
                       for corresponding to the CPU."
              INDEX {
        	         cpuDescr
                    }

              ::= { cpuTable 1 }

          CpuEntry ::= 
               SEQUENCE {
                  cpuDescr                      DisplayString,
                  cpuWorkloadCurrent            Gauge32,
                  cpuWorkload1MinuteAverage     Gauge32,
                  cpuWorkload5MinuteAverage     Gauge32
              }

          cpuDescr OBJECT-TYPE
              SYNTAX  DisplayString
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "A name identifying the CPU."
              ::= { cpuEntry 1 }

          cpuWorkloadCurrent OBJECT-TYPE
              SYNTAX  Gauge32
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "The current CPU workload in percent."
              ::= { cpuEntry 2 }

          cpuWorkload1MinuteAverage OBJECT-TYPE
              SYNTAX  Gauge32
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "The CPU workload average over the 
                       last minute in percent."
              ::= { cpuEntry 3 }

          cpuWorkload5MinuteAverage OBJECT-TYPE
              SYNTAX  Gauge32
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "The CPU workload average over the 
                       last 5 minutes in percent."
              ::= { cpuEntry 4 }

-- ****************************************************************************
-- defining the memory objects
-- ****************************************************************************

          memoryPoolNumber OBJECT-TYPE
              SYNTAX  INTEGER
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "The number of memory pools 
                       present on this system."
              ::= { memory 1 }

          memoryPoolTable OBJECT-TYPE
              SYNTAX  SEQUENCE OF MemoryPoolEntry
              ACCESS  not-accessible
              STATUS  mandatory
              DESCRIPTION
                      "A list of memory pool entries. The 
                       number of entries is given by the 
                       value of memoryPoolNumber."
              ::= { memory 2 }

          memoryPoolEntry OBJECT-TYPE
              SYNTAX  MemoryPoolEntry
              ACCESS  not-accessible
              STATUS  mandatory
              DESCRIPTION
                      "A memory pool entry containing objects 
                       for the corresponding memory pool."
              INDEX {
        	         memDescr
                    }

              ::= { memoryPoolTable 1 }

          MemoryPoolEntry ::=
              SEQUENCE {
                  memDescr            DisplayString,
                  memTotalBytes       INTEGER,
                  memAllocatedBytes   INTEGER,
                  memFreeBytes        INTEGER,
                  memLargestFreeBlock INTEGER,
                  memAllocatedBlocks  INTEGER,
                  memFreeBlocks       INTEGER
              }

          memDescr OBJECT-TYPE
              SYNTAX  DisplayString
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "A name identifying the memory pool."
              ::= { memoryPoolEntry 1 }

          memTotalBytes OBJECT-TYPE
              SYNTAX  INTEGER
              ACCESS  read-only
              STATUS  optional
              DESCRIPTION
                      "The total number of bytes 
                       belonging to the memory pool."
              ::= { memoryPoolEntry 2 }

          memAllocatedBytes OBJECT-TYPE
              SYNTAX  INTEGER
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "The current number of allocated 
                       bytes in the memory pool."
              ::= { memoryPoolEntry 3 }

          memFreeBytes OBJECT-TYPE
              SYNTAX  INTEGER
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "The current number of free bytes 
                       in the memory pool."
              ::= { memoryPoolEntry 4 }

          memLargestFreeBlock OBJECT-TYPE
              SYNTAX  INTEGER
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "The size of the largest available 
                       free block."
              ::= { memoryPoolEntry 5 }

          memAllocatedBlocks OBJECT-TYPE
              SYNTAX  INTEGER
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "The current number of allocated 
                       blocks in the memory pool."
              ::= { memoryPoolEntry 6 }

          memFreeBlocks OBJECT-TYPE
              SYNTAX  INTEGER
              ACCESS  read-only
              STATUS  mandatory


              DESCRIPTION
                      "The current number of free blocks in the memory pool."
              ::= { memoryPoolEntry 7 }

-- ****************************************************************************
-- defining the temperature probe objects
-- ****************************************************************************

          tempProbeNumber OBJECT-TYPE
              SYNTAX  INTEGER
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "The number of temperature probes 
                       present on this system."
              ::= { temperature 1 }

          tempProbeTable OBJECT-TYPE
              SYNTAX  SEQUENCE OF TempProbeEntry
              ACCESS  not-accessible
              STATUS  mandatory
              DESCRIPTION
                      "A list of temperature probe entries. 
                       The number of entries is given by the 
                       value of tempProbeNumber."
              ::= { temperature 2 }

          tempProbeEntry OBJECT-TYPE
              SYNTAX  TempProbeEntry
              ACCESS  not-accessible
              STATUS  mandatory
              DESCRIPTION
                      "A temperature probe entry containing 
                       objects for the corresponding temperature 
                       probe."
              INDEX {
        	         tempProbeDescr
                    }
              
              ::= { tempProbeTable 1 }

          TempProbeEntry ::=
              SEQUENCE {
                  tempProbeDescr           DisplayString,
                  currentDegreesCelsius    Gauge32
              }

          tempProbeDescr OBJECT-TYPE
              SYNTAX  DisplayString
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "A description for the temperature probe."
              ::= { tempProbeEntry 1 }

          currentDegreesCelsius OBJECT-TYPE
              SYNTAX  Gauge32
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "The current temperature measured by the 
                       temperature probe in degrees celsius."
              ::= { tempProbeEntry 2 }
              
-- ****************************************************************************
-- defining the products objects
-- ****************************************************************************

convergence-33xx-Biab            OBJECT IDENTIFIER ::= { products 100 }
convergence-1600            OBJECT IDENTIFIER ::= { products 200 }
convergence-2600            OBJECT IDENTIFIER ::= { products 300 }
convergence-3600            OBJECT IDENTIFIER ::= { products 400 }
convergence-4600            OBJECT IDENTIFIER ::= { products 500 }
fmc-2800            OBJECT IDENTIFIER ::= { products 600 }
fmc-3800            OBJECT IDENTIFIER ::= { products 700 }
fmc-4800            OBJECT IDENTIFIER ::= { products 800 }

END
