Hardware VoIP Monitor: desktop VoIP and PBX monitoring

What is HVoIPM?

HVoIPM is a small desktop application that can be used to monitor one or more heterogenous VoIP or PBX systems. Users can choose from a range of device monitors (or build their own) to provide telephony data to be logged or displayed on screen. For instance, the software could be used to log all calls made by a certain device, or to flash up a warning or launch a process when a VoIP device's registration state goes offline.

Which devices does HVoIPM support?

DeviceSupportedSupported by
Linksys PAP2 (2.0.12(LS), 3.1.3(LS))Yes, since 0.1LinksysPAP2DeviceMonitor
Linksys PAP2 (3.1.7(LSd))Yes, since 0.5.3LinksysPAP2DeviceMonitor
Nortel BCMYes, since 0.3TAPIDeviceMonitor
Any TAPI-compliant deviceTheoretically, since 0.3TAPIDeviceMonitor
Sipura SPA-3000Yes, since 0.5.3SipuraSPA3000DeviceMonitor
Netgear TA612VTheoretically, see extending HVoIPM
Sipura SPA-2000Theoretically, see extending HVoIPM
Sipura SPA-2002Theoretically, see extending HVoIPM
Linksys RTP300Theoretically, see extending HVoIPM
Grandstream 486Theoretically, see extending HVoIPM
Cisco ATA 186Theoretically, see extending HVoIPM
Netcomm V100Theoretically, see extending HVoIPM
AVM Fritz Box 7050Theoretically, see extending HVoIPM
Speedtouch 190 ATANo. Apparently these don't expose enough data.
Linksys WRT54GP2No. Apparently these don't expose enough data.

If your device isn't on the list, please see below.

What does it look like?

That depends what's happening with your device. Sometimes it might look like these screenshots.

Where can I get it?

HVoIPM is free for non-commercial use. Please get in touch with any commercial requirements. You will need the Microsoft .NET Framework Version 2.0 installed before you can run this application. Download links are below (show archived downloads):

HVoIPM 0.5.31 Alpha (11th February 2007)
GitHub
  • Configuration file update with extra mappings

How do I make it work?

If you have a Linksys PAP2 device, all you will need to do to get HVoIPM working is edit the configuration file ("Hardware VoIP Monitor.exe.config"), changing the LinksysPAP2DeviceMonitor:Hostname value to that of your device's URL, including the http:// prefix.

If it doesn't work, read the configuration file. If that doesn't help, refer to our forum threads (1, 2) or let us know. When reporting problems, include a copy of your "system.xml" log file with any report.

Alternately, if HVoIPM doesn't quite do what you want, have a look at the Sipura 3000 System Tray Monitor.

