////////////  LANCOM LCOS-MIB    //////////////

$config['mibs'][$mib]['status'][] = array(
  'table'               => 'LcsStatusVcCllMngrUsersEntry',
  'oid'                 => 'lcsStatusVcCllMngrUsersEntryLocalRegister',
  'descr'               => 'Phone %lcsStatusVcCllMngrUsersEntryNumberName% Registration State (%lcsStatusVcCllMngrUsersEntryType%, %lcsStatusVcCllMngrUsersEntryDisplayName%)',
  'descr_transform'     => [ 'action' => 'replace', 'from' => ['eIsdnUser', 'eSipUser', 'eUnspecified', 'eAnalogUser', ', )' ],
                                                    'to'   => ['ISDN'     , 'SIP'     , 'Unspecified' , 'Analog'     , ')'  ] ],
  'type'                => 'UserEntryLocalRegister',
  'measured'            => 'PhoneUsers',
  'oid_num'             => '.1.3.6.1.4.1.2356.11.1.53.3.1.6',
);

$type = 'UserEntryLocalRegister';
$config['mibs'][$mib]['states'][$type][0]   = array('name' => 'eNotPossible',     'event' => 'ignore');
$config['mibs'][$mib]['states'][$type][1]   = array('name' => 'eRegistered',      'event' => 'ok');
$config['mibs'][$mib]['states'][$type][2]   = array('name' => 'eNotRegistered',   'event' => 'alert');
$config['mibs'][$mib]['states'][$type][3]   = array('name' => 'eFailed',          'event' => 'alert');
$config['mibs'][$mib]['states'][$type][4]   = array('name' => 'eBadDomain',       'event' => 'alert');
$config['mibs'][$mib]['states'][$type][5]   = array('name' => 'eAuthFailure',     'event' => 'alert');
$config['mibs'][$mib]['states'][$type][6]   = array('name' => 'eUnknownUser',     'event' => 'alert');
$config['mibs'][$mib]['states'][$type][7]   = array('name' => 'eNotConfigured',   'event' => 'alert');
$config['mibs'][$mib]['states'][$type][8]   = array('name' => 'eSerialnoFailure', 'event' => 'alert');
$config['mibs'][$mib]['states'][$type][9]   = array('name' => 'eTimeout',         'event' => 'alert');
$config['mibs'][$mib]['states'][$type][10]  = array('name' => 'eBlocked',         'event' => 'alert');






////////////  LANCOM-1723    //////////////

$mib = 'LANCOM-1723-MIB';
//  'oid_num'             => '.1.3.6.1.4.1.2356.500.7.1723.1.53.4.1.6',
$config['mibs'][$mib]['enable'] = 1;
$config['mibs'][$mib]['identity_num'] = '.1.3.6.1.4.1.2356.500';
$config['mibs'][$mib]['mib_dir'] = 'lancom';
$config['mibs'][$mib]['descr'] = '';
$config['mibs'][$mib]['serial'][] = array(
  'oid' => 'lcsFirmwareVersionTableEntrySerialNumber.eIfc'); // LCOS-MIB::lcsFirmwareVersionTableEntrySerialNumber.eIfc = STRING: 4003xxxxxxxxxxxx
$config['mibs'][$mib]['hardware'][] = array(
  'oid' => 'lcsFirmwareVersionTableEntryModule.eIfc',      // LCOS-MIB::lcsFirmwareVersionTableEntryModule.eIfc = STRING: LANCOM L-321agn Wireless
  'transformations' => [ [ 'action' => 'replace', 'from' => 'LANCOM ', 'to' => ''],
                         [ 'action' => 'preg_replace', 'from' => '/ \(.+?\)/', 'to' => ''] ]);

$config['mibs'][$mib]['version'][] = array(
   'oid' => 'LANCOM-1723-MIB::lcsStatusHardwareInfoSwVersion.0',
   'transformations' => array('action' => 'regex_replace', 'from' => '/(.*) \/.*/',
                                                           'to' => '$1'));

$config['mibs'][$mib]['status'][] = array(
  'table'               => 'lcsStatusVcCllMngrLinesTable',
  'oid'                 => 'lcsStatusVcCllMngrLinesEntryRegStatus',
  'descr'               => 'Line %index% Registration (%lcsStatusVcCllMngrLinesEntryName%, %lcsStatusVcCllMngrLinesEntryType%, %lcsStatusVcCllMngrLinesEntryDomain%)',
  'descr_transform'     => [ 'action' => 'replace', 'from' => ['eIsdn', 'eSipPbx', 'eSipProvider', 'eAnalog'], 'to' => ['ISDN', 'SIP PBX', 'SIP Provider', 'Analog'] ], // lcsStatusVcCllMngrLinesEntryType
  'type'                => 'lcsStatusVcCllMngrLinesEntryRegStatus',
  'measured'            => 'lines',
//  'oid_num'             => '.1.3.6.1.4.1.2356.500.1.53.4.1.4',
);


