QueueMetrics 20.11

The release 20.11 of QueueMetrics focuses on the all-new Home and Report pages, making it easier, more effective and even more pleasant to analyze data from any device you want to use - from desktop to mobile, empowering remote workers.

  • A new Home Page

  • A new Reports page with related Exports

  • Themes and white-labelling

  • Improved WebRTC soft phone

  • New JSON APIs

  • Security improvements

  • PBX support: Squashed clusters, Mirta PBX and Enswitch

  • Security improvements

  • Remove wrongly-logged double closing records

QueueMetrics 20.11 is our largest update ever; in total, it took about one year of work to our developer team, with about 250 bugs/CRs filed and ~1000 code commits.

QueueMetrics 20.11 is immediately available for all CentOS based distros as an RPM package, for Gentoo as ebuild, for Docker as image on DockerHub and as a TGZ file for manual installation for any OS.

It supports 23 distinct languages/locales, including the recent addition of Turkish.

New Home Page

The new home page is clearer and easier to navigate, as it groups all items into Information Boxes (InfoBoxes). Each user can decide what they want to see, and can arrange boxes to best fit their workflow. All boxes are searchable, so whether you are looking for a specific function or for that report you just created, you can just type a part of its name in the search bar on top and it will be immediately found.

qm2011 home

The new Home Page - actually, all of QueueMetrics - is now responsive and works on devices of all sizes, so you can use it just as easily from the browser in your PC, from your tablet or your mobile when you are on the go - or just working from home.

New Reports and Exports

The new reports are much more flexible that what old reports used to be. They are fully interactive, so you can change any condition - time period, queues, filters, settings…​ - and what is on the screen will be updated in real-time. There is no distiction between editing a report and running it - you can change anything at any time, and you can create your own reports as you see fit.

qm2011 report

Filters have become way more powerful; you have more of them, they are easier to use, and you can nest them to form complex queries. They are saved within the report itself. Time periods are more flexible, so you can use a large number of presets or create your own.

But the best part of the new reports are data blocks: you can explore all possible data blocks out of a canvas on the right side of the screen, where you can see them as a preview but with real, live data, and then pull them into your report when and where you need them.

qm2011 preview

At any point you are free to export your report as an Excel or PDF file, or you can have it run as a scheduled job to be sent by e-mail - correctly applying all their settings and filters.

Themes and white-labelling

QueueMetrics now supports themes; you can chose between a "classic" look and a new dark theme that is easier on the eyes. Theme and graph colors have been selected to be effective even for users with reduced color vision.

The new themes also make it possible to have a custom OEM version of QueueMetrics for resellers who need it.

Improved WebRTC SoftPhone

The WebRTC softphone was significantly improved to offer multiple concurrent lines, attended or blind transfer and a mute button, as well as better ergonomics for all-day usage.

New JSON APIs

QueueMetrics 20.11 allows the searching of arbitrary audio storage systems, by exposing a simple JSON interface that your audio storage can implement. This means that if you have a special audio recordings server, or use an external provider, it is very easy to make its contents (audio, but also video, transcriptions, chats…​.) available to your QM users.

QueueMetrics can also be set up to "stay in the middle" between client and audio storage back-end, so that the latter is not exposed to the client. As a bonus feature, QM will log on its audit logs all accesses to audio recordings and the actual data that was downloaded by the client.

Security improvements

QueueMetrics has had a number of security improvements, both in terms of security fixes and by implementing a new "secure mode" that disables a number of potential avenues for external attackers to do reconnaissance and to attack QM servers. The new secure mode is controlled by an optional property, and is recommended for critical or publicly-exposed systems.

New platforms

QueueMetics 20.11 supports directly both the Enswitch platform, now without a need for a separate activation module, and Mirta PBX. It also supports "squashed clusters", that is possibly large clusters of Asterisk boxes processing the same queues on multiple parallel systems at once.

All those changes are targetted at mid-scale telephony providers, where our QueueMetrics Live service allows a hassle-free experience with out-of-the-box integration.

Parser improvements

One major change only: QueueMetrics now recognises cases where the PBX wrote a double logging of call closure records for the same call, and will silently skip the extra record - those that caused those so annoying "*" calls.

It is also possible to originate calls manually through the API, sending along a set of variables together with the number to be dialled, so that they are set on the outbound call and visibile in reports and to agents.

Deprecations

  • Direct access to the queue_log file is deprecated. You should upload data using Uniloader to a SQL partition instead - or, even better, upload through the web-service.

  • The old agent page (non-Icon) is deprecated. It should not be used any longer.

  • The XML-RPC interface for webservices is deprecated. The JSON services implement all the functionality and more, and are easier to consume from modern development environments.

  • The paged data blocks UD02, OD03 and OD04 are automatically replaced in 20.11 with their non-paged equivalents, as paging is now handled by the new reports page.

  • The data blocks OD01, XS01 and AC01 were removed in 20.11, because their functionality is not needed with the new reports page.

  • The CallCabinet driver was removed in 20.11.

  • The Qloader script was superceded by Uniloader, that is flexible and stable. It was removed in 20.11.

  • The Visitor’s page was removed in 20.11.

Bug Fixes

A large number of bugs were fixed in the release. The most important ones are documented here:

Agent Page

  • 4664: Remove disabled items from Icon menu

  • 4480: Occasionally the Alias is not sent correctly to the Agent page.

  • 4351: Wrong queue login/logout buttons in QueueMetrics Agent Page when dynamicLoginQueues=assigned

  • 4651: The call outcome appears even if platform-disabled

  • 4628: New softphone should not appear in agent page if not configured

  • 4799: Agent page font css import not working

  • 4575: Softphone: Mute and Second line

