TxPower (v / 10) const OID_docsIfDownChannelPower = "1.3.6.1.2.1.10.127.1.1.1.1.6"; //SNMP contra CM .channelCm > RxPower (v / 10) const OID_docsIfSigQSignalNoise = "1.3.6.1.2.1.10.127.1.1.4.1.5"; //SNMP contra CM .channelCm > SNR (v / 10) const OID_docsIfSigQMicroreflections = "1.3.6.1.2.1.10.127.1.1.4.1.6"; //SNMP contra CM .channelCm > Microreflection (v) //Se utilizará en la vista de diagnóstico const OID_docsIfSigQUnerroreds = "1.3.6.1.2.1.10.127.1.1.4.1.2"; //SNMP contra CM .channelCm > Unerroreds const OID_docsIfSigQCorrecteds = "1.3.6.1.2.1.10.127.1.1.4.1.3"; //SNMP contra CM .channelCm > Correcteds const OID_docsIfSigQUncorrectables = "1.3.6.1.2.1.10.127.1.1.4.1.4"; //SNMP contra CM .channelCm > Uncorrectables const OID_sysUpTimeInstance = "1.3.6.1.2.1.1.3.0"; //SNMP contra CM > uptime CM Format: Timeticks: (213988400) 24 days, 18:24:44.00 //CMTS const OID_docsIfCmtsCmStatusMacAddress = "1.3.6.1.2.1.10.127.1.3.3.1.2"; //cm_index > mac const OID_docsIfCmtsCmStatusIpAddress = "1.3.6.1.2.1.10.127.1.3.3.1.3"; //cm_index > ip const OID_docsIfCmtsCmStatusValue = "1.3.6.1.2.1.10.127.1.3.3.1.9"; //cm_index > state const OID_docsIfCmtsCmStatusUpChannelIfIndex = "1.3.6.1.2.1.10.127.1.3.3.1.5"; //cm_index > up interface const OID_docsIfCmtsCmStatusDownChannelIfIndex = "1.3.6.1.2.1.10.127.1.3.3.1.4"; //cm_index > down interface const OID_if_desc = "1.3.6.1.2.1.2.2.1.2"; //if_index > description const OID_system_description = '1.3.6.1.2.1.1.1.0'; //HOST SNMP DESCRIPTION const OID_if_in_octets = '1.3.6.1.2.1.2.2.1.10'; //if_index > in octets (counter32) const OID_if_out_octets = '1.3.6.1.2.1.2.2.1.16'; //if_index > out octets (counter32) const OID_docsIfCmtsCmStatusSignalNoise = "1.3.6.1.2.1.10.127.1.3.3.1.13"; //cm_index > snr de CM en CMTS const OID_docsIf3CmtsCmUsStatusSignalNoise = "1.3.6.1.4.1.4491.2.1.20.1.4.1.4"; const OID_docsIfCmtsCmStatusRxPower = "1.3.6.1.2.1.10.127.1.3.3.1.6"; //cm_index > RX de cm en CMTS const OID_docsIf3CmtsCmUsStatusRxPower = "1.3.6.1.4.1.4491.2.1.20.1.4.1.3"; const OID_docsIfCmtsCmStatusMicroreflections = "1.3.6.1.2.1.10.127.1.3.3.1.14"; //cm_index > MX de cm en CMTS const OID_docsIf3CmtsCmUsStatusMicroreflections = "1.3.6.1.4.1.4491.2.1.20.1.4.1.5"; // Utilizar estos para medir lo que llega a la interfaz desde el cm const OID_docsIfCmtsCmStatusExtUnerroreds = "1.3.6.1.2.1.10.127.1.3.3.1.15"; const OID_docsIf3CmtsCmUsStatusUnerroreds = "1.3.6.1.4.1.4491.2.1.20.1.4.1.7"; const OID_docsIfCmtsCmStatusExtCorrecteds = "1.3.6.1.2.1.10.127.1.3.3.1.16"; const OID_docsIf3CmtsCmUsStatusCorrecteds = "1.3.6.1.4.1.4491.2.1.20.1.4.1.8"; const OID_docsIfCmtsCmStatusExtUncorrectables = "1.3.6.1.2.1.10.127.1.3.3.1.17"; const OID_docsIf3CmtsCmUsStatusUncorrectables = "1.3.6.1.4.1.4491.2.1.20.1.4.1.9"; const OID_docsIfCmtsChannelUtilization = "1.3.6.1.2.1.10.127.1.3.9.1.3"; //Contra CMTS return mac > flows const OID_docsQosCmtsIfIndex = "1.3.6.1.2.1.10.127.7.1.11.1.3"; const OID_docsQos3CmtsIfIndex = "1.3.6.1.4.1.4491.2.1.21.1.11.1.3"; //Contra CMTS return flow > direction const OID_docsQosServiceFlowDirection = "1.3.6.1.2.1.10.127.7.1.3.1.7"; const OID_docsQos3ServiceFlowDirection = "1.3.6.1.4.1.4491.2.1.21.1.3.1.7"; //Contra CMTS return flow > octets const OID_docsQosServiceFlowOctets = "1.3.6.1.2.1.10.127.7.1.4.1.2"; const OID_docsQos3ServiceFlowOctets = "1.3.6.1.4.1.4491.2.1.21.1.4.1.2"; const OID_ipNetToMediaPhysAddress = "1.3.6.1.2.1.4.22.1.2"; const OID_docsIfCmtsCmPtr = "1.3.6.1.2.1.10.127.1.3.7.1.2"; const OID_docsIfDownChannelFrequency = "1.3.6.1.2.1.10.127.1.1.1.1.2"; const OID_docsIfDownChannelModulation = "1.3.6.1.2.1.10.127.1.1.1.1.4"; const OID_docsIfUpChannelFrequency = "1.3.6.1.2.1.10.127.1.1.2.1.2"; const OID_docsIfUpChannelWidth = "1.3.6.1.2.1.10.127.1.1.2.1.3"; const OID_docsIfSignalQualityTable = "1.3.6.1.2.1.10.127.1.1.4.1"; const OID_ifEntry = "1.3.6.1.2.1.2.2.1"; const OID_casaFlapListEntry = "1.3.6.1.4.1.20858.10.11.1.2.1"; public function docsIfCmtsCmStatusMacAddress() { return $this->getSNMP()->lastOidWalk(self::OID_docsIfCmtsCmStatusMacAddress,14); } public function docsIfCmtsCmStatusValue() { return $this->getSNMP()->lastOidWalk(self::OID_docsIfCmtsCmStatusValue,14); } public function docsIfCmtsCmStatusIpAddress() { return $this->getSNMP()->lastOidWalk(self::OID_docsIfCmtsCmStatusIpAddress,14); } public function docsIfCmtsCmStatusUpChannelIfIndex() { return $this->getSNMP()->lastOidWalk(self::OID_docsIfCmtsCmStatusUpChannelIfIndex,14); } public function docsIfCmtsCmStatusDownChannelIfIndex() { return $this->getSNMP()->lastOidWalk(self::OID_docsIfCmtsCmStatusDownChannelIfIndex,14); } public function docsIfDescription() { return $this->getSNMP()->lastOidWalk(self::OID_if_desc,11); } public function systemDescription() { return $this->getSNMP()->lastOidWalk(self::OID_system_description,9); } public function docsIfCmtsChannelUtilization() { return $this->getSNMP()->lastOidWalk(self::OID_docsIfCmtsChannelUtilization,14); } public function inOctets() { return $this->getSNMP()->lastOidWalk(self::OID_if_in_octets,11); } public function outOctets() { return $this->getSNMP()->lastOidWalk(self::OID_if_out_octets,11); } //SNMP sobre CM ip public function docsIfCmStatusTxPower() { return $this->getSNMP()->lastOidWalk(self::OID_docsIfCmStatusTxPower,14); } public function docsIfDownChannelPower() { return $this->getSNMP()->lastOidWalk(self::OID_docsIfDownChannelPower,14); } public function docsIfSigQSignalNoise() { return $this->getSNMP()->lastOidWalk(self::OID_docsIfSigQSignalNoise,14); } public function docsIfSigQMicroreflections() { return $this->getSNMP()->lastOidWalk(self::OID_docsIfSigQMicroreflections,14); } public function docsIfSigQUnerroreds() { return $this->getSNMP()->lastOidWalk(self::OID_docsIfSigQUnerroreds,14); } public function docsIfSigQCorrecteds() { return $this->getSNMP()->lastOidWalk(self::OID_docsIfSigQCorrecteds,14); } public function docsIfSigQUncorrectables() { return $this->getSNMP()->lastOidWalk(self::OID_docsIfSigQUncorrectables,14); } public function sysUpTimeInstance() { return $this->getSNMP()->lastOidWalk(self::OID_sysUpTimeInstance,10); } //SNMP sobre CMTS ip public function docsIfCmtsCmStatusSignalNoise($version = 1) { if($version == 1) { return $this->getSNMP()->lastOidWalk(self::OID_docsIfCmtsCmStatusSignalNoise,14); } elseif($version == 2) { $res1 = $this->getSNMP()->lastOidWalk(self::OID_docsIfCmtsCmStatusSignalNoise,14);; $res3 = $this->getSNMP()->lastOidWalk(self::OID_docsIf3CmtsCmUsStatusSignalNoise,15); return array_merge($res1, $res3); } else { return $this->getSNMP()->lastOidWalk(self::OID_docsIf3CmtsCmUsStatusSignalNoise,15); } } public function docsIfCmtsCmStatusMicroreflections($version = 1) { if($version == 1) { return $this->getSNMP()->lastOidWalk(self::OID_docsIfCmtsCmStatusMicroreflections,14); } elseif($version == 2) { $res1 = $this->getSNMP()->lastOidWalk(self::OID_docsIfCmtsCmStatusMicroreflections,14);; $res3 = $this->getSNMP()->lastOidWalk(self::OID_docsIf3CmtsCmUsStatusMicroreflections,15); return array_merge($res1, $res3); } else { return $this->getSNMP()->lastOidWalk(self::OID_docsIf3CmtsCmUsStatusMicroreflections,15); } } public function docsIfCmtsCmStatusRxPower($version = 1) { if($version == 1) { return $this->getSNMP()->lastOidWalk(self::OID_docsIfCmtsCmStatusRxPower,14); } elseif($version == 2) { $res1 = $this->getSNMP()->lastOidWalk(self::OID_docsIfCmtsCmStatusRxPower,14);; $res3 = $this->getSNMP()->lastOidWalk(self::OID_docsIf3CmtsCmUsStatusRxPower,15); return array_merge($res1, $res3); } else { return $this->getSNMP()->lastOidWalk(self::OID_docsIf3CmtsCmUsStatusRxPower,15); } } public function docsQos3CmtsIfIndex($mac=null) { $return = array(); if(!is_null($mac)){ $oid = self::OID_docsQos3CmtsIfIndex .'.'.$this->getDecMac($mac); }else{ $oid = self::OID_docsQos3CmtsIfIndex; } foreach((array)$this->getSNMP()->realWalk($oid) as $k => $v) { $k_prim = preg_split("|\.|",$k); if(count($k_prim) < 20) continue; $k_mac = sprintf("%02x%02x%02x%02x%02x%02x", $k_prim[15], $k_prim[16], $k_prim[17], $k_prim[18], $k_prim[19], $k_prim[20]); $return[$k_mac][] = $this->getSNMP()->parseSnmpValue($v). ".".$k_prim[21]; } return $return; } public function docsQos3ServiceFlowDirection($translate=false) { $return = array(); $oid = self::OID_docsQos3ServiceFlowDirection; $stats = $this->getSNMP()->realWalk($oid); foreach((array)$stats as $k => $v){ $k_prim = preg_split("|\.|",$k); if(!isset($k_prim[15])) continue; $return[$k_prim[15].".".$k_prim[16]] = $this->getSNMP()->parseSnmpValue($v); } return $return; } public function docsQos3ServiceFlowOctets($ifId=null) { $return = array(); if(!is_null($ifId)){ $oid = self::OID_docsQos3ServiceFlowOctets ."." .$ifId; }else{ $oid = self::OID_docsQos3ServiceFlowOctets; } foreach($this->getSNMP()->realWalk($oid) as $k => $v){ $k_prim = preg_split("|\.|",$k); $return[$k_prim[15].".".$k_prim[16]] = $this->getSNMP()->parseSnmpValue($v); } return $return; } public function docsQosCmtsIfIndex($mac=null) { $return = array(); if(!is_null($mac)){ $oid = self::OID_docsQosCmtsIfIndex .'.'.$this->getDecMac($mac); }else{ $oid = self::OID_docsQosCmtsIfIndex; } $ifIndex = $this->getSNMP()->realWalk($oid); if(!is_array($ifIndex)) return array(); foreach($ifIndex as $k => $v){ $k_prim = preg_split("|\.|",$k); if(!isset($k_prim[14]) OR !isset($k_prim[15]) OR !isset($k_prim[16]) OR !isset($k_prim[17]) OR !isset($k_prim[18]) OR !isset($k_prim[19])) continue; $k_mac = sprintf("%02x%02x%02x%02x%02x%02x", $k_prim[14], $k_prim[15], $k_prim[16], $k_prim[17], $k_prim[18], $k_prim[19]); $return[$k_mac][] = $this->getSNMP()->parseSnmpValue($v).".". $k_prim[20]; } return $return; } public function docsQosServiceFlowDirection($translate=false) { $return = array(); $oid = self::OID_docsQosServiceFlowDirection; $states = $this->getSNMP()->realWalk($oid); if(!is_array($states)) return array(); foreach($states as $k => $v){ $oid_arr = explode(".", $k); $return[$oid_arr[count($oid_arr) -2] . "." . $oid_arr[count($oid_arr) -1]] = $this->getSNMP()->parseSnmpValue($v); } return $return; } public function docsQosServiceFlowOctets($ifId=null) { $return = array(); if(!is_null($ifId)){ $oid = self::OID_docsQosServiceFlowOctets ."." .$ifId; }else{ $oid = self::OID_docsQosServiceFlowOctets; } $stats = $this->getSNMP()->realWalk($oid); if(!is_array($stats)) return array(); foreach($stats as $k => $v){ $k_prim = explode(".",$k); $return[ $k_prim[count($k_prim) - 2] . "." . $k_prim[count($k_prim) - 1]] = $this->getSNMP()->parseSnmpValue($v); } return $return; } public function docsIfSignalQualityTable() { return $this->getSNMP()->lastOidWalk(self::OID_docsIfSignalQualityTable,13); } public function ifEntry() { return $this->getSNMP()->lastOidWalk(self::OID_ifEntry,10); } public function casaFlapListEntry() { return $this->getSNMP()->lastOidWalk(self::OID_casaFlapListEntry,13); } }