CDRPlus a call-centre live stats display for Asterisk PBX VoIP systems.

in #utopian-io2 years ago (edited)

CDRPlus - Live call stats & reporting software for Asterisk PBX

Repository

https://github.com/mdkberry/cdrplus

WHAT IS IT

CDRPlus was written and designed to interact directly with the SQL data of any Asterisk based PBX, especially for use in a live call-center setup. It takes call data from SQL on the PBX and then presents it on a network connected LCD screen for the call-centre staff to see how they, and their team, were doing that hour, day, week or month. Also accessible from individual computers via ip address. Reports also could be created and emailed out to key staff members based on chosen criteria and time frame.

( Asterisk is downloadable Open Source VoIP PBX software that is used for large call-centre setups with VoIP phones.)

CDRPlus actually runs on Windows 7 using php and XAMPP, and pulls MYSQL data from the PBX via port 3306 to then make stats available via browser.

Designed by myself, Mark Berry, and the code was written by Canlan318 who was contactable at the time on Freelancer.com

After closing my I.T. & VoIP business a few years ago I put the software on github so it could be shared to others who might want to use it with their Asterisk PBX. Its a great bit of kit and works well when you get your head around the setup. I have no plans for expanding the development further myself.

mainpage.png
Main page for CDRPlus seen when accessing the software via ip address on LCD screen or PC.

INSTALLATION:

It's available for development and download from https://github.com/mdkberry/cdrplus
You only need the .zip and the instruction doco that is in the CDRPlus_Software_Vrs2 folder. (You will also need a Windows 7 PC for CDRPlus to be installed on (VM works fine with minimum RAM), and you need a PBX server running Asterisk. FreePBX was my preferred PBX after migrating away from Elastix but any Asterisk server could be used.)

callstoday.png
Calls Today - this is a screenshot of one of the live report windows showing all the calls going on that day by Ext number that made the call.

SUMMARY:

A live call logging system, updated and viewed via browser using staff names and teams to show call numbers in a live tally, as call totals per day/week/month in graphs that can be set to auto-rotate in the browser window and can therefore be displayed live on an LCD screen in the office or viewed from any network PC.

CDRPlus was designed to run on Windows 7 using XAMPP and php, and access a seperate server running Asterisk PBX to monitor the CDR reports database as it logs calls by pulling the SQL records from the PBX live.
Using a database setup on the PC called 'membership' that needs to be manually created and populated when first setting up CDRPlus, the code uses that info to match and calculate calls made over various periods pulled from the PBX 'asteriskcdrdb' database call records. This info is then made available via the CDRPlus software and accessible via browser from the network. (Hence it is accessible to all users and can also be run on an LCD screen connected to a computer with rotating screens. Pretty cool !

team1.png
Teams setup showing their total uniquely dialed numbers, how many total hours of call time was made, and who the top callers were.

There is also a reporting system that can be set to run on a schedule or on demand, it emails out using external mail server if you have access to one. Settings for this need to be added into the relevant php files to work. There was some attempts to use sendmail settings locally, but I never got it working so opted for mail server setup for ease of use.

Updates to databases and records are made easily via a browser window too so names associated to extensions could be changed quickly and often needed that since staff turnover is fast in call centres, immediate reports are also possible that run at regularly scheduled times, or on demand. This is also updated from the browser. Once it is working most tasks can be done from the browser, though new extensions added to the system itself would need to be added using phpmyadmin to the membership database on the PC, after they were added into Asterisk.

The main issue with this software is that it has weak security internal to the LAN, and that makes the PBX vulnerable via MYSql access, as that port needs to be open. I managed security by using very tight firewall control internally within the office network restricting access to the PBX using iptables and logging any attempts on the PBX which would be sent to me by email so I could pounce on it before someone tried to get in, but it could be easy to hack internally and that is a risk to be aware of. I never had a problem, as long as only I had admin access to the CDRPlus and PBX machines. Note that this security issue is only internal to the office, external attacks were protected via the router setup and VoIP server and well locked down seperately but it meant if someone was VPN'd into the site, they could potentially try a hack.

CDRPLUS version 2.0 is tested on Windows 7 pro 32-bit (virtual machine) connecting to FreePBX 2.3 (Asterisk 1.8) and Elastix PBX.

I ran this live in a business environment with great success for 2 years, firstly on Elastix and then I moved to FreePBX which handled it a lot better and I felt to be a more robust system than Elastix.

I am opening the software up to the open source community so others can benefit from it and start to work on it to improve it. It is a great design but just needs the security side addressing within the software and also turning into something less manually cumbersome to install.

I will not be updating this personally, but will try to remain available to anyone in the early stages who wants to take on making it more user-friendly in the install stage. There is also the issue of clarity around the database setup that might need addressing better to understand it. If you want to get started, begin with the Installation Instructions as everything you need should be in there to get going with it.

I include the PBX build instructions as well, as I feel they may help people with problems that I ran into when first designing the setup to work with a PBX.

report1.png
Reports Page shows a better break down of calls as they are made, who made them not just ext number, and time they were on the call

GITHUB FOLDER CONTENTS:

Asterisk PBX Build Info - This is the Golden Standard PBX build I was working to and may help if anyone runs into PBX build problems. I began using it with Elastix but moved to FreePBX which was better and more stable.

CDRPlus_Software_Vrs2 - The software itself in archive form and unpacked into \cdr folder
Installation Instructions (start here when you want to get going)

Database_Stuff - Legacy info that may be of use. Mostly ignore it as it probably is not in the current build.

Design_Specs - Some of the design specs I worked with Canlan318 to get vrs 1 and vrs 2 completed. Any problems we ran into later would not be reflected here so bear that in mind. It may not be exactly how vrs 2 ended up.

Early_CDRPlus_Builds - again this is for reference and has a lot of the early workings and screenshots. it may help any coder wanting to understand better how it works and the intent behind it. probably not needed but I put it here anyway.

Program_Screenshots - screen shots of the browser, there are more in the Early Builds folder.

To Do List - just my to do list as I left it the last time I looked at updating the software.

I hope someone has reason to develop the software and make use of it. It is a great piece of kit and still very relevant for anyone with an Asterisk based PBX in a Call-centre scenario.

* * *

teamsmonth.png
Teams monthly statistics for the calls made

reportsettings.png
The setup page for adding in reports that need to be emailed and which extensions you want the reports to be covering. You could include all extensions and do daily/weekly/monthly reports and any number as well, they were sent out on the stroke of midnight on the CDRPlus machine each day as required

Sort:  

Thank you for your contribution. I guess this is your first contribution in development category of Utopian, it would be nice if you go through the Utopian Guidelines. It states that "Contributions to repositories that have not received any program code updates for longer than 6 months, will not be eligible for potential reward." Also for development category "Updates on Own Projects may be committed directly, without a Pull Request. To be considered for potential reward, commits should not be older than 14 days."

We are looking forward for your next contribution.

Your contribution has been evaluated according to Utopian rules and guidelines, as well as a predefined set of questions pertaining to the category.
To view those questions and the relevant answers related to your post,Click here


Need help? Write a ticket on https://support.utopian.io/.
Chat with us on Discord.
[utopian-moderator]

didnt see that bit, thanks for the explanation.