To successfully run a report, your system administrator must have configured the correct queues in use on your system. You will find them in the drop-down menu on top of the page. See Section 18.3, “Configuring queues” for details on how to do it.
The quickest way to obtain an analysis is by selecting the queue you want to analyze and then click on the appropriate time frame below the "Quick activity reports" title on the home page.
The defined time frames are the following:
The system will then show the "Answered calls" page, like here below.

On top of the page, you can see a multi-tab menu; by clicking on it you can select which part of the report you are going to see. To go back to the home page, click on the "Home" tab. You can also see all the analyses at once by clicking on the "All" label (this is mostly useful when printing the results to paper).
If the user has the appropriate grants, s/he can restrict the analysis to a single agent. This way one can see exactly what one agent did.
To use this feature, select the agent you want to filter by and click on the desired time period in the "Agent report" section of the Home Page.
If you are running an agent-restricted report, you should know that:
Custom reports are available by clicking on "Run custom report" from the Home Page.
A new menu will appear, asking for custom report parameters:

The meaning is as follows:
By clicking on the "Run custom report" button, you can run the analysis, which output is the same as the "Quick activity report" and will be explained below.
A number of criteria can be specified to better zoom in on a given set of calls.
Note that:
Search criteria are ignored for real-time reports.
When a report is run with criteria set, all statistics are computed "as if" those were the only calls available; so e.g. agent sessions may yeld different results from what you would get with no criteria.
On the top of each report, a box will be shown showing:
There is also a box showing a number of analyses you can export in CSV format.
When running in report mode, QM distinguishes between calls or agent sessions that are complete and calls or agent sessions that are "ongoing" at the moment the report was taken.
Ongoing calls or sessions are usually marked in red and counted separately, as data for them is not definitive and will appear differently if you run further reports.
You should also note that a call that has not been answered yet will be counted as "Ongoing unanswered", though it may well be answered in the nearest future by one of your agents.
In any case, if you need to see calls in progress or whether an agent is logged in, you should rely on the Real-time panels and not on the reports.
It is possible to export data in Microsoft Excel, Comma-Separated Values (CSV) or XML right from most QueueMetrics panels.

By clicking on the Excel, CSV or XML icons below each report, it is possible to save exactly the same report as seen on screen and then edit it using your favourite number-crunching software.
You must be logged in to download the reports, as you see them on screen.
If you are looking for a way to export a full analysis to one file, you should probably have a look at Section 15, “Automating statistics download: the ROBOT profile”.
The answered calls section deals with calls that were correctly handled by agents.
The top panel shows:
You can see that the information above is reported twice: on the left for all calls, including incomplete ones, and on the right for complete calls only, i.e. excluding calls that were started before or terminated after the given time frame.

This report shows which agents have been available for the given queue, how many calls each one handled and the percentage of all calls that each one handled.
If calls are connected directly to a phone terminal, QM tries its best to show the corresponding terminal, usually in the format used by Asterisk, like "SIP/303" to signify a SIP phone whose number is 303.
If you connect to H.323 telephones via the OH323 module, the recorded channel names have no meaning and do not refer to a specific terminal; that’s why all OH323 calls are grouped together under the label "OH323/-".
This report shows the distribution of call waiting times. It shows how many calls were answered within a given time frame, usually 120 seconds in 10 second increments (the time frame and increment can be modified by the administrator, if needed - see Section 18.12, “Configuring system preferences” ).
You get a percentage of how many calls were answered within X seconds; the percentage includes calls answered in a shorter time frame and therefore grows with time.
The "delta" value you see is the absolute increment, expressed in number of calls, between each time frame.
This metric is computed only on answered calls, i.e. ignoring lost calls . If your SLA is defined in terms of taken and lost calls, see the corresponding metrics "Inclusive SLA" on Section 4.7.4, “Inclusive Service Level Agreement”.
This report shows the reason why calls were terminated; this means that:
This graph shows how many calls were transferred to each extension in the given time frame. This lets you know who is handling exception calls.
| Note | |
|---|---|
when a call is transferred outside the queue system, its length is no more recorded by the queue subsystem; therefore you only get to see the length of the call while the agent was on line. |

