Table of Contents

Contents

Release 12.01

Agent times by hour

Call tagging

Paginated call display

Realtime on Asterisk 1.8

Non-contiguous reports

Friendly names handling

Encrypted files playback

Persistent user properties

QA from Agent page

Release 12.02

Tracking Music on Hold

Release 12.05

AGAW Quick Installation

AGAW Chrome compatibility

RT page menus

QA Extra Score

QM database creation

QM Home page layout

Agent channel names with -

Release 12.10

Performance optimizations

Administrative Tools access

Agent page reports

URL Substitutions

Release 13.04

Manual and automated reports as PDF/XLS documents

Non-scoring questions and other changes related to QA

Fully-automated screen pops on the Agent’s page: Active Polling

Analyzing IVR tree traversal

Detailed tracking of call events

QueueMetrics in the cloud: using different QM instances on the same PBX

Release 13.12

Externally-generated report pages

Improved QA features

Easier integration to external CRMs

Ready for Asterisk 12 and easier to deploy

Misc changes

Release 14.03

General usability improvements

Misc changes

Release 14.06

QueueMetrics layout restyling

Icon: The new Agent Page

A New JSON API interface

New IVR tracking mode

Misc changes

Release 14.10

Usability and the Icon page

Deployability

Bug fixes

Release 15.02

Usability and layout improvement

Icon Agent Page Improvements

Bug fixes

Release 15.10

New concepts: Skills, Tags and Features

New Reports

Tracking of features on Icon

Usability and layout improvement

Misc items

Bug fixes

Release 16.09

New concepts: FCR and Programmable data blocks

Internationalization

Changes on the Icon Agent’s page

Improvements to the Explore System Parameters page

Official QueueMetrics Docker image

Introducing Uniloader

Detailed changelog

Release 17.06

Major changes

Updated dependencies

Minor changes

Detailed changelog

Release 18.04

Scheduled Jobs

Wallboad Queue Filtering

QueueMetrics and CallCabinet Integration

Configuration Synchronizer Upgrade

Password Encryption

Agent Page - Call Variables

New Reports

Old Agent Page is Officially deprecated

Qloader is Officially deprecated

Bug Fixes

Release 19.04

New wallboard features

Spy, Whisper and Barge

Improved reporting

Better WebRTC support

Experimental support for Freeswitch

Explicit support for proxies

New engine

Deprecations

Bug Fixes

Release 19.10

New UI

The new Synchronizer module

Generic JSON API as an integrated platform

Improvements

Misc notable changes

Deprecations

Bug Fixes

"Throw-away" reports and links from the Real-time page

Improved exports to PDF and XLS

Improved accessibility

Improved wallboard

Improved Synchronizer

Improved WebRTC soft-phone

Cache-aware web data upload

User auth over JSON and LDAP

Bonus: Introducing AudioVault - Recordings for cloud systems

Deprecations

Bug Fixes

Release 22.02

The Timeline view

Call groupings

Improved looks and functions

Improved performance

Support for Single Sign-On

Pervasive logging

Improved WebRTC soft-phone

Misc notable changes

Deprecations and security

Bug Fixes

Contents

This document contains a graphical description of the most important changes for a QueueMetrics release.

Release 12.01

This release of QueueMetrics includes a variety of functional improvements, which we have subdivided into major and minor changes. We are providing this brief overview of the main changes in order to have a quick and readable guide that allows our customers to be aware of what the major changes are, why they were implemented and how it improves the user-experience.

The new major changes are as follows:

Agent times by hour [#1364]

Call tagging [#1369]

Paginated call display [#1383]

Realtime on Asterisk 1.8 [#1385]

Non-contiguous reports [#1405]

Friendly names handling [#1470]

Encrypted files playback [#1492]

Persistent user properties [#1511]

QA from Agent page [#1519]

Agent times by hour

This new reporting feature addresses the need to know the total presence time of each agent over a specific 24h period of time. So we developed this feature to show data subdivided into the following three sets of metrics:

This allows an administrator to have information for each agent, by showing the agent’s decoded name, level and current group (if defined, expressed as an icon like elsewhere in QM), various columns containing the total session time for each hourly timeframe and the total time of all the hourly sessions, from start to end.

See also:

QueueMetrics User Manual: chapter 6.10.10 (Agent session time by hour)

Call tagging

For each call it is possible to add Tags which can be created (by using the security key: CALLMONITOR_ADDTAGS) and deleted (with: CALLMONITOR_DELTAGS), as required, in order to keep a note regarding that specific call.

See also:

QueueMetrics User Manual: chapter 11.3.3 (QA - The input form)

Paginated call display

It is now possible to view details of calls (answered, unanswered) in a paginated order, rather than as a long list of data on a single page, allowing better readability than previous straightforward listings when running a large result set. If we run a Report we will see that the calls are showing in pages, rather than as a listing (note the buttons to go forward/back and that the page is 1 of 2 pages)

By selecting the icon at the bottom right of the paginated listing, it is possible to add columns, as required, and when exporting data you can select just the columns that you want to export.

See also:

QueueMetrics User Manual: chapter 20.12 (Configuring paginated calls)

Realtime on Asterisk 1.8

With Asterisk 1.8 the format of the Asterisk realtime table was changed, so we have had to update QueueMetrics to support the new format. This means that it is now possible to delegate the queue logging to the Asterisk Realtime subsystem. With this option the QueueMetrics MySQL database log will be replaced by the MySQL database populated by Asterisk, so the qloader process is no longer needed.

See also:

QueueMetrics User Manual: chapter 23.17 (Running Asterisk 1.8 with QueueMetrics)

Non-contiguous reports

Non-contiguous reports allow to choose specific day(s) of the week and time periods that you may want to include in a report query.

This resolves the issue of having to obtain the same statistic manually and then having to integrate them into a single report, based on chosen days and/or times.

See also:

QueueMetrics User Manual: chapter 4.3.1 (Custom Reports - Call search criteria)

Friendly names handling

Since FreePBX (2.8 and newer) changed the queue_log entries such that they were written using the friendly name, we have had to adapt QueueMetrics to recognize Asterisk aliases, known as friendly names for reporting purposes. In QueueMetrics you can now assign multiple friendly names to an agent. This solution allows to monitor and report on an agent that is present under different codes within the queue_log.

See also:

QueueMetrics User Manual: chapter 20.4 (Configuring agents)

Encrypted files playback

QueueMetrics now offers the option to listen to recordings that are stored in an encrypted format and it can adapt to almost any encryption technology. QueueMetrics ships world-wide and some States require high security levels within a call centre, amongst which, the requirement to keep call recordings in a protected/encrypted format so that they can’t be easily accessed and listened to.

This process takes place transparently and if we deploy QueueMetrics in a secure HTTPS environment the audio recordings will be encrypted on disk and will also be encrypted on the network.

See also:

QueueMetrics User Manual: chapter 23.20 (Listening to encrypted recordings)

Persistent user properties

Per-user persistence settings allow user search configuration to be stored and kept even after log off and can be changed and re-stored at any stage

Custom Reports maintain the latest query parameters entered, even when a user logs off and logs back in, in order to facilitate the work-flow of a user requiring the same reports on a daily basis.

The Refresh button allows to clear the input query parameters at any stage.

See also:

QueueMetrics User Manual: chapter 4.3.2 (Persistent user properties)

QA from Agent page

It is now possible for agents to access the Quality Assessment form, in order to allow them to add QA information to the call while speaking to a customer. This feature is accessible via a QA form icon on the agent page that is enabled via a special security key (QA_TRACK) that can be added for any specific agent, to allow them to make use of this feature. The agent can only access specified QA forms thanks to the powerful security system used by QueueMetrics.

This feature was developed as some of our customers required being able to allow agents to interview callers on the perceived quality of their services. It is, however a feature that is applicable in a variety of other scenarios, according to business needs.

See also:

QueueMetrics User Manual: chapter 8 (The real-time agent page)

Release 12.02

This release of QueueMetrics includes a main functional improvement, which is related to the Music on Hold (MOH) feature. This brief release overview allows to understand the new feature, why it was implemented and how it it can be applied.

The new major change is as follows:

Tracking Music on Hold [#1525]

Tracking Music on Hold

Many QueueMetrics customers expressed the need to be able to monitor the amount of time a customer was put on hold, given that this is not currently measureable via Asterisk. To use the MOH feature it is necessary to install a custom patch which allows to track these events.

When this feature is enabled, if we look at the QueueMetrics Realtime page, we see an "MOH" field that shows the amount of time a customer is on Hold with music, during a call. If multiple Hold instances took place during the call, this field will show the total "on hold" duration.

See also:

QueueMetrics User Manual: chapter 7.2 (Calls being processed)

QueueMetrics offers the option to have a list of calls displayed in a paginated format. If we look at the bottom right of this list, we can see a small icon which allows us to add or remove columns within the listing. We now have the option of adding the "MOH events" and "MOH duration" columns, which report on the number of events where a caller was put on Hold and the total duration of such events.

See also:

QueueMetrics User Manual: chapter 20.12 (Configuring paginated calls)

The new feature also allows to see the total number of Music on Hold (MOH) events per agent, how many MOH instances took place throughout a call, the average and total duration of the MOH events.

See also:

QueueMetrics User Manual: chapter 6.1.13 (Music on Hold by agent)

Release 12.05

Release 12.05 offers additional improvements to the QueueMetrics package, that address the introduction of features that offer broader compatibility and simplify the user-experience. Amongst the main features, the new release sees a new page layout for the QueueMetrics Home page, the introduction of the Agent Awareness client for Chrome, new drop-down user-friendly menus for quick agent control, a database creation wizard and QA further scoring.

The implemented major changes are as follows:

AGAW Quick Installation [#1600]

AGAW Chrome compatibility [#1615]

RT page menus [#1624_733]

QA Extra Score [#1599]

QM database creation [#1283]

QM Home page layout [#1611]

Agent channel names with - [#1614]

AGAW Quick Installation

The installation of the Agent Awareness (AGAW) extension has been made easier and quicker as when you install QueueMetrics via rpm the AGAW runner is automatically installed, even if not immediately activated.

Once you request a demo licence, it can be installed directly from the AGAW page and you can start the AGAW runner process straight away.

See also:

QueueMetrics User Manual: chapter 10.2 (Installing the AGAW licence)

AGAW Chrome compatibility

Chrome has become the most widely-used browser, followed by Firefox and other browsers. This release sees the implementation of the new user-friendly AGAW installation for Chrome users.

It allows to install the AGAW client within about 2 minutes and embeds into the top banner of the web page as an icon that offers an at-a-glance AGAW panel, with all the relevant data for any agent.

See also:

QueueMetrics User Manual: chapter 10.5 (Installing with Chrome)

RT page menus

Call Centre administrators and supervisors can now perform a variety of agent-related tasks directly from the Realtime web interface in QueueMetrics, without any need to browse to other pages. We have introduced a new wand icon at the end of the Calls being processed panel which will give administrators the freedom and time-saving control of being able to directly access the QA form, close, hang up, transfer and listen to any listed call.

We have also added an Add Member button to the top control table and a tidy drop-down menu within the Agents currently logged in section that allows to log off, pause and un-pause agents and send SMS messages (Asterisk v.10+ required for this feature).

See also:

QueueMetrics User Manual: chapter 7.2 (Calls being processed)

QueueMetrics User Manual: chapter 7.3 (Agents currently logged in)

QA Extra Score

Assigning scores to a QA Form has always ranged between zero and hundred. Occasionally a call centre may choose to allocate higher values to an agent, given that he/she performed outstandingly well in their job. It is now possible to add extra scoring to particular questions within the QA Form.

The total scoring for a specific section will be calculated and displayed within the numerator part and will not affect the averages of the overall QA Form.

See also:

QueueMetrics User Manual: chapter 20.9 (Configuring QA Forms)

QM database creation

This new feature will be welcomed by many of our customers worldwide as it simplifies the QueueMetrics installation and configuration process. QueueMetrics requires a working JDBC connection to the MySQL database, so the new wizard allows to easily create the database in a few clicks and minimal manual intervention.

See also:

QueueMetrics User Manual: chapter 2.5.2 (Automatic database creation)

QM Home page layout

This release offers a great new look for the Queuemetrics Home page, as the various links have been re-organized to form a new layout that avoids any previously-required page scrolling.

The new format sees the introduction of the QueueMetrics News section, a reviewed block layout across multiple columns and the Licence Information page link embedded within the top banner to allow access from any page across the application.

See also:

QueueMetrics User Manual: chapter 3 (Logging on to QueueMetrics)

Agent channel names with -

We have introduced the option to avoid the stripping of the - (minus sign) in channel names. By setting the default.stripChannelNames property to false, the agent channel name is read as it appears in the queue_log file. Otherwise anything after the - sign is deleted (ie. SIP/203-abcd is read as SIP/203), if set to true.

See also:

QueueMetrics User Manual: Appendix D (System Preferences)

Release 12.10

Release 12.10 sees the introduction of noticeable improvements and optimizations to QueueMetrics, offering broader usability and simplifying internal processes. Amongst the main features, the new release offers improved caching and memory efficiency, additional links to administrative tools from the QueueMetrics Home page, the introduction of the Agent Reports accessible directly from the agent web page and the possibility of defining different URLs for agent calls, according to the call path.

The implemented major changes are as follows:

Cache RAM monitor [#1636]

Memory efficiency [#1688]

System diagnostic tools [#1673]

Link to dbTest page [# 1692]

Agent page Reports [#1663]

URL Substitutions [# 1714]

Performance optimizations

We have been tracing and studying QueueMetrics' performance limitations in a number of production settings. The result of this study has led to a series of changes in QueueMetrics that will benefit everyone, but will of course mostly affect larger contact centers.

We worked on QueueMetrics' memory usage by limiting the total memory footprint, besides minimizing the creation of a large number of temporary objects. We also created a new string cache that outperforms the native Java implementation used in previous versions of QueueMetrics by two orders of magnitude on large settings. We also worked on database access caching - as of release 12.10, common items like the list of queues on the Home page are aggressively cached by QueueMetrics itself. You may notice this behavior if e.g. you create a new queue, go back to the Home page immediately and you do not see the queue for about 10 seconds. This has strongly reduced the number of queries sent to the database. Furthermore, we now have an even stronger caching system that keeps pre-processed objects in memory and avoids hitting the database for most real-time queries. This is an optional feature that only affects the Real-Time and the Agent’s Page when running with SQL or CLUSTER storage, and has to be turned on manually by setting:

realtime.useRowCache=true

The results obtained through this change have demonstrated a 10x - 20x performance improvement on page generation times.

We have also provided a new monitoring page, which is accessible from the DBTEST page, that allows to query the status of the new caches in real-time and reset them, as required.

The guide to fine-tuning QueueMetrics memory settings in order to get the best performance can be found in the QueueMetrics Advanced Configuration manual and it is a must-read for system administrators.

See also:

QueueMetrics User Manual: see chapter 20.17.4 - RAM Cache monitor

Administrative Tools access

Given the frequent need to access specific administrative tools, we have simplified how administrators can reach two main areas of QueueMetrics: the configuration.properties file and the database Test page.

As of QueueMetrics 12.10 it is possible to view the configuration.properties file directly from the Home page. This is achieved by adding the key EDIT_CFG to the admin user, which will enable a link on the Home page, within the Administrative Tools, that will allow access to the file.

The database Test page is also accessible directly from the QueueMetrics Home page, under the heading System diagnostic tools, within the Administrative tools listing. It does not require a specific key to be enabled.

See also:

QueueMetrics User Manual: see chapter 3.0 - Logging on to QueueMetrics

Agent page reports

The new functionalities allow agents to run specific reports directly from the agent page. These new features are already enabled for the included sample agents. In order to configure other agents having the same functionalities available, the following steps need to be implemented:

Assign a queue (or a set of queues) to the agent

Assign a new report to the agent

Assign the SSAREPORT key to the agent

Furthermore, the Agent page now includes a new Home button that allows an agent to get back to his/her main web page at any stage (no security key or property are required to enable this feature) and various reporting options are selectable by queue, report type and durations. This new block of reporting functions is made visible for agents by enabling the SSAREPORT key within the user configuration/administration page, which can be reached from the main QueueMetrics administrator Home page. An agent can run a report based only on the queues and reports assigned to him/her.

An administrator can also assign the maximum amount of time that an agent can have available, when viewing historical reports from the agent web page. When an agent runs a report, the agent does not have a Search button enabled, so s/he is not able to access any kind of Custom Reports.

See also:

QueueMetrics User Manual: see chapter 8.2 - Self-service agent reporting

URL Substitutions

The new release includes a new agent page URL feature. Each time the call history changes, and if there is a URL associated to the call shown on top of the list, a new window will automatically be opened pointing to the specific URL. This feature could be disabled modifying the value associated to the configuration key realtime.agent_autoopenurl.

URLs are passed to the Queue() command in Asterisk or, if missing, they can defined in the QueueMetrics queue configuration as a default. They can include a set of placeholders that are expanded with the details of the call being handled, as in the following table. The available placeholders are:

A agent’s numeric code

U call’s Asterisk uniqueID

S server ID (cluster mode)

Q queue name

T call timestamp

C caller ID

D DNIS

I IVR path

O outcome code

P position in queue

M call attempts

See also:

QueueMetrics User Manual: see chapter 8.0 - The real-time agent page

Release 13.04

Release 13.04 adds a number of important new improvements that will make using QueueMetrics easier and more productive.

Manual and automated reports as PDF/XLS documents (and you can have them sent by e-mail!)

Non-scoring questions and other changes related to QA

Fully-automated screen pops on the Agent’s page: Active Polling

Analyzing IVR tree traversal

Detailed tracking of call events

QueueMetrics in the cloud: using different QM instances on the same PBX

Manual and automated reports as PDF/XLS documents

When you run a report, it is now possible to export it in one go as either a PDF document or a multi-page XLS worksheet:

Even best, you can create pre-defined reports - that is, a set of queues, a report, a time period, an export format - and have QueueMetrics send them by e-mail to a list of recipents. You can run them manually or you can script a cron job that every night (or every week) will trigger the execution for you.

In order to turn on this feature, you must give your users the USR_REPORTS_EXPORT keys (so that she can export reports) and your admins should hold the key USR_REPORTS_EXPORT_EDIT in order to create the reports to be sent by e-mail.

See also:

QueueMetrics User Manual: see chapter 18.1 - Generate PDF and XLS reports and send them by e-mail

Non-scoring questions and other changes related to QA

It is now possible to have non-scoring questions, that is, questions asked in QA forms that do not contribute to its averages and targets. This is useful because you can now use QA forms for general-purpose information gathering - e.g. you could have a drop down menu that records whether the caller was male or female, or for which product the call to your support line was. This can be very useful especially when you have agents fill-in QA forms right from the agent’s page in order to gather information about the call - and you get detailed reports on all these choices.

Such calls are displayed by distribution in the reports, that is how many calls were tracked for each distinct value.

Additionally, you can now have free-text comments linked to a specific QA question - this lets you store both comments by graders on why a specific issue was graded the way it was, and for agents to associate free-text comments through the agent’s page. Such comments are displayed in the QA notes section with the indication of which question the comment is about. Additionally, an information icon will be added to the QA form, making it easy to retrieve such items when present.

See also:

QueueMetrics User Manual: see chapter 12 - Quality Assessments in QueueMetrics

QueueMetrics User Manual: see chapter 8.5 - Gathering call information through agent-side QA forms

Fully-automated screen pops on the Agent’s page: Active Polling

Since QueueMetrics 13.04, the agent’s page does not need to be manually refreshed when a new call hits the agent. This is a major usability improvement and comes on the heels of the high-performnce Row Cache functionality introduced in QueueMetrics 12.10. This way you can have an agent’s page that automatically refreshes (and launches a screen pop) only when there is new data to be shown to the agent. Also, the page does not need to reload to maintain session information - all session handling is done behind the scenes.

This is very useful for inbound call processing, and it is superb when used with WombatDialer outbound campaigns - you can get all the benefits of QueueMetrics plus a solid outbound dialing platform.

See the User Manual for the settings you have to enable in order to turn on this feature.

See also:

QueueMetrics User Manual: see chapter 8.4 - Auto-refreshing the agent’s page: Active Polling

The WombatDialer is available at http://wombatdialer.com/

Analyzing IVR tree traversal

It is now possible to track and analyze not only the final IVR selection, but the time it took for each caller to make every selection, the number of goals reached (be it connecting the caller to a queue or reaching an independent goal, e.g. a self-service menu) and the attrition rates for each IVR menu and sequence, that is where the caller hung up instead of reaching a new destination.

This gives you in-deep visibility on what is going on before the call is queued and lets you streamline and optimize your IVR tree, giving you clear, comparable data to base your decisions upon.

It is also possible to view IVR data of calls that did not yet enter a queue, and see the sequence of IVR selections that was made on the call.

Tracking this information requires minor changes to be implemented in your dialplan (in order to track IVR selections and goals), and will be done automatically when installing the QueueMetrics module that ships with FreePBX 2.11.

In order to add these features to an existing QueueMetrics systems, you’ll have to add the data blocks called IVR01, IVR02 and IVR03 to your reports. The list of calls can be browser though the OD04 block.

See also:

QueueMetrics User Manual: see chapter 9 - Tracking IVR data

The QueueMetrics module in FreePBX - http://www.freepbx.org/trac/browser/modules/branches/2.11/queuemetrics

Detailed tracking of call events

The call details pop-up has been reworked in order to offer a comperehsive view of events happening during the lifetime of a call - not just the final IVR selection, the total time spent on MOH or the number of lost ACD attempts.

All events are now displayed in an orderly fashion and can be viewed in the order they happened.

This feature improves granular understanding of what went on during a specific call.

See also:

QueueMetrics User Manual: see chapter 5.1 - Detail of answered calls

QueueMetrics in the cloud: using different QM instances on the same PBX

QueueMetrics was originally built to monitor one or more PBXs running a call center. It has strong security features, allowing you to run partitioned systems where multiple clients are completely insulated from other clients.

Still, in the standard QueueMetrics model, one QM instance can only monitor one PBX. This limits the offerings where:

You have a cloud PBX and would like to give QM to some of your clients

The QM systems need to be custom-configured for each client

You want each client to have their own private instance of QM (for e.g. load management or ease of deployment)

The QlogSplitter tool - shipping with qloader 1.29 - lets you partition the queue_log of a large multi-tenant PBX into multiple feeds that go each into a separate QM system.

This lets you create client offerings where:

Each client has their own, private instance of QueueMetrics

You use the Loway Keyring to manage QueueMetrics license keys for each customer

This way, clients can pay for what they use and you can use a large Asterisk instance to feed them all.

See also:

Qloaderd User Manual: see chapter 4 - Feeding multiple QM instances from a single queue_log file

An introduction to the Loway Keyring is available at http://queuemetrics.com/keyring.jsp

Release 13.12

Release 13.12 addresses usability and bug fixes in a number of areas. The main theme of this release is integration - generating reports externally and having them included in QueueMetrics, integrating with popular CRM software packages, integrating with Asterisk 12 and with external process watchdogs.

Externally-generated report pages

Improved QA

Easier integration to external CRMs

Ready for Asterisk 12

A long set of little but useful improvements in all areas

In total, over 70 issues were fixed/added in this release.

This release paves the way for major changes to come in 2014, including a new Agent page and WebRTC integration.

Externally-generated report pages

Would you like to integrate external data sources into QueueMetrics? Imagine that you want to run a QueueMetrics report and display a statistic with a graph about the items that were sold by your call-center. QueueMetrics does not handle this kind of information, so previously the only option would have been to generate externally a report that would include QueueMetrics data and data generated from external systems.

Since version 13.12, you can write small HTTP scripts - producing HTML, structured XML or JSON - that can have their output embedded in QueueMetrics pages as if they were native reports. They can be saved, printed and exported to PDF/Excel.

See also:

XML-RPC User Manual: see chapter 6. Dynamic blocks in QueueMetrics.

Examples are available under the mysql-utils/xml-rpc folder.

Improved QA features

The Quality Assessment (QA) modules in QueueMetrics have been improved by adding a number of features that make working with it smoother and more powerful, especially when tracking down unexpected or incorrect scores.

Management by exception: you can dynamically filter which items you want to see in a QA form.

Overall QA summary: it is now possible to see an average for the whole form.

Queue pull-down box: in QA and elsewhere, combo boxes are now searchable.

Hi-lighting criteria not at target: in the Performance Tracker page you can highlight elements dynamically.

Editable names for QA levels: you can have different names or remove a score range altogether from your forms.

Section-level shortcuts and auto-fails: it is possible to earmark a QA item so that sets the score for the whole section to zero if it fails.

Easier integration to external CRMs

We created a new section in the Advanced Configuration manual that is meant to get you up to speed quickly when integrating Queuemetrics with any external CRM.

We also created example scripts that integrate easily with SugarCRM and VTigerCRM, the most common CRM applications used by our clients.

See also:

QueueMetrics Advanced Configuration Manual: see chapter 19. CRM Integration with QueueMetrics

SugarCRM: https://github.com/Loway/OpenQueueMetricsAddOns/tree/master/sugarcrm-integration

VTigerCRM: https://github.com/Loway/OpenQueueMetricsAddOns/tree/master/vtiger-integration

Ready for Asterisk 12 and easier to deploy

QueueMetrics 13.12 fully supports Asterisk 12. Asterisk 12 introduces a large set of changes in its architecture and will be the basis for future Asterisk PBXs. One notable feature that Asterisk 12 introduces is - at last - the ability to have attended transfers from queues.

Though Asterisk 12 is still in beta at the moment we’re writing, you know that QueueMetrics is ready for when you need to switch over.

QueueMetrics also add a watchdog page - that is a page that reports - as a JSON service - the current state of the system, and the current memory allocation. We offer an example script on how to call this periodically and restart the system if the page does not work.

See also:

QueueMetrics User Manual: The QueueMetrics watchdog page

Misc changes

Agent page:

Automated refresh on agent events when running in ActivePolling mode

Correct sort order of calls

Setting of call statuses

Improved support for IE

Correct display of conversation time for live calls

Realtime page:

The action wand does not disappear anymore

Correct IVR timing

A few fixes on how agents were counted in corner cases

Reports:

Improved generation of XLS and PDF doocuments

Percentages of calls taken and lost displayed on top of the page

A few fixes for IVR measurement

Improved Oreka integration for audio/video playback

Release 14.03

Release 14.03 is a bug-fix and performance-improvement release on top of QueueMetrics 13.12. You will surely notice that QueueMetrics is now faster when running actions on the server. This happens for example, when you log on agents to a set of queues. We also included many fixes that correct technical annoyances and make your experience smoother.

Under the hood, we made many changes to prepare the system for the next generation agent page that will debut in the next release.

General usability improvements

Interaction with Asterisk through the AMI now faster

Depending on the version of Asterisk used, there was a delay in performing actions that could be noticeable on some systems when logging on or off to a large number of queues. This is now way faster (up to 10x) and happens almost immediately.

The multi-stint pop-up is now included in the general call detail pop-up

There is no separate pop-up to see call stints; stint information - when present - is now visible in a tab on the Call Detail pop-up.

Calls connected to agents after agent was removed do not start a new session

The parser usually starts a new agent session when events for an agent are received by a logged-off agent. Now, if a call is queued while the agent is connected but is routed to the agent soon after the agent disconnects, the previous session length is adjusted and a new session is not started, so the agent does not "linger on" in the real-time view.

Added Drill-down methods for the Performance Tracker page

The Performance Tracker page now has drill-down methods to filter calls interactively.

Immediate pick-up on configuration changes

QueueMetrics caches database reads in order to avoid hammering the database with the same queries over and over again. Such caches usually have a small duration - no more than 30 seconds - but sometimes if you create a new queue and go back to the main page, the new queue may take a few seconds to appear. This does not happen anymore - all configuration changes done through the GUI are effective immediately.

Compatible with the latest Oreka TR installations

The most recent versions of Oreka TR changed the names of a few components. It is now configurable with a property in order to have QueueMetrics work correctly with all builds of Oreka TR.

Additional caching of frequent SQL queries

Some more queries are now cached and should reduce the database load of about 15% if you have a large number of concurrent agents. The change will be noticeable for larger systems (100+ agents live).

Misc changes

A number of bugs present in previous releases were fixed:

Access to the Realtime page via XML-RPC might fail in QM 12.13

AGAW runner issue - wrong JAR reference

Agent page pop-ups abort if extension is missing

Exception when parsing under non-existent session

Added cache breaker to pop-ups

Accessing multi-stint calls from block OD03

Wrong counts in "Answered calls by custom groups" when reloading the page

Excessive log at the "Severe" level

Incorrect content-type in responses for AJAX services

Saner insert defaults for the queue_log table

Possibe XSS vulnerability on the Error page

The Agent’s page would time out to /queuemetrics/qm/undefined

Calls being originated would appear in the wrong order on the Agents page until connected

Release 14.06

Release 14.06 offers significant improvements to the QueueMetrics package. They are centered around QueueMetrics Icon, the new innovative Agent Page.

The major changes we implemented are:

A complete QueueMetrics layout restyle.

The new Icon Agent Page.

The integrated WebRTC Softphone.

The new JSON APIs for configuration and reporting.

A new, easier to use IVR tracking mode.

QueueMetrics layout restyling

We completely restyled QueueMetrics to match the demand for a fresher interface. The layout is now very clean and modern so that users can easily find what they need. A complete overhaul of the visual elements brings sharper windows corners, subtler drop shadows, more solid colors and a stylish font. The new look-and-feel greatly improves usability, facilitates learning and makes using QueueMetrics daily a pleaser experience.

Icon: The new Agent Page

We designed the new agent interface in order to provide users with the best usability combined with an innovative and minimalistic design that focuses all interactions with only one icon on a completely clean panel layout.

Using Icon, agents can operate all their call-center functions with only one control icon. Several new exciting features were added:

A workspace with draggable and resizable windows for each main activity.

Integrated WebRTC soft-phone.

Native integration with external CRMs and custom web pages.

Easier, intuitive queue login/logout and pause/unpause procedure.

Customizable agent display layout with sessions persistence.

Keyboard shortcuts for all the panels.

Access to the Icon page when upgrading existing systems is controlled on a user or class basis through the security key NEWAGENTPAGE. You have full control on when and to whom it will be shown.

See also:

QueueMetrics User Manual: chapter 8.7

The Integrated WebRTC Softphone

Following the generalized trend towards WebRTC, an innovative embedded soft-phone was integrated in Icon. It allows agents to receive and originate calls without an external SIP phone. This way you can provision new agents with only a modern browser and a pair of earphones - nothing to install on their workstations.

WARNING At the moment, the level of support for WebRTC in different browsers is in flux. Icon’s targets were Google Chrome 35+ and Asterisk 12 PBXs. An example of the current configuration needed to get it up and running is available in the Advanced Configuration manual.

A New JSON API interface

QueueMetrics now benefits from a new JSON API that wraps and extends the old XML-RPC API. This is now the primary access API for QueueMetrics. From the JSON API you can:

Access and modify all the QueueMetrics configuration (retrieving and creating queues, agents, reports, etc.)

Run reports on the statistics, the Real Time page, QA and more. All existing XML-RPC methods have an equivalent one-to-one call in JSON.

The new API comes with an extensive JSON API manual.

See also:

The QueueMetrics JSON API manual

New IVR tracking mode

The new IVR tracking mode lets you define an "area" for each IVR incoming call, so that you can limit the visibility of each call to a subset of queues/areas. For example, if you run a DID for each client, you can assign IVR calls that do not enter any queue to a separate area for each client and they can appear separately in reports.

The new IVR tracking mode is completely compatible with previous IVR-tracking logs.

See also:

QueueMetrics User Manual: chapter 9.1.2

Misc changes

A number of bugs present in previous releases are now fixed:

Agent page uses a lot of memory on Firefox (#2229)

Logging off agents from queues they do not work on anymore (#2306)

QueueMetrics 14.03 does not connect to Asterisk 12.1 (#2311)

Clean Tomcat cache at the end of the installation (#2314)

Queue names are lowercased when logging off (#2322)

Page does not work after pressing F5 (#2333)

The new agent page does not refresh properly (#2290)

Release 14.10

QueueMetrics 14.10 is a release centered around three main themes:

Improving the usability of QueueMetrics, by implementing a series of suggestions for changes that came as feedback on the Icon page, plus a number of changes that make the experience generally smoother.

Improving the deployability of QueueMetrics, by leveraging and extending the new JSON API, having a command-line updater tool and by having a new, HTTP-only data loader that does not require a direct connection to the QueueMetrics database. This makes deploying large numbers of cloud QueueMetrics instances easier. Plus, a number of configuration defaults were updated and the sample database includes a better sample QA form.

Fixing a number of bugs and issues here and there that would annoy users. The most important ones are that call attempts are now filtered correctly and that listening to audio files having weird characters in them should "just work".

QueueMetrics 14.10 fully supports the upcoming Asterisk 13, that will be the core Asterisk LTS release coming in the next months, as well as all other Asterisk versions.

Plus, this release has an initial Catalan localization; and more languages are on their way.

Generally speaking, we envisioned QueueMetrics 14.06 as a kind of "wrap-up" that builds and polishes the changes made with Icon and paves the way for improvements and new features to come in 2015.

Usability and the Icon page

Improvements to the Icon page

The Icon page now remembers the last extension an agent used (unless there is one defined); the regular expresions to validate queues and agents are applied live as you type, and the soft-phone is a bit quicker in setting up calls. Plus, it is easier than ever to select the queue(s) you can work on and windows work in a more consistent way.

Related issues:

#2390 - Remembering last entered extension

#2391 - If queue name is too long, dialout panel does not work

#2492 - Remembering last used agent extension

#2500 - Validation RegExp (agent and extension) on event onChange

#2483 - Softphone slow in setting up

#2400 - Can’t change pause code without unpause first

#2445 - "Current extension" and "Agent code" (Logon window) can be greyed out if a queue is already logged in

#2451 - Extension field should not be locked if a value is present

#2458 - In "Call out" window, call button remains greyed out after 2-3 calls

#2459 - Queues with call flow "undefined" (both inbound and outbound) are not shown in "Call out"

#2484 - Call Status window not showing ongoing call’s time

#2488 - Call remains ongoing if abandoned by customer (until new refresh)

#2489 - Wait time for outbound calls displayed as conversation time (until call’s end)

#2490 - Pause window has hidden buttons in Russian

General configuration improvements

We made a number of changes so that the settings on a new system are easier to work with. The default memory pool for new installations is now 256M, growing automaltically to 512M when needed, and this should be okay for most users. Pop-up windows were made easier to use without having to resize them, hot-desking is enabled by default, and the Real-Time page now reloads faster.

We also got a couple new FAQs addressing common issues like what to do when an agent status cannot be defined and an example outbound email configuration for Gmail.

Related issues:

#2452: New Tomcat RPM release with sysconfig properties

#2453: Create a new sample QA form

#2455: Updated Tomcat RPM

#2456: Size of pop-up windows

#2507: Flashing "tasks" icon

#1991: Cfg: Define "00 All" queue as "*"

#2379: Cfg: Hotdesking enabled by default

#2403: QueueMetrics by default runs with 256/512M

#2414: Cfg: default.alwaysLogonUnpaused true by default

#2446: Cfg: default.lockedAgentPopupCode true by default

#2450: Cfg: New defaults for RT page

#1285: FAQ: Agent status cannot be determined.

#1981: FAQ: Example GMAIL configuration

#1587: FAQ: Tomcat file rotation

Deployability

The web-based qloader

QueueMetrics now ships with an experimental new-generation qloader that does not require a direct database connection. It is also able to apply "splitting rules" in order to feed the output of one single Asterisk box into multiple QueueMetrics instances, each of which is not aware of the others. It also acts as a remote daemon in order to manage agent actions (logons, pauses, chanspy…​ you name them) without the need of establishing a direct AMI connection.

While the "classic" qloader served us well for years, and we do not suggest replacing it for existing systems, it was not well suited for handling remote Asterisk instances in cloud-based hosting scenarios.

Related issues:

#2388: HTTP qloader interface

#2389: New HTTP qloaderd

#2434: Wqloader does not install on Centos5

See also:

The web qloader user manual: http://manuals.loway.ch/WQLoader-chunked/

APIs

The JSON APIs were extended by offering a way to read and edit the configuration.properties file programmatically. JSON APIs run quicker and a number of corner cases were addressed.

It is also now possible to run the dbupdater from the command line, so that during a scripted upgrade you can run it before QueueMetrics is put back online.

Related issues:

#2430: Run dbTester from the command line

#2435: Efficient logins and sample user

#2436: JSON api problems loading/deleting

#2503: API to edit configuration.properties

See also:

The JSON API user manual

The updateDb.sh script that ships with QueueMetrics

Bug fixes

A number of bugs were fixed: ACD attempts are now computed correctly even if a filter is applied on the call set; a number of encoding issues on file names and XMPP/IM logins were addressed; and a few miscellaneous bugs were fixed as well.

Related issues:

#2442: "ACD attempts by terminal" and "by queue" not filtering

#2447: IM url is html-encoded

#2065: Illegal character + in audio filenames

#2267: Call recordings with some chars are not accessible

#2369: Encoding of "+" on call listen URLs

#1626: Audio Listening: audio names including the "+" sign

#2402: AGAW runner doesn’t work in 14.06 (new API)

#2359: If queue set as "Any call" (call flow), it is not saved in queue details

Release 15.02

QueueMetrics 15.02 is a release centered around two main themes:

Improving the usability of QueueMetrics with suggestions and requests that came from our customers and end users, plus a number of changes that make the whole monitoring and management experience richer.

Fixing major and minor bugs in order to improve the suite efficiency and smoothen the interaction.

QueueMetrics 15.02 fully supports Asterisk 13.1, that will be the current release for 2015, as well as all the older versions.

Usability and layout improvement

The new HTML5 audio player - #2509

QueueMetrics always offered facilities to link to recordings and play them through the browser. This used to be made in a separate browser window, so the playback was autonomous from the main QM core and not very flexible.

Now it is possible to play audio in an inner control, making it easy to jump back and forth. It is also possible to speed LP recordings to mark specific points for further inspections or speed up calls to review them faster.

It is also possible to mark visually specific points in a call and jump to them by clicking on the link.

This functionality is available from the Call detail and QA pop-up, clicking on the Play icon next to the file name. You can still listen to calls using the browser and save links locally.

Prerequisites: The new functionality requires audio if you want to store in MP3 or plain-WAV format, and a modern browser. In order to turn it on, you need to set the system property audio.html5player to true.

See: QueueMetrics User Manual, chapter "5.2.1. The HTML5 Audio Player and Markers"

Icon Agent Page Improvements

We made a number of changes so that Icon has new key features and extends its usability for inbound/outbound scenarios.

Lost Calls - #2381

Lost calls now appears natively in Icon.

In the Call-list Panel there is a column that shows the list of both inbound and outbound calls with new icons. The panel also displays any outbound unanswered call.

See: QueueMetrics User Manual, chapter "8.7.3. The call list panel"

Softphone Caller ID - #2521

The new real-time agents page integrates a WebRTC softphone. Now the agent can start a call typing the number and clicking on the "Start Call" button. Plus the softphone was restyled for improved usability. It now shows the Caller Id for all incoming calls.

See: QueueMetrics User Manual, chapter "8.7.1. The integrated soft phone panel"

Direct Agent Log-in procedure - #2558

Agents enabled to use to Icon will now be directed straight to their realtime agent page instead of their home page.

Prerequisites: this feature can be disabled with the default.disable_directlogin_to_agentpage configuration key set in the configuration.properties file.

See: QueueMetrics User Manual, chapter "8 The new Realtime Agents Page"

User Definable Inner Webpage panel - #2579

A new custom web panel is used to embed a user defined external website or custom intranet page. The panel is refreshed each time it is selected and/or moved, so it is possible to use it to display metric from an existing system.

The goal of this panel is to allow integration with custom implemented indicators and/or messages.

Prerequisites: The panel is optionally enabled by modifying the configuration keys realtime.agent_webpanel1_url and realtime.agent_webpanel1_label located in the configuration.properties file.

See: QueueMetrics User Manual, chapter "8.7.7. Custom Web panel"

Full UTF-8 support - #2485

QueueMetrics is now fully compliant with UTF-8 charset, meaning that is possible to use any UTF-8 characters when defining agents, QA forms, notes and any item in the report.

UTF-8 encoding now covers all functionalities, including statistics reporting, operators page and QA facilities, which makes it possible to fully support all international installations.

Prerequisites: enabled by default on all the installations. On old installs see FAQ http://queuemetrics.com/faq.jsp#faq-065-UTF8

See: QueueMetrics User Manual, chapter "5.2.1. The HTML5 Audio Player and Markers"

New "Agent per hour" report - #2578

This new report details the number of agents available on the selected queues for each hour of each day. The first column reports the date the current line refers to.

The next 24 columns report the number of agents found for at least one second in the associated hour. Numbers are reported in black if the timeband was covered completely by the agents, or shown in red if at least one agent is not present for the whole hour. The last column reports the agents seen, for at least one second, during the day.

Prerequisites: enabled by default on new installs. On existing ones you will need to add data block AG15 manually.

See: QueueMetrics User Manual, chapter "6.10.13 AG15 - Agents by Hour"

Bug fixes

A number of important bugs were fixed and some miscellaneous minor items were solved as well.

#2609 Flot graphs working on Retina Display.

#2560 All defaults for UTF-8.

#2431 Json API: decoded variables are not decoded if there is a numeric ID.

#2577 AMI transaction working with Asterisk 13.1.0

#2360 Test XML-RPC API.

#2544 Logging of failed logins for Fail2ban.

#2438 QueueMetrics permits duplicated fields.

#2368 Pause and unpause in same second will not work.

#2556 Json API: wrong hashcode.

#2606 Agent filter is not working on performance tracker.

#2378 Call monitor from realtime is not enabled.

#2559 QA: Cyrillic names don’t work in QA.

#2423 The dbtest page breaks when running a pool: URI.

#2561 Renaming existing TAGS to MARKERS.

#2630 Queues defined with lot of atomic queues.

#2541 Problems reading from realtime DB using useRowCache=true.

#2437 Less verbose log when streaming audio.

#2604 Parameters for non contigous reports are not persisted properly.

#2376 Running a report changes default agent code.

We really hope you will enjoy the new QueueMetrics 15.02! Do not hesitate to send us your comments and suggestions.

Thank you for supporting Loway and QueueMetrics.

Release 15.10

QueueMetrics 15.10 is a release centered around the idea of making the suite more flexible and easy to use than ever.

New concepts: Skills, Tags and Features

Improving the usability

Fixing major and minor bugs

QueueMetrics 15.10 fully supports Asterisk 13.5, as well as any older Asterisk version.

New concepts: Skills, Tags and Features

This release of QueueMetrics introduces the concepts of tags, features and skills, as optional ways to categorize your traffic.

A tag is a specific attribute that splits calls in a queue into mutually-exclusive subgroups. For example, if you were to implement an inbound call-center for booking events, you could add a tag for each event - people call multiple numbers but are queued on the same physical queue. Or if you run an outbound campaign, you can use the tag to track the list from where the number was taken, in order to track its sales results. Tags are meant as a general mechanism to replace existing "sub-queues" that keep a clean distinction between the reason why a call was queued and the queue that was used to process it.

A feature is a secondary outcome. A call can have multiple features; some of them might be valid only if some primary feature was set. For example: when you make a sale, you could have optional features like "Sent sales booklet" to make sure that some procedure was followed. You can optionally have a goal feature, that are features agents are scored upon, and that are counted/tracked separately.

A skill is a specific attribute of a call that requires a special ability to be present at a required grade in the answering agent. For example, a call might be routed asking for "English: 50" and "Internet: 70", therefore asking for an agent who is pretty good at supporting Internet issues and that speaks decent English.

Those new concepts are very powerful and make QueueMetrics able to analyze calls at a way finer level.

New data blocks were added to reports, the Real-Time page and configuration in order to track those new elements.

See: QueueMetrics User Manual, chapters "21.7 - Feature Codes", "21.8 - Tag Codes", "21.11 - Skills"

Skill-based routing

QueueMetrics is able to track skills required on calls; it will display them on the Real-time page and will report on them. A call can have multiple skills associated at once; and skills can be used as filtering criteria in the Custom reports page.

New real-time reports

The real-time reports is made way richer with three new data blocks:

Aggregated queue view - where you can see the current total time for selected queues; average wait and talk times; and sales / features statistics

Aggregated tag view - where you can see statistics of incoming traffic by tag

Agent outcomes - where you can see live presence, number of calls offered and answered, pauses and sales results / features

Plus, the new Real-time page lets you "drill down" immediately; by clicking on the "Report" icon, you can see a reports filtered with the same criteria and for the same time period the Real-time page is showing. This, in a sense, blurs the distinction between the Real-time view and the full reports view.

New Reports

A number of new reports were added to track Skills, Tags and Features.

OU07 - Call results, by tag

OU08 - Call results, by feature code

AG13 - Agent Session View

AG14 - Queue Session View

AG15 - Agents by Hour

AG16 - Tag Session View

AG17 - Cumulated sessions by Queue, Tag

OK15 - Required Skills for Taken Calls

UN19 - Required Skills for Lost Calls

UN20 - Required Skills for All Calls

They are documented on the User Manual and shuld be manually added to existing systems.

Known numbers

Known numbers are phone numbers that are known to QueueMetrics and can have properties associated to them. They are meant to be used by an API call in the Asterisk dialplan to take routing decisions.

At the moment, QueueMetrics will use known numbers to:

Earmark specific calls as BLACKLIST or VIP, where at the dialplan level a proper function is implemented to route thise numbers to specific high priority / low priority queues

Store a known description for the number that can be used to set a caller-id for the number in a format that will make the number "stand out". It coud be the name of a client, or their CRM IDs

Store a known agent affinity for the number, where at the dialplan level there is an attempt to route the call to a specific agent before queuing the number on a "general purpouse" queue

See: QueueMetrics User Manual, chapter "21.12 - Known numbers"

Tracking of features on Icon

The Icon page was updated to allow input and editing of features as sub-outcomes.

Usability and layout improvement

New configuration and security keys editors in QueueMetrics

Two brand new editors have been implemented in QueueMetrics version 15.10. They let administrators enable/disable QueueMetrics features globally or per-user.

The new link "Explore system parameters" lets you manage the global features with the administrative tools of the home page. Following the link an administrator is redirected to a new page with the most important QueueMetrics features listed. Properties are grouped together by area of interest.

With the new search box you can reduce the number of options displayed when searching for as specific feature.

Pre-defined user related security keys are now easily assignable through a new editor. Click on the button "Handle Keys" available on the users and classes administrative pages to run the editor.

Administrators can assign or remove security keys for a specific user or class, by clicking on the related checkbox.

Keys appearing grayed out are inherited from the class that the user belongs to and can be modified through the editor.

Administrators automatically select keys that should (or should not) be checked together in order to properly enable (disable) a specific QueueMetrics feature.

See: QueueMetrics User Manual, chapter "21.24. Configuring system preferences"

WombatDialer integration - Schedule outbound calls from Icon Agent page

WombatDialer campaings can be assigned to queues by mean of the new WombatDialer settings panel, located on the queue definition administrative page.

Several campaings can be assigned to each queue and a maximum recall period can be defined.

As soon as campaigns are defined for a queue, agents will see them in the recall scheduler window in the agent realtime page. Agents can reach recall scheduler panel by clicking on the new icon found in the call list, as reported in the picture below:

From the Recall Scheduler panel an agent can schedule a call. Scheduled calls will be queued to Wombat for the selected campaign and optional notes. Calls will be evaluated by Wombat at the specified time.

Plus the Call List panel has been improved to track Outcomes and features effectively.

See: QueueMetrics User Manual, chapter "8.7.3. The call list panel"

Improved WebRTC softphone compatibility

The embedded QueueMetrics Icon softphone in 15.10 is compatible with the latest Firefox releases, as well as Chrome.

As found in the compatibility matrix (see http://bit.ly/1OUhF68 ) Firefox users can receive calls directly from the WebRTC softphone embedded in QueueMetrics Icon.

Updated layouts for Custom Report and Realtime pages

The Custom report and Realtime pages have a new layout.

The accessibility of filters of the Custom report page is increased and the bottom line allows to save custom queries for later usage. Custom queries will be placed on the home page and can jump-start either reports or real-time views.

The realtime page presents a new left side menu bar. It contains the relevant analysis filters and can be hidden when not needed.

Click’n go reports from the realtime page

QueueMetrics 15.10 introduces a new click’n go feature to all realtime reports.

With this feature a user can start an historical report with a single click from the realtime page. The query for historical reports is set with same parameters generating the source realtime page report.

Misc items

It is now possible to generate direct links to the log-in page of QueueMetrics, so that from an external page you can link to QM and log in at once

Misc performance improvements that should be noticeable on systems having > 200 agents

Support for CentOS 7 / MariaDB

The JSON API now implements the full set of agent actions: you can e.g. log in an agent at the PBX level by caling a QueueMetrics API

Bug fixes

A number of important bugs were fixed and some miscellaneous minor items were solved as well.

#2557 - Automatic logon on non-auth direct ink

#2469 - New centralized CBT tracking

#2473 - Sorting by columns on the Performance Tracker Page

#2511 - Multi-stint: if set outcome on non-last call, outcome is ignored

#2554 - User-selectable timeout for entering post-call information

#2555 - Expansion of Tag, Features and Variables in URI

#2570 - Realtime engine caches events for a period longer than required

#2387 - Conversions are not counted by Performance Tracker

#2470 - Pushing training to Agents

#2472 - Adding a note to CBTs and Coaching tasks

#2475 - Editing QA forms

#2612 - New index for QA - Mysql 5.6.20

#2691 - Agents duplicated in Training and Coaching page

#2713 - Hotdesking not working when running reports

#2781 - Very slow queue expansion

#2885 - On RT error, 404 qm_start instead of error page

#2897 - Performance issues on Calls by Agent

#2899 - Slow exception on U.cint()

#2545 - Docs fail2ban

#2667 - Upload of batches of queue_log rows

#2670 - Centos7 / Elastix 4

#2726 - Running multiple TPF requests in parallel easily breaks

#2737 - Encoding issue on JSON responses API

#2886 - JSON API: cannot acces single user

#2888 - Wrong qloader dependency on CentOS7

#2891 - Direct login links

#2904 - Error importing from queue_log (configuration wizard)

#2911 - JSON calls seems not terminates when adding elements API

#2915 - Error editing agent groups

#2665 - User preference keys are sometimes duplicated on the DB

#2666 - Agents are not shown as logged-out in Icon

#2692 - New smarter drop-down selector in Icon

#2706 - User-definable go-to URL when clicking on the QM logo

#2707 - Wombat recalls: server interactions

#2708 - Performing agent actions through a JSON API

#2750 - Occupancy can be higher than 100%

#2779 - Invalid SQL with not numerical call_ids

#2786 - ErrProd 15.02: DayOfWeekFilter

#2787 - ErrProd 15.02: initCustomReport

#2802 - Overlap on SPH and similar

#2803 - SPH on IMM reports

#2804 - Wrong SPH in performance tracker

#2810 - Wrong SPH in AGAW

#2815 - Integrated softphone uses a plugin that is unsupported.

#2914 - Impossible to fill a QA form via API

#2797 - When the session expires, page is not correctly redirected

We hope you’ll enjoy your QueueMetrics 15.10 experience! Send us your comments and suggestions.

Thank you for supporting Loway.

Release 16.09

QueueMetrics 16.09 is a release centered around the idea of making the software flexible, intuitive and ever more reliable.

New concepts: FCR and Programmable data blocks

Improving the Icon page and suite usability

Official Docker image

Introducing Uniloader

Fixing some major and minor bugs

QueueMetrics 16.09 fully supports Asterisk 13.11, as well as any older Asterisk version.

New concepts: FCR and Programmable data blocks

This release of QueueMetrics introduces the concepts of

Tracking Call Resolutions

Programmable agent data blocks

Tracking Call Resolutions

Have you ever wondered how many of the calls you receive are people calling over and over for the same issue? such calls are often a symptom of something not going well in call handling - everybody wants their problem solved on their first call. Identifying those calls makes it possible to concentrate on repeated calls as a measure of your quality of service.

QueueMetrics 16.09 introduces a new set of statistics to address these problems:

The Break-down of recalls shows how many callers have been calling just once or multiple times, using a graph that looks similar to existing SLA graphs for an immediate visual check

The Recall details shows how many calls are First Call Resolutions and how man are repeated, the average number of calls per caller and the number of missing caller-ids.

The Cluster details shows the groups of calls by the same caller, when they started and when they ended, and lets you zoom in to any call.

See also

QueueMetrics User Manual, chapter 6.14 - "Historical reports - First Call Resolution (FCRs)"

Programmable agent data blocks

QueueMetrics now has a fully customizable agent data block that can be used to create custom metrics.

The idea is that, differently from normal data blocks where columns are fixed, this new data block just offers you a list of agents as its first column; all other columns are computed the way you define them to be.

Fo example, if you enter the following definitions:

Session [hms]= SESSION
Pause [hms]= PAUSETIME
Tot Avail [hms]= SESSION - (PAUSETIME + (TALKTIME + OOSCALL))
Occupation = TALKTIME / (SESSION - PAUSETIME)

Will show one column with total session time, one with total pause time, one with total available time and one with "Occupation" expressed as a percentage. As the embedded data sources are able to count and measure specific pause codes, it becomes very easy to create agent reports that are fully customized to your environment.

See Also

QueueMetrics User Manual, chapter 6.17 - "6.17. User-Programmable Reports"

QueueMetrics User Manual, chapter 6 - "AG09 - Agent Occupancy Report"

QueueMetrics User Manual, chapter 6 - "AG18 - Programmable Agent Performance"

Internationalization

This release offers improved localozation facilities, especially for non-Latin languages (Chinese, Japanese, Russian, Arabic and Hebrew). It is now possible to export PDF’s correctly for non-Latin languages, and such laguages appear correctly everywhere in QueueMetrics.

Plus, we added support for Portuguese as spoken in Portugal, as it has some significant differences from Brazilian Portuguese.

Changes on the Icon Agent’s page

With an updated release of the WebRTC soft-phone, the Icon agent page works well with recent versions of Asterisk. We have created a new tutorial to help you get started with WebRTC on Asterisk 13+.

It is now easy to run Icon even with CRM systems that do not allow being embedded in an inner frame. A new configuration property lets you decide whether you want the default embedded mode or you want CRM forms to be opened in a separate window/tab.

If you click on a telephone number in the Icon page, it will be copied to your system clipboard.

The Icon agent page is now able to detect if the system it is connected to loses session information (e.g., it gets rebooted) so that this information will be shown to the agent and they will be prompted for a new log-in. The page does not reload automatically, because agents need some time to terminate any work they are doing on the embedded CRM’s and to hang up any soft-phone call they are attending.

See also

New configuration property agent.openUrlInPopup

We will shortly be releasing an updated tutorial on how to get started with WebRTC on Asterisk 13.

Improvements to the Explore System Parameters page

The "Explore System Parameters" page has been improved to be easier to use and to be your go-to place for any common configuration change in QueueMetrics.

The layout has been made easier on the eye, and it is now easier than ever to search for the items you are looking for - be it by property name (as it is usually referenced on our documentation), by content or by title.

Official QueueMetrics Docker image

QueueMetrics now ships with an "official" Docker image, available as loway/queuemetrics on Docker Hub.

The image is meant as a simple way to run QueueMetrics on a Docker cluster; it embeds both the database and the servlet container, exposing only the HTTP port. It supports data volumes and has an embedded health check that will monitor QueueMetrics and restart it, should it become unresponsive.

On a server with Docker installed, you can therefore provision a new QueueMetrics system by running:

docker run -p 8080:8080 -P -d loway/queuemetrics

And you can configure it fully through the JSON APIs. This makes running multiple QueueMetrics servers - or just the odd instance for testing - very plain and straightforward.

See also

The QueueMetrics page on Docker Hub: https://hub.docker.com/r/loway/queuemetrics/

Introducing Uniloader

Most QueueMetrics system rely on a small daemon called "qloaderd" to keep them in sync with what is happening on the PBX. While this has proved to be a rock-solid solution over the years, it is sometimes more complex than it should be and it requires an underlying Perl 5 installation.

As we developed QueueMetrics Live, we needed a solution that would be very lightweight (enough to run on very small embedded systems), would have no external dependencies, would run on systems where there is no direct connectivity back to the Asterisk box (e.g. a PBX behind NAT) and could be grown to support both on-premise and cloud-based systems.

The result of this process was the development of Uniloader, a new generation data loader for QueueMetrics:

it can feed local and remote QueueMetrics systems

is rock-solid and never loses data, even in case of network errors

it is able to split data natively into multiple QueueMetrics instances, in order to support cloud-based hosting providers running multiple independent clients on the same Asterisk instance

it acts as a proxy and can perform agent actions even when there is no direct AMI connection to the PBX

it is extremely lightweight and has no system dependencies

compiles natively to Linux x86 32bit, x86 64bit and ARM 5+ architectures

While you can still run "classic" qloaderd, we suggest checking out the new Uniloader to see if it You can install it easily using the supplied uniloader RPM package of from the tar.gz archive.

Uniloader works very well with the official QueueMetrics Docker image - do check them out together.

See also

QueueMetrics Live https://queuemetrics-live.com

The Uniloader manual http://manuals.loway.ch/Uniloader-chunked/

Detailed changelog

Over 80 bugs have been fixed in this release.

Real-time page

3159 - Messages to agents not working

3046 - Problems with "In queue" field in realtime page

3047 - Supervisor can pause agents with non allowed pause codes

3078 - Paused agents not shown correctly

3026 - AMI 2.8.0

Reports

3035 - Agent Efficiency

2933 - PDF export does not work with non-latin encodings

2984 - Reports: optional column for "Transferred to" on call details

1947 - Error: Null pointer in DayOfWeek (session expired?)

1948 - Error: Compute Report Header (session expired?)

2721 - Recordings not available in cluster mode

2951 - New reports: calls by caller

3011 - Productivity

3036 - PDF export not working with RTL languages

3048 - Possible different homepage news URL

3051 - Exporting dynamic to XLS/CSV data columns does not work

3119 - Bug: Tabella non LtCallsOK when creating IVRs

3132 - Avoid method setArrayList()

3133 - First Call Resolution: Break down of recalls

3134 - First Call Resolution: Caller IDs vs calls

3135 - First Call Resolution: Call details

3136 - First Call Resolution

2743 - ErrProd 15.02: NullPointer GetSessionId

2744 - ErrProd 15.02: NUllPointer popup_sessioni_pause.jsp

2746 - ErrProd 15.02: IllegalState in session

2788 - ErrProd 15.02: NullPOinter QApopupDO

2905 - Announcement and wrap-up times are not taken into consideration

3030 - Incorrect URL computed from request if proxied

3034 - CVS/XLS file download does not work in Jetty.

3089 - Self-Service Agent reporting not working for new agents

QA

3028 - QA: 0 as a valid value for drop-downs

2980 - QA form unusable in Russian

3112 - If I open the call’s details from Tasks markers are not shown correctly

2916 - QA Grader: queues expansion with * is not working

Engine

2981 - Calls remain open on ATTENDEDTRANSFER

3161 - Long-running threads

2982 - Subtype APP BRIDGE LINK from ATTENDEDTRANSFER

Page Layout

3169 - Broken page - missing jQuery UI

2936 - Add cache breaker parameter after JS, CSS and favicon inclusion

Icon Agent Page

2971 - Call not closing on Icon for ATTENDEDTRANSFERs

3006 - Unreadable text in buttons in Icon when pausing in Russian

3128 - Opening non-embedded URLs in Icon

3129 - Remove GWT compile warnings

3146 - Dialout panel shouldn’t be disabled if agent is paused

3156 - Copying the number called in Icon

2664 - If the agent is already logged in, use the logged extension by default

2928 - Property to make outcome setting time customizable

3055 - Production errors: expired?

3070 - AMI feedback errors on Live instances

3125 - realtime.assertExtensionNotInUse doesn’t work if agent is not member of the queues

3084 - Formatting of Outcomes pop-up

3071 - Services should abort if agent logged off

3052 - CRMapp is not shown if you didn’t set a CRMlabel

3063 - Button disappears with realtime.dynamicLoginQueues=registered

3068 - If connection is lost (several minutes) page doesn’t work again when connection is restored

3069 - If server doesn’t respond ICON doesn’t tell anything to the agent

2973 - Expanding agent code in "fixed" URLs in Icon

2935 - In hotdesking mode, avoid logging on with empty extension

3079 - If agent is wrap or spill queues are shown twice

3072 - Softphone sipml5-api update

2849 - Logging logon exceptions

JSON APIs

3102 - Impossible to download audio file though API

3141 - Uniloader: actions returned in wrong order

2974 - API error: ClassCastException in RealtimeDO.RtAgentsRaw

2985 - Accepting queue names with spaces

Configuration

3091 - All SLA report parameters are ignored

3040 - realtime.assertExtensionNotInUse is true by default

3041 - Regexps accept only non-empty extension or agent code by default

3073 - Export XLS as UTF-8

3123 - Forcing default QueueMetrics language

3145 - Improvements to Explore System Parameters

3031 - qm-tomcat6: memory used in restarts

3142 - Remove -- from "Current Terminal" field in Agent’s configuration

Packaging

3168 - Release Docker

3065 - Added new locale: pt_PT

3127 - Package clean-up

3157 - RPM: add Xerces

3093 - Missing Xerces in RPM build

2774 - Official Docker image 3150 - Docs: Installling AGAW client in FF 45+

Release 17.06

QueueMetrics 17.06 introduces some major new functionality and is meant to be a major evolution of the way you interact with QueueMetrics on a daily basis.

Wallboards let you create your personalized and customizable wallboards to get a clean overview of the state of your call-center.

The DirectAMI mode makes the interaction with your PBX quicker and snappier, without editing any dial-plan code.

The Synchronizer makes it easier than ever to keep your QueueMetrics instance in sync with your PBX.

Many low-level components (JDK, drivers, the Uniloader) were upgraded to make QueueMetrics future-proof.

It is now possible to log in using e-mail instead of agent codes.

Configuration editors were made richer, easier to use and fully localized.

New reports were added: Counting calls by skills and Talk time per hour.

QueueMetrics 17.06 fully supports Asterisk 13 and 14, as well as any previous Asterisk version.

WARNING QueueMetrics 17.06 requires Java SDK 8 and Tomcat 8.5 to run; they will be installed automatically if you upgrade using RPM. If you run on an old CentOS 5 system (e.g. Elastix 2.x) please see notes at https://www.queuemetrics.com/faq.jsp?uid=faq-110-java8-centos5

Major changes

Welcome to the wallboards!

Maybe the biggest complain we had over the years in terms of functionality of QM was: how can I create my own wallboard? Wallboards are an unusually "tough" topic, because seeing as a wallboard has very limited space available, everybody wants it different somehow.

We used to offer a set of scripts that would implement custom wallboards on top of QueueMetrics, but they were too complex for most people to run, so this used to be a pain point for many users.

Well, those days are over!

You can now create custom wallboard by dragging and dropping graphical components on a canvas. You can change their color, resize them and add custom color alarms to them.

Wallboards are made up of multiple views that will rotate periodically. You can have multiple wallboards in a system that can be shared between users or run automatically through a single URL to power "kiosks" that run without human interaction.

Wallboards are a very powerful and effective function - if you upgrade an existing system you will find a plain wallboard that functionally replaces the "old" QueueMetrics wallboard, while if you install a new system from scratch you will find a modern wallboard that is waiting for your final touches.

TIP If you upgrade an existing system, do not forget to add the keys WALLBOARD_ADD and WALLBOARD_FORALL to your administrators so they can edit and save wallboards.

See also

QueueMetrics User Manual, chapter 8: The Wallboard

DirectAMI

QueueMetrics used to need a special piece of dial-plan included in order to perform actions, e.g. logging on and off queues, setting pauses and monitoring calls.

QueueMetrics 17.06 is now able to connect directly to your PBX and perform those actions directly, which means:

Quicker log-in/log-off when working with tens of queues

Easier set-up, as you basically have to simply tell the system the general format of your dial-plan instead of manually replacing multiple text occurrences

All configuration done though the graphical Properties editor

No need to include external dial-plan, unless you need to manually track outbound calls.

The new DirectAMI mode is enabled by default on new installs, and can be very easily turned on on existing systems. Existing interaction though the dial-plan (so called "classic" mode) can still be used, but we suggest migrating to DirectAMI in most cases.

See also

QueueMetrics User Manual, chapter 12: The QueueMetrics Platform model for a general overview of how QueueMetrics integrates with external systems

QueueMetrics User Manual, chapter 12.5.3: DirectAMI actions for a detailed description of how to upgrade to DirectAMI.

The Synchronizer module

The Synchronizer module is a functionality which goal is to assist the user in configuring QueueMetrics' queues and agents.

What the module does is the following:

Reads a QueueMetrics defined source (queue_log or Asterisk config files)

Reads QueueMetrics' current configuration

Compares the two and generates a list of changes that, if executed, will upgrade the system

Displays these actions to the user, who can then review them and possibly override them

Execute all the enabled actions at the end of the review process.

It also allows you to post the required single JSON object, and therefore to synchronize QM in one single step.

See also

QueueMetrics User Manual, chapter 11.28. QueueMetrics synchronizer

Updated dependencies

QueueMetrics used to require at least Java version 6 to run, that is now about ten years old and has reached end of life. While Java 6 has served us well for so many years, the harware we run on has evolved noticeably and Java 8 was created to address many shortcomings that became apparent during the years.

QueueMetrics 17.06 requires Java 8 and Tomcat 8.5 to run; those are now a stable and mature platform that will be a stable foundation for many years to come.

We also switched to the highly-efficient MariaDB database connector; it works fine with either MySQL or MariaDB, so you can still use MySQL as a back-end server if you prefer.

Another area that we addressed was the data upload from Asterisk to QueueMetrics; for many years we used a script called Qloader that proved to be very stable and efficient; but we now have a better and proven version called Uniloader that is just as efficient and resilient, but also allows to:

send data to multiple QueueMetrics server, using different protocols optimized for data sharing over unreliable WANs

supports on-premise QueueMetrics as well as QueueMetrics Live

runs on multiple architectures (i386, x86_64 and ARM)

tracks Music-on-Hold events, allowing QueueMetrics to produce reports on this very useful but hard-to-get metric

While there is no hurry to migrate from existing Qloader systems, we strongly advise to install Uniloader on new systems that you create.

See also

The Uniloader User Manual - http://manuals.loway.ch/Uniloader-chunked/

Tracking MoH with Uniloader https://www.queuemetrics.com/blog/2017/03/22/TrackingMOH/

Upgrading a CentOS 4/5 system to Java 8 https://www.queuemetrics.com/faq.jsp?uid=faq-110-java8-centos5

Switching to the new MariaDB connector https://www.queuemetrics.com/faq.jsp?uid=faq-109-jdbcdriver

If you enconter slowness on a manually-installed Tomcat 8 system, see https://www.queuemetrics.com/faq.jsp?uid=faq-111-java8-tomcat8-slow-start

Minor changes

Log-in using e-mail

Some users used to complain that using agent codes to log their agents in - e.g. Agent/12345 - was hard to remember for agents.

QueueMetrics 17.06 allows you to define an agent’s email in the User Configuration to use it as an alternative to the full log-in, making your life easier and giving your agents one less code to remember.

Improved editors

QueueMetrics configuration editors were changed significantly; they are now fully localizable, allow the deletion of multiple items at once and in general easier and more pleasant to use.

New reports: Counting calls by skills

A new report is now available to count how many calls were received having a specified skill set required. This lets you see how multiple skill sets interact with each other, and the SLA results.

The new report has to be manually added to your reports by selecting it through the Reports editor.

See also:

Data blocks DD09, DW09 and DH09

New reports: Talk time per hour

This block breaks down all the agents' talk times in one-hour long timeslots. This information is grouped by agent, so you can keep track of how many minutes or hours of conversation your agents are having during the course of the day, across a given period of time.

For example, if your agent starts a call at 9:55 AM and ends it at 10:20 AM, the new report will show the agent in conversation for 5 minutes at 9 AM and 20 minutes at 10 AM.

The new report has to be manually added to your reports by selecting it through the Reports editor.

See Also:

Data block AG20 - Agent Talk Time Per Hour

Detailed changelog

There have been over 70 bugs fixed and minor features changed since QM 16.09; here are the main ones.

Locales

The Georgian language is official supported

Agent page

3274 - Outcome/Feature list is not coherent

2921 - Possibility to lock dialout box when agent is paused

3211 - Increased outcome selection dropdown height

3451 - Icon page - no going back

3416 - Spinner on loading Icon page

3471 - Outbound calls from WBT have broken URL with "-"

3215 - Feature codes aren’t working well when using special characters

3240 - When an agent is logged to a server, the server selection is disabled.

3331 - Error 404 when loading Icon

3182 - Selecting an outbound campaign is not possible

Configuration

3232 - Error: You can enter an agent group with an empty name

3250 - default.hourly_slot is not used

3503 - The URI to be checked must consider tpf.properties

3333 - Hotdesking: wrong default in configuration editor

3241 - Change "Default server" to "Server" in agent’s

2501 - New default regexps

3332 - Editors are broken when entering first element

3259 - Disable AMI tester if working with web loader

3486 - Edit users with email

3213 - Improving single element deleting

3212 - Multiple select delete/clone from editor list

3454 - New Feature: Synchronizer

3255 - English localization of all config editors

Engine

3498 - User session stays open, but not supposed to

2844 - Cleanup: remove Continuations

Java 8 migration

3438 - Java8: broken image links on AgentGroups detail

3267 - Java 8 compatibility issues

3443 - Uses embedded MariaDB Connector/J

3442 - Java8: Gretty as plugin for Tomcat

3256 - Defaults: use LocalFilesByDay in cfg.props

3277 - Java8: JSPs failing to compile

3439 - RPM for Tomcat8

3440 - Java8: crash when exporting payroll

3402 - AmiFeedback: logs reason for abort and action duration

Real-time page

3515 - RT page: Threads keep piling up

3436 - Taking last call into account when computing "Free since"

3435 - Displaying current time on pause on RT

3433 - Realtime page is broken if line separator is inserted into Json

3172 - realtime.startHour not working correctly with fixed hour

2975 - Free Since should keep pauses into consideration

3234 - Issue with forced locations

3479 - Direct link to wallboard

Reports

3358 - Improve error logging in export reports

3224 - Wrong UTF-8 encoding

3408 - New report: Split-time by hour (AG20)

3266 - Use UTF8 not ASCII7 encoding in AMI dialog

3382 - New reports: Counting calls by skill (DH09 DW09 DD09)

Misc

3379 - API JSON: ClassCastException on RealtimeDO.RtAgentsRaw

3235 - Insert visible version number

Release 18.04

Release 18.04 introduces a series of new features to improve user’s security and ease of use. Let’s take a look at the most important additions:

Scheduled Jobs

Wallboard Queue Filtering

QueueMetrics and CallCabinet Integration

Configuration Synchronizer Upgrade

Password Encryption

Agent Page - Call Variables

New Reports

Old Agent Page is officially deprecated

Qloader is officially deprecated

Bug Fixes

Scheduled Jobs

Now QueueMetrics comes with a new feature, Scheduled Jobs, that allows the user to specify a certain task to be executed at an appointed time, or repeatedly at a fixed interval.

You can schedule different types of jobs, such as sending reports by email on a regular basis, or database optimization tasks.

See also:

QueueMetrics User Manual: chapter 11.18 (Scheduled Jobs Configuration page)

QueueMetrics Tutorials: https://www.queuemetrics.com/blog/2017/12/05/enabling-scheduled-jobs-on-QueueMetrics-Live/?lid=N057 (Enabling Scheduled Jobs)

Wallboad Queue Filtering

In QueueMetrics' Wallboard, it’s now possible to change a widget’s setting in such a way that only data from a particular queue is shown. This makes for a highly versatile wallboard, that can show results for an aggregation of queues, while still having widgets dedicated to individual queues.

See also:

QueueMetrics User Manual: Chapter 8. (The Wallboard)

QueueMetrics Tutorials: https://www.queuemetrics.com/blog/2018/01/17/wallboard-queue-filtering/ (Wallboard Queue Filtering)

QueueMetrics and CallCabinet Integration

A new pluggable listener module will be included in this release. This module will allow users to listen to recordings that are being stored remotely, using Atmos CallCabinet for QueueMetrics.

See also:

QueueMetrics User Manual: Chapter 12.7. (Listening to calls using Pluggable_Modules)

Configuration Synchronizer Upgrade

The Configuration Synchronizer service, that allows for QueueMetrics automatic configuration of agents and queues, has been significantly upgraded. Now it can fetch a configuration from a remote URL as a JSON object, or read the configuration directly from the data that is already loaded into QueueMetrics' database.

See also:

QueueMetrics User Manual: chapter 11.28 (QueueMetrics configuration Synchronizer)

Password Encryption

Now QueueMetrics supports User Password Encryption. By setting the appropriate system property, you can make sure that all new user passwords are encrypted, thus enhancing your system’s security.

You can also choose to stop users with unsecure passwords from logging into the system.

See also:

QueueMetrics User Manual: chapter 11.1 (Configuring Users)

Agent Page - Call Variables

Now, in the Icon agent page Call List Panel, you can see a new column displaying all the variables that are attached to a call. This is very useful to assess multi system integration, and can give your agents more information about the call and the caller.

See also:

QueueMetrics User Manual: chapter 9.1.4 (The call list panel)

New Reports

The following reports have been added to QueueMetrics, and are now selectable when creating new reports.

Frequent Area Codes - AC04

This report shows detailed information regarding different Area Codes, taking into account the quantity and quality of calls related to different areas.

Detail Summary (Daily, By Week, By Month) - DD10, DH10, DW10

This report comes in three version, that show the number of calls in different time slices. The available period of times are: daily, by week or by month.

Executive Summary - OD06

This report provides a wealth of information regarding the situation in general. With a final focus on lost calls and disconnection reasons.

Retry Rate and Lost Caller Behaviour - FC10

This report shows information about customers retry behaviour.

Most Frequent calling/called Number - FC11

This report shows aggregated data by caller/called number. We can deduce by looking at this report, the most frequent callers and the duration of their calls.

See also:

QueueMetrics User Manual: chapter 6 (Report Details)

Old Agent Page is Officially deprecated

From now on, the old agent page is officially deprecated. No bug fixes will be released for it, and is heavily recommended that users that are still using it, switch to the new Icon Agent Page. The Old Agent Page will soon be removed from QueueMetrics.

See also:

QueueMetrics User Manual: chapter 9.1 (The new Realtime Agents Page)

Qloader is Officially deprecated

From now on, the old data loader, known as qloader, is officially deprecated. No bug fixes will be released for it, and is heavily reccomended that users that are still using it, switch to the new data loader "Uniloader".

See also:

UniLoader User Manual: http://manuals.loway.ch/Uniloader-chunked/

Bug Fixes

Here is the list of bugs that were fixed in the new release.

Agent Page

3759 Agent’s page homepage shows existing wallboards list

3725 Extension should always be empty on log-on

3723 Icon shouldn’t open any popup when loading page

3694 Call URLs don’t expand [X] variable

3638 Error on page loading of Icon

3637 Icon should detect session issues

3635 On session issues, internal services should return code 542

3609 Tomcat error 400

3601 New window showing a list of all the variables

3599 Improve Outcome Code selection

3592 Agent Page breaks if cluster servers change names

3591 Feature codes selection allows for incorrect feature codes

3590 Outcome Panel sometimes refreshes during outcome selection

3527 default.pause_dialout is ignored.

API JSON

3646 CronJobs: JSON API

Configuration

3735 Editors: the search box should have a magnifier glass in it

3706 Cfg: Switch to control channel rewriting in hotdesking channel record

3697 Encrypted passwords in configuration editors

3588 Mysql exception if default.queue is blank

3547 Everyone can delete a wallboard

Engine

3705 Switch to control channel rewriting in hotdesking channel record

3531 Hotdesking not working on Local/x@y/n

Graphics

3758 Job Settings label in front page appears even if user doesn’t hold the correct keys

Packaging

3544 Outbound dialplan S

Platform

3587 DirectAmi: Outbound tracking without dialplan

3532 DirectAMI can’t pause Local channels

Realtime

3717 Outmonitor and Inmonitor not working on QM-Live

3604 On Queue field doesn’t show the correct queue

3603 Free Since miscalculated while in conversation

3585 Pause, unpause and removemember do not work from realtime in cluster mode

Reports

3754 Call Recording exports broken link

3698 Server-side integration of encrypted passwords

3677 Sorting of Skills

3663 Exporting Features and Vars

3634 UN17 shows total time in decimal format

3610 Deprecatiofor old method putS(lbl,int)

3596 OK08 is not calculated properly

3543 default.hourly_slot is not loaded correctly when starting QueueMetrics

3535 NR: Initial version of the engine

Wallboards

3739 Wallboard: all queues

3738 Wallboard/RT: queue appears twice

3734 Alarms on call duration do not work

3682 [realtime v2] "Live calls" table should show the names of the queues (shows numbers)

3681 [realtime v2] When in kiosk mode top-right queue name always show default queue’s name

3674 Wallboard doesn’t open if empty

3667 Wallboard Kiosk Links don’t work for Wallboards with visibility keys.

3661 "Live Agents" table widget has incorrect lable

3654 property default.includeLostInSlaDistribution alters wallboard lost calls values

3636 Wallboard should detect session issues

3576 Realtime_v2 doesn’t care about masterkey

3551 "Longest Wait" widget not always showing the correct value

3550 Improve kiosk mode awareness

3549 When in read-only mode, disable text selection from pages

3548 Users without WALLBOARD_ADD key can create private "new wallboard"

3537 Multi-stint is not take into consideration with "Total Calls" widget

Release 19.04

Release 19.04 introduces a series of new features that make it easier to use and run it "your way". Let’s take a look at the most important additions:

New wallboard features

Spy, Whisper and Barge

Improved reporting: Lost calls, Short calls and Variable filters

Better WebRTC support and experimental support for Freeswitch

Explicit support for proxies

New reporting engine under the hood

Deprecations and possible issues with older versions

Bug Fixes

QueueMetrics 19.04 is immediately available as an RPM package, a TGZ file or a Docker image on DockerHub.

New wallboard features

The wallboard was greatly improved and expanded to reach feature parity with the Real-Time page. Now, whatever you used to do with the Real-Time page is doable with a wallboard - and completely configurable. You can have different wallboards for different use cases (e.g. interactive monitoring) and they can be composed your way to display only information that is relevant to you.

All data blocks shown on the Real-Time page are available on the wallboard

For all tabular blocks, you can now filter, sort and decide which columns are relevant to you

You can log agents on and off, and pause them

You can manage calls (transfer, hangup) and do spying right from the wallboard

The wallboard includes a WebRTC soft-phone, so you can do spying right within the browser

Widgets can be "pinned" so they remain in place if you need to copy-and-paste

All actions can be started by right-clicking on the wallboard

New widgets display per-agent counters

You can now have as many columns as you need for very large screens

See also:

QueueMetrics User Manual: Chapter 8. The Wallboard

Spy, Whisper and Barge

QueueMetrics used to have only one "spy" option to listen to ongoing calls. Now you have three - you can spy, or whisper (you can talk to the agent only) or full barge-in into the call.

These features are controlled by security keys, so you can easily assign them only to relevant personnel.

See also:

QueueMetrics User Manual: Appendix A. Security keys

Improved reporting

Lost attempts

Performance metrics on the Real-time page now include "lost attempts", to see immediately which agents and which queues are not answering to calls. These metrics are available on the wallboard too.

See also:

QueueMetrics User Manual: Chapter 7. The real-time status panel

Short calls

QueueMetrics is now able to filter out "short calls", where the agent picked up the call but the caller hung up within a few seconds. The same can happen to calls where the caller hung up as soon as they were queued and call attempts where the phone rang too shortly for an agent to pick up the call.

See also:

QueueMetrics User Manual: Chapter 4.3. Custom reports

Filtering by variables

You can now search for calls that have specific variables set, or specific variables set with specific values. You can search for multiple variables at once.

See also:

QueueMetrics User Manual: Chapter 4.3. Custom reports

Better WebRTC support

QueueMetrics uses an updated soft-phone to improve compatibility with recent versions of Asterisk; we expect it to offer a smoother experience and be usable in real-life with all major modern desktop browsers.

Experimental support for Freeswitch

QueueMetrics now supports events from Freeswitch’s mod_callcenter and agents can use their Agent’s page to log on and off, pause themselves, see calls and launch CRM application.

The Freeswitch platform is considered experimental at the moment.

See also:

QueueMetrics User Manual: Chapter 12.5.5. Freeswitch actions (and 12.5.6. Freeswitch Live actions)

Uniloader User Manual: Chapter 7. FreeSwitch / FusionPBX support

Explicit support for proxies

It is now common (almost mandatory) to run QueueMetrics as an HTTPS service, both for security and for running WebRTC phones. While this is possible by configuring the Tomcat container, we strongly suggest to put a proxy in front instead. This makes it possible to consolidate QueueMetrics as a part of a shared front-end that in turns proxies different services you run.

We created a guide that explains how to set up an HTTPS proxy using NGINX and explains which headers QueueMetrics needs in order to run successfully, and how to debug it.

See also:

QueueMetrics Advanced Configuration Manual: Chapter 30. Serving QueueMetrics through a NGINX proxy

New engine

QueueMetrics includes a new reporting engine that is more efficient than the previous one, can work on complex query filters and is able to pull data from different data sources at once. This bears no user-visible changes in this version, but was a major project to grow QueueMetrics towards more integrations in the future.

Deprecations

Subqueues are officially deprecated and will be removed in the next release.

It is possible that QueueMetrics version prior to 19.04 might have issues displaying the real-time page by the beginning of year 2020. This depends on the actual settings being used, but we strongly suggest upgrading the system to avoid any risk.

Bug Fixes

Here is the list of bugs that were fixed in the new release.

Agent Page

4060: Running Icon on large (or small) screens

3957: If HotDesking agent’s alias is set as sip/xxx some functions don’t work in Icon

4069: Old RT report runs on agent log-in to queue

3844: JavaScript encoding error with persistent parameters

3911: New WebRTC softphone with JsSIP

4034: Support for Login/Logoff actions

4044: GWT: packing IE together

3830: Integrated WebRTC phone becomes unreachable after a short period and doesn’t work as intended

3861: If the feature code on the agent page is long the window doesn’t stretch

Parser

4076: Cluster mode appears to include all possible cluster.* entries

3823: Parser is not setting end timestamp for rejected outbound calls

3951: New one-shot engine logic

PBX Platforms

4032: Chanspy does not work with DirectAMI

4011: Platform PBX: Freeswitch

4062: "platform.directami.spyoptions" unused in ChanSpy.

4009: Platform - New features: Join and Whisper

3966: Add a queue wildcard for extension configuration

4008: Transport of DirectAMI over Uniloader

3829: Possible Problem with QM_AGENT_LOGEXT during pause

4004: DirectAMI: \$\{num:1\} syntax

4038: Freeswitch platform does not work if webloaderpbx=true

Real-time page

3809: Include lost attempts on Real-time Offered calls

3808: Adding columns "Since" to see how long an agent was in current state

3894: A user without the key granting access to reports can access them via the Realtime page clicking the "Run a Report" icon.

3855: Call waits in the queue but doesn’t show up on the wallboard until it gets answered

Reports

3888: Merge short calls

3931: "Detail Summary by day" is displaying the wrong Lost Calls number.

3944: Add delay to cron jobs

3788: Display Since on the RT page

3810: Total Wait and Free, new columns in AG13

3943: Support for Galera clusters

3958: Agent group filter from realtime page carries over to reports

4041: Displaying nested filters

3984: QM should be totally usable through a web proxy

3821: Using MultiListener in a cluster

3912: Unable to filter for variables inside the custom reports

3820: New Short Calls module

3842: ShortCalls: unify parameters

4061: Error exporting PDF reports

Wallboard

3876: Wallboard new features

4035: Add RT Functionalities to the Wallboard Page

4010: Whisper and Join on the Wallboard page

4058: Bottom RT tables available on wallboard

4054: "Live Queue info" circular panel data not consistent

4020: Wallboard messages can stack and take too long to disappear

4053: "Live agents table" column typo

3879: Edit SLA levels from the wallboard

4052: In the Widget configuration, the title has a character limit that is not very clear

3877: Composite queue filtering for Wallboard widgets

4005: Change Wallboard Tables to customizable Tabulator tables

3883: New Widget with agent information

4051: "N Answered Calls" Circular Panel not displaying correctly

3882: Make wallboard filters selectable from inside the wallboard

3940: Right clicking on the Wallboard feature

4050: Column filter for tables does not work immediately, but requires a page reload

3980: Live Agent Info widget shows Incorrect Idle time if agent has not taken any calls

4023: Firefox issues with the WallBoard.

3881: Raise wallboard possible columns number

4049: List Wallboard panel does not open since passing to React16

4021: Scrolling in the wallboard tables does not work

3880: Widget setting graphics improvements

QA

3854: QmQaFormSummary does not filter for agent (?)

3860: QA Grading mistakenly searches for recordings with wrong asterisk ID (Uses bridged channel instead)

3926: Call Notes on recordings inside the QA reports are incorrect.

3893: Extracting QA reports using the API, unanswered questions return "0" instead of ""

JSON API

4064: Calls appear not closing - wrong rowId when inserting new rows same second

3917: Creating a user using jsonEditorApi.do you get a java.lang.NullPointerException error, even tough the user is created.

4012: Return a flag to uploadAll to notify of pending actions

3803: API Call User creation throws NullPointerException

3995: Service insertRow does not work

Configuration

3909: Scheduled jobs cannot be cloned

4059: Custom ICE/STUN server support

4030: External References for Agents and Queues

3990: Adding link to manual on reports editors

3915: Wrong name for cronjobs.localwebapp in cfg explorer

Misc

3813: Scheduled reports not working: jdbc_uri empty on startup

3849: In Configuration Synchronizer the Users are not being created for the agents.

3895: Scheduled jobs not running on schedule under Java TZ offset

3941: Duplicate batches inserted on Live

3986: Display HTTP headers in config

3985: Displaying pending AMI actions queue

3969: User info, from the License information page does not reset the number of logins for new instances

3913: OrekaBase still uses Mysql driver instead of Mariadb

3890: Synchronizer does not show user creation actions

3956: Missing property name in Explore system parameters

Release 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.

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

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

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

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.

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

Allows the user to create a queue.

Allows the user to create an agent.

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

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

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 Release 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.

image:./Pictures/qm2011_home.png[]

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.

image:./Pictures/qm2011_report.png[]

**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.

image:./Pictures/qm2011_preview.png[]

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

[[REL2104]]
Release 21.04

The release 21.04 of QueueMetrics includes a large number of fixes that build on the new report pages that were relased in 20.11 and make working with them easier and smoother.

"Throw-away" reports and links from the Real-time page

Improved exports to PDF and XLS

Improved accessibility

Improved wallboard

Improved Synchronizer

Improved WebRTC soft-phone

Cache-aware web data upload

User auth over JSON and LDAP

Bonus: Introducing AudioVault - Recordings for cloud systems

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.

Uniloader was also updated to support the latest features.

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

"Throw-away" reports and links from the Real-time page

When the new reports page was released, every report had to be saved in order to exist. This led to the creation of too many reports on busy systems, most of which are used just once.

Now this is not true anymore - reports will start their lives in an unsaved state (as shown in the report title, that will have a different color when the report is not saved) and you are free to explore them and only save them when you find it useful. The same thing happens when you clone an existing report - you can edit the clone, and then save it if you need it.

Of course, if you try exiting without saving, QueueMetrics will ask for an explicit confirmation of what you want to do.

Direct links from the Real-time page are active again - you will be sent to a special report called RT that you can modify as you see fit, to have a different view of the same data you are seeing on the Real-time page.

Improved exports to PDF and XLS

When you export your reports to Excel, reports are now formatted in a way similar to the one that appears on screen, but number cells are now actually usable - you can sum, average, divide them, as a part of any calculation you need to perform.

PDF exports also keep your formatting style and look like they do on the screen. They now support Arabic ligatures, so Arabic users will be able to read them more easily.

The amount of memory used in exporting data was significantly reduced, and a number of small but annoying issues with data exports have been fixed.

Improved accessibility

The new Reports Page and Home Page are now more accessible - this benefits everyone, not just users running assistive devices. For example, power users who love their keyboard will be able to zip through menus and choices by pressing the Tab and Return keys to navigate very quickly.

Just try pressing Tab in the Home Page and see what happens!

Also, download bundles have been significantly reduced to make the experience snappier on all devices, especially if you are connected to QueueMetrics over an unreliable/slow link.

Improved wallboard

The wallboard had some significant technical changes to uniform tables to the ones that are used in reports. This leads to a smoother experience (things work the same way) and significantly reduced the number of components QueueMetrics uses.

A lot of small changes were made on the wallboard to make it easier to use and fix many small annoyances.

Improved Synchronizer

The layout of the Synchronizer page was made more uniform, making it more usaable and immediately offering the option to sync to an external system (that’s what you want to do in there, don’t you?)

A number of bugs were fixed to make remote synchronization rock-solid - you can now import the configuration automatically from FreePBX, FusionPBX, MiRTA and Enswitch, and you can save and restore existing configuration.

Improved WebRTC soft-phone

Auto Answer

The WebRTC Softphone is now able to automatically answer incoming calls. This option can be set for each agent individually, and can only be enabled/disabled by users that hold the appropriate security key. If the softphone is set up to allow multiple sessions at the same time, the Auto Answer feature will only activate if there are no active sessions, to avoid automatically answering a second call while already on the phone.

This is an important feature to allow agents to instantly pick up any incoming calls, and cut down on waiting time for callers on your queues.

Pause Change/Amend

Up to now, QueueMetrics allowed agents to amend their pause code in case of mistakes or changes in the nature of their break. This however has the effect of retroactively changing the pause code in the history of the agent session, which is not always the best solution for Call Center Supervisors.

Now administrators can decide if agents can retroactively change their current pause code or not, by substituting that ability with the "Change" button, that instead will end the current pause and start a new break automatically with the newly selected pause code.

Better PJSIP Support

Our WebRTC SoftPhone has been tested against the PJSIP protocol, to ensure that it can work perfectly with modern Call Centers. The world of WebRTC development is ever changing, so make sure to keep an eye out for our latest configuration tutorials.

If your run FreePBX, the latest is at https://www.queuemetrics.com/blog/2021/01/13/WebRTC-FreePBX-setup/

Cache-aware web data upload

When receiving data from the web interface, QueueMetrics is now able to understand when data is already present - and skip it - or whether it is out of order, and process it correctly. This means that it is now possible to change the past on a running system, and QueueMetrics will always offer a "correct" picture.

This makes it possibe to handle multiple back-end PBXs (or other data sources) even when their clocks are incorrectly aligned, or when the data upload from one of the sources stalls for some reason.

Please note that we recommend that all existing systems use HTTP data upload, instead of direct database access or deprecated flat file storage.

User auth over JSON and LDAP

QueueMetrics can rely on an external authentication source. By using a simple JSON/XML-RPC/LDAP interface, it is possible to write third party scripts that are able to authenticate against your chosen identity system (e.g. Kerberos, a Microsoft domain server, etc).

When an user logs into QueueMetrics, QM checks to see if there is an auth source defined. QueueMetrics will execute a query to that third-party server passing along the user-id and the password given for authentication, plus a given service-id that will be defined in the configuration file.

The JSON format is especially handy, because it is very easy to write an auth source that QueueMetrics can use - so you can implement and enforce your own policies.

See https://manuals.loway.ch/QM_UserManual-chunked/ch09.html#EXT_AUTH_SRC

Bonus: Introducing AudioVault - Recordings for cloud systems

QueueMetrics has always searched for recordings on local file systems - this sometimes made the deployment of recordings quite annoying, especially if said recordings were on a remote system that needed to be mounted as a local volume. With QueueMetrics Live, it was also impossible to access the recordings that were on your own local PBX.

With AudioVault, you can now run an Uniloder instance to give QueueMetrics - or QueueMetrics Live - access to your recordings, and you can do it in a secure way. You need no new license and no third-party service either.

See https://manuals.loway.ch/Uniloader-chunked/ch12.html

Deprecations

No new features were deprecated.

For an up-to-date list of features that are currently deprecated, see https://manuals.loway.ch/QM_UserManual-chunked/apg.html

Bug Fixes

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

AGENT PAGE

5089: Agent page won’t update agent presence

4955: Softphone Auto Answer

5115: Switching off pause amends

5065: Agent page not updating correctly

API

4979: Query too long for HWM breaks Uniloader web

4917: "Custom Dial" API call not working correctly with Hotdesking mode.

5041: ptUsers JSON editor not working as intended

5195: JSON, XML-RPC and LDAP auth drivers

4932: API Dial out with hot-desking agents

SYNCHRONIZER

4942: Synchronizer: Usability review

4605: Synchronizer accepts broken JSON ation

4686: Synchronizer won’t update agent levels

4091: User classes should appear with the name instead of the number in the Synchronizer CFG files

5143: Synchronizer: small graphics improvemeents

5128: Export Reports play button should not appear for export jobs that refer to deleted reports

4374: Synchronizer is unable to rename agents correctly

4981: Wrong security key needed to edit QM objects

5068: Reminder on server-side logging

4273: NullPointerException in Synchronizer, is PBX array is null

ENGINE

5101: Multi-stint mode ignores intermediate calls

5100: Cache-aware web data upload

5091: Alias ending in space not being recognized

GRAPHICS / WHITELABELING

4947: Whitelabeling: remove URLS if non-Loway

4633: Import basic graphical components from shared library Loway-js-gui

4812: Themes: load just once

5155: Whitelabel: remove Queuemetrics from the login page

5033: Screen reader support for Home Page

4759: Color.js uses wrong method of importing colors

5011: Resizee the Reports and Wallboards infoboxes.

4295: Screen-reader support

4851: Hide everything on Licensing pge

PACKAGING / SETUP

5035: Display commit-id on builds

5175: Export JSON stack traces

5132: Remove System.out.println() calls

4931: Improve bundling / reduce sizes

4966: MySql 8 treats privileges grant as a syntax error

4956: DB JSON field for wallboard definition should be larger

PBX PLATFORMS

4984: Finding correct spy extension for Enswitch with switchboard

5193: Enswitch: find calls on queue even if queue is dtype not stype

5137: AMI tester error message not very clear

QA

5203: QA Form is not working properly

5020: Grader’s page: cannot open QA pop-up

5099: Cannot click on Pencil item in QA

REAL-TIME

4951: Quick Agent Report from Realtime view not working after update 20.11

4669: Cannot delete saved real-time query from home-pag

5043: Default queue for realtime page ignores visibility keys

5079: Cell for queue "00 All" is broken in RT

5173: Exports from Realtime View not available.

REPORTS

5081: Agent levels not working properly

4535: Quick Agent report from the Realtime view uses the incorrect "Period end date"

4333: Datablock "OU08 – Call results by feature code" not working as intended

4321: PDF exported reports not paged correctly

4395: Timezone offset filter not working in custom reports

4994: Synchronizer: won’t fail on invalid input

4362: CRM URL not showing in Call Details

4336: Skills description not showing in reports.

5073: Audio recordings don’t play in Safari

4688: Unable to delete or edit Saved real-time queries

4976: Inconsistent sort in Datablocks

5023: NPE on agent sessions

5080: Wallboard does not obey realtime.members_only=true

5022: Error with Skill filter

4958: Filter breaks client

5009: Hidden datablocks columns are exported when exporting a report.

5107: Max. Attempt filter does not accept 0 as a value

5005: Expored reports might have different DataBlock Order

5088: DetailsDO Executive Summary not exporting correctly

5141: Throw-away reports: names

5027: Wrong sorting in data blocks

5123: Report exporting fails on formatted numbers or times longer than 24 hours

4946: Finding columns issues in reports

5148: Large memory allocation in exporting XLS reports

5039: New Feature: Temporary Reports

5191: Button (+) loses all changes without asking

5097: Code issues on ExportColumn

4953: Re-activate direct links into reports from RT

5094: No pie chart if there is only one item

4864: Replace editors with ReportsStorage

5086: SLA Report not showing correctly, for the Spanish and other languages

5124: HomePage: display news text as a hovering tooltip

5066: Report Exports show HTML

5190: Filter editor: min and max filter should be close to each other

5199: SSAR Reports not being saved correctly

5114: Report page does not process query when deleting a report

4960: Client should be able to handle filters written in Server Side Format

5000: Shape Arabic letters for PDF export

5117: Autosave toggle should be placed in settings menu

5171: Max row check for excel export

4943: XLS: Workbook already contains a sheet of this name

5145: OOM exporting data: creates regexps

4975: When export name is too long, XLS exporting does not work

5189: Block appears in Edit Mode within the selection bar

4983: Charts are broken if datapoints are formatted strings

5197: Add note panel of QA Forms is not aligned correctly

4934: Wallboard crashes if call is present on Live_Calls table

4967: XLS report exporter is skipping column headers

5206: Variable filters takes 2 parameters

4992: new report does not create new page in firefox

5116: Autosave should be deactivated even for autosaving reports clone

5042: Report Exports should support typgraphy, alignment, hidden columns and column sort order

5168: Show in frontpage does not affect queue menu in report page

4809: Filters should be addable with ENTER key

5084: Disconnection cause not localized in the Reports

4941: Wand icon in realtime page does not appear

4973: Missing localization for default All Reports tabs on mouse-over

5121: Localize missing strings

5064: Too many styles in excel export

5188: Wrong DayOfWeek

4898: Invite text in block editor

5142: Auto-save toggles

5078: Export fails if blocks have two columns with same name

5196: Broken Histograms in QA Report

4933: Redux code cleanup and documentation

5205: Missing Filter CODA_F_shortcall_attempt

5028: Improve coolness of the sort image in report tables.

5164: Report default title should be already populated

5202: Call markers don’t work

5136: DetailsDO.AgentSessions not exported correctly in excel

4972: Column sorting and editing in the datablocks unusable if there are not enough calls.

5120: Some Icons are not aligned

5182: Reports don’t work when report with no queue is loaded

4896: XLS export: strings too long

5019: Missing Grader’s Page, PerfTracker and Coaching links

5204: Report share link does not set report id parameter correctly

4988: Missing localization labels clok_% / clok_chart

5163: Auto Save small issues

5201: incorrect records in table pager

4971: Magnifying glass icon missing from the "Detail of unanswered calls" datablock

5003: Error on export key-protected items

5119: Report title should indicate report status

5059: Reports add a new empty page when cloned

4871: Extract tests from Filters

5087: Days of the week showing with the # symbol

4978: Export of call detail dates

5067: Report Exports do not format new data types

5098: Private reports work as though they were public

5024: Export to Excel with too many rows

5162: Report Settings Toggles formatting issues

5200: SSAR Reports not being listed correctly

4961: New page does not load when created

5134: Previous Week time-frame not calculated correctly

5002: Disconnection reason for lost call is decoded incorrectly

5118: Report title should be first in report recap panel

5046: Most numbers are left-aligned

4944: If empty report, no graph

5093: Swap axes on SLA reports

4987: React warning: Cannot update a component

4954: Display block ID for JSON access of AG09/AG18

4945: Missing localization for DOW

WALLBOARD

5129: Supervisors cannot change queues in Wallboard

5085: Pause description not showing on the Wallboard

5152: Call Action on the Wallboard not behaving as expected.

4950: "Avg. Queue Info" and "Live Agent Counters" not updating properly after 20.11 update.

5082: Wallaboard not sortable

4963: Wallboards cannot be deleted

5147: Cannot change queues in wallboard if in read only mode (not kiosk)

5017: Wallboard not updating if agent is part of a group

5153: Wallboard Hotkeys need a modifier

4969: Wallboards are not deletable in QM 20.11

5010: Wallboard not updating when changing queue for the Supervisor.

4913: WebRTC softphone with FreePBX15 support PJSIP

4549: "Agents Ready" widget displaying a copy of the queue, when only one queue is selected as a filter

5113: Transpose method fails in JsTable

5151: Missing arrow icons from wallboard widget sorting.

4990: Wallboard: missing oDec?

5083: Remove "W:INSPECTOR" debug widget.

5126: Agents Ready widget won’t count agents on ALL queue

4361: Wallboard page keeps polling with server error if too many agents

5063: Wallboard not decoding agents and queues in tables in wallboard

4962: Missing Icons in Softphone

4741: Remove Tabulator component

5135: Wallboard queue selection not allowed for users without the Wallboard edit key.

5018: Counters on the wallboard go to zero after 1000

5150: First row of the wallboard Widgets not sticky

Release 22.02

This new version of QueueMetrics has a large number of improvements to the Reports page; they make it snappier to use and make it clearer to see the history of a specific call. It is also easier to understand which calls ended up in a specific result, and in general to understand which users did what and why, thanks to a vastly improved logging system. We also added support for Single sign-on and improved the integrated WebRTC soft-phone.

QueueMetrics 22.02 is immediately available for all CentOS 7+ based distros as an RPM package, for Gentoo as ebuild, for Docker as image on DockerHub and as a TGZ file for manual installation on any OS running the Java platform. QueueMetrics now supports 23 distinct languages/locales.

We suggest upgrading as this version includes some security fixes.

Uniloader was also updated to support the latest features.

The Timeline view

Continuing the large series of changes to reports that were started in 2019, we have redesigned the call details pop-up. This is your go-to destination to know more about a specific call and to access any related media, and has been rebuilt around the concept of Call Timeline. As the name implies, it is a timeline of every single event that has happened on the call. The events are displayed in chronological order and give the user an immediate representation of the call’s event flow, and - in multi-stint mode - of each queue traversed.

The Timeline Page takes the place of the former Call Details popup, and still displays the same information as before, in addition to the timeline. It also allows for users to listen to any call recording linked to the call in question, offering the possibility to specify and save markers on each recording.

Call groupings

When you see a result that counts a set of calls - for example, you see that there were 23 calls on queue A and 17 on queue B - have you ever wondered which calls they are? Of course you can run a new report to find them, but don’t you have the feeling that it would be a bit …​overkill?

QueueMetrics 22.02 introduces the concept of Call Groupings. Every DataBlock that shows information regarding one or more group of calls all sharing the same characteristic will display an extra column with a Grouping Icon. By clicking on the Grouping Icon, the user navigates to a series of tables detailing exactly which calls make up the aforementioned group, effectively "exploding" the DataBlock Metric.

Improved looks and functions

We had a lot of comments on themes - some users found the default "light" theme too harsh, so we had its colors adjusted to be prettier and easier on the eye, without being radically different.

We also added a new theme named Mono that is also light but not as colourful.

In any case, if none of the defined themes match your tastes or your company’s branding, did you know you can have a custom white-labelled version of QueueMetrics made-to-order to your exact needs?

We also introduced RTL support for Hebrew and Arabic, making our reports, wallboards and exports easier for native speakers to read in RTL languages, and added an option to have user-defined date and time formats, for cases where e.g. you want to see QueueMetrics in English but you want dates formatted according to your local customs.

Improved performance

We had a performance review of reports, both within the engine and within the browser, to make the user experience more responsive and to be able to address some very large systems with 10,000+ agents across 1000+ queues.

And even if your systems has but 10 agents across two queues, we are sure you will appreciate the scalability and a snappier user interface.

Support for Single Sign-On

In the last few years we are seeing a lot of organizations move towards centrally-managed user accounts. We introduced LDAP support in 21.04, targetting mostly Active Directory domains, and we now introduce full Single Sign-On via OAuth.

If your company uses Google or Microsoft, you can benefit from a SSO experience where users won’t need a separate set of credentials to access QueueMetrics, and won’t even need to enter their log-in if they are currently signed in into the service.

We also improved LDAP/S support to allow any field to be used as the log-in, thus allowing users with the format Agent/123 to access QueueMetrics even if their LDAP login is different.

Pervasive logging

The Audit log has been made way more powerful, tracking a large number of additional events that let you have a clearer picture of what happened and why.

You can now tell QueueMetrics to trace reports that were over a certain threshold of calls fetched, or that took too much time running. So you can know who run them and why. By setting these limits low, you can also have each and every report logged.

Any report causing an Out Of Memory error or a license violation will be logged

Any time someone views the details of a configuration (e.g. a queue or an agent), makes a change or creates a new entity, this is logged. This happens even when is done through an API call.

Any time someone issues a command to the PBX (e.g. log an agent on, hang up a call, start a chanspy session, you name it…​), this is logged. Again, this happens even when this happens through an API call.

SSO events are all logged.

Improved WebRTC soft-phone

The integrated WebRTC soft-phone is a central part of QueueMetrics; still, trying to make sense of what happens when it does not work or it is very slow is a challenging proposition.

We improved the logging of common errors and their causes, of ICE gathering states, and made it easier to see when something is not working as expected. Also, on the QueueMetrics User Manual, there is a complete guide to finding and fixing issues.

We also made it possible to use authentication for private TURN/STUN servers.

Misc notable changes

We added agent pause and unpause support for the Enswitch platform, so that now both log-ins and pauses are possible from the Agent page (for agents) and from the RT/Wallboard for their supervisors.

We also added a script to detect connectivity issues for QueueMetrics instances deployed behind a firewall, and to make it easy to find the right set of proxy parameters to allow a smooth experience.

Deprecations and security

We removed the XML-RPC API interface and deprecated Oreka video playback, because it still happened using an old Java applet.

We fixed a couple of potential issues within the JSON interface that could lead to a security bypass in the configuration, so we suggest updating at your earliest convenience.

For an up-to-date list of features that are currently deprecated, see the User Manual.

Bug Fixes

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

AGENT PAGE

#5304: Icon may flood server with requests

#5246: Agent Web Background not refreshing in background mode

#5365: Pause codes security keys do not work

#5259: CRM Fullscreen mode should be removed

#5144: Softphone cannot answer second call if used through VPN

#5296: Icon: autocopy number from Call list.

#5504: Turn server authentication

APIs

#5500: robot profile privilege escalation

#5497: Editors do not log correctly actions through the JSON API

#5478: Remove XML-RPC adaptor

CONFIGURATION

#5499: Password change from (i) does not work

#5353: Typos in configuration.properties.

#5422: Logging of all configuration changes to SysLog

#5329: LDAP: use different login

#5297: News panel system key non working.

#5494: PtEditor crashing with invalid query

#5443: Add logo link in Explore system parameters

#5244: SMTP does not work with starttls

#5263: Remove old Report Editors

#5481: Missing item in selector from Syslog page

#5442: Cleanup configuration.properties

#5378: Logging large reports

#5271: Database Upgraders fail when using ReportsStorage

#5380: Upgrade MariaDB client

#4500: Better "Install database" experience

#5322: Missing queues in Synchronizer reading from Qlog table

ENGINE

#5473: Performance By Agent Group is slow when processing a lot of agents

#5364: Retracting logs

GRAPHICS

#5348: Dark Theme "Edit Tabs Order" overlay issue.

#5530: New log-in page too dark on dark theme

#5311: Secure mode not working on home page

#5525: New Login Page for OAuth

#5458: Wallboard Widgets wrong colors

#5267: Tema Mono

#5424: Stints field is not aligned correctly

#5456: "Bar Graph - SLA" widget not scaling correctly

#5413: "Composite Items" Widgets font hard to read in Dark mode.

PACKAGING

#5035: Display commit-id on builds

#5430: Dev Env: Compile under Java11

#5467: Dev Env: Move checker to build task

#5376: Add ErrorProne to JavaCompile task

#5466: Dev Env: Console not at INFO in apprun

#5529: Remove obsolete code

#5465: Dev Env: Remove Calcite

#5524: Correct orientation for languages

#5470: Dev Env: Build only one theme in dev mode

#5469: Dev Env: Noisy logging for themes

#5518: Testing license connectivity

PLATFORMS

#5520: User-defined date-time format

#5447: Enswitch pause/unpause support

#5446: Logging all platform actions

#5386: Deprecate Oreka video player

QA

#5410: Graphical issue QA report with Dark theme.

REPORTS

#5276: Agent and Outcome view shows incorrect login and call stats

#5050: Incorrect Realtime viewing of the server, in a cluster configuration

#5235: RT page: missing labels for actions

#5409: OAuth user authentication

#5251: Undecoded labels in some tables

#5432: Block OK03 disapperars sorting by "N Calls"

#5352: Align right for Hebrew and Arabic language.

#5429: General slowness with huge data sets / lots of agents

#5341: Changing report time should trigger save icon

#5253: Incorrect call computation in DH10

#5274: Incorrect validation of variables filter

#5340: If a report has no pages the UI raises an exception

#5051: DetailsDO Executive Summary not paged correctly

#5479: Bundles loaded twice on the Home Page

#5360: Report page crashes if no queues are available for the user

#5291: Unsaved Reports can be created even without permissions

#5411: PDF export, for languages with special characters, issue.

#5222: Widget colors matching one-to-one

#5331: Reports Layout: Humanized

#5384: OptiLock errors

#5061: Private Reports option is ignored.

#5290: Reports should always allow users to change reports and time period

#5221: Wallboard colors of the icons is too dark

#5489: Queue_log export should be in ascending order

#5256: Improve datablock search with a category filter

#5475: Security and session checks for reports

#5008: Individual datablocks not exportable

#5231: Reports should show the report creator and date of creation

#5270: Detail summary by hour (DH10) issue with table rows

#5418: Timeline Debug Button

#5369: AG07 is missing level column

#5245: Limit PDF exporting rows

#5289: Permissions are not updated correctly when switching between reports

#5220: colors of the link in the tables of the new report section has no contrast when mouse over

#5351: Hungarian language not displaying correctly.

#4974: Datablock OkDO.ServiceLevelAgreement - OK04 is not sortable

#5226: Default report creator user is not demoadmin

#5269: Converted Export jobs time periods are not supported client side

#5288: Cloning a report does not change the creator user correctly

#5408: Tags not showing on some calls

#5219: The Text is too dark in datablock sort tool

#5252: Incorrect DO.name block names

#5266: Filter by DO Group in DataBlockViewPreview

#5350: With Korean language selected, Reports won’t open.

#5492: Duplicated code in Report Groupings

#5225: Auto Save does not pick up all events

#5286: Reports with lots of data give no feedback when loading takes too long

#5333: Reports Layout: Executive summary

#5349: Fix Hebrew and Dutch language files.

#5223: Will the colours be matched one to one?

#5313: Call Groupings and Timeline Pages

#5433: Wrong columns in report OD05

#5277: Charts are not displayed correctly in some locales

#5332: Reports Layout: NUmber formatting

#5385: Handling optilock exceptions

#5449: Block selector is invisible

#5272: Area Code datablock are empty

#5545: HTML in UD05 and OK03 charts

EXPORTS

#5316: End of the month scheduled report exporting

#5412: Audit Log, Recording events issue.

WALLBOARD

#5275: Incorrect conversion for German numbers

#5054: Realtime view and Wallboarda not usable after deleting the monitored queue.

#5295: Browser notification for softphone.

#5233: Call Actions table is not localized

#5344: Softphone should warn you if QM not in https

#5294: Wallboard softphone works in the background

#5330: Realtime start hour filter not showing up correctly

#5326: Ice Gathering states should be displayed on the SoftPhone GUI

#5053: Agent and Call actions, on the Wallboard, kicks you back to the Homepage.

#5459: Wallboard tables should be bigger when added to the page

#5324: Time_zero reference timestamp is not correct in all timezones

#5439: New Wallboard, queue issue

#5451: Missing Avg.Talk in Widget

#5292: Wallboard phone user preferences give error message when they shouldn’t

#5249: New tables do not persist sort options in wallboard

#5542: Wallboard crashes with "key" property error

#5546: Status column not filterable in live calls table