Future goals for HVoIPM

  • Providing a set of documentation for configuration (there's some documentation in the configuration file, currently)
  • A setup wizard to help users easily configure HVoIPM for their devices
  • Integration with telephony billing software and address book services, so users can take better advantage of call logs
  • Extensions to the monitoring structure to allow for balance monitoring with common VoIP services
  • A Mono build for Linux & OSX users
  • Internationalisation: please let us know if you'd like to see HVoIPM in your language

How can HVoIPM be extended?

Support for further devices is provided by writing simple device monitor plugins. These are simple to write, and we'd love to receive any contributions. Below is a snippet of an explanatory message, along with some example source code showing how it can be done. Drop us a note if you need any advice or need support for a particular device.

    Hi, and thanks for your kind words.

    It should be possible to get HVoIPM working against your Sipura SPA-2000. As you've asked for the source code, I'll explain roughly how. Basically, there are two ways to figure out what a VoIP device is doing: the first is to packet sniff and examine the RTP/VoIP traffic that's going back and forth, and the second is to introspect the device itself, over whichever interfaces it exposes.

    The first technique is almost foolproof -- it'll work with any VoIP-compliant device to return a fairly limited set of base information. The problem it that in order for this to work, the machine that you're running the sniffing software on either needs to have it's network adapter running in promiscuous mode, or be sitting on a monitor port on your switch. (Because if you have a switch rather than a hub, like most people, your SPA-2000 won't route traffic to your computer.) There are a few tools that take this approach. Vomit, for instance.

    This won't really work very well for a lot of small-end consumer VoIP devices of the sort that HVoIPM works with, otherwise I'd port some of the GPLed Linux C to .NET. (It'd work well with Softphones and Skype clones, though.)

    HVoIPM uses the second approach. That is to say, it tries to get whatever data it can from the devices by looking at the interfaces they have. Unfortunately, most of the first generation consumer VoIP boxes we're seeing now are shit. Some of them offer absolutely no decent access at all. Whilst most professional equipment provides a TAPI interface, most cheapo new stuff only provide little web interfaces. The Linksys PAP2 is one of the best in this regard, and when configured to work with one of these devices, HVoIPM basically just screen-scrapes the HTML from the PAP2 device. The SPA-3000 provides a great interface for this, too, and I wouldn't be surprised if the SPA-2000 and SPA-2002s did as well.

    If your SPA-2000 doesn't have a decent enough web interface (or other interface), possibly it could be flashed with the PAP2 firmware. (If it really is the same device inside.). Alternately, HVoIPM could pull data out of its telnet interface, if it has one, or from any SNMP flags it has.

    HVoIPM isn't Open Source or GPLed (it may be later...), though I'm happy to send you the C# source code for some of the device monitors. If you load up Visual Studio, and create a new project with these files you should be able to build your own device monitor classes, which can then be specified in the HVoIPM configuration. It's possible for HVoIPM to report on additional properties as well as the basic ones that it does now, too. It should be easy enough to adapt the code to work with an SPA-2000. If you do, please send it to me. :-) If you don't, well... send me a dump of the SPA-2000's HTML and I'll write it myself. I've attached a dump of the PAP2's HTML so you get the idea.

    I think I've included most of the relevant source files here -- you'll probably need to comment out a few references to get it all to build, but you should get the picture if you're familiar with C#. Excuse the poor code -- I know that the LinksysPAP2DeviceMonitor class is extremely suboptimal in many ways, especially with all of the String creation & disposal it does.

    These files are offered without warranty and may not be redistributed. They are copyrighted works governed by various restrictions. If you are under any doubt as to your eligibility to access or work with these files, or use them, then please contact us.

  • IDeviceMonitor.cs
  • DeviceMonitor.cs
  • AbstractWebDeviceMonitor.cs
  • LinksysPAP2DeviceMonitor.cs
  • StringHelper.cs
  • Library and PDB

Contributors

  • Mark Lerno: invaluable help debugging the LinksysPAP2DeviceMonitor
  • Ian Worthington: suggestions for improvements and bug-spotting
  • Tim Boorman: bug-spotting and 3.1.7(LSd) testing
  • NutCracker: most of the SPA-3000 state mappings

Comments

Gravatar #1   Giacomo commented at 5:37 p.m. on September 27th, 2011

Great application. Did run at the first shot. Wonder if there is a way to log the missed calls...

Post your comment…

(will not be shown or used for marketing)

captcha

Subscribe

rss Subscribe to our blog feed

Our other products

  • iPhone Backup Extractor

    The iPhone Backup Extractor can restore lost or deleted histories, contact lists, images, audio files and other data from iPhone, iPad or iPod Touch backup files.

    The software runs on Windows, Mac or Linux and is used by thousands of users all over the world.

  • BlackBerry Backup Extractor

    The Blackberry Backup Extractor allows users to recover data such as email, contacts, SMS messages, notes or calendar events from Blackberry IPD backup files that have been made using Blackberry Desktop Manager.

    The software runs on Windows, OS X and Linux and does not require Desktop Manager to be installed.

  • DMG Extractor

    The DMG Extractor is an easy-to-use tool for opening DMG files on Windows.

    The software runs on Windows, OS X and Linux and does not require Desktop Manager to be installed.

  • awdit

    awdit is a free application designed to keep your software and drivers up to date. It can automatically and unobtrusively scan to find where you're missing out on the latest software or drivers.

  • awdit for business

    awdit helps small to medium size businesses manage their IT. It simplifies IT asset & infrastructure management, helping managers with information they need to be on top of but often struggle to. It helps users to adopt best practice, reduce cost, derisk and generate real business value from their IT.

  • xrates

    xrates provides historic and current rates for world currencies, as well as currency converters and maps showing the relative rise or fall in the value of world currencies.

  • Keep Calm-o-matic

    Create your own tribute to or parody of the classic World War 2 poster by entering your own text, choosing colours and choosing or uploading a header image.

    Visitors can buy merchandise such as t-shirts or mousemats with their chosen design incorporated or browse the creations of others.

  • BCM Call Logger

    BCM Call Logger is a tool which provides call reporting information by processing Call Detail Recording logs from Nortel / Avaya Business Communications Manager telephone systems. Call details are stored in a standard database format allowing users to run their own advanced queries or use the suite of standard reports included with the application.

  • iPlayerConverter

    The iPlayerConverter provides browsable schedules and Listen Again listings for national and regional BBC radio stations with links to stream programmes in Windows Media Audio format for users of Internet Radios, mobile devices or anyone else unable to use the official BBC iPlayer radio website.