QueueMetrics is a highly scalable monitoring software that lets you track agent productivity, payrolls, measure targets, conversion rates, ACD, IVR, Music on hold, generate outbound campaign statistics and monitor realtime processes with customizable wallboards.

You can measure all contact centre activities with more than 200 different metrics and manage realtime processes with extensions and calls control, live alarms, whisper mode, spy, barge mode and a dedicated agent page.

AudioVault: access remote recordings as if they were local

One very useful feature of QueueMetrics is that, when you see a call in a call-list, if you click on it, you can easily listen to it right in the browser. You can add markers at points of interest in the call, so that you can highlight specific points for the next person who is going to review it. You can jump between markers at the click of a mouse.

You can also speed up the playback, in order to make reviews of a large quantity of calls a relatively easy and inexpensive task; this allows you to thoroughly evaluate the strengths and weaknesses for each of your agents, track them across time and offer and review corrective actions. Sounds great, right?

Of course, in order to do this, recordings of the calls need to be available to QueueMetrics. Historically, the best approach has usually been to mount a partition on the server over NFS or Samba, because it behaves as-if it was a local file system. This works fine, because very often recordings in Contact Centre environments are huge and live anyway on their own separate NAS. Still, mounting disks is sometimes rather unpleasant, especially when it involves a complex VPN and WAN setup. On the other hand there is a case where this is just impossible: that is accessing local storage from a QueueMetrics system that runs remotely, as it is the case when you use our easy-to-use hosted QueueMetrics Live.

What to do then?

Introducing AudioVault

To address this issue, we added a new functionality to our multi-function tool Uniloader, namely a way to search files over a local disk and to make them accessible as a secure JSON service from a remote server. The way it works is pretty easy: Uniloader sits on the same system where files are; it just exposes a JSON HTTP service that allows for searching and file retrieval by authorized clients.

Of course, as this service has to be accessible from the Internet, you will need to publish it over a registered DNS name, and we will have to make sure that all transactions are secure.

Media files found are returned by exposing a public URL that can be downloaded by the client’s browsers or proxied by your QueueMetrics instance. To reduce related risks, all URLs are encoded with an anti-tamper mechanism so that a third party cannot retrieve arbitrary files on arbitrary paths. They also have an expiry date embedded that ensures a link is only valid for a short period after it is generated. Also, on each run of Uniloader a specific random link secret is generated, so that only links generated within the current execution are valid.

This means that QueueMetrics Live can now link to your local recordings (that will remain stored on your local media, with no risks and legal issues of remote transfer) and your users will now be able to use them.

Setting it up

To make this work, you need to make sure that you have Uniloader version 21.4.

As a first step, you will create a domain name that points to the server where recordings are (it could be your PBX, or another server where recordings are actually stored - as long as ports 80 and 443 are unused). You will then create a rule on your firewall that matches the public domain name to your server and forwards there ports 80 (HTTP) and 443 (HTTPS).

At this point we want to do two things:

  • set up AudioVault so that it will be able to find and retrieve the required recordings.
  • set up an HTTPS reverse proxy so that any transaction will happen over HTTPS. The reason why we need port 80 as well is to obtain certificates and to redirect any “rogue” traffic.

Starting AudioVault

So, assuming that your recording are actually under /mnt/audio and that a working domain name pointing to your server is audiovault.my.server, you can launch:

     uniloader av serve \
        --path file:/mnt/audio \
        --token Sup3rZ3brA  \
        --public-url https://audiovault.my.server \
        --bind-to localhost:4000

This command launches Uniloader, makes it available on port 4000 over HTTP (so, not accessible externally) and sets a shared token that allows server verification.

That’s all you have to do!

Creating the reverse HTTPS proxy

Then we install a very simple HTTPS proxy by using Caddy, available out-of-the-box in CentOS systems:

it can easily be installed with yum install caddy - it will automatically generate HTTPS keys for you through Let’s Encrypt and will manage renewals all on its own.

A very basic configuration in /etc/caddy/caddy.conf could then be:

  audiovault.my.server {
      proxy / http://127.0.0.1:4000 {
               header_upstream X-Forwarded-Proto "{scheme}"
               header_upstream X-Forwarded-Host "{host}"
               header_upstream X-Forwarded-Port "{server_port}"
          }
      gzip
      tls "youremail@audiovault.my.server"
  }

And now all HTTPS request will transparently be sent to AudioVault on its (externaly unaccessible) port 4000. If you try accessing https://audiovault.my.server you will get a screenshot like the one below:

1

Configuring QueueMetrics Live

At this point, in your QueueMetrics Live instance, you can simply add the following configuration:

  audio.server=it.loway.app.queuemetrics.callListen.listeners.JsonListener
  audio.jsonlistener.url=https://audiovault.my.server/search/
  audio.jsonlistener.method=POST
  audio.jsonlistener.searchtoken=Sup3rZ3brA
  audio.jsonlistener.verbose=false
  audio.html5player=true

(Note how the URL is https: has the suffix /search, and we use the same token as above).

At this point, when displaying the details of a call, it will be searched and you will be able to play it back within your browser!

What to do next

AudioVault is documented in detail on the Uniloader’s User Manual, available in Chapter 12. AudioVault - where you can learn how to:

  • Tell Uniloader how your files are stored (e.g. split by date/queue) so that it can run quicker searches
  • Test how files are searched/retrieved from the command line

AudioVault is available now at no extra cost for your testing, or it can be installed by our Remote Support team as a paid service (contact our Sales team for more information).

QueueMetrics References

QueueMetrics software is available on premise or as a cloud hosted service for FreePBX, Yeastar S PBX, Grandstream, Issabel, FusionPBX and many other Asterisk distros.

For more technical information please refer to the User Manual.

Visit www.queuemetrics.com for a free 30 days full featured trial.

Attend our Free Webinars for a live demonstration of QueueMetrics.

keyboard_arrow_left Back