diff --git a/includes/discovery/sensors/dbm/raisecom.inc.php b/includes/discovery/sensors/dbm/raisecom.inc.php index 3ab4a47051..07b305cb08 100644 --- a/includes/discovery/sensors/dbm/raisecom.inc.php +++ b/includes/discovery/sensors/dbm/raisecom.inc.php @@ -9,8 +9,8 @@ foreach ($pre_cache['raisecomOpticalTransceiverDDMTable'] as $index => $data) { if (($key == 'txPower') && is_numeric($value['raisecomOpticalTransceiverParameterValue']) && ($value['raisecomOpticalTransceiverDDMValidStatus'] == 1)) { $oid = '.1.3.6.1.4.1.8886.1.18.2.2.1.1.2.'.$index.'.3'; $sensor_type = 'raisecomOpticalTransceiverTxPower'; - $port_descr = get_port_by_index_cache($device['device_id'], str_replace('1.', '', $index)); - $descr = $port_descr['ifDescr'] . ' Transmit Power'; + $port = get_port_by_index_cache($device['device_id'], str_replace('1.', '', $index)); + $descr = $port['ifDescr'] . ' Transmit Power'; $low_limit = $value['raisecomOpticalTransceiverParamLowAlarmThresh'] / $divisor; $low_warn_limit = $value['raisecomOpticalTransceiverParamLowWarningThresh'] / $divisor; $warn_limit = $value['raisecomOpticalTransceiverParamHighWarningThresh'] / $divisor; @@ -18,13 +18,15 @@ foreach ($pre_cache['raisecomOpticalTransceiverDDMTable'] as $index => $data) { $current = $value['raisecomOpticalTransceiverParameterValue'] / $divisor; $entPhysicalIndex = $index; $entPhysicalIndex_measured = 'ports'; - discover_sensor($valid['sensor'], 'dbm', $device, $oid, 'tx-'.$index, $sensor_type, $descr, $divisor, $multiplier, $low_limit, $low_warn_limit, $warn_limit, $high_limit, $current, 'snmp', $entPhysicalIndex, $entPhysicalIndex_measured); + if ($port['ifAdminStatus'] == 'up') { + discover_sensor($valid['sensor'], 'dbm', $device, $oid, 'tx-'.$index, $sensor_type, $descr, $divisor, $multiplier, $low_limit, $low_warn_limit, $warn_limit, $high_limit, $current, 'snmp', $entPhysicalIndex, $entPhysicalIndex_measured); + } } if (($key == 'rxPower') && is_numeric($value['raisecomOpticalTransceiverParameterValue']) && ($value['raisecomOpticalTransceiverDDMValidStatus'] != 0)) { $oid = '.1.3.6.1.4.1.8886.1.18.2.2.1.1.2.'.$index.'.4'; $sensor_type = 'raisecomOpticalTransceiverRxPower'; - $port_descr = get_port_by_index_cache($device['device_id'], str_replace('1.', '', $index)); - $descr = $port_descr['ifDescr'] . ' Receive Power'; + $port = get_port_by_index_cache($device['device_id'], str_replace('1.', '', $index)); + $descr = $port['ifDescr'] . ' Receive Power'; $low_limit = $value['raisecomOpticalTransceiverParamLowAlarmThresh'] / $divisor; $low_warn_limit = $value['raisecomOpticalTransceiverParamLowWarningThresh'] / $divisor; $warn_limit = $value['raisecomOpticalTransceiverParamHighWarningThresh'] / $divisor; @@ -32,7 +34,9 @@ foreach ($pre_cache['raisecomOpticalTransceiverDDMTable'] as $index => $data) { $current = $value['raisecomOpticalTransceiverParameterValue'] / $divisor; $entPhysicalIndex = $index; $entPhysicalIndex_measured = 'ports'; - discover_sensor($valid['sensor'], 'dbm', $device, $oid, 'rx-'.$index, $sensor_type, $descr, $divisor, $multiplier, $low_limit, $low_warn_limit, $warn_limit, $high_limit, $current, 'snmp', $entPhysicalIndex, $entPhysicalIndex_measured); + if ($port['ifAdminStatus'] == 'up') { + discover_sensor($valid['sensor'], 'dbm', $device, $oid, 'rx-'.$index, $sensor_type, $descr, $divisor, $multiplier, $low_limit, $low_warn_limit, $warn_limit, $high_limit, $current, 'snmp', $entPhysicalIndex, $entPhysicalIndex_measured); + } } } }