Since our last publication on the statistics interface for IP-PBX, Asterisk has been almost a year old. The project grows, develops, feedback from customers and habouriers allowed much to rethink and significantly improve its functionality.
We also launched the
site , affiliate, wiki, public in social. networks, wrote a billing, rewrote the synchronization daemon on golang ... and did another bunch of cool stuff - you can't list them all.
Today I want to share with the community our achievements in product development.
This is how the menu and the start report now look like:
')

Under the cut, I will expand all the points in detail and talk in detail about working with the interface.
And of course, in honor of the "anniversary", all the gifts!
What we can do today
In the current software version (
1.1.0 ), the ViStep.RU statistics allows:
- Listen to and download recorded calls
(and you can download all the records found by the search filter in one archive). - Monitor the quality of call processing, evaluate their effectiveness
(who how many received / missed / made calls; their duration). - Create internal number groups and view reports in the context of these groups
(for outgoing calls, in incoming reports, subscribers are grouped through Asterisk queues). - Give each supervisor access to groups and queues whose reports he can view.
- View incoming call statistics for each “external” number
(how many incoming for the period was for each number, how much is accepted / omitted). - View detailed logs of external, internal, and missed calls, as well as a caller's first call you (tabular reports with a flexible search filter).
- Export all reports to Excel.
- Add comments to calls (in tabular reports).
- Monitor PBX
(we have integrated our service with zabbix and will send you email / sms in case of detection of problems). - Estimate the time of work and breaks of each operator in the queue for the selected period.
- Add your company logo
(on the authorization page and in the header for the local version and only in the header for the cloud version). - Ask any question to support directly from the interface.
- See a breakdown by the number of incoming and outgoing calls by regions / edges and other subjects of the Russian Federation on Yandex.Map.
- OK, you can do it today, but what about tomorrow?
- We regularly publish all the information about the nearest development plans in the wiki-section of the
Road map - come in, we will be happy!
the main
The menu is divided into two reports:
- "General" , which provides information on all incoming calls to the PBX in the context of external ("city") numbers.
The screenshot of the top of the page was before the kata, below are charts and graphs:

- "Queues and Groups" , which displays information about incoming calls:


Here you can select all the queues at the same time (I repeat - Asterisk queues), or one / several required ones.
Screenshots of the report on outgoing calls under the spoiler below, so as not to burden the post
Queues and groups - Outgoing
The report is based on all outgoing calls of employees outside, or in the context of a group that you can create in Settings - Groups.
Reports in this section will help:
- evaluate the "exhaust" of the advertising company, where you indicated a specific phone number
- understand which number is the most “popular” among customers
- find out the ratio of received / missed to incoming calls to the PBX in general
- receive a picture of incoming calls both in turn (s) and for each operator individually
- track the quantitative and qualitative characteristics of outgoing employee calls
And many of the items in the
“Home” report group are clickable and lead straight to the reports in the
“Calls” submenu. About him and talk.
Calls
Here are collected 4 tabular reports:
- "External calls"
Shows all calls received from the outside to the PBX or made by its subscribers outside. It is divided into incoming and outgoing and allows you to search for calls by queues and / or groups.
In addition to the queue (s), you can select a group in the incoming filter (for example, if Dial () is in the dialplan after Queue () , then there are calls too).
In addition to the main filters: date, queue (s) and / or group, there are a number of additional ones under the spoiler. Here's what it looks like:

Switch the plate Calls: at the top of the page to "Outgoing"
The filter is slightly different, but in general, all the same.
I also note that additional filters can search for calls either by the internal number of the subscriber or by his full name (the full name is set in “Settings - Numbers - Internal”, I will tell you a little later) - "Internal calls"
The report will find you all calls between internal numbers, i.e. ATS subscribers.
I will not stop in detail, I think everything is clear here. - "Missed calls"
This is a tabular execution of the “Home - General” report in terms of missed calls, i.e. will show: who / where / how much you called and remained unanswered.
- "They called for the first time"
- And who called us for the first time in a specified period of time (i.e., in general, as long as the database of calls is conducted taking into account the selected period)?
- But who (the screen again under the spoiler).
Called for the first time
As with all tabular reports, we see:
the date of the call, which of the employees answered, the caller's number and our city number, duration and other data.
You also probably noticed these icons on each of the described pages:


