Webitel supports three types of dialers:

  1. Voice Broadcasting

  2. Progressive Dialer

  3. Predictive Dialer

Each of them has common and individual settings. Let me start with looking into differences between them.

Dialers’ types

Voice broadcasting (or another name is IVR Dialer) - is used to deliver a pre-recorded message (or Text-to-speech) to a large call list. When a call is answered, dialer will play the audio file (or TTS), and then collect touch tone key responses or speech commands at the end of the message, and then transfer the call to an agent or remove the caller from the call list.

Progressive Dialer (or another name is Power Dialer) - enables telemarketers, sales teams, and call centers to dial a list of phone numbers automatically and completely hands-free, thus, saving them valuable time and energy that would otherwise be wasted dialing by hand. Progressive dialer reserves an agent and dials a phone number from call list.

Predictive Dialer - is a state-of-the-art pacing mode used to call a large number of customers within a short period of time. Predictive dialing optimizes the time of agents by reducing the idle times between connected calls and freeing agents from dialing calls. Predictive dialing gathers statistics about the duration of calls, how long it takes for calls to be answered, and how often calls are answered. When an agent is about to become idle, Webitel places several calls and tries to bridge them with free agent.

Now let’s move on to settings that are common to all three types of dialers.

General settings

Let’s talk about general settings for all types of dialers. You can see a General tab in the dialer’s settings page. If I change Type, I get some additional fields specified for this dialer type. Now, check the Voice broadcasting settings:

  • Name - this is a custom name of the current dialer

  • Priority - the priority of the current dialer among all other dialers in Webitel. The highest digit is the highest priority of the dialer

  • Calendar - whiсh calendar to use for this dialer. Lets see setting of the calendar. You can create a calendar with Timezone, operation hours, days of week and holidays exceptions. Also, you can set a cycle  for holidays that will repeat each year. When calendar is created, it can be used for one or more dialers at the same time.

  • State - is a current state of the dialer. It can be:

    • Idle - new dialer, not started yet

    • Work - the dialer was started

    • Stop - the dialer was stopped

    • End - the dialer has finished all members in a call list

  • Members strategy - how to select a member from a call list. There are 2 options:

    • Next tries circuit - select a member from a call list by priority, created time and next try time. When we have talk with a member and we’ll plan the next time to reach this member, dialer will include this member in due time.

    • Strict circuit - first of all, each member must be selected one time sorted by priority and created time. Only after first full circuit, dialer will choose a member with planned time to call.

  • Number strategy - describe phone number selection strategy within one member  if it has more than one phone number. There are 2 options :

    • Top-down - will make one attempt  for each phone number from top downward (from up to down/top down) ordered by priority.

    • By priority - will do all attempts for numbers in the same communication type, and when one communication type is over,  dialer will select another communication type. All Communication types are sorted by priority.

  • Eternal queue - it  means that current dialer will not stop automatically, even if the task was completed and we have no more members at a queue.

  • Record session -  enable call recording.

  • One day task - All the attempts to reach the member(s) are planned for one single day. All members are to be processed  on the day that they were added. And vice versa if we couldn’t reach the member in one day (until midnight), we end call attempts with MEMBER_EXPIRE end cause.

  • Auto reset dialer statistics - if enabled, dialer will automatically reset all statistics about attempts and agents at midnight. Statistics will be collected only from midnight till midnight according to  the calendar timezone.

  • Retries by number - if enabled and member has several phone numbers with the same communication type, dialer will do attempts for each number. If disabled, the quantity of attempts will be separated between numbers with the same communication type.

And if we change type to Predictive Dialer, we’ll get a new field - Playback file. You can select an existing file from Media. In the menu Media you can upload a file or generate a new file from text by Text-to-speech functionality.

Now let’s take a closer look at the Parameters tab:

  • Limit - quantity of concurrent calls. Maximum number of calls the dialer can place at once.

  • Wait between retriesdetermines how long (in seconds) the dialer will wait before trying to call the member whom we just failed to reach again.

  • Maximum number of retries - grand total quantity of attempts to reach a member by all its phone numbers.

  • Originate timeout - determines how long in seconds an originate action should take before the member answers the call.

  • Minimum succeed call duration - determines how long the conversation must be in seconds so that dialer sets success status to the member.

For Predictive and Progressive dialers you can enable Waiting for result parameter and field Minimum succeed call duration will be replaced by Result timeout. This parameter determines how long in seconds dialer will be waiting for a call result from an external application (for example, Luxbase). If we do not get a call result during this time, dialer will set unsuccess status to the member and plan a next attempt in time that was determined in the Wait between retries field.

