Chapter 16. 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:

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

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

./Pictures/qm1904_WallboardFull.png
  • 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
./Pictures/qm1904_WallboardTabulator.png
  • You can log agents on and off, and pause them
./Pictures/qm1904_WallboardAgentAction.png
  • You can manage calls (transfer, hangup) and do spying right from the wallboard
./Pictures/qm1904_WallboardCallAction.png
  • The wallboard includes a WebRTC soft-phone, so you can do spying right within the browser
./Pictures/qm1904_WallboardSoftphone.png
  • Widgets can be "pinned" so they remain in place if you need to copy-and-paste
./Pictures/qm1904_WallboardPin.png
  • All actions can be started by right-clicking on the wallboard
./Pictures/qm1904_WallboardContextual.png
  • New widgets display per-agent counters
./Pictures/qm1904_WallboardAgentCounter.png
  • You can now have as many columns as you need for very large screens

See also:

  • QueueMetrics User Manual: Chapter 8. The Wallboard

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

./Pictures/qm1904_WallboardSpy.png

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

16.3. Improved reporting

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

./Pictures/qm1904_WallboardLostAtt.png

See also:

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

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

./Pictures/qm1904_ReportShortCalls.png

See also:

  • QueueMetrics User Manual: Chapter 4.3. Custom reports

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

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

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

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

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

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

16.9. Bug Fixes

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

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

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

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

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

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

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

16.9.7. 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 ""

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

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

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