Index: html/includes/graphs/device/pppoe_sessions.inc.php
===================================================================
--- html/includes/graphs/device/pppoe_sessions.inc.php	(revision 0)
+++ html/includes/graphs/device/pppoe_sessions.inc.php	(revision 0)
@@ -0,0 +1,32 @@
+<?php
+/**
+ * Observium
+ *
+ *   This file is part of Observium.
+ *
+ * @package    observium
+ * @subpackage graphs
+ * @copyright  (C) 2006-2014 Adam Armstrong
+ *
+ */
+
+$scale_min = "0";
+
+include_once($config['html_dir']."/includes/graphs/common.inc.php");
+
+$rrd = get_rrd_path($device, "pppoe-sessions.rrd");
+if (is_file($rrd))
+{
+  $rrd_filename = $rrd;
+}
+
+$ds = 'value';
+$colour_area = 'EEEEFF';
+$colour_line = '0000CC';
+$colour_area_max = 'FFEE99';
+$unit_text = 'PPPoE Sessions';
+$line_text = 'Online';
+
+include('includes/graphs/generic_simplex.inc.php');
+
+?>
Index: includes/polling/graphs/cisco-pppoe-mib.inc.php
===================================================================
--- includes/polling/graphs/cisco-pppoe-mib.inc.php	(revision 0)
+++ includes/polling/graphs/cisco-pppoe-mib.inc.php	(revision 0)
@@ -0,0 +1,24 @@
+<?php
+
+/**
+ * Observium
+ *
+ *   This file is part of Observium.
+ *
+ * @package    observium
+ * @subpackage poller
+ * @copyright  (C) 2006-2014 Adam Armstrong
+ *
+ */
+
+$pppoe_session_count = snmp_get($device, ".1.3.6.1.4.1.9.9.194.1.1.1.0", "-OQUvs", "CISCO-PPPOE-MIB", mib_dirs("cisco"));
+
+if (is_numeric($pppoe_session_count))
+{
+  $rrd_filename = "pppoe-sessions.rrd";
+  rrdtool_create($device, $rrd_filename, " DS:value:GAUGE:600:0:100000000 ");
+  rrdtool_update($device, $rrd_filename,  "N:".$pppoe_session_count);
+  $graphs['pppoe_sessions'] = TRUE;
+}
+
+// EOF
Index: includes/definitions/os.inc.php
===================================================================
--- includes/definitions/os.inc.php	(revision 5739)
+++ includes/definitions/os.inc.php	(working copy)
@@ -66,6 +66,7 @@
 $config['os_group'][$os_group]['mibs'][]            = "CISCO-ENTITY-QFP-MIB";
 $config['os_group'][$os_group]['mibs'][]            = "CISCO-IP-STAT-MIB";
 $config['os_group'][$os_group]['mibs'][]            = "CISCO-FIREWALL-MIB";
+$config['os_group'][$os_group]['mibs'][]            = "CISCO-PPPOE-MIB";
 $config['os_group'][$os_group]['mibs'][]            = "CISCO-ENHANCED-MEMPOOL-MIB";
 $config['os_group'][$os_group]['mibs'][]            = "CISCO-MEMORY-POOL-MIB"; // Keep this below CISCO-ENHANCED-MEMPOOL-MIB, checks for duplicates.
 $config['os_group'][$os_group]['mibs'][]            = "CISCO-PROCESS-MIB"; // Goes after "CISCO-MEMORY-POOL-MIB" and "CISCO-ENHANCED-MEMPOOL-MIB" cos Cisco suck.
Index: includes/definitions/graphtypes.inc.php
===================================================================
--- includes/definitions/graphtypes.inc.php	(revision 5739)
+++ includes/definitions/graphtypes.inc.php	(working copy)
@@ -13,7 +13,7 @@
 
 // Graph sections is used to categorize /device/graphs/
 
-$config['graph_sections'] = array('general', 'system', 'firewall', 'netstats', 'wireless', 'storage', 'vpdn', 'load balancer', 'appliance', 'poller', 'netapp', 'proxysg');
+$config['graph_sections'] = array('general', 'system', 'firewall', 'netstats', 'wireless', 'storage', 'vpdn', 'load balancer', 'appliance', 'poller', 'netapp', 'proxysg', 'sessions');
 
 // Graph types
 
@@ -408,7 +408,13 @@
 $config['graph_types']['device']['firewall_sessions_ipv4']['order']    = '0';
 $config['graph_types']['device']['firewall_sessions_ipv4']['descr']    = 'Firewall Sessions (IPv4)';
 
+// Generic Cisco  PPPoE sessions Graphs
+ 
+$config['graph_types']['device']['pppoe_sessions']['section']  = 'sessions';
+$config['graph_types']['device']['pppoe_sessions']['order']    = '0';
+$config['graph_types']['device']['pppoe_sessions']['descr']    = 'PPPoE Sessions';
 
+
 // Blue Coat ProxySG graphs
 $config['graph_types']['device']['bluecoat_http_client']['section']  = 'proxysg';
 $config['graph_types']['device']['bluecoat_http_client']['order']    = '0';