For Predictive dialer there are additional parameters related with prediction algorithm:

  • Start predict adjust - Determines how many calls to take in order to start a prediction algorithm. The prediction algorithm works only if there are more than 5 agents on the task.

  • Target predictive silent calls - The overall percentage of silent calls that you want to achieve. The default is 2.5%

  • Max predictive silent calls - The maximum percentage of silent calls that you will allow in a 24-hour (midnight to midnight) period. The default is 3%.

  • Start predict call count - the predictor will start a prediction or calculation after reach the number of attempts. After, this number of calls the dialed will already have some statistics to predict the next calls.
  • Start predict bridged call count - the minimum number of successful calls from the Start predict call count for forecasting.
  • Max wait time(in seconds) - Maximum connection time between client and the agent.

For Predictive and Voice Broadcasting you can enable AMD - answering machine detection (or voice activity detection). This module helps to cut off all FAXes, auto answering machines or turned off phones. After call was started, AMD will return one of the following results:

  • NOTSURE: time is over and decision could not be made. If Transfer NOTSURE to an agent is enabled, dialer will transfer such calls to an agent.

  • HUMAN: if a human is detected - transfer call to an agent.

  • MACHINE: if a human is not detected - hang up the call.

All this values in the boxes are recommended for English and should not be changed.

Communications

Let's move to the Communications tab.


Here we can create different types of communications, set them the best time for calling, priority (if we have crossover types) and number of attempts. All fields are required. You can add the same communication type with a different time range. All time ranges have lower weight than a time in the calendar. If you set time from 8PM till 10PM for some type, but at your calendar work time finish at 8PM, this mean that dialer will newer dial phones with such communications type. The highest digit is the highest priority of the 

Call routing

Let’s jump to the Call Routing tab.


This tab holds settings related to our phone line capability and dial rules. In the most cases this settings will done by an administrator. Here we set the regular expression for phone numbers, the phone line (one or more. It can be VoIP lines, GSM gateways or some PRI gateways). All you need to know that are your limits. We must have a capability of the lines the same or a higher that we set it in the field Limit at the General tab. All our phone lines must be added in the Gateways module. Only administrators have access to this module.

Callflow

Now Callflow tab. This tab is present only for Voice Broadcasting and has a settings about call execution when member is on the line. We can open our visual designer and look what exactly it can do.


You can playback one or more audio files or just generate file on the fly by using text-to-speech functionality. Currently we support two service providers - Microsoft and Amazon. This is more than one hundred different voices for about a forty languages. You can use any variable to create a personal messages for members. Next, you can communicate with the member by getting pressed digits (like an IVR menu with DTMF) and do some actions - play another files, transfer to a queue or realize a HTTP request. We can build almost everything what we need for outbound task without agents.

Agents

And like Callflow tab is present only for Voice Broadcasting, the Agents tab is for Predictive and Progressive dialers.


And before we will look at agents setting, we must go to the Directory section. The webitel’s extension must have an agent option enabled! If you don’t do it, an agent never receive the calls from a queue.

First setting is distribution strategy - which available agent should be bridged with a member on the line. There is we have:

  • With least talk time - rings the agent with least talk time

  • With fewest calls - rings the agent with fewest calls

  • Random - select agents in random order

  • Longest idle agent - rings the agent who has been idle. In the most cases this strategy is prefered.

Right after a distribution strategy we must set some time related settings:

  • Call timeout - is set how long dialer will try to reach an agent that goes unanswered with no answer error.

  • No answer delay time - If the agent does not answer the call, the dialer waits for specific defined amount of time before trying him again.

  • Max no answer - If the agent fails to answer calls this number of times, his status is changed to On Break automatically.

  • Wrap up time - The amount of time to wait before putting the agent back in the available queue to receive another call, to allow her to complete notes or other tasks. This is a time that agent have for a rest between the calls.

  • Reject delay time - If the agent presses the reject button on her phone, the dialer waits for specific defined amount of time.

  • Busy delay time - If the agent is on Do Not Disturb, wait for specific defined amount of time before trying him again.

And on the bottom we have multi select menu for selecting agents. On the right side we have agents list, on the left - the agents, whom we chose for this task.

You can’t add an agent after queue has been started. Add all agents, only after that - start a queue.

Members

And now, let's move to the Members tab.


