Uploaded image for project: 'Observium'
  1. Observium
  2. OBS-3059

Add discovery/polling for AvTech Room Alert 4E

Details

    • Add New Device / OS
    • Resolution: Fixed
    • Major
    • None
    • Professional Edition
    • Discovery, Poller
    • Appliance with Digital Temperature & Humidity sensor attached.

    Description

      Request to please add support for Room Alert 3E.  This device is similar to the Room Alert 4E, but with different OIDs.  Support for the 4E was added in r5979 OBS-984. There is an existing ROOMALERT3E-MIB file distributed with the current Observium but it a very old version.

      Latest MIB Attached.

      The walk below is with a Temperature/Humidity Sensor attached. Running the Latest firmware v2.2.5

      #  snmpwalk -v1 -c public  --hexOutputLength=0 -ObentxU myHostName .1           
      .1.3.6.1.2.1.1.1.0 = STRING: Room Alert 3E v2.2.5            
      .1.3.6.1.2.1.1.2.0 = OID: .1.3.6.1.4.1.20916.1.9
      .1.3.6.1.2.1.1.3.0 = 24085867
      .1.3.6.1.2.1.1.4.0 = STRING: Infra
      .1.3.6.1.2.1.1.5.0 = STRING: loomenvmon52
      .1.3.6.1.2.1.1.6.0 = STRING: 5SS:5HR
      .1.3.6.1.2.1.1.7.0 = INTEGER: 12
      .1.3.6.1.2.1.2.1.0 = INTEGER: 1
      .1.3.6.1.2.1.2.2.1.1.1 = INTEGER: 1
      .1.3.6.1.2.1.2.2.1.2.1 = STRING: Network
      .1.3.6.1.2.1.2.2.1.3.1 = INTEGER: 6
      .1.3.6.1.2.1.2.2.1.4.1 = INTEGER: 1500
      .1.3.6.1.2.1.2.2.1.5.1 = Gauge32: 10000000
      .1.3.6.1.2.1.2.2.1.6.1 = STRING: 0:80:a3:d7:de:c5
      .1.3.6.1.2.1.2.2.1.7.1 = INTEGER: 1
      .1.3.6.1.2.1.2.2.1.8.1 = INTEGER: 1
      .1.3.6.1.2.1.2.2.1.9.1 = 0
      .1.3.6.1.2.1.2.2.1.10.1 = Counter32: 6880877
      .1.3.6.1.2.1.2.2.1.11.1 = Counter32: 66496
      .1.3.6.1.2.1.2.2.1.12.1 = Counter32: 0
      .1.3.6.1.2.1.2.2.1.13.1 = Counter32: 0
      .1.3.6.1.2.1.2.2.1.14.1 = Counter32: 0
      .1.3.6.1.2.1.2.2.1.15.1 = Counter32: 0
      .1.3.6.1.2.1.2.2.1.16.1 = Counter32: 7482604
      .1.3.6.1.2.1.2.2.1.17.1 = Counter32: 65647
      .1.3.6.1.2.1.2.2.1.18.1 = Counter32: 1690
      .1.3.6.1.2.1.2.2.1.19.1 = Counter32: 0
      .1.3.6.1.2.1.2.2.1.20.1 = Counter32: 0
      .1.3.6.1.2.1.2.2.1.21.1 = Gauge32: 2
      .1.3.6.1.2.1.2.2.1.22.1 = OID: .0
      .1.3.6.1.2.1.4.1.0 = INTEGER: 2
      .1.3.6.1.2.1.4.2.0 = INTEGER: 31
      .1.3.6.1.2.1.4.3.0 = Counter32: 65416
      .1.3.6.1.2.1.4.4.0 = Counter32: 0
      .1.3.6.1.2.1.4.5.0 = Counter32: 0
      .1.3.6.1.2.1.4.6.0 = Counter32: 0
      .1.3.6.1.2.1.4.7.0 = Counter32: 0
      .1.3.6.1.2.1.4.8.0 = Counter32: 0
      .1.3.6.1.2.1.4.9.0 = Counter32: 65422
      .1.3.6.1.2.1.4.10.0 = Counter32: 0
      .1.3.6.1.2.1.4.11.0 = Counter32: 0
      .1.3.6.1.2.1.4.12.0 = Counter32: 0
      .1.3.6.1.2.1.4.13.0 = INTEGER: 0
      .1.3.6.1.2.1.4.14.0 = Counter32: 0
      .1.3.6.1.2.1.4.15.0 = Counter32: 0
      .1.3.6.1.2.1.4.16.0 = Counter32: 0
      .1.3.6.1.2.1.4.17.0 = Counter32: 0
      .1.3.6.1.2.1.4.18.0 = Counter32: 0
      .1.3.6.1.2.1.4.19.0 = Counter32: 0
      .1.3.6.1.2.1.4.20.1.1.10.210.67.165 = IpAddress: 10.210.67.165
      .1.3.6.1.2.1.4.20.1.2.10.210.67.165 = INTEGER: 1
      .1.3.6.1.2.1.4.20.1.3.10.210.67.165 = IpAddress: 255.255.255.248
      .1.3.6.1.2.1.4.20.1.4.10.210.67.165 = INTEGER: 1
      .1.3.6.1.2.1.4.20.1.5.10.210.67.165 = INTEGER: 0
      .1.3.6.1.2.1.5.1.0 = Counter32: 2407
      .1.3.6.1.2.1.5.2.0 = Counter32: 0
      .1.3.6.1.2.1.5.3.0 = Counter32: 0
      .1.3.6.1.2.1.5.4.0 = Counter32: 0
      .1.3.6.1.2.1.5.5.0 = Counter32: 0
      .1.3.6.1.2.1.5.6.0 = Counter32: 0
      .1.3.6.1.2.1.5.7.0 = Counter32: 0
      .1.3.6.1.2.1.5.8.0 = Counter32: 2407
      .1.3.6.1.2.1.5.9.0 = Counter32: 0
      .1.3.6.1.2.1.5.10.0 = Counter32: 0
      .1.3.6.1.2.1.5.11.0 = Counter32: 0
      .1.3.6.1.2.1.5.12.0 = Counter32: 0
      .1.3.6.1.2.1.5.13.0 = Counter32: 0
      .1.3.6.1.2.1.5.14.0 = Counter32: 2407
      .1.3.6.1.2.1.5.15.0 = Counter32: 0
      .1.3.6.1.2.1.5.16.0 = Counter32: 0
      .1.3.6.1.2.1.5.17.0 = Counter32: 0
      .1.3.6.1.2.1.5.18.0 = Counter32: 0
      .1.3.6.1.2.1.5.19.0 = Counter32: 0
      .1.3.6.1.2.1.5.20.0 = Counter32: 0
      .1.3.6.1.2.1.5.21.0 = Counter32: 0
      .1.3.6.1.2.1.5.22.0 = Counter32: 2407
      .1.3.6.1.2.1.5.23.0 = Counter32: 0
      .1.3.6.1.2.1.5.24.0 = Counter32: 0
      .1.3.6.1.2.1.5.25.0 = Counter32: 0
      .1.3.6.1.2.1.5.26.0 = Counter32: 0
      .1.3.6.1.2.1.7.1.0 = Counter32: 60685
      .1.3.6.1.2.1.7.2.0 = Counter32: 0
      .1.3.6.1.2.1.7.3.0 = Counter32: 769
      .1.3.6.1.2.1.7.4.0 = Counter32: 60687
      .1.3.6.1.4.1.20916.1.9.1.1.1.1.0 = INTEGER: 2475
      .1.3.6.1.4.1.20916.1.9.1.1.1.2.0 = INTEGER: 7655
      .1.3.6.1.4.1.20916.1.9.1.1.1.3.0 = Hex-STRING: 49 6E 74 65 72 6E 61 6C 20 53 65 6E 73 6F 72 
      .1.3.6.1.4.1.20916.1.9.1.1.2.1.0 = INTEGER: 2178
      .1.3.6.1.4.1.20916.1.9.1.1.2.2.0 = INTEGER: 7120
      .1.3.6.1.4.1.20916.1.9.1.1.2.3.0 = INTEGER: 5720
      .1.3.6.1.4.1.20916.1.9.1.1.2.4.0 = INTEGER: 7120
      .1.3.6.1.4.1.20916.1.9.1.1.2.5.0 = INTEGER: 2177
      .1.3.6.1.4.1.20916.1.9.1.1.2.6.0 = INTEGER: 1322
      .1.3.6.1.4.1.20916.1.9.1.1.2.7.0 = INTEGER: 5579
      .1.3.6.1.4.1.20916.1.9.1.1.2.8.0 = Hex-STRING: 45 78 74 20 53 65 6E 73 6F 72 20 31 
      .1.3.6.1.4.1.20916.1.9.1.2.1.0 = INTEGER: 0
      .1.3.6.1.4.1.20916.1.9.1.2.2.0 = Hex-STRING: 53 77 69 74 63 68 20 53 65 6E 20 31 
      .1.3.6.1.4.1.20916.1.9.3.1.0 = ""
      End of MIB
      

      Attachments

        Issue Links

          Activity

            [OBS-3059] Add discovery/polling for AvTech Room Alert 4E

            Added in 10032. Thanks!

            (these avtech mibs are so stupid!)

            adama Adam Armstrong added a comment - Added in 10032. Thanks! (these avtech mibs are so stupid!)

            I have created a change based on the Room Alert 4E, which appears to be working fine:

            Diff: includes/definitions/mibs/avtech.inc.php

            Index: includes/definitions/mibs/avtech.inc.php
            ===================================================================
            --- includes/definitions/mibs/avtech.inc.php    (revision 9977)
            +++ includes/definitions/mibs/avtech.inc.php    (working copy)
            @@ -135,4 +135,11 @@
             $config['mibs'][$mib]['mib_dir'] = 'avtech';
             $config['mibs'][$mib]['descr'] = '';
             
            +
            +$mib = 'ROOMALERT3E-MIB';
            +$config['mibs'][$mib]['enable'] = 1;
            +$config['mibs'][$mib]['mib_dir'] = 'avtech';
            +$config['mibs'][$mib]['descr'] = '';
            +
            +
             // EOF
            

            Diff: includes/definitions/os.inc.php

            Index: includes/definitions/os.inc.php
            ===================================================================
            --- includes/definitions/os.inc.php     (revision 9977)
            +++ includes/definitions/os.inc.php     (working copy)
            @@ -4353,6 +4353,7 @@
             $config['os'][$os]['mibs'][]                = "ROOMALERT24E-MIB";
             $config['os'][$os]['mibs'][]                = "ROOMALERT12E-MIB";
             $config['os'][$os]['mibs'][]                = "ROOMALERT4E-MIB";
            +$config['os'][$os]['mibs'][]                = "ROOMALERT3E-MIB";
             
             $os = "ipoman";
             $config['os'][$os]['text']                  = "Ingrasys iPoMan";
            

            New File: includes/discovery/sensors/roomalert3e-mib.inc.php
            based on includes/discovery/sensors/roomalert4e-mib.inc.php

            <?php
             
            /**
             * Observium
             *
             *   This file is part of Observium.
             *
             * @package    observium
             * @subpackage discovery
             * @copyright  (C) 2006-2013 Adam Armstrong, (C) 2013-2019 Observium Limited
             *
             */
             
            // ATTENTION! In the SNMP settings of the device, there is a checkbox called [ ] Use 2 digit SNMP.
            // If checked, values will be rounded; SNMP will return 20 for 20.4 degrees. If unchecked, values are *1000, so 2040 for 20.4 degrees.
            //
            // Some Nagios plugins only work with 2 digits mode. We support both formats with this code.
            // We will detect the scale based on whether the measured humidity is > 100. This will fail on 4-digit humidity < 1% ;-)
            $scale = 1; // Start at 1 for 2 digits setting.
             
            // Internal Temperature
            // ROOMALERT3E-MIB::digital-sen1-1.0 = 2882
            $oids = snmpwalk_cache_multi_oid($device, "digital-sen1-1", array(), "ROOMALERT3E-MIB");
             
            foreach ($oids as $index => $entry)
            {
              $descr = "Internal Temperature"; if (count($oids) > 1) { $descr .= " " . ($index+1); }
              $oid   = ".1.3.6.1.4.1.20916.1.9.1.1.1.1.$index";
              $value = $entry['digital-sen1-1'];
              if ($value > 100) { $scale = 0.01; }
             
              discover_sensor('temperature', $device, $oid, "digital-sen1-1.$index", 'roomalert', $descr, $scale, $value);
            }
             
            // Digital sensors -- ARGH, why not digital-sen.1.1.0 instead of digital-sen1-1.0 !
            // "Monitor for Temperature, Humidity, Heat Index (Feels Like), Power, Flood/Water, Smoke/Fire, Room Entry, Air Flow, Network Cameras and more."
            // Great, now how do I see what sensor is connected over SNMP? Right... No OID for that.
            //
            // So we'll go by this table:
            //
            //         | Temp sensor        | Temp/Humidity sensor     | Power Sensor
            // --------+--------------------+--------------------------+-----------------
            // sen1-1: | Temp in Celsius    | Temp in Celsius          | Amperes
            // sen1-2: | Temp in Fahrenheit | Temp in Fahrenheit       | Watts
            // sen1-3: | N/A                | Humidity                 | Volts
            // sen1-4: | N/A                | Heat index in Fahrenheit | Reference Volts
            // sen1-5: | N/A                | Heat index in Celsius    | N/A
            //
            // You can name the sensors in the web interface, but the descriptions are not exported through SNMP :(
            //
            // ROOMALERT3E-MIB::digital-sen1-1.0 = 2293
            // ROOMALERT3E-MIB::digital-sen1-2.0 = 7327
            // ROOMALERT3E-MIB::digital-sen1.6.0 = "External Temp"
             
            $oids = snmpwalk_cache_multi_oid($device, "digital", array(), "ROOMALERT3E-MIB");
             
            $index = 0;
             
            for ($i = 1;$i <= 6;$i++)
            {
              if (isset($oids[$index]["digital-sen$i-1"]))
              {
                // Sensor is present.
                if (!isset($oids[$index]["digital-sen$i-3"]))
                {
                  // Temp sensor
                  $descr = "Channel $i: Temperature";
                  $oid   = ".1.3.6.1.4.1.20916.1.9.1.1.$i.1.$index";
                  $value = $oids[$index]["digital-sen$i-1"];
             
                  discover_sensor('temperature', $device, $oid, "digital-sen$i-1.$index", 'roomalert', $descr, $scale, $value);
                }
                elseif (isset($oids[$index]["digital-sen$i-5"]))
                {
                  // Temp/Humidity sensor
                  $descr = "Channel $i: Temperature";
                  $oid   = ".1.3.6.1.4.1.20916.1.9.1.1.$i.1.$index";
                  $value = $oids[$index]["digital-sen$i-1"];
                  discover_sensor('temperature', $device, $oid, "digital-sen$i-1.$index", 'roomalert', $descr, $scale, $value);
             
                  $descr = "Channel $i: Heat index";
                  $oid   = ".1.3.6.1.4.1.20916.1.9.1.1.$i.5.$index";
                  $value = $oids[$index]["digital-sen$i-5"];
                  discover_sensor('temperature', $device, $oid, "digital-sen$i-5.$index", 'roomalert', $descr, $scale, $value);
             
                  $descr = "Channel $i: Humidity";
                  $oid   = ".1.3.6.1.4.1.20916.1.9.1.1.$i.3.$index";
                  $value = $oids[$index]["digital-sen$i-3"];
                  discover_sensor('humidity', $device, $oid, "digital-sen$i-3.$index", 'roomalert', $descr, $scale, $value);
                } else {
                  // Power sensor
                  $descr = "Channel $i: Current";
                  $oid   = ".1.3.6.1.4.1.20916.1.9.1.1.$i.1.$index";
                  $value = $oids[$index]["digital-sen$i-1"];
                  discover_sensor('current', $device, $oid, "digital-sen$i-1.$index", 'roomalert', $descr, $scale, $value);
             
                  $descr = "Channel $i: Power";
                  $oid   = ".1.3.6.1.4.1.20916.1.9.1.1.$i.2.$index";
                  $value = $oids[$index]["digital-sen$i-2"];
                  discover_sensor('power', $device, $oid, "digital-sen$i-2.$index", 'roomalert', $descr, $scale, $value);
             
                  $descr = "Channel $i: Voltage";
                  $oid   = ".1.3.6.1.4.1.20916.1.9.1.1.$i.3.$index";
                  $value = $oids[$index]["digital-sen$i-3"];
                  discover_sensor('voltage', $device, $oid, "digital-sen$i-3.$index", 'roomalert', $descr, $scale, $value);
             
                  $descr = "Channel $i: Reference voltage";
                  $oid   = ".1.3.6.1.4.1.20916.1.9.1.1.$i.4.$index";
                  $value = $oids[$index]["digital-sen$i-4"];
                  discover_sensor('voltage', $device, $oid, "digital-sen$i-4.$index", 'roomalert', $descr, $scale, $value);
                }
              }
            }
             
            /*
             
            On/off digital switches may be supported later; 1 = alarm, 0 = ok
            FIXME They are now - state sensors!
             
            ROOMALERT3E-MIB::switch-sen1.0 = INTEGER: 1
            ROOMALERT3E-MIB::switch-sen2.0 = INTEGER: 0
             
            */
             
            // EOF
            

            itinfra IT Infrastructure added a comment - I have created a change based on the Room Alert 4E, which appears to be working fine: Diff: includes/definitions/mibs/avtech.inc.php Index: includes/definitions/mibs/avtech.inc.php =================================================================== --- includes/definitions/mibs/avtech.inc.php (revision 9977) +++ includes/definitions/mibs/avtech.inc.php (working copy) @@ -135,4 +135,11 @@ $config['mibs'][$mib]['mib_dir'] = 'avtech'; $config['mibs'][$mib]['descr'] = ''; + +$mib = 'ROOMALERT3E-MIB'; +$config['mibs'][$mib]['enable'] = 1; +$config['mibs'][$mib]['mib_dir'] = 'avtech'; +$config['mibs'][$mib]['descr'] = ''; + + // EOF Diff: includes/definitions/os.inc.php Index: includes/definitions/os.inc.php =================================================================== --- includes/definitions/os.inc.php (revision 9977) +++ includes/definitions/os.inc.php (working copy) @@ -4353,6 +4353,7 @@ $config['os'][$os]['mibs'][] = "ROOMALERT24E-MIB"; $config['os'][$os]['mibs'][] = "ROOMALERT12E-MIB"; $config['os'][$os]['mibs'][] = "ROOMALERT4E-MIB"; +$config['os'][$os]['mibs'][] = "ROOMALERT3E-MIB"; $os = "ipoman"; $config['os'][$os]['text'] = "Ingrasys iPoMan"; New File: includes/discovery/sensors/roomalert3e-mib.inc.php based on includes/discovery/sensors/roomalert4e-mib.inc.php <?php   /** * Observium * * This file is part of Observium. * * @package observium * @subpackage discovery * @copyright (C) 2006-2013 Adam Armstrong, (C) 2013-2019 Observium Limited * */   // ATTENTION! In the SNMP settings of the device, there is a checkbox called [ ] Use 2 digit SNMP. // If checked, values will be rounded; SNMP will return 20 for 20.4 degrees. If unchecked, values are *1000, so 2040 for 20.4 degrees. // // Some Nagios plugins only work with 2 digits mode. We support both formats with this code. // We will detect the scale based on whether the measured humidity is > 100. This will fail on 4-digit humidity < 1% ;-) $scale = 1; // Start at 1 for 2 digits setting.   // Internal Temperature // ROOMALERT3E-MIB::digital-sen1-1.0 = 2882 $oids = snmpwalk_cache_multi_oid( $device , "digital-sen1-1" , array (), "ROOMALERT3E-MIB" );   foreach ( $oids as $index => $entry ) { $descr = "Internal Temperature" ; if ( count ( $oids ) > 1) { $descr .= " " . ( $index +1); } $oid = ".1.3.6.1.4.1.20916.1.9.1.1.1.1.$index" ; $value = $entry [ 'digital-sen1-1' ]; if ( $value > 100) { $scale = 0.01; }   discover_sensor( 'temperature' , $device , $oid , "digital-sen1-1.$index" , 'roomalert' , $descr , $scale , $value ); }   // Digital sensors -- ARGH, why not digital-sen.1.1.0 instead of digital-sen1-1.0 ! // "Monitor for Temperature, Humidity, Heat Index (Feels Like), Power, Flood/Water, Smoke/Fire, Room Entry, Air Flow, Network Cameras and more." // Great, now how do I see what sensor is connected over SNMP? Right... No OID for that. // // So we'll go by this table: // // | Temp sensor | Temp/Humidity sensor | Power Sensor // --------+--------------------+--------------------------+----------------- // sen1-1: | Temp in Celsius | Temp in Celsius | Amperes // sen1-2: | Temp in Fahrenheit | Temp in Fahrenheit | Watts // sen1-3: | N/A | Humidity | Volts // sen1-4: | N/A | Heat index in Fahrenheit | Reference Volts // sen1-5: | N/A | Heat index in Celsius | N/A // // You can name the sensors in the web interface, but the descriptions are not exported through SNMP :( // // ROOMALERT3E-MIB::digital-sen1-1.0 = 2293 // ROOMALERT3E-MIB::digital-sen1-2.0 = 7327 // ROOMALERT3E-MIB::digital-sen1.6.0 = "External Temp"   $oids = snmpwalk_cache_multi_oid( $device , "digital" , array (), "ROOMALERT3E-MIB" );   $index = 0;   for ( $i = 1; $i <= 6; $i ++) { if (isset( $oids [ $index ][ "digital-sen$i-1" ])) { // Sensor is present. if (!isset( $oids [ $index ][ "digital-sen$i-3" ])) { // Temp sensor $descr = "Channel $i: Temperature" ; $oid = ".1.3.6.1.4.1.20916.1.9.1.1.$i.1.$index" ; $value = $oids [ $index ][ "digital-sen$i-1" ];   discover_sensor( 'temperature' , $device , $oid , "digital-sen$i-1.$index" , 'roomalert' , $descr , $scale , $value ); } elseif (isset( $oids [ $index ][ "digital-sen$i-5" ])) { // Temp/Humidity sensor $descr = "Channel $i: Temperature" ; $oid = ".1.3.6.1.4.1.20916.1.9.1.1.$i.1.$index" ; $value = $oids [ $index ][ "digital-sen$i-1" ]; discover_sensor( 'temperature' , $device , $oid , "digital-sen$i-1.$index" , 'roomalert' , $descr , $scale , $value );   $descr = "Channel $i: Heat index" ; $oid = ".1.3.6.1.4.1.20916.1.9.1.1.$i.5.$index" ; $value = $oids [ $index ][ "digital-sen$i-5" ]; discover_sensor( 'temperature' , $device , $oid , "digital-sen$i-5.$index" , 'roomalert' , $descr , $scale , $value );   $descr = "Channel $i: Humidity" ; $oid = ".1.3.6.1.4.1.20916.1.9.1.1.$i.3.$index" ; $value = $oids [ $index ][ "digital-sen$i-3" ]; discover_sensor( 'humidity' , $device , $oid , "digital-sen$i-3.$index" , 'roomalert' , $descr , $scale , $value ); } else { // Power sensor $descr = "Channel $i: Current" ; $oid = ".1.3.6.1.4.1.20916.1.9.1.1.$i.1.$index" ; $value = $oids [ $index ][ "digital-sen$i-1" ]; discover_sensor( 'current' , $device , $oid , "digital-sen$i-1.$index" , 'roomalert' , $descr , $scale , $value );   $descr = "Channel $i: Power" ; $oid = ".1.3.6.1.4.1.20916.1.9.1.1.$i.2.$index" ; $value = $oids [ $index ][ "digital-sen$i-2" ]; discover_sensor( 'power' , $device , $oid , "digital-sen$i-2.$index" , 'roomalert' , $descr , $scale , $value );   $descr = "Channel $i: Voltage" ; $oid = ".1.3.6.1.4.1.20916.1.9.1.1.$i.3.$index" ; $value = $oids [ $index ][ "digital-sen$i-3" ]; discover_sensor( 'voltage' , $device , $oid , "digital-sen$i-3.$index" , 'roomalert' , $descr , $scale , $value );   $descr = "Channel $i: Reference voltage" ; $oid = ".1.3.6.1.4.1.20916.1.9.1.1.$i.4.$index" ; $value = $oids [ $index ][ "digital-sen$i-4" ]; discover_sensor( 'voltage' , $device , $oid , "digital-sen$i-4.$index" , 'roomalert' , $descr , $scale , $value ); } } }   /*   On/off digital switches may be supported later; 1 = alarm, 0 = ok FIXME They are now - state sensors!   ROOMALERT3E-MIB::switch-sen1.0 = INTEGER: 1 ROOMALERT3E-MIB::switch-sen2.0 = INTEGER: 0   */   // EOF

            People

              landy Mike Stupalov
              itinfra IT Infrastructure
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: