QueueMetrics 19.10

Release 19.10 focuses on a major improvement in the UI: it was thoroughly rebuilt with a modern toolkit, as to have an up-to-date look and support mobile browsers. The result is meant to be very familiar to existing QueueMetrics users, but is easier on the eye and has a unified look across the product.

  • New UI

  • New "synchronizer" module

  • Agents actions can be performed through a generic JSON API

  • Improved security and efficiency

  • Deprecations and possible issues with older versions

  • Support for the Korean language

  • Bug Fixes

QueueMetrics 19.10 is immediately available for all RedHat/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 22 distinct languages/locales.

New UI

The new UI offers a better look, better readability and works reliably on the smaller screens of mobile devices. It is more maintainable, uses modern JavaScript libraries and offers better readability on high-DPI devices.

The initial approach was to avoid any surprises to our users, so the way the product works will still be very familiar to our existing QueueMetrics customers - as always, QueueMetrics tries to adhere to the principle of least surprise.

The real-time page looks very similar, though somehow lighter on the eye, especially with icons.

qm1910 realtime

The wallboard looks similar as well, though colors have been altered slightly to play well with the rest of the product.

qm1910 wallboard

Reports have a lighter look, but are readable on very small or very large screens.

qm1910 report 1

qm1910 report 2

Call details now appear as a modal dialog, with a lighter tab selector.

qm1910 call details

Developing the new UI was a major effort, as we had to basically rebuild everything, including parts of the presentation layer that were rather old. As a side effect, the new UI also opens the door to the complete white-labeling of the product, that will be available by Q1 2020.

The new Synchronizer module

The data Synchronizer was rewritten in order to be easier to use;

The Configuration Synchronizer module can be used to quickly configure QueueMetrics' queues and agents.

What the module does is the following:

  • Shows the current QueueMetrics configuration, in terms of agents and queues.

qm1910 synchronizer home

  • Allows the user to edit agents, queues, and the association between agents and queues, by dragging the agents on the relevant queue.

qm1910 synchronizer drag

  • Allows the user to create a queue.

qm1910 synchronizer newqueue

  • Allows the user to create an agent.

qm1910 synchronizer newagent

  • Allows the user to import a configuration from an external source.

qm1910 synchronizer import

  • Allows the user to export a configuration for backup purposes, or to copy on another machine.

qm1910 synchronizer export

  • Allows the user to save the new configuration, applying it to the system.

'See also:'

  • QueueMetrics User Manual: Chapter 9. Editing QueueMetrics Settings

Generic JSON API as an integrated platform

It is now possible to expose any PBX through a generic platform called JSONAPI.

This means that QueueMetrics is able to call a set of pre-defined JSON services and tell them what it wants done, so that they will implement the action in a way that is sensible for your PBX.

This platform lets you drive an arbitrary external system that implements a very simple declarative JSON API. This way, QM can control any PBX system, and it is often used to interact with cloud providers that "abstract away" the specific PBX API.

You can decide which features are enabled on your PBX back-end, so you do not have to implement all interaction features at once - for example, you could initially offer only agent login and log off, and add pauses or outbound as a second phase. Features that you did non explicitly turn on will be disabled.

  • See also: QueueMetrics User Manual, "JSON API Actions"

Improvements

Security

An in depth third-party security assessment of the application has found a few security vulnerabilities, mostly theoretical, but this version includes significant work on data sanitization and improves the overall security of the product, especially when deployed on the public Internet.

It is in any case advisable to deploy QueueMetrics behind a security proxy if you want to deploy it on the internet, or just use our QueueMetrics Live service.

Performance

Based on large scale performance metrics gathered on our QueueMetrics Live service, we have improved the general performance characteristics of QueueMetrics by looking at the underlying architecture, and improving caching and run-time efficiency across all calls.

This has a significant impact especially for JSON services, leading to better execution times and improved latency.

Misc notable changes

Improved FreeSwitch/FusionPBX support

Support for the FreeSwitch platform now allows pausing with a pause code. Platforms have been re-factored to improve performance and offer better support for debugging, including a tester page to display actions as they are executed.

Testing SMTP delivery

A new page under DbTest lets you test the SMTP settings of your QueueMetrics instance. Setting up SMTP delivery for scheduled reports used to be rather annoying, as you had to log in and log off every time to test new settings. Now you can just try parameters in a page that will send a sample email message and will report on the full SMTP dialog with the server.

  • See also: QueueMetrics User Manual, "Testing email delivery"

New QA filters

QA reports can be run searching by caller-id and the call’s unique id, either as fixed patterns or regular expressions.

  • See also: QueueMetrics User Manual, "Quality Assessment in QueueMetrics"

Support for Korean language

QueueMetrics 19.10 supports the Korean language, following a trend of a growing market based in Asia.

Deprecations

  • Sub-queues are officially deprecated and will be removed during 2020. If you still use sub-queues to handle different logical queues on a shared agent pool (e.g. for reservations of multiple hotels, events or movies, where you have different numbers for each item but have one large agent queue), you should migrate to call tags or DNIS.

  • The AGAW client for Firefox is not supported anymore.

  • As QueueMetrics versions prior to 19.04 might have issues displaying the real-time page by the beginning of year 2020, depending on the actual settings being used, we strongly suggest upgrading the system to avoid any risk.

Bug Fixes

A large number of bugs were fixed in the release:

Agent Page

  • 4133 - Wrong agent status with All queues

  • 4217 - Agent Page Softphone non answering call

  • 4239 - extension field and actual extension are not aligned

  • 4131 - "Default queue URL: " in the Queue configuration is not working.

API JSON

  • 4191 - New TPF architecture - compile warnings

  • 4185 - JSON Services: auth run twice

  • 4196 - Including new high-performance JSON services

  • 4165 - Remove classes for "vloader"

Real-time

  • 4221 - Short calls filters not working on real-time

  • 4231 - Licensed agents Alert missing the number of agents found

  • 4236 - Busy number not updating

  • 4113 - Extension non showing on realtime view in DirectAMI and hotdesking mode

Platforms

  • 4272 - FreeSwitch platform in webqloader mode cannot send more than one action

  • 4154 - Dump AMi stanzas if directami.verbose with uniloader

  • 4268 - FreeSwitch: sending pause code

  • 4153 - DirectAMI: misleading num variable for optimizedagentchannel

  • 4155 - Platform interface over JSON API

  • 4285 - Issue with lost call in outbound dialplan

Reports

  • 4152 - All Scheduled Jobs failing

  • 4175 - Running a custom report the "Agent Group:" does not work correctly

  • 4259 - Duplicated tab check in the Report Creation not working correctly - XLS export fails

  • 4212 - Non-contiguous time filter, in custom reports, not working.

  • 4143 - Call Outcome Description not showing in reports.

  • 4163 - ArrayIndexOutOfBounds on popupOk

  • 4097 - Issue with Skills filter

  • 4238 - dynamic tables js function for sorting is inconsistent for some columns

  • 4136 - Scheduled jobs fail with non-Ascii characters

  • 4213 - Dynamic report exception on page reload

  • 4181 - Hiding Agent Level column from reports

  • 4226 - Using cached LProperties

Wallboard

  • 4224 - Memory leaks crash wallboard

  • 4102 - Agents Ready Widget shows the incorrect number of agents.

  • 4098 - Live agents table does not filter for more than one queue

  • 4251 - Wallboard keeps pinging server now that too many agents error has changed

  • 4124 - Live Calls sorting by agent sorts by agent code and not by agent name

  • 4245 - Circular Panel bar not showing for CallsWaiting circular panel

  • 4123 - call actions call table does not appear if call list is not on the wallboard

  • 4115 - If cluster list is populated in conf.properties but cluster mode is off, call actions don’t work

  • 4182 - Widget not displaying correctly the alert

  • 4256 - Softphone events should possess dedicated Humanized Messages

  • 4125 - Agent Actions OK button does not work if not in hotdesking mode

Configuration

  • 4112 - "default.alwaysLogonUnpaused" parameter issue.

  • 4091 - User classes should appear with the name instead of the number in the Synchronizer configuration

  • 4249 - Synchronizer v2 React Graphical Interface and new services

  • 4273 - NullPointerException in Synchronizer, is PBX array is null

  • 4248 - Testing SMTP delivery

QA Module

  • 4161 - Additional QA filters