If more than one queue is in use for the report, this graph shows the relative magnitude of each queue.
Inbound queues are marked with the symbol
while outbound queues use the symbol
.
If more than one queue is in use for the report, this graph shows the relative magnitude of inbound versus outbound calls made.
This graph counts the distribution of multi-stint calls on selected queues. If multi-stint mode is not enable, all calls will have only one stint.
This graph shows the initial queue position that the calls had when they joined the queue. For example, a queue position of 1 means that a call was first in line, of 5 means that a call had four other calls in line before being answered. As the logging of queue positions is a bit inconsistent, some calls might be missing it ("Untracked")
This graph shows the distribution of IVR selections available in the calls processed.
This must be tracked manually in Asterisk - See "Configuring Asterisk for QueueMetrics" below.
This graph shows the distribution of DNIS lines available in the calls processed.
This must be tracked manually in Asterisk - See "Configuring Asterisk for QueueMetrics" below.
This page shows the detail of answered calls. See Section 5, “Showing call details”.
Unanswered calls are calls that were lost, i.e. the caller could not connect to an agent. This usually means that either the caller hung up, fed up with waiting, or the queue system decided to discharge the caller, maybe sending him to voicemail or another queue.
| Note | |
|---|---|
if you run a report with an agent filter, or a supervisor filter, or a location filter, the number of lost calls in the report is usually zero, showing just outgoing calls, if any. This is because the agent is specified only for taken calls and not lost ones, so not deleting them all would show, e.g., the taken call data for one single agent and the lost calls for all of the queue. You can override this behaviour through a configuration switch if you feel this is not correct for you. |
The Unanswered calls page looks like the following picture:

The report shows:
As with answered calls, this report is computed twice; the version on the left is for all calls monitored, while the version on the right only holds data for calls that were complete at the moment the analysis was run.
This report shows the relative magnitude of disconnection causes, that are:
If more than one queue is in use for the report, this graph shows the relative magnitude of each queue.
This report is functionally equivalent to "Service level agreement" in the Answered calls section (see Section 4.6.2, “Service level agreement”), but is computed on lost calls. It shows how many calls were hung up within a given time frame, usually 120 seconds in 10 second increments (the time frame and increment can be modified by the administrator, if needed - see Section 18.12, “Configuring system preferences”).
You get a percentage of how many calls were lost within X seconds; the percentage includes calls lost in a shorter time frame and therefore grows with time.
The "delta" value you see is the absolute increment, expressed in number of calls, between each time frame.
The inclusive SLA corresponds to the Service Level Agreement metrics shown on Section 4.6.2, “Service level agreement”, with the difference that it is computed taking into consideration both answered and unanswered calls.
If there are any calls that are were set unanswered because the caller pressed a key to exit the queue, this graph shows which keys were pressed and how many calls were terminated for that reason.
This graph tells the stint distribution of unanswered calls. It corresponds to the graph called "Answered calls, by stints".
This graph tells the stint distribution of all processed calls. It corresponds to the sum of the graphs called "Answered calls, by stints" and "Unanswered calls, by stints"
This graph shows the initial queue position that the calls had when they joined the queue. For example, a queue position of 1 means that a call was first in line, of 5 means that a call had four other calls in line before being answered. As the logging of queue positions is a bit inconsistent, some calls might be missing it ("Untracked")
This graph shows the initial queue positions for both answered and unanswered calls.
This graph shows the distribution of IVR selections available for lost calls.
This must be tracked manually in Asterisk - See "Configuring Asterisk for QueueMetrics" below.
This graph shows the distribution of IVR selections for all calls (taken and lost) available in the report.
This graph shows the distribution of DNIS lines that lead to lost calls.
This must be tracked manually in Asterisk - See "Configuring Asterisk for QueueMetrics" below.
This graph shows the distribution of DNIS lines for all calls (taken and lost) available in the report.
This page shows full details of unanswered calls Section 5.3, “Detail of unanswered calls”.
If the Caller*ID is present, it is possible to break down both answered and unanswered calls to specific area codes by clicking on the "Area code analysis" button.

By selecting a number of caller id digits to search upon and a starting digit position, you get a number of statistics grouped by area codes.
This report gives an immediate check of the geographical origin of calls handled by your call center.
It is possible to export all the reports as needed.
When running an inbound call center, it is very important to determine the reason why a call is delayed: are your clients refusing to answer? Did they forget to log off before leaving their workplace? The inbound ACD call attempts metrics try to answer to these questions.
As these metrics are not usually recorded by Asterisk, you’ll have to patch and recompile your Asterisk system in order to gather them - see the section Section 20.6, “Enabling ACD call attempts recording on Asterisk 1.0 and 1.2”. If you do not do so, the metrics presented here will always appear zeroed out. With Asterisk 1.4, this feature should be automatically enabled with no need to patch the source code.

This page shows the following pieces of information:
This graph breaks down agent attempts by the agent that was called. The following pieces of information are extracted for each agent:
The following metrics are extracted and broken down by queue:
The call distribution report shows when calls were handled, when calls were lost and the average wait times broken down by period.
All percentages are calculated on the call class they belong to, i.e. a 50% of "Unanswered calls" on one day means that 50% of all unanswered calls for the period happened during that day, not that 50% of calls were lost.
For each metrics, the total number of calls is shown, together with average, minimum and maximum times. Graphs are plotted on the total number of calls broken down and on the averages.
It is possible to change the interval in the Hourly graphs, so that you can have reports break down calls e.g. by half-hours or hour quarters, by changing a value in the QueueMetrics master configuration file.

