Taking Inventory of Cisco Phones in GLPI with curl and glpi-injector
In recent days I came across an interesting case: inventorying a fleet of Cisco phones… without SNMP. The devices only exposed a web UI, so no classic polling was possible.
The solution was simple: query the phones’ HTTP pages, extract useful information, and send it to GLPI.
The Idea
The approach is intentionally minimal:
Maintain a list of phone IPs
Query the web UI via HTTP
Parse the main information
Build a payload
Send it to GLPI using glpi-injector
No agent, no SNMP, just HTTP.
The key point: Parsing the web UI
This is where all the complexity lies. Cisco phones don’t expose data in a uniform way:
There’s only one critical part: parsing. It’s always best to:
Test on a single phone
Save the HTTP response
Identify the actual fields
Adapt XPath or regex
Verify that hostname, serial, and MAC are always present
Advantages
No agent required
No SNMP
Leverages already exposed data
Simple integration with GLPI
Easily schedulable (cron)
Useful for “difficult” VoIP environments
Limitations
Cisco models are not uniform
Web UI must be accessible
Possible authentication required
Fragile HTML parsing
Error handling is essential
Practical advice
Don’t start too big. It’s better to begin with:
1 phone model
1 minimal script
A few IPs
Testing on a lab GLPI
Then scale up.
Conclusion
Inventorying Cisco phones without SNMP is absolutely possible. The combination: curl + HTTP or XML parsing + glpi-injector is a simple, lightweight, and surprisingly effective solution.
The truly important part is not sending data to GLPI, but the ability to:
Correctly read the web UI
Build reliable parsing
Once that’s done, the rest is just plumbing.
These Solutions are Engineered by Humans
Did you find this article interesting? Does it match your skill set? Our customers often present us with problems that need customized solutions. In fact, we’re currently hiring for roles just like this and others here at Würth IT Italy.
My name is Alessandro Paoli and I've been a Technical Consultant at Wurth IT Italy since May 2024. I've always had a great passion for IT and since 2004 it has also become my job. In 2015 I found my role in the field, monitoring. I have had the opportunity to use various monitoring products, both open source and proprietary, I have worked on numerous projects from small businesses to global companies.
I am married and have 2 wonderful daughters. My passions are travel, cinema, games (video and board) and comics, and every now and then I manage to indulge in a few days of sport (Padel and gym).
Author
Alessandro Paoli
My name is Alessandro Paoli and I've been a Technical Consultant at Wurth IT Italy since May 2024. I've always had a great passion for IT and since 2004 it has also become my job. In 2015 I found my role in the field, monitoring. I have had the opportunity to use various monitoring products, both open source and proprietary, I have worked on numerous projects from small businesses to global companies.
I am married and have 2 wonderful daughters. My passions are travel, cinema, games (video and board) and comics, and every now and then I manage to indulge in a few days of sport (Padel and gym).
NagVis, which in NetEye 4 is called the "Maps" Application, is a visualization add-on for the well-known network management system Nagios® and Icinga. NagVis can visualize monitoring status data as objects overlaid on maps to display them in different layouts: Read More
As outlined in Part 1 of this post, I'll now provide key tips for efficiently customizing the Stratacom Barcode Scanning app. This will involve creating objects and setting up object pickers, thus allowing barcode scans to dynamically connect with and Read More
As presented in my previous blog post, we identified an opportunity to enhance a project of one of our customers by integrating Stratacom’s Barcode Scanning Solution. This tool is designed to seamlessly integrate with Jira, enabling rapid and precise barcode Read More
I've been working with Grafana since 2017, when I started as a Frontend Developer here at Wuerth Phoenix.I typically take care of the customization of the Grafana User Interface, with the goal of reflecting the NetEye look and feel inside Read More
Icinga Web 2 ist ein leistungsstarkes PHP-Framework für Webapplikationen, das sich vor Allem durch sein übersichtliches, minimalistisches Design auszeichnet. Es ist schnell, responsive, benutzerfreundlich und einfach erweiterbar. Folgt man der auf dem offiziellen Repository beschriebenen Konfigurations-Prozedur ist auch die Installation Read More