Selaa lähdekoodia

FD-1423 Se crea el método para consultar el tiempo de actividad de los Flows.

Maxi Schvindt 8 vuotta sitten
vanhempi
commit
c3a5139100
1 muutettua tiedostoa jossa 47 lisäystä ja 1 poistoa
  1. 47 1
      OSS_SNMP/MIBS/DocsIfCmts.php

+ 47 - 1
OSS_SNMP/MIBS/DocsIfCmts.php

@@ -9,7 +9,7 @@ class DocsIfCmts extends \OSS_SNMP\MIB {
     const OID_docsIfCmtsCmStatusUpChannelIfIndex =  "1.3.6.1.2.1.10.127.1.3.3.1.5";
     const OID_docsIfCmtsCmStatusDownChannelIfIndex = "1.3.6.1.2.1.10.127.1.3.3.1.4";
     const OID_docsIfCmtsCmStatusIpAddress	= "1.3.6.1.2.1.10.127.1.3.3.1.3";
-    const OID_docsQosCmtsIfIndex		= "1.3.6.1.2.1.10.127.7.1.11.1.3";
+    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";
     const OID_docsIfCmtsCmStatusIndex		= "1.3.6.1.2.1.10.127.1.3.3.1.1";
     const OID_docsQosServiceFlowOctets		= "1.3.6.1.2.1.10.127.7.1.4.1.2";
@@ -31,6 +31,9 @@ class DocsIfCmts extends \OSS_SNMP\MIB {
     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_docsIfCmtsCmStatusSignalNoise 	= "1.3.6.1.2.1.10.127.1.3.3.1.13";
+    
+    const OID_docsQosServiceFlowTimeActive 	= "1.3.6.1.2.1.10.127.7.1.4.1.4";
+    const OID_docsQos3ServiceFlowTimeActive 	= "1.3.6.1.4.1.4491.2.1.21.1.4.1.4";
 
     public function docsIfUpChannelWidth(){
 		return $this->getSNMP()->walk1d(self::OID_docsIfUpChannelWidth);
@@ -382,4 +385,47 @@ accessDenied(7)   The CMTS has sent a Registration Aborted message   to the CM
 	}
 	return $rtr;
     }
+    
+    public function docsQos3ServiceFlowTimeActive($ifId = null) {
+        try {
+            $rtr = array();
+            if (!is_null($ifId)) {
+                $oid = self::OID_docsQos3ServiceFlowTimeActive . "." . $ifId;
+            } else {
+                $oid = self::OID_docsQos3ServiceFlowTimeActive;
+            }
+            foreach ($this->getSNMP()->realWalk($oid) as $k => $v) {
+                $k_prim = preg_split("|\.|", $k);
+                $rtr[$k_prim[15] . "." . $k_prim[16]] = $this->getSNMP()->parseSnmpValue($v);
+            }
+            return $rtr;
+        } catch (\Exception $e) {
+            echo "ouch! " . $e->getMessage() . "\n";
+            return array();
+        }
+    }
+
+    public function docsQosServiceFlowTimeActive($ifId = null) {
+        if (!is_null($ifId)) {
+            $oid = self::OID_docsQosServiceFlowTimeActive . "." . $ifId;
+        } else {
+            $oid = self::OID_docsQosServiceFlowTimeActive;
+        }
+        $rtr = array();
+        $stats = $this->getSNMP()->realWalk($oid);
+        if (!is_array($stats)) {
+            return null;
+        }
+        foreach ($stats as $k => $v) {
+            if ($ifId) {
+                $k_prim = explode(".", $k);
+                $rtr[$k_prim[count($k_prim) - 2] . "." . $k_prim[count($k_prim) - 1]] = $this->getSNMP()->parseSnmpValue($v);
+            } else {
+                $k_prim = explode(".", $k);
+                $rtr[$k_prim[count($k_prim) - 1]] = $this->getSNMP()->parseSnmpValue($v);
+            }
+        }
+        return $rtr;
+    }
+
 }