Calls, both taken and lost, are shown per specific day. Days with no events are not shown. The total numbers of call lengths, wait time for answered calls and wait time for unanswered calls are plotted for each day. Sales and contacts are also shown on a daily basis.
The Schedule Adherence report shows the number of distinct agents that were detected during the given period. This makes it possible to detect the number of different people that had been working on a given moment.
The Queue Length report shows the average length of the queue for each period, giving minimums and maximums. The Steps computation shows how fast each queue progresses during the period, expresses in steps per hour. Note: giving a meaning to the Queue Length reports may be hard in the case of composite queues.

Events are shown on a 24-hour distribution. If this graph appears to be incorrect, you have to run a "Custom report" setting the time zone accordingly (see Section 4.3, “Custom reports”).
The total numbers of call lengths, wait time for answered calls and wait time for unanswered calls, together with sales and contacts, are plotted for each hourly interval. The size of hourly intervals can be controlled by the default.hourly_slot configuration property, making it possible to run this reports based on 30-minute, 20-minute or 15-minute intervals.

This report shows the weekly behaviour of your queues. The longer the analysis period, the more significant its results will be.
The total numbers of call lengths, wait time for answered calls and wait time for unanswered calls are plotted for each day of the week.
Agent activity refers to the behaviour of Asterisk defined agents. If you connect you queues straight to telephone terminals, this section will always be empty.
Each agent may be flagged as being a member of four priority groups:
This feature is useful if priority groups are used in the queue configuration. If they are not used, just assign all agents to "Main" for each queue.
If an unknown agent appears on a queue, it will be marked as "Undefined", written in red.
Agent names are written in blue and are clickable, if you click on them in any of the graphs, you will be lead to a popup that detail the logon and pause history for that agent.
As a default, QueueMetrics will show and count an agent session if and only if the agent handled at least one call during this session. This may not be what you want when you use pause codes - an agent may log on and immediately go on pause to do some back-end activities. If this is the case, you should set the configuration option default.useRawAgentSessions to true to see all agent sessions.

The report shows:
This graph shows which agents were available during the specified time frame and the percentage of agents’ available time each one cumulated.
This time is calculated per all queues any agent is a member of, as the act of logging on is in general for the whole system and not specific to one single queue.
For each agent, the total time on pause - if any - is computed and broken down as "Billable" or "Not billable" - see the section on Pause Codes.
For each agent, the total number of sessions and pauses is computed (session time is already deducted of pause time). For both sessions and pauses, an average length is computed.
The "Pause percentage" is how much time an agent was on pause compared to available time.
The "Pauses per session" computes how many pauses - on average - each agent makes for each log-in session.
These metrics should be considered according to your call center rules on pauses and time-out.

This graph shows who of your agents answered calls for the queues you selected. The number of calls, together with total and average call durations are computed accordingly.
This graph show which priority levels handled calls for your queue. This shows whether your main line is staffed enough to handle the load of incoming calls.
By clicking on the "Detail" button, a new page is shown, detailing each agent session that was recorded.

For each agent session, the start and end times are recorded, together with the total duration in seconds.
If the agent logs on via the call back function, the designated call back extension is shown.
The number of pauses and the total pause time in seconds is shown.
The "Srv" column tells you on which server an agent was working in case you set up a cluster of Asterisk servers.
It is possible to sort the table for each title, in either descending and ascending order. To do this, click once on the desired title for descending sort, and twice for ascending sort. Once the table is sorted, an arrow symbol will appear close to the title, so you know on which column it was sorted last. As the sorting is done on the client machine, it may take a while with very large tables.
This table shows the specific pauses that each agent took and the pause code that was entered for each pause. It also shows whether the pause taken was considered to be billable or non-billable.

If you click on an agent’s name, a new popup will appear with full history for that agent. You can scroll in it as needed by using arrow keys or the wheel of your mouse.

Agent sessions are written in black, while pauses are detailed in grey under each session they were taken under. For each pause its activity code is shown (if any).
If your agents are entering Pause codes or Call outcomes, the "Outcomes" tab will let you report on the information they just entered.

The top panel will display an overview of the situation, showing:
Further down the page, you can find details explaining Billable and Non-billable activities, with average, minimum and maximum session durations, and a percentage on all activities of the same kind.

The Detailed Agent Report will show, for each agent:
The idea is that a call can be a Contact, or a specialized contact that is a Qualified Contact, or a specialized Qualified Contact that is a Sale
This is needed because all the SPH, CPH and QCPH are calculated not on the totals of each class, but on sums of that class and generic types, like:
S = Number of Sales C = Number of Contacts Q = Number of Qualified Contacts CPH = C / (logon time - pause time) QCPH = Q / (logon time - pause time) SPH = S / (logon time - pause time)
Conversion indexes are calculated as:
CO% = S / C QC% = S / Q