Observium_CE/includes/discovery/wifi/ruckus-radio-mib.inc.php

61 lines
2.0 KiB
PHP

<?php
/**
* Observium
*
* This file is part of Observium.
*
* @package observium
* @subpackage discovery
* @copyright (C) Adam Armstrong
*
*/
// First attempt at radio polling. Could do with some improvement perhaps
// Getting Radios
$radios_snmp = snmpwalk_cache_oid($device, 'RuckusRadioTable', [], 'RUCKUS-RADIO-MIB');
if ($GLOBALS['snmp_status']) {
$radios_snmp = snmpwalk_cache_oid($device, 'ruckusRadioStatsNumSta', $radios_snmp, 'RUCKUS-RADIO-MIB');
if (OBS_DEBUG > 1) {
print_vars($radios_snmp);
}
}
// Goes through the SNMP radio data
foreach ($radios_snmp as $radio_number => $radio) {
$radio['radio_mib'] = 'RUCKUS-RADIO-MIB';
$radio['radio_number'] = $radio_number;
$radio['radio_ap'] = 0; // Hardcoded since the AP is self.
$radio['radio_type'] = $radio['ruckusRadioMode'];
$radio['radio_status'] = 'unknown'; // Hardcoded, data doesn't exist in this MIB
$radio['radio_clients'] = $radio['ruckusRadioStatsNumSta'];
$radio['radio_txpower'] = $radio['ruckusRadioTxPower'];
$radio['radio_channel'] = $radio['ruckusRadioChannel'];
if ($radio['ruckusRadioBSSType'] == '1') {
$radio['radio_status'] = 'station';
} elseif ($radio['ruckusRadioBSSType'] == '2') {
$radio['radio_status'] = 'master';
} elseif ($radio['ruckusRadioBSSType'] == '3') {
$radio['radio_status'] = 'independent';
} else {
$radio['radio_bsstype'] = 'unknown';
}
$radio['radio_protection'] = $radio['ruckusRadioProtectionMode'];
$radio['radio_mac'] = ['NULL']; // Hardcoded, data doesnt' exist in this MIB
if (OBS_DEBUG && count($radio)) {
print_vars($radio);
}
discover_wifi_radio($device['device_id'], $radio);
// $params = array('radio_ap', 'radio_number', 'radio_type', 'radio_status', 'radio_clients', 'radio_txpower', 'radio_channel', 'radio_mac', 'radio_protection', 'radio_bsstype', 'radio_mib');
}
unset($radios_snmp);
// EOF