New version of SamReports will support Trixbox and Fonality and Big Datasets

Update: 2011-12-07 : SAM Reports 2 has been launched, as you may see on this blog post.

Accessing sliced log files

I’ve been working on a new version of SamReports for quite some time. My main goal was to provide seamless “integration” with Trixbox/Fonality SKU-s. (It’s not integration really, but the process of copying thousands of files from PBX, gluing them together, processing and so on, has to be transparent to the user, with as little hassle as possible, none preferably).

I came into possession  of a large dataset and that has helped  a lot. You cannot possibly simulate real, raw data to work with. You would just end up with gibberish. That brings the issue of processing..

Big data

Current version of SamReports tries to load all the data in memory, to generate reports. That just doesn’t work for millions of log lines.

The new version is capable of processing any amount of data, because it works in chunks, and generates reports sequentially. I tested on a dataset with more than 10 million lines in CDR, and it finished in 37 minutes.

Generating TrixBox and Fonality Reports

SamReports Parser for TrixBox and Fonality

Above is the image of a summary generated after processing the log files. The graphs are being drawn during the parsing so that you’re not bored while processing a large dataset for the first time :) This is displaying the same charts to get an overview.

Quirks and twists of master.csv (chopped or not)

I did get dirty with the local  and transferred calls in CDR logs. Sometimes a call can be spanned in 5, 6 log lines. Those lines don’t necessarily come close, but can be even 1000 lines apart.

master.csv calls on a local channel

local channels in master.csv

Here you see a call spanned into just 2 lines, one after the other.

To be continued…

This is just a preview of what’s been cooking. There are many other things to mention, but I will do it in another post…


Why SAM Reports?

I’ve been involved with Asterisk since 2006. In 2007 my husband and I started an Asterisk integration shop in Croatia. We cater to small businesses, because we are small.

Some of our clients that have small call centers needed a reporting solution. Also some of our other clients expressed a need to see more information about their call traffic. After some consideration I decided to build it using Delphi. I wanted something easy to install, with no maintenance and no pre-install software requirements. It was not meant to be “All-In-One” solution that does configuration, monitoring, click-to-dial, provisioning, etc. Neither was it meant to be a real-time reporting.

It was envisioned to do just one thing, show the call records, for both queues and CDRs, without presuming anything about the underlying system. The main goal of the application is to  leverage what is already there in your Asterisk box, thus it operates on log files and not the database that you might have installed, or not.

The goal is also to show the information, as opposed to data, in an orderly and easily understood format. To be able to see multiple information displayed at once without any noise (information overload). Ease of use was also high on my list, therefore I opted for a “drag and drop” approach.

The application is currently used by the two of my clients. (Beta is about to start in 9 days) It was important to make it as simple as possible for them to update their reports when needed. Therefore I included a small SFTP client. Introducing the end users with  WinSCP would complicate things too much for them. It’s much easier to click on the “Transfer files” icon from within the application.

SAM Reports is aimed at small businesses using Asterisk.  I built it to solve the pain that I had : provide my clients, small businesses, with a reporting solution without the need to make any changes to their Asterisk boxes. And also to give them reporting that’s easy for them to use. I wanted to be able to offer it to both my call-center clients and those without, therefore the application handles both CDRs and queues.

This is a short overview of why we did SAM Reports and how. I’ll be posting here on the development process (changes, what features are planned, what’s coming). I’ll also desrcibe use-cases, real and virtual (aka, what’s possible, what might be a good use of).


Clicky Web Analytics