the first one will save the report in xls format, by clicking on the second one you will download the archive with all the call recording files found by the search filter, and the third will take to our wiki on the
FAQ of the open report or setting.
The
“Calls” report group helps to search for detailed information on any call, it provides the ability to listen to and download call recordings and upload a table to Excel.
Here I have everything, we go further.
Operators work
The report will show how much each of the queue operators has worked for a period of time. The operator can be added and removed from the queue, can pause himself (for a lunch break, for example) and remove from the pause.
All these events you will see in this report and be able to estimate how much time each operator of the queue spent in it (the time of pauses and the time of addition / deletion is subtracted from the total).


I note, to build this page, Asterisk needs to be configured properly, i.e. The operators or supervisor should provide a mechanism for adding / deleting and removing / pausing the queue participants.
GEO
Geolocation of incoming and outgoing calls.
We took the database of correspondence of numbers of their territorial belonging, to speed up the work, we pushed it into reddis, fastened Yandex.Maps and got this picture:


It works only in Russia, in the context of incoming and outgoing calls.
For incoming there is an additional filter - external number, i.e. You can get the result both for all “city” numbers and for each separately.
I am sure that everything is clearly on the screenshots, I will not waste your time and the letters - we will continue.
PBX. Status
The statistics service is integrated with the popular Zabbix monitoring system.
In the user's personal account, in this menu, we report the presence of any problems and display several graphs of PBX resources:

The menu is "highlighted" by the number of triggers triggered.
The graphics are clickable If you want, when the trigger is triggered, we will send you an email or sms about the problem.
Plus, for a small surcharge, take your Asterisk under your “wing” and immediately eliminate the problem that occurred.
PBX. Options
The settings of various alerts from the monitoring system, the balance on the sms-account, and the button for enabling / disabling the PBX support service are located here.

Additional reports
I completely forgot to mention - after all, we also have additional reports.
The idea is that you may not have enough functionality out of the box and require a highly specialized report for specific business processes (or call processing logic, if you wish). We will write this in your TK.
For example, here’s the
“Who answered” report written for the client’s call-center:

The incoming call is first addressed to the operator's queue (let's call them the first line), then, if the first line is missed or everyone is busy, it is sent to the managers (second line).
It is important for the manager to know which calls were received by the first line, which were the second and those that were completely unanswered. We have provided such a picture - in addition to the standard date / who / where and so on. Each call has a
“Status” field:



With the reports managed, now I will talk about the settings.
Settings
A variety of interface configuration options are located in a separate subgroup:

- "Basic"
The path to the conversation recording files, your logo, whether to display the status of the PBX, and other settings are located here. Also, at the bottom of the page, there is a daemon to synchronize PBX data to the cloud version and instructions for setting it up. - "Rooms"
- "External"
On this page you need to bring all your "city" numbers and a clear legend (for example, "Moscow", "Peter", "Advertising", etc.) for them. - "Internal"
The beginning of the work with the setting is the button “Load numbers from DB”.
It will pull the internal number <-> callerid from the database (in the request, all calls for the last year are used).
Next, the list is maintained manually, you can correct it, add it, and also set a password for each employee, so that he can log in and watch his calls.
- "Groups"
Grouping internal numbers is useful if there are a lot of them or division is needed, for example, into departments or shifts. The list of all groups is as follows:
You can add / delete employees one by one using the multi-select (ctrl / cmd + LMB):
and search:
- "Supervisors"
It is here that the administrator edits the list of supervisors and assigns them access to reports of groups and queues.
The configuration menu of the supervisor is similar to the configuration of groups, there are all the same features.
Here's what it looks like:
- "Comments"
Make the necessary comments, and then you will be able to set one of them for any call in the group of table reports.
Help desk and Wiki
Help desk will allow you to ask a question, ask for help or clarify something in the work of statistics. We integrated it with the ticket system and immediately receive notifications of new requests, and you can track all the correspondence right from the interface.
Under the spoiler a few screenshots “Wiki” is just a
link to our knowledge base, where we store the instructions for working with the interface and collect different life hacks on the Asterisk part.
Instead of conclusion
Instead, because the work on new features is in full swing now, the project does not stand still and is constantly being improved. For example, in one of the following releases, we plan to add the “Real-time” menu.
We will collect there such indicators as:
- The number and status of trunks
- Number and status of internal numbers
- Queue status
- Active calls
- And something cool
In general, we managed to follow the paradigm of Agile somehow natively, something that feedback allows you to plan each new iteration and move on. Therefore, we will be glad to your comments and suggestions!
No account on Habré? It does not matter - all my coordinates in the profile of
FessAectan , write directly.
No, I did not forget
Thanks to everyone who mastered and reached the final publication. The authors of the five coolest comments on product improvement are the month of free use of the cloud version! Winners will be announced on Friday 10/27/2017.