/*
LANCOM-1723-MIB::lcsStatusHardwareInfoCpuLoad1sPercent.0 = INTEGER: 11
LANCOM-1723-MIB::lcsStatusHardwareInfoCpuLoad5sPercent.0 = INTEGER: 12
LANCOM-1723-MIB::lcsStatusHardwareInfoCpuLoad60sPercent.0 = INTEGER: 4
LANCOM-1723-MIB::lcsStatusHardwareInfoCpuLoad300sPercent.0 = INTEGER: 2

*/

$config['mibs'][$mib]['la'] = array(
  'scale'     => 0.01,
  'oid_1min'  => 'lcsStatusHardwareInfoCpuLoad60sPercent.0', 'oid_1min_num'  => '.1.3.6.1.4.1.2356.500.7.1723.1.47.14.0',
  'oid_5min'  => 'lcsStatusHardwareInfoCpuLoad300sPercent.0', 'oid_5min_num'  => '.1.3.6.1.4.1.2356.500.7.1723.1.47.15.0'
//  'oid_15min' => 'loadValue.3', 'oid_15min_num' => ''
);


$type = 'lcsStatusVcCllMngrLinesEntryRegStatus';
$config['mibs'][$mib]['states'][$type][0]  = array('name' => 'eNotPossible',      'event' => 'exclude');
$config['mibs'][$mib]['states'][$type][1]  = array('name' => 'eRegistered',       'event' => 'ok');
$config['mibs'][$mib]['states'][$type][2]  = array('name' => 'eNotRegistered',    'event' => 'alert');
$config['mibs'][$mib]['states'][$type][3]  = array('name' => 'eFailed',           'event' => 'alert');
$config['mibs'][$mib]['states'][$type][4]  = array('name' => 'eBadDomain',        'event' => 'alert');
$config['mibs'][$mib]['states'][$type][5]  = array('name' => 'eAuthFailure',      'event' => 'alert');
$config['mibs'][$mib]['states'][$type][6]  = array('name' => 'eUnknownUser',      'event' => 'alert');
$config['mibs'][$mib]['states'][$type][7]  = array('name' => 'eNotConfigured',    'event' => 'warning');
$config['mibs'][$mib]['states'][$type][8]  = array('name' => 'eSerialnoFailure',  'event' => 'alert');
$config['mibs'][$mib]['states'][$type][9]  = array('name' => 'eTimeout',          'event' => 'alert');
$config['mibs'][$mib]['states'][$type][10] = array('name' => 'eBlocked',          'event' => 'alert');

$config['mibs'][$mib]['status'][] = array(
  'table'               => 'lcsStatusVcCllMngrLinesTable',
  'oid'                 => 'lcsStatusVcCllMngrLinesEntryLineStatus',
  'descr'               => 'Line %index% Status (%lcsStatusVcCllMngrLinesEntryName%, %lcsStatusVcCllMngrLinesEntryType%, %lcsStatusVcCllMngrLinesEntryDomain%)',
  'descr_transform'     => [ 'action' => 'replace', 'from' => ['eIsdn', 'eSipPbx', 'eSipProvider', 'eAnalog'], 'to' => ['ISDN', 'SIP PBX', 'SIP Provider', 'Analog'] ], // lcsStatusVcCllMngrLinesEntryType
  'type'                => 'lcsStatusVcCllMngrLinesEntryLineStatus',
  'measured'            => 'lines',
//  'oid_num'             => '.1.3.6.1.4.1.2356.500.1.53.4.1.5',
);
$type = 'lcsStatusVcCllMngrLinesEntryLineStatus';
$config['mibs'][$mib]['states'][$type][0]  = array('name' => 'eUnspecified', 'event' => 'ignore');
$config['mibs'][$mib]['states'][$type][1]  = array('name' => 'eFailure',     'event' => 'alert');
$config['mibs'][$mib]['states'][$type][2]  = array('name' => 'eBusy',        'event' => 'ok');
$config['mibs'][$mib]['states'][$type][3]  = array('name' => 'eReady',       'event' => 'ok');


$config['mibs'][$mib]['status'][] = array(
  'table'               => 'lcsStatusVcCllMngrLinesTable',
  'oid'                 => 'lcsStatusVcCllMngrLinesEntryQuality',
  'descr'               => 'Line %index% Quality (%lcsStatusVcCllMngrLinesEntryName%, %lcsStatusVcCllMngrLinesEntryType%, %lcsStatusVcCllMngrLinesEntryDomain%)',
  'descr_transform'     => [ 'action' => 'replace', 'from' => ['eIsdn', 'eSipPbx', 'eSipProvider', 'eAnalog'], 'to' => ['ISDN', 'SIP PBX', 'SIP Provider', 'Analog'] ], // lcsStatusVcCllMngrLinesEntryType
  'type'                => 'lcsStatusVcCllMngrLinesEntryQuality',
  'measured'            => 'lines',
//  'oid_num'             => '.1.3.6.1.4.1.2356.500.1.53.4.1.6',
);

