\PONizer
PON devices management and monitoring implementation
Synopsis
class PONizer
{
- // constants
- const SIGCACHE_PATH = OLTAttractor::SIGCACHE_PATH;
- const SIGCACHE_EXT = OLTAttractor::SIGCACHE_EXT;
- const DISTCACHE_PATH = OLTAttractor::DISTCACHE_PATH;
- const DISTCACHE_EXT = OLTAttractor::DISTCACHE_EXT;
- const ONUCACHE_PATH = OLTAttractor::ONUCACHE_PATH;
- const ONUCACHE_EXT = OLTAttractor::ONUCACHE_EXT;
- const INTCACHE_PATH = OLTAttractor::INTCACHE_PATH;
- const INTCACHE_EXT = OLTAttractor::INTCACHE_EXT;
- const INTDESCRCACHE_EXT = OLTAttractor::INTDESCRCACHE_EXT;
- const FDBCACHE_PATH = OLTAttractor::FDBCACHE_PATH;
- const FDBCACHE_EXT = OLTAttractor::FDBCACHE_EXT;
- const DEREGCACHE_PATH = OLTAttractor::DEREGCACHE_PATH;
- const DEREGCACHE_EXT = OLTAttractor::DEREGCACHE_EXT;
- const UPTIME_PATH = OLTAttractor::UPTIME_PATH;
- const UPTIME_EXT = OLTAttractor::UPTIME_EXT;
- const TEMPERATURE_PATH = OLTAttractor::TEMPERATURE_PATH;
- const TEMPERATURE_EXT = OLTAttractor::TEMPERATURE_EXT;
- const MACDEVIDCACHE_PATH = OLTAttractor::MACDEVIDCACHE_PATH;
- const MACDEVIDCACHE_EXT = OLTAttractor::MACDEVIDCACHE_EXT;
- const ONUSIG_PATH = OLTAttractor::ONUSIG_PATH;
- const POLL_PID = 'OLTPOLL_';
- const POLL_STATS = 'exports/pondata/races/PONYRUN_';
- const POLL_LOG = 'exports/oltpoll.log';
- const SNMPCACHE = false;
- const SNMPPORT = 161;
- const TABLE_ONUS = 'pononu';
- const TABLE_SWITCHES = 'switches';
- const TABLE_ONUEXTUSERS = 'pononuextusers';
- const KEY_ALLONU = 'ALLONU';
- const KEY_ONUOLT = 'ONUOLTID_';
- const KEY_ONULISTAJ = 'ONULISTAJ_';
- const SNMP_TEMPLATES_PATH = 'config/snmptemplates/';
- const SNMP_PRIVATE_TEMPLATES_PATH = 'documents/mysnmptemplates/';
- const URL_ME = '?module=ponizer';
- const URL_ONULIST = '?module=ponizer&onulist=true';
- const URL_USERPROFILE = '?module=userprofile&username=';
- const URL_ONU = '?module=ponizer&editonu=';
- const COLOR_OK = '#005502';
- const COLOR_AVG = '#FF5500';
- const COLOR_BAD = '#AB0000';
- const COLOR_NOSIG = '#000000';
- const NO_SIGNAL = 'Offline';
- const POLL_RUNNING = 'đ';
- // members
- protected array $allOnu = ;
- protected array $onuMacIdList = ;
- protected type $onuSerialIdList = ;
- protected array $onuMacOltidList = ;
- protected array $onuSerialOltidList = ;
- protected array $allOnuExtUsers = ;
- protected array $allModelsData = ;
- protected array $allOltDevices = ;
- protected array $allOltNames = ;
- protected array $allOltModelIds = ;
- protected array $allOltSnmp = ;
- protected array $allOltModels = ;
- protected array $snmpTemplates = ;
- protected array $signalCache = ;
- protected array $distanceCache = ;
- protected array $lastDeregCache = ;
- protected array $onuIndexCache = ;
- protected array $interfaceCache = ;
- protected array $FDBCache = ;
- protected array $onuMACDevIDCache = ;
- protected array $uniOperStatsCache = ;
- protected array $altCfg = ;
- protected string $snmp = '';
- protected string $sup = '';
- protected bool $EnableQuickOLTLinks = false;
- protected bool $OLTIndividualRepollAJAX = false;
- protected bool $ONUChartsSpoilerClosed = false;
- protected bool $onuUknownUserByMACSearchShow = false;
- protected integer $onuUknownUserByMACSearchIncrement = 0;
- protected bool $onuUknownUserByMACSearchShowAlways = false;
- protected bool $onuUknownUserByMACSearchTelepathy = false;
- protected bool $ponizerUseTabUI = false;
- protected string $onuMACValidateRegex = '/^([[:xdigit:]]{2}[\s:.-]?){5}[[:xdigit:]]{2}$/';
- protected bool $validateONUMACEnabled = false;
- protected boolean $replaceInvalidONUMACWithRandom = false;
- protected bool $showPONIfaceDescrMainTab = false;
- protected bool $showPONIfaceDescrStatsTab = false;
- protected array $ponIfaceDescrCache = ;
- protected  $ubConfig = NULL;
- protected array $hideOnuMac = ;
- protected bool $ponIfDescribe = false;
- protected boolt $deferredLoadingFlag = false;
- protected string $onuOfflineSignalLevel = '-9000';
- public  $ponInterfaces = '';
- protected bool $ipColumnVisible = true;
- protected bool $llidColVisibleUnknownONU = false;
- protected bool $onuUniStatusEnabled = false;
- protected bool $onuSerialCaseMode = 0;
- protected array $existingOnuIdents = ;
- protected  $messages = '';
- protected  $cache = '';
- protected integer $onuCacheTimeout = 0;
- protected  $oltData = '';
- protected bool $supressOutput = false;
- protected  $onuDb = '';
- protected  $onuExtUsersDb = '';
- protected  $stardust = '';
- // methods
- public void __construct()
- protected void loadAlter()
- protected void initMessages()
- protected void initOltAttractor()
- protected void initOnuDb()
- protected void initOnuExtUsersDb()
- protected void initStarDust()
- protected void loadOltDevices()
- public array getAllOltDevices()
- protected void loadOltModels()
- protected void loadSnmpTemplates()
- protected void initSNMP()
- protected void initCache()
- public int/bool getOnuIdByUser()
- public array getOnuIdByUserAll()
- protected array getOnuArrayByOltID()
- public void pollOltSignal()
- public void oltDevicesPolling()
- protected bool isPollingNow()
- protected array pollingStatsRead()
- protected void pollingStatsUpdate()
- public void logPoll()
- protected bool isPollingLocked()
- public string renderLogControls()
- public string renderPollingLog()
- public string renderOnuNavBar()
- protected void loadOnu()
- protected void loadOnuExtUsers()
- public string getOltOnuCounts()
- public int|array checkONUAssignment()
- public array getAllOnu()
- public int/0 getOnuIDbyIdent()
- public array getUserByONUMAC()
- protected void loadModels()
- public array getAllModelsData()
- protected string getModelName()
- protected string getModelPorts()
- public bool checkMacUnique()
- public bool checkOnuUnique()
- public void flushOnuCache()
- public void flushOnuAjListCache()
- public int/0 onuCreate()
- public void onuSave()
- public void onuAssign()
- public void onuDelete()
- protected string onuCreateForm()
- public string onuRegisterForm()
- protected string getSearchmacControl()
- public string onuAssignForm()
- protected array getOnuExtUsers()
- public void deleteOnuExtUser()
- protected string renderOnuExtUserForm()
- public void createOnuExtUser()
- public array getOnuData()
- public array getOnuSignalLevelData()
- protected string renderOnuSignalBig()
- protected string renderOnuMiscStats()
- protected string renderONUUniStats()
- public void onuBurial()
- public void onuResurrect()
- public string onuEditForm()
- protected string onuSignalHistory()
- public string controls()
- public string loadonuSignalHistory()
- public string renderOnuList()
- public string renderOltStats()
- public string renderUnknownOnuList()
- public string renderOnuFdbCache()
- public string renderOltFdbList()
- protected void loadSignalsCache()
- protected void loadDistanceCache()
- protected void loadLastDeregCache()
- protected void loadInterfaceCache()
- protected void loadPONIfaceDescrCache()
- protected void loadFDBCache()
- protected void loadUniOperStatsCache()
- protected void fillONUIndexCache()
- public array|string getUnknownONUMACList()
- public void ajaxOnuUnknownData()
- protected string getOltOnuRenderMode()
- public void ajaxOnuData()
- public void ajaxOltFdbData()
- protected bool checkOnuOLTid()
- protected bool checkOnuUserAssign()
- public void ajaxFdbCacheList()
- public void fixOnuOltAssigns()
- public string renderCpeUserControls()
- public static array getAllONUSignals()
- public array getAllONUDeregReasons()
- protected string getRandomMac()
- public bool validateONUMAC()
- protected string validatedMac()
- protected array reviewDataSet()
- public string renderOnuSearchForm()
- public string renderOnuSearchResult()
- protected string renderOnuArray()
- public float|int|string getONURealtimeSignal()
- public array getONUExtenInfo()
- public bool|string getOLTUptime()
- public string convertBDCOMTime()
- public void checkONUAssignmentReply()
- protected array getOnuUnknownAll()
- public string renderBatchOnuRegList()
- public string renderBatchOnuRegForm()
- public string runBatchOnuRegister()
Constants
Name | Value |
---|---|
SIGCACHE_PATH | OLTAttractor::SIGCACHE_PATH |
SIGCACHE_EXT | OLTAttractor::SIGCACHE_EXT |
DISTCACHE_PATH | OLTAttractor::DISTCACHE_PATH |
DISTCACHE_EXT | OLTAttractor::DISTCACHE_EXT |
ONUCACHE_PATH | OLTAttractor::ONUCACHE_PATH |
ONUCACHE_EXT | OLTAttractor::ONUCACHE_EXT |
INTCACHE_PATH | OLTAttractor::INTCACHE_PATH |
INTCACHE_EXT | OLTAttractor::INTCACHE_EXT |
INTDESCRCACHE_EXT | OLTAttractor::INTDESCRCACHE_EXT |
FDBCACHE_PATH | OLTAttractor::FDBCACHE_PATH |
FDBCACHE_EXT | OLTAttractor::FDBCACHE_EXT |
DEREGCACHE_PATH | OLTAttractor::DEREGCACHE_PATH |
DEREGCACHE_EXT | OLTAttractor::DEREGCACHE_EXT |
UPTIME_PATH | OLTAttractor::UPTIME_PATH |
UPTIME_EXT | OLTAttractor::UPTIME_EXT |
TEMPERATURE_PATH | OLTAttractor::TEMPERATURE_PATH |
TEMPERATURE_EXT | OLTAttractor::TEMPERATURE_EXT |
MACDEVIDCACHE_PATH | OLTAttractor::MACDEVIDCACHE_PATH |
MACDEVIDCACHE_EXT | OLTAttractor::MACDEVIDCACHE_EXT |
ONUSIG_PATH | OLTAttractor::ONUSIG_PATH |
POLL_PID | 'OLTPOLL_' |
POLL_STATS | 'exports/pondata/races/PONYRUN_' |
POLL_LOG | 'exports/oltpoll.log' |
SNMPCACHE | false |
SNMPPORT | 161 |
TABLE_ONUS | 'pononu' |
TABLE_SWITCHES | 'switches' |
TABLE_ONUEXTUSERS | 'pononuextusers' |
KEY_ALLONU | 'ALLONU' |
KEY_ONUOLT | 'ONUOLTID_' |
KEY_ONULISTAJ | 'ONULISTAJ_' |
SNMP_TEMPLATES_PATH | 'config/snmptemplates/' |
SNMP_PRIVATE_TEMPLATES_PATH | 'documents/mysnmptemplates/' |
URL_ME | '?module=ponizer' |
URL_ONULIST | '?module=ponizer&onulist=true' |
URL_USERPROFILE | '?module=userprofile&username=' |
URL_ONU | '?module=ponizer&editonu=' |
COLOR_OK | '#005502' |
COLOR_AVG | '#FF5500' |
COLOR_BAD | '#AB0000' |
COLOR_NOSIG | '#000000' |
NO_SIGNAL | 'Offline' |
POLL_RUNNING | 'đ' |
Members
protected
- $EnableQuickOLTLinks
â
bool
Are QuickOLTLinks enabled? - $FDBCache
â
array
Contains FDB indexes cache as id=>mac - $OLTIndividualRepollAJAX
â
bool
Are OLTs polled individually via AJAX? - $ONUChartsSpoilerClosed
â
bool
Is PON signal history charts spoiler initially closed? - $allModelsData
â
array
OLT models data as id=>model data array - $allOltDevices
â
array
All available OLT devices as id=>ip - location - $allOltModelIds
â
array
Contains all OLT devices id=>modelId mappings - $allOltModels
â
array
Available OLT models as id=>modelname + snmptemplate + ports - $allOltNames
â
array
All available OLT devices locations as id=>location - $allOltSnmp
â
array
OLT devices snmp data as id=>snmp data array - $allOnu
â
array
All available ONU devices as id=>onudata - $allOnuExtUsers
â
array
Contains array of additional ONU users as id=>binddata - $altCfg
â
array
System alter.ini config stored as key=>value - $cache
â
System caching object placeholder - $deferredLoadingFlag
â
boolt
Deferred loading flag - $distanceCache
â
array
Contains current ONU signal cache data as mac=>distance - $existingOnuIdents
â
array
Contains all busy ONU MAC/serials as lowercase onuIdent=>onuId - $hideOnuMac
â
array
Array of MAC address of ONU devices which will be hidden from unknown ONU list - $interfaceCache
â
array
Contains ONU indexes cache as mac=>interface - $ipColumnVisible
â
bool
IP column rendering flag - $lastDeregCache
â
array
Contains current ONU last dereg reasons cache data as mac=>last dereg reason - $llidColVisibleUnknownONU
â
bool
Placeholder for PON_UKNKOWN_ONU_LLID_SHOW alter.ini option - $messages
â
System message helper object placeholder - $oltData
â
Contains instance of OltAttractor - $onuCacheTimeout
â
int
Onu data caching timeout - $onuDb
â
ONUs database abstraction layer - $onuExtUsersDb
â
ONUs database abstraction layer - $onuIndexCache
â
array
Contains ONU indexes cache as mac=>oltid - $onuMACDevIDCache
â
array
Contains ONU devices indexes cache as mac => devID - $onuMACValidateRegex
â
string
Placeholder for onu MAC validation regex - $onuMacIdList
â
array
List for mac = id - $onuMacOltidList
â
array
List for mac = oltid - $onuOfflineSignalLevel
â
string
Placeholder for PON_ONU_OFFLINE_SIGNAL alter.ini option - $onuSerialCaseMode
â
bool
Placeholder for PON_ONU_SERIAL_CASE_MODE alter.ini option 0 - no case convert 1 - lowercase 2 - uppercase - $onuSerialIdList
â
type
List for serial = id - $onuSerialOltidList
â
array
List for serial = oltid - $onuUknownUserByMACSearchIncrement
â
string
Increment for user search by MAC telepathy for unknown ONU registering form - $onuUknownUserByMACSearchShow
â
bool
Is user search by MAC for unknown ONU registering form enabled? - $onuUknownUserByMACSearchShowAlways
â
bool
Is user search by MAC for unknown ONU registering form enabled mandatory? - $onuUknownUserByMACSearchTelepathy
â
bool
Is user search by MAC telepathy for unknown ONU registering form enabled? - $onuUniStatusEnabled
â
bool
Placeholder for PON_ONU_UNI_STATUS_ENABLED alter.ini option - $ponIfDescribe
â
bool
OLT intefaces manual descriptions flag - $ponIfaceDescrCache
â
array
Contains OLT PON interfaces description as $oltID => array($cleanIfaceName => $ifaceDescr) - $ponizerUseTabUI
â
bool
Is tab UI for ponizer active? - $replaceInvalidONUMACWithRandom
â
string
Replace ONU's MAC if invalid with a random one? - $showPONIfaceDescrMainTab
â
bool
Show PON interfaces descriptions in main ONU list tab if present? - $showPONIfaceDescrStatsTab
â
bool
Show PON interfaces descriptions in OLT stats tab if present? - $signalCache
â
array
Contains current ONU signal cache data as mac=>signal - $snmp
â
array
SNMPHelper object instance - $snmpTemplates
â
array
Contains available SNMP templates for OLT modelids as modelId=>snmpTemplateData - $stardust
â
Contains process manager instance - $sup
â
string
Prepared HTML for asterisk determining mandatory form field - $supressOutput
â
bool
Quiet mode flag - $ubConfig
â
null
Placeholder for UbillingConfig object - $uniOperStatsCache
â
array
Contains ONU UNI ports cache as MAC/Serial => (EtherPort => Status) - $validateONUMACEnabled
â
bool
Perform ONU MAC validation against $onuMACValidateRegex?
public
Methods
protected
- checkOnuOLTid() â Checks is ONU really associated with some OLT
- checkOnuUserAssign() â Checks is ONU associated with some login or not
- fillONUIndexCache() â Fills onuIndexCache array
- getModelName() â Returns model name by its id
- getModelPorts() â Returns model ports count by its id
- getOltOnuRenderMode() â Returns state of ONU_RENDER_MODE misc section option for some olt, if it exists.
- getOnuArrayByOltID() â Returns array of ONUs assigned on some OLT
- getOnuExtUsers() â Returns array of additional ONU assigned users
- getOnuUnknownAll() â Returns filtered array of unknown ONUs as mac/serial=>oltId
- getRandomMac() â Just generates random MAC address to replace invalid ONU MAC
- getSearchmacControl() â returns vendor by MAC search control if this enabled in config
- initCache() â Inits system caching engine
- initMessages() â Inits system messages helper for further usage
- initOltAttractor() â Inits anonymous OLT attractor instance for further usage
- initOnuDb() â Inits ONUs database abstraction layer
- initOnuExtUsersDb() â Inits ONUs additional users database abstraction layer
- initSNMP() â Creates single instance of SNMPHelper object
- initStarDust() â Inits process manager
- isPollingLocked() â Performs check of OLT polling lock via DB.
- isPollingNow() â Fast check some OLT for running collector process.
- loadAlter() â Loads system alter.ini config into private data property
- loadDistanceCache() â Loads ONU distance cache
- loadFDBCache() â Loads OLT FDB cache
- loadInterfaceCache() â Loads ONU interface cache
- loadLastDeregCache() â Loads ONU last dereg reasons cache
- loadModels() â Loads available device models from database
- loadOltDevices() â Loads all available devices set as OLT
- loadOltModels() â Loads all available snmp models data into private data property
- loadOnu() â Loads avaliable ONUs from database into private data property
- loadOnuExtUsers() â Loads avaliable ONUs additional users bindings from database into private data property
- loadPONIfaceDescrCache() â Loads available OLTs PON interfaces descriptions
- loadSignalsCache() â Loads existing signal cache from FS
- loadSnmpTemplates() â Performs SNMP templates preprocessing for OLT devices
- loadUniOperStatsCache()
- onuCreateForm() â Returns ONU creation form
- onuSignalHistory() â Renders ONU signal history chart
- pollingStatsRead() â Returns polling stats for some OLT
- pollingStatsUpdate() â Updates some OLT polling stats
- renderONUUniStats() â Renders ONU UNI port operational status if available
- renderOnuArray() â Renders ONU Array just as table list with some controls
- renderOnuExtUserForm() â Renders additional user creation form
- renderOnuMiscStats() â Renders ONU interface, distance and last dereg reason if available
- renderOnuSignalBig() â Returns styled current ONU signal
- reviewDataSet() â Performs validation of some data set if required as onuMac=>someValue
- validatedMac() â Returns validated MAC or replaces it with random one
public
- __construct() â Creates new PONizer object instance
- ajaxFdbCacheList() â Renders json for current all OLT FDB list
- ajaxOltFdbData() â Renders json formatted data for jquery data tables list
- ajaxOnuData() â Renders json formatted data for jquery data tables list with ONU signals list
- ajaxOnuUnknownData() â Renders json formatted data about unregistered ONU
- checkMacUnique() â Check ONU MAC address unique or not?
- checkONUAssignment() â Returns int for ONU has or has not some of subscribers login assignment May return array with status, login and OLT location and IP
- checkONUAssignmentReply() â Performs reply on ONU assigment check
- checkOnuUnique() â Check ONU MAC address or Serial unique or not?
- controls() â Returns default list controls
- convertBDCOMTime() â Tries to make BDCOM Reg/Dereg dates human readable
- createOnuExtUser() â Creates new ONU additional user binding
- deleteOnuExtUser() â Deletes existing user binding to ONU by user Id
- fixOnuOltAssigns() â Automatically fixes ONU to OLT associations due the actual FDB cache data
- flushOnuAjListCache() â Flushes some OLT precached list
- flushOnuCache() â Flushes all ONU related cache keys
- getAllModelsData() â Getter for allModelsData array
- getAllONUDeregReasons() â Return all of last dereg reasons as userLogin=>deregReason[raw/styled]
- getAllONUSignals() â Returns array like: $userLogin => $onuSignal
- getAllOltDevices() â Getter for allOltDevices array
- getAllOnu() â Getter for loaded ONU devices as id=>onuData
- getOLTUptime() â Tries to return the current "realtime" OLT uptime value
- getONUExtenInfo() â Tries to return some of the extended "realtime" ONU info, like Tx signal, last reg/dereg time, alive time
- getONURealtimeSignal() â Tries to return the current "realtime" ONU signal value
- getOltOnuCounts() â Returns Available OLT devices ONU counts
- getOnuData() â Returns existing ONU data or empty array if it not exists
- getOnuIDbyIdent() â Returns ONU ID by ONU MAC or serial
- getOnuIdByUser() â Try to detect ONU id by assigned users login
- getOnuIdByUserAll() â Trys to detect all ONU IDs by assigned users login as idx=>onuId
- getOnuSignalLevelData() â Returns some ONU signal level as array with following keys: raw/color/type/styled/isoffline
- getUnknownONUMACList() â Returns array of unknown ONUs MACs which can be filtered by OLT ID and returned just like simple array or formed HTML selector ready to use on web page
- getUserByONUMAC() â Performs search in nethosts for a MAC and a login linked to it
- loadonuSignalHistory() â Returns ONU signal history chart
- logPoll() â Performs logging of OLT polling
- oltDevicesPolling() â Performs available OLT devices polling. Use only in remote API.
- onuAssign() â Assigns exinsting ONU with some login
- onuAssignForm() â Renders ONU assigning form
- onuBurial() â Performs burial of some ONU
- onuCreate() â Creates new ONU in database and returns it Id or 0 if action fails
- onuDelete() â Deletes onu from database by its ID
- onuEditForm() â Returns ONU edit form
- onuRegisterForm() â Returns ONU fast registration form
- onuResurrect() â Performs resurrection of some buried ONU
- onuSave() â Saves ONU changes into database
- pollOltSignal() â Performs OLT device polling via PON HAL instance
- renderBatchOnuRegForm() â Renders batch unknown ONU registration form
- renderBatchOnuRegList() â Renders batch unknown ONU registration list
- renderCpeUserControls() â Returns ONU create and assign form for user profile module
- renderLogControls() â Returns some polllog viewer controls
- renderOltFdbList() â Renders OLT FDB list container
- renderOltStats() â Renders OLT stats
- renderOnuFdbCache() â Returns current FDB cache list container with controls
- renderOnuList() â Renders available ONU JQDT list container
- renderOnuSearchForm() â Renders ONU search form
- renderOnuSearchResult() â Catches ONU search request and renders some result
- renderPollingLog() â Renders last lines from OLT polling log
- renderUnknownOnuList() â Renders unknown ONU list container
- runBatchOnuRegister() â Performs batch unknown ONUs registration
- validateONUMAC() â Validate ONUs MAC against regex and return bool value