Why do you need Music-on-Hold tracking?

One of the questions you may have when analyzing your call-center performance is: how much time did our agents put the caller on-hold? This is an important proxy of the quality of the service you offered, as long (or frequent) time on-hold is a symptom of problems when handling a call.

QueueMetrics does provide metrics about time on hold; the problem is that, as this piece of information is not provided natively from the Asterisk queue subsystem, it used to be complex to set up your Asterisk PBX to provide this information.

In order to make this easier, we added this capability to our new-generation data loader Uniloader. Uniloader is a replacement for the venerable qloader data upload tool, but also has some additional capabilities and one of them is tracking Music on Hold.

Setting up MOH Tracking

The first thing you have to do is to install Uniloader; this is quite easy as it ships from the same RPM repository as your main QueueMetrics application. Or you can download it manually from https://www.queuemetrics.com/download.jsp

You would usually install it on the same system as your main Asterisk PBX, though as it only requires an AMI connection, it could run anywhere.

As we only want to turn on MOH tracking, you will need to temporarily stop qloader as to avoid double-uploads of data:

service qloaderd stop

yum install -y uniloader

service uniloader stop
chkconfig uniloader off
service qloaderd start

Now start Uniloader in MOH-tracking mode; you just need the AMI credentials for your local PBX system (as found in /etc/asterisk/manager.conf):

uniloader trackmoh --login admin --secret mypassword

Init Ami Connection
2017/03/22 09:03:38 Uniloader is alive - GR: 4 - Mem: Alloc 348k (Free 0k) Sys 1700k
....

If all goes well, you will see no errors, but nothing will happen. Now send a call to a queue and have the agent put it on hold and off hold. By looking at the queue_log file that was geenrated, you should see events CALLERONHOLD and CALLEROFFHOLD being added, like in the following example:

1490105834|1490105834.72|300|NONE|ENTERQUEUE||5552119903|1
1490105838|1490105834.72|300|SIP/201|CONNECT|4|1490105834.73|3
1490105845|1490105834.72|300|NONE|CALLERONHOLD|default
1490105875|1490105834.72|300|NONE|CALLEROFFHOLD|
1490105884|1490105834.72|300|NONE|CALLERONHOLD|default
1490105894|1490105834.72|300|NONE|CALLEROFFHOLD|
1490105899|1490105834.72|300|SIP/201|COMPLETEAGENT|4|61|1

At this point, by looking at QueueMetrics, you should be able to see:

  • A call with Music-on-Hold being processed through the real-time page:

1

  • A report of Music-on-Hold events for your queues:

2

  • The details of handled Music-on-Hold within your call’s details:

3

End notes

Music-on-Hold tracking is an experimental feature; it has been used in some large call-centers for a couple of years now, but it may not be able to cover all cases. If it does not work for you, we would love to hear from you and get a trace so we can improve it.

Permalink - Back to home