Members - this is our call list. We can add member by press button “Plus”, or upload via CSV file import util, or using an external application that transfer our call list from SQL’s getaway table. Let’s open member’s card and look on it. As you can see, there is we have:

  • Name - in our project this is a case number

  • Priority - right now we doesn’t use this setting

  • Expire - the maximum allowable time for dialing a member

  • Attempts - show us how many call attempts were already done

  • Next try - show us when dialer plan to do a next attempt to dial this member

  • Communications tab - phone list. We have type that we chose from previously created list, phone number, some descriptions, priority and  information about how many call attempts already made. In our project we set phone code from Luxbase inside description field.

  • Variables - any variables for this member. In our project among other variables we have deb sum and DPD value. This variables also can be used in the outbound IVR.

  • And the last one is the Log tab - it shows us detailed informations about this member: for example, when dialer made a call, what hang up code was, AMD result, which agent talk with him and, of course, how long it was. You can play a call recording file by clicking on this button.

And that button will open a call detail information - it’s useful for an administrator to debug a phone call.  Another useful informations on this page is about call result - you can see all data that we get from SQL or CSV file.

With reset button we reset information about all attempts with the members whom we didn’t succeed to reach and start to dial them from the beginning. The function of this button doesn’t apply to successfully finished calls with members. It can be done ONLY when dialer has finished to do all attempts.

Integrations

This tab allows you to upload Members from SQL or CSV file and download results.

Integration with MS SQL

Import members CSV

First of all, you need to prepare a template:

At this example, our CSV file contains member's name and a phone number. Now we can Save the template.

Let's run an import:

Upload your CSV file with the Members:

You have done it!


Export statistics CSV


When the dialer finished, we can download all retries that the dialer has done. We also need to prepare a template:

Select all fields that you need and save the template.

Now you can run export each time when dialer has finished work:


940pxMonitoring

Let's talk about each widget on the Monitoring page.

General tab has such information:

  • First widget show us a last dialer’s time of Start, Sleep or Stop

  • Current number of the active calls

  • Service Level - a percent of abandoned calls vs total amount of answered and recognized as human calls. The lower value is better

  • Utilization - a percent of average agent’s busy time vs idle time except on-break time. The highest value is better.

  • Call attempts:

    • All - Grand total attempts made by dialer

    • Connected - calls that were answered from another side (member or phone provider)

    • Bridged - calls that was bridged with agent

    • Machine - a percent of the calls that were recognized as a Machine from total answered calls

  • Agents:

    • Logged-out - agents who are logged out and not working now

    • Waiting - agents who are available and ready to receive a new call

    • Busy - agents who are talking or wrapping-up

    • On-Break - agents on the break

  • Connect rate - how many attempts dialer was made to get an one answered call

  • Silent calls - a percentage of abandoned calls vs total attempts

  • Calls per agent - Average calls per agent

  • Avg idle time - Average idle time per agent

  • Avg ATT by agent - Average talk time per agent

  • Avg AASA by agent - Average agent speed of answering call per agent

  • Members - show us total members count at a queue and percent of the finished members.

  • Members by end cause - show a count of the members by final end cause

  • TOP 10 hangup causes - show a most hanging up causes for attempts

  • Communications types - a pie chart that show communications type for not finished members

  • Callback success - show call results from Luxbase. If we did receive a call result, you can see timeout on the chart.

  • Callback description - show call result information from Luxbase


Remember, information on this tab is not in real time - it updates every 10 seconds.

Call routing - this one shows us how our phone lines are used.

History - show an information about dialer execution history. Something like a work log.

Agents tab show real time information about agents’ status. You can click on the status name and hide or show some statuses. For example, if you don’t want to see agents that are logged out - just click on it and it will get hidden.

Now, we will look on the columns in the table:

  • Extension - an agent, his current status and how long he is on it. By click on the status name, you can change his status manually.

  • Calls - how many calls received by an agent.

  • Missed calls - the call was distributed to an agent but he didn’t answer a call.

  • ATT (average talk time) - the average time that an agent spends talking to customer (member).

  • AASA (average agent speed of answer) - the average time is taking an agent  to answer a call after it starts ringing.

  • AIT (average idle time) - the average time that an agent waiting for call.

  • Utilization - the percent of a time that an agent was busy.

  • Last offered call - the time when last call was distributed to an agent.

  • Last logged in - the last time when an agent made logged in action.

  • Last logged out - the last time when an agent made logged out action.

  • Statuses - the absolute time that an agent spend at each status.

And last but not least: if you have enabled Auto reset dialer statistics setting, all information will be cleared every midnight.