Index: mibs/qtech.inc.php
===================================================================
--- mibs/qtech.inc.php	(revision 10620)
+++ mibs/qtech.inc.php	(working copy)
@@ -32,4 +32,145 @@
   'oid_free'  => 'memoryIdle.0', // GBNPlatformOAM-MIB::memoryIdle.0 = INTEGER: 51
 );
 
+
+// QTECH (like DCN)
+
+$mib = 'QTECH-MIB';
+$config['mibs'][$mib]['enable'] = 1;
+$config['mibs'][$mib]['identity_num'] = '1.3.6.1.4.1.27514';
+$config['mibs'][$mib]['mib_dir'] = 'snr';
+$config['mibs'][$mib]['descr'] = 'SNR Switch MIB';
+$config['mibs'][$mib]['version'][] = array('oid' => 'sysSoftwareVersion.0', 'transformations' => array('action' => 'explode', 'delimiter' => '(', 'index' => 'first')); // SNR-SWITCH-MIB::sysSoftwareVersion.0 = STRING: "7.0.3.1(R0244.0117)"
+$config['mibs'][$mib]['features'][] = array('oid' => 'sysHardwareVersion.0'); // SNR-SWITCH-MIB::sysHardwareVersion.0 = STRING: "1.0.2"
+$config['mibs'][$mib]['processor']['switchCpuUsage'] = array(
+  'type'    => 'static',
+  'descr'   => 'System CPU',
+  'oid'     => 'switchCpuUsage.0',
+  'oid_num' => '1.3.6.1.4.1.27514.100.1.11.10.0' // switchCpuUsage.0 = INTEGER: 14
+);
+
+$config['mibs'][$mib]['mempool']['switchMemorySize'] = array(
+  'type'          => 'static',
+  'descr'         => 'Memory',
+  'scale'         => 1,
+  'oid_total'     => 'switchMemorySize.0',
+  'oid_total_num' => '1.3.6.1.4.1.27514.100.1.11.6.0', // switchMemorySize.0 = INTEGER: 536870912
+  'oid_used'      => 'switchMemoryBusy.0',
+  'oid_used_num'  => '1.3.6.1.4.1.27514.100.1.11.7.0', // switchMemoryBusy.0 = INTEGER: 305364992
+);
+
+$config['mibs'][$mib]['sensor'][] = [
+  'oid' => 'switchTemperature',
+  'class'    => 'temperature',
+  'descr'    => 'Switch Temperature',
+  'measured' => 'device',
+  'oid_num'  => '1.3.6.1.4.1.27514.100.1.11.9'
+];
+
+$config['mibs'][$mib]['status'][] = array(
+  'table'    => 'sysFanTable',
+  'oid'      => 'sysFanStatus',
+  'descr'    => 'Fan %index%',
+  'oid_num'  => '1.3.6.1.4.1.27514.100.1.12.1.3',
+  'type'     => 'sysFanStatus',
+  'measured' => 'fan'
+);
+$type = 'sysFanStatus';
+$config['mibs'][$mib]['states'][$type][0] = array('name' => 'normal', 'event' => 'ok');
+$config['mibs'][$mib]['states'][$type][1] = array('name' => 'abnormal', 'event' => 'alert');
+
+$config['mibs'][$mib]['status'][] = array(
+  'table'    => 'sysFanTable',
+  'oid'      => 'sysFanSpeed',
+  'descr'    => 'Fan %index% Speed',
+  'oid_num'  => '1.3.6.1.4.1.27514.100.1.12.1.4',
+  'type'     => 'sysFanSpeed',
+  'measured' => 'fan'
+);
+$type = 'sysFanSpeed';
+$config['mibs'][$mib]['states'][$type][0] = array('name' => 'none',         'event' => 'warning');
+$config['mibs'][$mib]['states'][$type][1] = array('name' => 'low',          'event' => 'ok');
+$config['mibs'][$mib]['states'][$type][2] = array('name' => 'medium-low',   'event' => 'ok');
+$config['mibs'][$mib]['states'][$type][3] = array('name' => 'medium',       'event' => 'ok');
+$config['mibs'][$mib]['states'][$type][4] = array('name' => 'medium-high',  'event' => 'warning');
+$config['mibs'][$mib]['states'][$type][5] = array('name' => 'high',         'event' => 'alert');
+
+// DDM Sensors
+
+$config['mibs'][$mib]['sensor'][] = [
+  'table'               => 'ddmTranscDiagnosisTable',
+  'oid'                 => 'ddmDiagnosisTemperature',
+  'class'               => 'temperature',
+  'measured'            => 'port',
+  'measured_match'      => ['entity_type' => 'port', 'field' => 'ifIndex', 'match' => '%index%' ],
+  'descr'               => '%port_label% Temperature',
+  'oid_num'             => '1.3.6.1.4.1.27514.100.30.1.1.2',
+  'scale'               => 1,
+  'oid_limit_low'       => 'ddmDiagTempLowAlarmThreshold',
+  'oid_limit_low_warn'  => 'ddmDiagTempLowWarnThreshold',
+  'oid_limit_high'      => 'ddmDiagTempHighAlarmThreshold',
+  'oid_limit_high_warn' => 'ddmDiagTempHighWarnThreshold',
+];
+
+$config['mibs'][$mib]['sensor'][] = [
+  'table'               => 'ddmTranscDiagnosisTable',
+  'oid'                 => 'ddmDiagnosisVoltage',
+  'class'               => 'voltage',
+  'measured'            => 'port',
+  'measured_match'      => ['entity_type' => 'port', 'field' => 'ifIndex', 'match' => '%index%' ],
+  'descr'               => '%port_label% Voltage',
+  'oid_num'             => '1.3.6.1.4.1.27514.100.30.1.1.7',
+  'scale'               => 1,
+  'oid_limit_low'       => 'ddmDiagVoltLowAlarmThreshold',
+  'oid_limit_low_warn'  => 'ddmDiagVoltLowWarnThreshold',
+  'oid_limit_high'      => 'ddmDiagVoltHighAlarmThreshold',
+  'oid_limit_high_warn' => 'ddmDiagVoltHighWarnThreshold',
+];
+
+$config['mibs'][$mib]['sensor'][] = [
+  'table'               => 'ddmTranscDiagnosisTable',
+  'oid'                 => 'ddmDiagnosisBias',
+  'class'               => 'current',
+  'measured'            => 'port',
+  'measured_match'      => ['entity_type' => 'port', 'field' => 'ifIndex', 'match' => '%index%' ],
+  'descr'               => '%port_label% TX Bias',
+  'oid_num'             => '1.3.6.1.4.1.27514.100.30.1.1.12',
+  'scale'               => 0.001,
+  'limit_scale'         => 0.001,
+  'oid_limit_low'       => 'ddmDiagBiasLowAlarmThreshold',
+  'oid_limit_low_warn'  => 'ddmDiagBiasLowWarnThreshold',
+  'oid_limit_high'      => 'ddmDiagBiasHighAlarmThreshold',
+  'oid_limit_high_warn' => 'ddmDiagBiasHighWarnThreshold',
+];
+
+$config['mibs'][$mib]['sensor'][] = [
+  'table'               => 'ddmTranscDiagnosisTable',
+  'oid'                 => 'ddmDiagnosisTXPower',
+  'class'               => 'dbm',
+  'measured'            => 'port',
+  'measured_match'      => ['entity_type' => 'port', 'field' => 'ifIndex', 'match' => '%index%' ],
+  'descr'               => '%port_label% TX Power',
+  'oid_num'             => '1.3.6.1.4.1.27514.100.30.1.1.22',
+  'scale'               => 1,
+  'oid_limit_low'       => 'ddmDiagTXPowerLowAlarmThreshold',
+  'oid_limit_low_warn'  => 'ddmDiagTXPowerLowWarnThreshold',
+  'oid_limit_high'      => 'ddmDiagTXPowerHighAlarmThreshold',
+  'oid_limit_high_warn' => 'ddmDiagTXPowerHighWarnThreshold',
+];
+
+$config['mibs'][$mib]['sensor'][] = [
+  'table'               => 'ddmTranscDiagnosisTable',
+  'oid'                 => 'ddmDiagnosisRXPower',
+  'class'               => 'dbm',
+  'measured'            => 'port',
+  'measured_match'      => ['entity_type' => 'port', 'field' => 'ifIndex', 'match' => '%index%' ],
+  'descr'               => '%port_label% RX Power',
+  'oid_num'             => '1.3.6.1.4.1.27514.100.30.1.1.17',
+  'scale'               => 1,
+  'oid_limit_low'       => 'ddmDiagRXPowerLowAlarmThreshold',
+  'oid_limit_low_warn'  => 'ddmDiagRXPowerLowWarnThreshold',
+  'oid_limit_high'      => 'ddmDiagRXPowerHighAlarmThreshold',
+  'oid_limit_high_warn' => 'ddmDiagRXPowerHighWarnThreshold',
+];
+
 // EOF