APIs

  • 4391: Search audio via JSON

  • 4233: Uniloader users with grants to upload to different partitions

  • 4588: Missing FTR code in JSON request

  • 4512: Force token for specific Uniloader web user

  • 4520: Remove CallCabinet module

  • 4428: Proxy to stream audio calls

  • 4307: Using TPF’s JMX reader

Configuration

  • 4611: Possible SQL Injection - cfg2_queues_agents

  • 4301: Synchronizer does not read pjsip and sip agents from queue_log file or db

  • 4365: Synchronizer does not read queue_log data

  • 4613: Synchronizer: users not created

  • 4534: Explore system parameters showing wrong default configuration for the platform.

  • 4385: Synchronizer page crashes while importing configurations in Firefox

  • 4476: Dbtest/Inspector could be clearer

  • 4638: Security pack

  • 4642: Security: De-brand login page

  • 3824: Clone a Known Number

  • 4860: Broken icons on Export Report page

  • 4641: Security: Mitigation of verbose error messages

  • 4312: Synchronizer General Actions Panel

  • 4760: Header of the tables is broken in admin section

  • 4585: Connection pool issue on DbTest

  • 4310: Protecting items from deletion in Synchronizer

  • 4639: Security: Mitigation to User enumeration

  • 4671: Platform published on the AMI queue inspector may be incorrect

  • 4308: Add a way to protect Agents and Queues from Configuration Synchronizer

  • 4640: Security: Mitigation to Insecure session-id storage

  • 3261: Add default.callStatusTimeout to the documentation

  • 4573: Automatic DB setup does not work

  • 4302: Default admin account in DB Sample should include whisper and barge security keys

  • 3583: sql_mode issues with Mysql >=5.7.5

Engine

  • 4532: Parser tracks session incorrectly when call is answered on removemember

  • 4604: Encode queue names

  • 4654: Remove wrongly-logged double closing records

  • 4890: Normalize PJSIP channels

Graphics

  • 4410: UiKit very slow when rendering tables

  • 4364: The left-bar menu for configuration is broken

  • 4522: Hard-to-read titles in QA

  • 4368: Cannot Send CBT, javascript error

  • 4367: Broken storybook

  • 4617: Add "noindex" to skip search engines

  • 4781: QM won’t start without the default theme

  • 4749: Theme detection should happen in start, not in start2

  • 4748: Themes should be sorted by code - Change default code to "classic"

  • 4792: Mis-aligned HTML tables

  • 4692: Create layout for infobox DIAGNOSTICS

  • 4421: Css Hotswap for dynamic themes

  • 4782: Custom Image should have an alpha channel to match better the dark theme

  • 4813: Links to whitelabel under /dbtest

  • 4430: Newsfeed Cookie raises a warning

  • 4478: DbTest: improve graph layout

  • 4409: licence.jsp: remove link to third party

  • 4851: Hide everything on Licensing page

  • 4524: sysup.jsp: no lingering HTTP session

Packaging

  • 4406: Security issue with Jackson-databind 2.9

  • 4331: Gradle/webpack build for different themes

  • 4349: RPM issue with CentOS 7.7?

  • 4661: New license terms for deactivation

  • 4157: Reduce attacker risk surface

  • 4744: Replace product names in build and languages

  • 4690: Linting of JSON and XML files

  • 4739: Fix all TPF compiler warnings

Platforms

  • 4683: Cannot pause agent with hotdesking and DirectAMI

  • 4627: Enswitch: events returned in the wrong order

  • 4508: Tracking / proxying of all recordings

  • 4531: Squashed cluster

  • 4701: Dialplan to track VAR attributes on outbound calls

  • 4290: Support MiRTA PBX

  • 4448: DirectAMI mode using the same "MemberName", "Interface" and "StateInterface" extension when login an Agent on the queue.

  • 4380: Unknown ACM Asterisk 16.7.0 Asterisk Call Manager/5.0.1

QA - Quality Assessment

  • 4291: QA Form not working on radio choices

  • 4323: QA form not displaying correctly when running a QA report

Real-time

  • 2976: Call list fields: missing TRANSFERRED TO item

  • 4111: Quick agent report, filters the realtime view as well without a notice.

Reports

  • 4499: Broken report displays only chevron sign

  • 4485: Customization: Outbound stats

  • 4300: Call Overview report is broken when direction data is not available for the queue

  • 4612: Possible SQL Injection - Exports

  • 4479: Huge memory allocation on real-time with incorrect data

  • 4465: Removed deprecated "TimeZoneOffset" filter for the Custom Reports.

  • 3074: Idea: direct link to specific reports, as a unique link.

  • 4501: UN17 sorting table incorrectly

  • 3906: Export Jobs cannot be filtered by agent

  • 4637: Move items off the DBTEST page into home

  • 2088: Month name in XLS/PDF exports

Wallboard

  • 4264: Incorrect XSS detection on wallboard alarms

  • 4600: Wrong label "Pause code" for Spanish

  • 4547: Widget configuration queue scroll issue

  • 4298: Live Agents table Status field is broken

  • 4847: Queue selector too big

Languages

  • 4392: Turkish language

Documentation

  • 4684: Set up QM behind proxy

  • 4670: Docs: add a "deprecation" section

  • 4526: Uniloader example on the manual