Aaron 2025-11-13 0

I normally post telecom related stuff to my other blog but today I’m posting about the Avaya IP Office here. No, I’m not pivoting this blog to telecom. I’m posting here because I want to write about a program that I wrote.

The IP Office has the ability to generate Station Message Detail Records (SMDR) that show every call that the system handles. Unfortunately they did not also include a mechanism to look at these records. There are a number of paid solutions and some complicated free solutions. I had Avaya suggest pulling the records using NCAT as needed. While this worked, it was less than ideal.

I started to ask myself “What is ideal?” and the answer was that there was not one single perfect solution. Some clients wish to have the data stored forever in a database that can be searched. Others don’t want to have another service to manage, but may have the occasional need to pull the call records. I set out to solve both problems.

I decided to start working on the more complicated solution first. I created some Python scripts that would listen and parse the data into a NoSQL database. I added a front end using Node.js that allows for very simple record retrieval. This tool is by no means perfect, and I still have a lot of work to do before I call it a finished product, but I’m happy to say it is a minimally viable product. I packaged it all into a Docker container because it doesn’t need a whole server to run. I’m calling this product SMDR Sleuth.

Now that I had solved the first issue, I was able to move onto the second. I stuck with Python and put together a tool that would parse the records into a CSV file. SMDR Lite was born! Of course, I couldn’t just drop a python script – nobody would use it! I used PyInstaller to create a simple executable file. With command line options to change the port number and output file name, this tool is perfect for grabbing SMDR records on the fly.

Thanks for reading, and let me know if you want to see any improvements to either of these products. I’m happy to keep working on their development if people are using them.

Views: 7

Category: 

Leave a Comment