$type = 'lcsStatusVcCllMngrLinesEntryQuality';
$config['mibs'][$mib]['states'][$type][0]  = array('name' => 'eUnspecified', 'event' => 'exclude');
$config['mibs'][$mib]['states'][$type][1]  = array('name' => 'eBad',         'event' => 'alert');
$config['mibs'][$mib]['states'][$type][2]  = array('name' => 'ePoor',        'event' => 'warning');
$config['mibs'][$mib]['states'][$type][3]  = array('name' => 'eFair',        'event' => 'warning');
$config['mibs'][$mib]['states'][$type][4]  = array('name' => 'eGood',        'event' => 'ok');
$config['mibs'][$mib]['states'][$type][5]  = array('name' => 'eExcellent',   'event' => 'ok');


$config['mibs'][$mib]['status'][] = array(
  'table'               => 'lcsStatusVcCllMngrLinesTable',
  'oid'                 => 'lcsStatusVcCllMngrLinesEntryRegState',
  'descr'               => 'Line %index% Registration State (%lcsStatusVcCllMngrLinesEntryName%, %lcsStatusVcCllMngrLinesEntryType%, %lcsStatusVcCllMngrLinesEntryDomain%)',
  'descr_transform'     => [ 'action' => 'replace', 'from' => ['eIsdn', 'eSipPbx', 'eSipProvider', 'eAnalog'], 'to' => ['ISDN', 'SIP PBX', 'SIP Provider', 'Analog'] ], // lcsStatusVcCllMngrLinesEntryType
  'type'                => 'lcsStatusVcCllMngrLinesEntryRegState',
  'measured'            => 'lines',
  'oid_num'             => '.1.3.6.1.4.1.2356.500.1.53.4.1.9',
);
$type = 'lcsStatusVcCllMngrLinesEntryRegState';
$config['mibs'][$mib]['states'][$type][0]  = array('name' => 'eIdle',               'event' => 'ok');
$config['mibs'][$mib]['states'][$type][1]  = array('name' => 'eTrying',             'event' => 'warning');
$config['mibs'][$mib]['states'][$type][2]  = array('name' => 'eDnsPending',         'event' => 'warning');
$config['mibs'][$mib]['states'][$type][3]  = array('name' => 'eTransportConnected', 'event' => 'ok');


$config['mibs'][$mib]['status'][] = array(
  'table'               => 'lcsStatusVcCllMngrUsersEntry',
  'oid'                 => 'lcsStatusVcCllMngrUsersEntryLocalRegister',
  'descr'               => 'Phone %lcsStatusVcCllMngrUsersEntryNumberName% Registration State (%lcsStatusVcCllMngrUsersEntryType%, %lcsStatusVcCllMngrUsersEntryDisplayName%)',
  'descr_transform'     => [ 'action' => 'replace', 'from' => ['eIsdnUser', 'eSipUser', 'eUnspecified', 'eAnalogUser', ', )' ],
                                                    'to'   => ['ISDN'     , 'SIP'     , 'Unspecified' , 'Analog'     , ')'  ] ],
  'type'                => 'UserEntryLocalRegister',
  'measured'            => 'PhoneUsers',
  'oid_num'             => '.1.3.6.1.4.1.2356.500.7.1723.1.53.3.1.6',
);

$type = 'UserEntryLocalRegister';
$config['mibs'][$mib]['states'][$type][0]   = array('name' => 'eNotPossible',     'event' => 'ignore');
$config['mibs'][$mib]['states'][$type][1]   = array('name' => 'eRegistered',      'event' => 'ok');
$config['mibs'][$mib]['states'][$type][2]   = array('name' => 'eNotRegistered',   'event' => 'alert');
$config['mibs'][$mib]['states'][$type][3]   = array('name' => 'eFailed',          'event' => 'alert');
$config['mibs'][$mib]['states'][$type][4]   = array('name' => 'eBadDomain',       'event' => 'alert');
$config['mibs'][$mib]['states'][$type][5]   = array('name' => 'eAuthFailure',     'event' => 'alert');
$config['mibs'][$mib]['states'][$type][6]   = array('name' => 'eUnknownUser',     'event' => 'alert');
$config['mibs'][$mib]['states'][$type][7]   = array('name' => 'eNotConfigured',   'event' => 'alert');
$config['mibs'][$mib]['states'][$type][8]   = array('name' => 'eSerialnoFailure', 'event' => 'alert');
$config['mibs'][$mib]['states'][$type][9]   = array('name' => 'eTimeout',         'event' => 'alert');
$config['mibs'][$mib]['states'][$type][10]  = array('name' => 'eBlocked',         'event' => 'alert');

