The Many Telecom Applications of Asterisk

Over the course of the past few articles in the series, we got familiar with the general Asterisk environment, the typical hardware involved and the implementation of a basic IP PBX, which is the most important Asterisk application. In this article, the author outlines multiple applications that can be based on the Asterisk platform, which will help to understand its potential as a telecommunications platform.

Asterisk has been conceptualised as a generic switching platform, on which a variety of telecom applications can be run. Let’s list and describe these.
IP PBX (IP Private Branch eXchange)
IP PBX is IP based equipment, which can be used for internal communication within companies (commonly known as an intercom) and for employees to communicate with the outside world. The telephones in the company are connected to the PBX to enable internal communication. Trunk lines, which could be analogue, digital, GSM or IP, will be connected to the PBX to enable external communication. Over the previous articles, I have mainly focused on Asterisk as a PBX, and therefore further elaborate details have been avoided here.

IVR (Interactive Voice Response)
Today, it is common to obtain a menu when we call our bank or insurance company. A recorded voice will ask us about the intended transaction, personal details, etc, and provide us appropriate information or direct us towards a human agent.
A common IVR is the welcome menu at most companies. When a customer calls the central number, the IVR is activated. As first, it plays a message like, “Welcome to *astTECS. Please press 1 if you want to talk to a sales person, press 2 for technical assistance or 3 for any other matter.” The number the customer presses is transmitted as a dual tone multi-frequency (DTMF) signal from the phone to the IVR server. Depending on the input, the call is transferred to the ‘Sales’ queue, the ‘Technical’ queue or the ‘Admin’ queue.

Many companies have reduced their manpower requirements by deploying powerful IVRs. The call centre IVR for banks is a typical example. Most of them play the welcome message, ask users to select the language, carry out the authentication in the selected language and connect to the respective department. In many cases, where the customer requires just the account information or card status, the process is completed without any manual intervention. The IVR script itself will query the database and provide the information in a recorded voice or a text-to-speech (TTS) engine.

A typical IVR, as in a company’s welcome script, is static—including the voice recordings. Dynamicity can be brought in with the integration of the following components.

  • Database: The IVR script can query a database as well as store information into a database. Based on the data stored, the flow can be controlled or different information can be presented. The account status of a particular customer can be presented, after querying the database.
  • TTS (text-to-speech): TTS engines help to read out the texts or numbers obtained from the database.
  • Voice recognition: It is cumbersome for customers to type in all the numbers requested by the IVR, especially in the era of mobile phones. In the case of desktop phones, the process is manageable, as the number pad is in front of the user on the desk and only the headset is near the ear. With voice recognition, users can voice their choices, and the voice recognition engine will translate the voice to commands or information and control the flow.

As the world moves towards increased automation, the trend is to deploy more and more IVRs for all types of applications.

Figure 1: A very simple IVR

Call centre diallers
A dialler is another strong application based on Asterisk. To understand how it works, let’s imagine a call centre in which multiple agents are seated, dialling thousands of customers. Typically, the team lead will provide them with a list of numbers and the agents will try to call each one of them. Most of the numbers will be non-reachable, busy or may not be picked up. Normally, a call centre agent needs to attempt at least three numbers to make one successful call. Assume that each attempt takes 30 seconds, and the successful call needs 60 seconds of talk time.
Total time for one call = (3×30) + 60 = 150 seconds
Total talk time = 60 seconds
Efficiency = 60/150 = 40 per cent

It’s clear that 60 per cent of the agent’s time is being wasted in non-productive work. For a call centre with 100 agents, 480 man hours are wasted every day, assuming an eight-hour day. With the average salary of an agent being Rs 10,000 per month, this amounts to a productivity loss of Rs 600,000 every month.

The dialler helps you save this huge wastage. How? The numbers can be uploaded into the dialler database and the dialler software will make the calls. The system automatically detects conditions like ‘not reachable’, ‘busy’, ‘network congestion’, ‘not answering’, etc. In case the call is established, the line is connected to a live agent.

Automatic answering machine detection is also included to avoid agents being connected to answering machines. If there are five agents, the system will send out 20 calls, so that the idle time for agents is reduced. The key is to find the optimum ratio, so that less manpower is wasted waiting for connected calls. The optimum ratio depends on multiple factors like lead quality, the day of the week, the time of the day, etc. Dialler software also enables redialling the unsuccessful calls, based on the reason the call failed on the first attempt.

Dialler software provide a lot of reports, which help the management to efficiently run the call centre. Agent-wise reports give an overview of the time utilised by each agent, including talk time, wait time and pauses. Similarly, we can also get data like the success rate with each list of numbers, average call duration and disposition status. Vicidial is the most popular open source dialler, which can be downloaded from

ACD (automatic call distribution)
While diallers are used in outbound call centres, inbound call centres use ACD systems. The agents are connected to the ACD and segregated into different groups. The incoming call can be distributed among these groups of agents in multiple ways:

  • Language: A simple IVR may help the customer select the preferred language and based on the selection, the call is forwarded to the respective language group.
  • Skills: The agents are divided according to their skillsets, and the calls routed based on the skillset requested.
  • SLA: The grouping of agents will be based on their experience levels and the routing can happen based on the SLAs (service level agreement), like platinum, gold or silver.
  • Region: The caller’s region can be ascertained based on the caller ID and routed accordingly.
  • Demography: Callers may identify themselves and the routing can happen depending on their demographic attributes.
    Similar to outbound calling, in inbound calling also, multiple reports are generated like agents’ occupancy, call waiting times, and so on.

Voice blasting
Voice blasting is the method of calling a list of numbers and playing a pre-recorded message. The system will call each number, and if the call is established, it will play the pre-recorded message. The system also keeps track of the call status of the unsuccessful messages and tries a configured number repeatedly to deliver the message. Detailed reports of the complete status are provided.
Voice blasting with IVR is quite a popular technique for hot lead generation. The system will dial the customer and the IVR will ask if the client would, for example, like to buy a car. Upon getting a positive response, the IVR can ask about the client’s budget. Based on the answers, the system can generate hot leads for various car manufacturers at different price ranges.

Voice logger
The conversation between the employee/agent and the customer may be recorded for the following purposes.

  • Quality monitoring: The competence as well as communication skills of agents need to be checked from time to time.
  • Training: The agents need to be trained based on the samples generated.
  • Spying: Employees need to be monitored, to prevent them from passing on confidential information.
  • Successful calls: Call centres need to keep track of the successful calls and pass on the voice recording to end customers for payment-settlement purposes.
  • Proof of transaction: Call centres, like share broking agencies, need to keep recordings to have proof of transactions, in case of disputes later.

Voice logger software enables recording of conversations happening in the system, based on the configuration set. The recordings will also contain information about source, destination, time, disposition, etc. A graphical user interface (GUI) is normally provided with which users can filter the files required and listen, download or delete them.

Being a generic switching platform, multiple applications based on Asterisk are possible. Mark Spencer, the founder of Asterisk, has provided many generic interfaces to enable development of a series of applications. The community has gone ahead and developed all these applications, which helped Spencer realise his vision of revolutionising the telecom world with Asterisk.


Please enter your comment!
Please enter your name here