VIP callers management with QueueMetrics

There are various methods that one can employ to deal with VIP callers. Some examples of this are:

  • Special low-latency queues
  • Different products
  • Automatic routing of open cases

How can we identify important callers?

This is usually done with dedicated DIDs, that allows for a prioritized service. This works, but is often hard to scale to hundreds or thousands of cases so we can definitely do better!


QueueMetrics is a highly scalable monitoring and reporting suite that addresses the needs of thousands of contact centers worldwide and offers a broad range of integrated benefits like agent productivity monitoring, target measurement, conversion rates tracking, realtime campaign statistics analysis and an easy to use interface. It’s available on premise or as a cloud hosted solution service.

VIP callers in QueueMetrics

QueueMetrics offers the “Known numbers” service, an easy-to query database of known numbers that can be configured to have different settings from normal callers.


From the Known Numbers page, an administrator can associate an action and an identity to the caller. Said a ction can be time-limited and can specify an optional “agent affinity” to first try the agent who is currently handling the case.

The Known Numbers Database can be fed through the VIP Callers JSON API. For more information about the JSON API please consult QueueMetrics’ JSON Manual at:

For security reasons, you need a special user to access QueueMetrics through the APIs.

Create a remote user in QM with the following configuration

  • User: “pbxapi”
  • password: “api123”
  • Class: ROBOTS
  • Custom security key: “PBXAPI”

VIP callers in Asterisk

From the Asterisk Dialplan, you can query QueueMetrics before routing a call. Following is an example of this:

same => n,Set(CURLOPT(hashcompat)=yes)
same => n,Set(NUM=${CALLERID(number)})
same => n,Set(URL=http://my.qm/queuemetrics/
same => n,Set(HASH(resp)=${CURL(${URL}&number=${NUM})})
same => n,Set(CALLERID(name)={HASH(res,name})
same => n,GotoIf($["${HASH(resp,action)}" = "VIP"]?supervip)
same => n,GotoIf($["${HASH(resp,action)}" = "BLACKLIST"]?blklist)
same => ....

By querying QueueMetrics like this you can obtain the following information before routing a call:

  • Name of the caller
  • VIP or Blacklist
  • Agent affinity

And you can route accordingly, based on the above information.

QueueMetrics References

For more technical information about QueueMetrics call center solution please refer to the User Manual.

Visit for a 30 days full featured trial.

Attend our Free Webinars for a live demonstration of QueueMetrics.

Permalink - Back to home