Understanding QueueMetrics agent name rewriting

2012-06-12
QueueMetrics was built to handle agent names as separate entities from extensions. This raises a few issues with newer versions of Asterisk, as the canonical form Agent/1234 may not be used.

In order to do this, it is better if you start by taking an activity trace as described in a separate FAQ here.

The first thing that we have to implement is that if see channels appearing on the log as Local/1234@from-internal, then you have to set:
default.rewriteLocalChannels=true
so that when QM reads them back, it reads them as Agent/1234. This is used as the channel string is used as the agent's name, as configured in the Edit Agents page of QueueMetrics.

The second issue you may have is that if you use a GUI, it is possible that you see the agent names logged in "friendly" format, as e.g mike boo instead of Local/1234@from-internal. The big problem here is that this only applies to calls and not to agents logging on and off.

This typically leads to a situation where, on the real-time page, you see the agent logging on as e.g. "Mike Boo (1234)" (that's the name you gave the agent in QM) and then when he first receives a call, a new entry "agent/mike boo" appears as well.

In order to solve this, we have to tell QM that when it finds mike boo it needs to read it as Agent/1234. We do this by setting a "fiendly name" for the agent, that must be the exact string that the agent appears on the queue_log as, for our agent in the Edit Agents page of QueueMetrics.