Chapter 14. 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.

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


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

14.1. Major changes

14.1.1. 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!

An example wallboard

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.


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

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

14.1.3. The Synchronizer module

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

The Synchronizer tool

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

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

14.3. Minor changes

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

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

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

Calls by skill

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

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

Talk time per hour

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

14.4. Detailed changelog

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

14.4.1. Locales

  • The Georgian language is official supported

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

14.4.3. 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
  • 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

14.4.4. Engine

  • 3498 - User session stays open, but not supposed to
  • 2844 - Cleanup: remove Continuations

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

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

14.4.7. 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)

14.4.8. Misc

  • 3379 - API JSON: ClassCastException on RealtimeDO.RtAgentsRaw
  • 3235 - Insert visible version number