Running a small call-center with QueueMetrics and Trixbox

Loway

Revision History
Revision $Revision: 1.7 $ - covers QueueMetrics 1.6.1.0$Date: 2010/10/06 07:39:12 $L

Table of Contents

1. Turning TrixBox or AsteriskNOW into a call-center solution
1.1. Call centers 101: the very basics
1.2. Prerequisites
1.3. Software versions
1.4. Tutorial organization
2. Running an inbound call-center
2.1. Logging in into TrixBox
2.2. Installing QueueMetrics
2.3. Installing the MySQL loader - Qloaderd
2.4. Configuring TrixBox or AsteriskNOW
2.5. Configuring QueueMetrics
2.6. Running QueueMetrics
2.7. Listening to calls
3. Running an outbound call-center
3.1. Things you should know about outbound
3.2. Configuration changes
3.3. Call listening
4. Getting more information
4.1. Getting a QueueMetrics temporary licence
4.2. Getting help
4.3. Common differences between TrixBox and AsteriskNOW
4.4. Common problems and solutions

Revision history:

1. Turning TrixBox or AsteriskNOW into a call-center solution

You probably already know that by using TrixBox (TB) or AsteriskNOW 1.5.0 you can install a fully featured Asterisk-based PBX in a matter of minutes. This PBX is very good for most users as it is preconfigured to handle the most common scenarios one can find in a personal environment or in a small to medium sized office.

Still, the typical usage patterns of a small call center are quite different from the ones you are likely to find in a classical PBX, because:

  • Agents spend almost their whole working day being available to answer the phone (as opposed to standard PBX users who use the phone occasionally while doing other work); handling and answering calls for them has to be made as easy as possible.
  • A call center is usually a high-density commercial enterprise; therefore it has to be run and monitored using tools that are able to immediately report on how things are going, quickly identify bottlenecks and address them.

In our opinion, running a successful call center is more a state of mind than a given set of telephone equipment. What makes a difference is not the number of extensions, queues or agents you have; is a mindset where you consider that the customers calling in are actually very important and you do your best to serve them well within given budget limits.

Maybe you just run a small computer-repair shop and have a couple of lines coming in. What is the cost of having people waiting or calling multiple times because they cannot talk to anybody within a reasonable time? What will your clients think about you? On the contrary, what will your clients think of your Customer Service Department if it always answers on the very first ring? And how do you know if your technicians actually answer the phone when the calls come in or wait five minutes because they are doing other things? These are the questions you should ask. If you follow the guidelines in this document, you’ll find an easy way to start answering questions like these.

Running a call-center, therefore, is not a matter of having multiple PRIs or special hardware. In most cases, you will not even need a separate box from your main PBX running TB. You will only need some software and a bit of configuration to set it up correctly.

1.1. Call centers 101: the very basics

Before we start building a small call center, we have to focus a bit on the terminology:

  • A campaign is a set of calls that belong to the same scope, e.g. your technical support versus commercial support lines are different campaigns, though they may be staffed by the same agents.
  • An inbound campaign is devoted to answering people calling in, while an outbound campaign is made up of agents dialling out. Call centers often mix inbound and outbound activities in order to optimize the use of available resources.
  • A queue is the physical implementation of an inbound campaign. The queue receives calls and routes them to the available agents according to a predefined logic (usually, FIFO for the calls and round-robin for the agents). In call center terminology, this functionality is often referred to as the ACD (Automated Call Distribution).
  • An agent is a person working at a call center. The agent is different from a casual user as an agent logs in and out, in order to tell the system when he is available or not. In this way, the ACD searching-logic minimizes agent searching time, as it hardly ever has to ring up an agent that is not available.

An agent can be working on one or more queues: whenever he is available, all calls coming in to any queue he’s working on will be routed to him.

In this tutorial, we will learn how to create both inbound queues and outgoing campaigns and the proper agent setup to handle them successfully.

1.2. Prerequisites

To follow this guide, you will need an already-installed, reasonably modern TB or AsteriskNOW instance. It may be your home or office PBX. This tutorial was developed for TrixBox 2.8 and its derivatives, but applying it to different versions should be anyway trivial.

You can follow this guide completely while having your PBX running, so there is no need for a prolonged downtime. You will need at least a couple of telephones to test your setup, and a land line you can use.

You should be familiar with how to use TB as a basic PBX: creating extensions, connecting to external lines and so on.

1.3. Software versions

The following tutorial was created using the following set of software:

  • TrixBox CE version 2.8.0.4
  • Asterisk version 1.6.0.26-FONCORE-r78
  • FreePBX core version 5.5.2.4
  • QueueMetrics 1.6.1

or, for AsteriskNOW:

  • AsteriskNOW version 1.5.0
  • Asterisk version Asterisk 1.4.24
  • QueueMetrics 1.5.1

There may be minor differences caused by minor revisions of the software if you have a different version installed.

1.4. Tutorial organization

This tutorial is split into two separate parts; one for inbound and the other for outbound. They can be implemented separately, though system-wide changes are explained only for inbound, to avoid duplication.

For each queue/campaign, for both inbound and outbound, we will show how to:

  • Define it in TrixBox and QueueMetrics
  • Associate agents
  • Have agents use their QueueMetrics’ agent page
  • Run statistical reports and real-time monitoring
  • Keep recordings of all calls made and play them back as needed
  • Listen to live calls as they are happening

In our scenario, we have a fictitious set of queues and agents that work on them. They are defined as:

Queue code Campaign name Direction Agents working on it Extensions

300

Support EN

Inbound

200 and 201

400 and 401

301

Support ES

Inbound

200

400

302

Helpdesk

Inbound

201

401

350

Callback

Outbound

200, 201 and 202

400, 401, 402

Each agent is defined by his/her agent code; as you can see, extension codes are now separate and linked to the physical extension being used. You can have agents logging on from different extensions and still being able to accurately track their activities.