Snom is the maker of pretty decent VoIP phones running Linux. I have had a Snom 360 for some time now and am reasonably happy with it.
The Snom phones do support SNMP but their SNMP daemon is severly limited. It only supports GETs on a small number of OIDs, doesn't support WALK and standard MIBs like the system-MIB are not supported. The Snom Wiki has a list of the supported OIDs and a description how to enable SNMP on the phones.
The limited support makes autodetection by network management systems or MRTG's cfgmaker fail. In order to chart this data, a manually created template is therefore needed.
Traffic Monitoring (bytes) a Snom Phone
The Snom phone exports all it's interfaces aggregated. This means all vlans and locally generated traffic. The only traffic not exported is the traffic generated on the loopback interface and the traffic bypassing the phone completely via the internal switch. The latter means that the traffic of the machine connected to the PC/passthrough port is not monitored.
The MRTG template to chart the incoming and outgoing bytes is the following. The IP Address 192.168.2.124 would have to be changed, as well as the descriptive details.
######################################################################
# System: Snom360
# Description: Snom VoIP Phone
# Contact: System Administration <root@localhost>
# Location: Amsterdam, The Netherlands
######################################################################
### Interface Net >> Descr: 'Net' | Name: 'Net Port' | Ip: '192.168.2.124' | Eth: '' ###
Target[192.168.2.124_Net_byte]: 1.3.6.1.2.1.7526.2.1.1&1.3.6.1.2.1.7526.2.2.1:public@192.168.2.124
RouterUptime[192.168.2.124_Net_byte]: 1.3.6.1.2.1.7526.2.8:public@192.168.2.124
SetEnv[192.168.2.124_Net_byte]: MRTG_INT_IP="" MRTG_INT_DESCR="Net"
MaxBytes[192.168.2.124_Net_byte]: 12500000
Title[192.168.2.124_Net_byte]: Traffic Analysis for Net -- 192.168.2.124
PageTop[192.168.2.124_Net_byte]: <h1>Traffic Analysis for Net -- 192.168.2.124</h1>
<div id="sysdetails">
<table>
<tr>
<td>System:</td>
<td>192.168.2.124 in Amsterdam</td>
</tr>
<tr>
<td>Maintainer:</td>
<td>root@localhost</td>
</tr>
<tr>
<td>Description:</td>
<td>Net Port</td>
</tr>
<tr>
<td>ifType:</td>
<td>ethernetCsmacd (6)</td>
</tr>
<tr>
<td>Max Speed:</td>
<td>100.0 Mbits/s</td>
</tr>
</table>
</div>
Traffic Monitoring (packets) a Snom Phone
The setup to monitor packets is basically the same as for traffic. MRTG can do this out of the box and only needs labels changed.
######################################################################
# System: Snom360
# Description: Snom VoIP Phone
# Contact: System Administration <root@localhost>
# Location: Amsterdam, The Netherlands
######################################################################
### Interface Net >> Descr: 'Net' | Name: 'Net Port' | Ip: '192.168.2.124' | Eth: '' ###
Target[192.168.2.124_Net_pkts]: 1.3.6.1.2.1.7526.2.1.2&1.3.6.1.2.1.7526.2.2.2:public@192.168.2.124
RouterUptime[192.168.2.124_Net_pkts]: 1.3.6.1.2.1.7526.2.8:public@192.168.2.124
SetEnv[192.168.2.124_Net_pkts]: MRTG_INT_IP="" MRTG_INT_DESCR="Net"
MaxBytes[192.168.2.124_Net_pkts]: 10000000
Title[192.168.2.124_Net_pkts]: Traffic Analysis (packets) for Net -- 192.168.2.124
YLegend[192.168.2.124_Net_pkts]: Pkts per Second
Legend1[192.168.2.124_Net_pkts]: Avg Input Unicast Packets
Legend2[192.168.2.124_Net_pkts]: Avg Output Unicast Packets
Legend3[192.168.2.124_Net_pkts]: Maximal Input Unicast Packets
Legend4[192.168.2.124_Net_pkts]: Maximal Output Unicast Packets
LegendI[192.168.2.124_Net_pkts]: ifInUcastPkts:
LegendO[192.168.2.124_Net_pkts]: IfOutUcastPkts:
ShortLegend[192.168.2.124_Net_pkts]: p/s
PageTop[192.168.2.124_Net_pkts]: <h1>Traffic Analysis (packets) for Net -- 192.168.2.124</h1>
<div id="sysdetails">
<table>
<tr>
<td>System:</td>
<td>192.168.2.124 in Amsterdam</td>
</tr>
<tr>
<td>Maintainer:</td>
<td>root@localhost</td>
</tr>
<tr>
<td>Description:</td>
<td>Net Port</td>
</tr>
<tr>
<td>ifType:</td>
<td>ethernetCsmacd (6)</td>
</tr>
</table>
</div>
Some other values worth charting could be CPU load and free memory or the number of registered extensions. This could be useful for tracking down errors. Unfortunately, mrtg is unable to chart this correctly out of the box and needs some help converting the data.
This is therefore left as an excercise to the reader.