Voice Dialers
The dialers allow direct dialing campaigns to be generated under different types of channels and in different ways
Content
- 1 Administration
- 2 Supervisor
- 2.1 Dialers Dashboard
- 2.2 Lists
- 2.3 Timezones
- 2.4 Upload Base
Administration
The voice dialers always have to have digital lines as their own signaling (to indicate the beginning and the end of the call).
To start configuring the dialer you just go to Administrator → Dialers → Voice
Basic Configuration
First of all, we must define whether we want the call to reach the agent, the client or it will be Voice Broadcast first.
After selecting the dialer that we consider convenient according to our business, we must indicate
Name
When entering a name, automatically a new campaign is created in the system with that name and depends on the type of Dialer if the campaign will be incoming or outgoing.
For PowerDialer and Predictive it will create an Incoming Campaign, for Progressive and Preview one Outgoing Campaign and for VoiceBroadCast it will not create any campaign, can use any name.
Dial String
Example: DAHDI/G1/ o SIP/CARRIER/, there's an option to create a SIP trunk to the same server (eg. named DIALER), this trunk will use the context dialer (context created by default in the setup being SIP/DIALER/ the dial string).
This can be used in cases where a complex dial plan is required, with random DID dialing or using multiple providers based on the enumeration of the dialed number.
Caller ID
The number who makes the call.
For Preview and Progressive dialers it's possible to define a DID range to dial randomly (ex: if we define a DID 1234567-89 the dialer will dial 12345XX being XX a random number between 67 and 89)
The callerid can be assigned for each contact. See Advanced Configuration / Variables.
The remaining fields will be loaded by default with the necessary information for proper operation.
If some change is needed for other fields, please see the advanced configuration.
Add agents to the created dialer
First, go to Administrator → Campaigns → Voice
Here follow the same steps that in Campaigns - Add agents
Now your dialer it's ready to work!
Just add some lists from Supervisor - Voice Dialer
Other Configurations
For each dialer type, you can define different parameters
VoiceBroadCast and Power Dialer
Over Dial
It selects a percentage of over dial that would have the dialer. The possible values are MIN,0%,5%,10%,15%,20%,25%,....,100%,MAX, MIN and MAX which is the lower and the highest possible value. The idea is that when, for example, I take 100 channels to the dialer and in the server can not handle many requests at the same time, it's possible to lower the percentage of over dial, as this slows the dialer.AMD
If it's active, the detection of the Answering Machine, this variable arrives ${am} in 1 or 0 and may use in the flow activity to use to cut AMD calls of voicemail.
Preview and Progressive
For this type of dialer, we can define Auto Response
That makes the agent take the call without the option of not doing so.
Predictive
Max Abandoned Rate and opens up a combo with percentage values.
The next fields are visible for all dialers configuration
Type of Dialer
PowerDialer, VoiceBrodCast, Progressive (with assignation per agent), Preview (Progressive without assignation of agent), Predictive (50 agents minimum).
For any dialer of telephony, points are needed like dial string (which is usually is the output device calls), and specific context to indicate the behavior of the dialer. Also, it's important to define a certain amount of channels coherent with the physical availability of equipment.Enabled
Indicates if the dialer is active or not. Note: It is important to know that in order to make the dialer start working it must be previously enabled.Context
Context which will enter the dialer, for VoiceBroadCast, PowerDialer, Predictive is the context who enter in a connected call with a customer and match a workflow; in Progressive is the context by the call is executed to the client once connected with the agent. The context there is already pre ensembled each with the names of dialers.Maximum Channels
Amount of calls that are made simultaneously. In Predictive this area is called Max Channels per Agent.Maximum time
Maximum time of wait of call one destination or in Progressive to try to connect to an agent.Retry
The maximum amount of calls for the number in the base in Progressive to try to connect with the agent.AMD Audio
This Audio is intended to be recorded in the recipient's voicemail.Time Between Calls
Configure the time existing when an agent has finished one and the dialer delivers the next one.Random
When this button is activated, the Caller ID must be detailed. The range of the random number must be specified. For example, if the company's telephone number starts with 2709-XXXX, the XXXX characters are the ones that will be filled with the random number.An example of a random number can be 0004-5555. The number must always have the same length, meaning if we want the random number to start a non-four, in this case, digits number the user must add three zeros so the length is maintained to four.
CallerPres
For ISDN if a show or not the CallerID where the provider supports.DNCR
Do not call registry, allows verify whether blocked the registry.Schedule
Schedule a date on which it is desired that the dialer works. As an example, you can put the dialer to work from Monday to Friday from 13hs to 18hs in which the dialer will start dialing when it is on schedule.Variables
All that you want to pass throw to the workflow, to the level of the global dialer.To create a variable enter the Parameter and its Value, press the "+" button and you will see the variable in the list.
To remove a variable, we select it from the list and press the "-" button
It is possible to create a variable @formparam that is passed to the workflow so that when answering a call and raising a form it has data already entered.
It is possible to assign a calleridnum variable that contains a callerid. It's used for cases where you want to have a specific callerid by contact.
Once Saved the Voice Dialer, it will appear in the list where the user can click on it and see it's detailed in the section described before.
Apart from that, other dialer settings will be visible:
CallerID for outbound campaigns and dialers
Automatic caller ID generation
Functionality currently available for the USA.
When configuring the auto prefix assignment, the operation will be as follows:
For each telephone number to be called, priority will be given to the callerids configured as follows:
1 - If there are available callerid/s that correspond to the same area code of the destination phone, it is chosen randomly from among them.
2 - If there are available callerid/s that correspond to the same state of the destination phone, it is chosen randomly among them.
3 - Any configured callerid is used.
Schedule Dialer
Below every time frame, the user can configure the order of different contact numbers the call will be made. The initials represent:
M - Mobile (Contact's Cellphone Number)
W - Work (Contact's Work Phone Number)
H - Home (Contact's Home Phone Number)
In order to complete the configuration, an order of letters must be written, or leave the values by default that the Schedule has MWH, and press the green button "Save" to apply the changes made.
IMPORTANT!
The extra telephone numbers must be specified in the Alternative Telephones column inside the .csv file uploaded for the specified Dialer. Apart from the three types of telephones MWH, in the .csv file two more types can be specified, P for Priority and U for Unknown.
The P one will be called first and then the others specified on the schedule, and finally the U one.
The structure should be, initialNumberType=number for the main telephone number, and for the alternative telephones initialNumberType=retry=number separating each of them with two points ":".
Retry can be omitted also.
Example
Campaña | Teléfono | Data | Teléfonos Alternativos | Prioridad |
|---|---|---|---|---|
CampDialer<- | M=098344484 | var1=val1:var2=val2 | H=099124484:M=099111111 | 9999 |
File .csv:
CampDialer<-;M=098344484;var1=val1:var2=val2;H=099124484:M=099111111;9999Inside the alternative telephones, the second parameter which indicates the number of retries made for that contact with that number is useful because the dialers order changes depending on the time of the day an alternative telephone can be used as a principal number, and the principal telephone will have its number of retries saved to be done, this way rules are not broken and the order it's established.
This brings the user a huge benefit, in case we want to dial different numbers with fewer retries compared to other numbers, the user simply needs to increase the initial number of retries.
For example: If the user wants the home telephone number (H) to be re-dial 2 times and the maximum of retries for that dialer is 3 times, then the base could be:
CampanaDialer<-;M=098344484;var1=val1:var2=val2;H=1=099124484:M=0=099111111;9999This means that when it's time to call the Home telephone number, it will appear as it was already called once, therefore the dialer will make 2 retries instead of 3.
Change two options are possible as well if the type of telephone number the dialer needs to call is not known.
Principal Number type unknown:
CampanaDialer<-;098344484;var1=val1:var2=val2;H=1=099124484:M=0=099111111;9999Alternative Numbers type unknown:
CampanaDialer<-;M=098344484;var1=val1:var2=val2;099124484:099111111;9999
When this happens, the Dialer will always try to use the type that corresponds to the actual Dialer time, if not, the best chance according to the dialers order.
When the type of telephone number is not specified, this one remains as U (Unknown) and goes to the end of the list, if the other types of telephone numbers are known.
The registries are always dialed, no matter which type they have, what is done is to re-arrange them depending on the time of the day in which the agent has more chance for the client to pick up. This means that if the order is MHW, and the contacts have only HW, the dialer will start by the H, which is the second in the process order.
This makes the dialer not stop calling, but will always follow the order depending on the time of the day and the different telephones that the contacts have.
Automatic Recycling
Through the button 'Automatic recycling' we can access the modal of automatic recycling of lists for Dialers.
Using the <, >, +, - buttons you can create new cycles, remove cycles and navigate between them to configure them.
Configuration fields
Cycles
Each cycle represents recycling, that is, each time a list belonging to the campaign ends a recycling cycle will be executed for it, therefore if we configure 3 cycles each list that ends for that campaign will be recycled up to 3 times.Activate list after recycling
Allows that when a finished list is recycled the new one is added actively to the campaign, this will cause that when a list ends and its percentage of priority is distributed, the recycled list will take part of the percentage.Minutes
Allows you to configure how long it will take the list to be recycled after it finishes, these minutes are to allow time for the agents to typify the last calls and that they are recycled if they correspond.
Remember
Automatic activation of the new list is optional.
Cycles are configured with the same parameters as manual recycling.
Each cycle of recycling can have different parameters of recycling
It is advisable not to saturate more than 3 times as it is very likely that what is left is not contactable.
Priority is not assigned to the recycled lists automatically, because if this were the case, we would change the behavior defined, which initially remains at 0%.
Any list recycled either manually or automatically we will be able to see it in the list management dashboard of the Dialer.
(GIF)
Each time an automatic recycle is executed, a record is stored in BD in the recycle_log_repo table indicating:
id: self-generated for each recycling performed.
time: Date and time at which the recycling was performed.
name: Name of the list before recycling.
newname: Name of the list after recycling.
parameter: parameters defined for recycling (Order, Telephony, Management).
Qty: number of contacts that were recycled.
username: a user who performed the recycling, when it is automatically recycled the user will be 'automatic_cycle'.
When automatic recycling or a recycling cycle or a copy is created, a log of it is not saved.
Copy Recycle
This option allows you to copy settings of Automatic Recycling between Dialers, for this, we must select a Dialer, go to Automatic Recycling, and in the modal, we will see a button of Copy Recycle.
Clicking on the button will open a copy modal.
Here we will have to select the Dialer from which we want to copy the configuration, then keeping the Alt key pressed we will select the Dialers to which our configurations will be copied.
Once the Dialers have been selected, click on Copy, the copy will be made and the user will be redirected to the Dialer creation screen without any selected Dialer.
If you do not want to make the copy, press Cancel or close with the cross and return to the Automatic Recycling Configuration modal.
Dialer Rules
When we create our dialer we have the option to assign a dialing rule, the chosen rule will determine the behavior of the dialer when consuming contact lists.
In this section we select the country in which the dial will work, once selected you will be able to identify three methods to divide the lists which are:
Prefix
This option enables the dialer to identify the prefix of each contact and thus divide them according to the corresponding time zoneState
At the time of creating the list, there are parameters that can be entered, one of them is the State, in this way the dialer will connect each state to its corresponding time zoneNone
When we select 'None' as the dialing rule, dials allow you to define the time zone of each base that is uploaded.
By default the dialing rules are in "None" this means that those users who do not need rules or already have active dials will continue their operation with time zones.
For more information see Dialers - Supervisor
At the moment this configuration is allowed for the United States (USA) and Mexico (MEX).
If you require the data for another country you should contact Integra CCS.
Dialer types
VoiceBroadCast
Introduction
The VoiceBroadCast system is to make auto-dialed campaigns. A database with phone numbers is uploaded and this is sent to an IVR workflow which can be used to reproduce notifications, audios, dynamically or statically. You can also perform automatic static or dynamic surveys, as well as according to an option, the client can be redirected to a campaign.
In this case, the important thing is to set the number of channels as the VoiceBroadCast use every possible channel most of the time. The format of the list is the same for all dialers.
In the variables section, 1 of them stand out, VBQUEUE, dictates to which campaign the client will be redirected.
Dialer steps
The dialer obtains the number of calls to make, if the amount is 0 it waits and asks again, else it obtains according to:
The number of available channels (Maximum - Used).
The dialer gets the contacts according to the amount and the next rules:
Asks for scheduled contacts that are in the first place.
Asks contacts active lists orderer by priority and ascending retries (depending on the percentage each one.
If DNCR (do not call registry) is active, it only lets to make the call if the number is not on the blacklist.
All variables are sent to the workflows either campaign or contact.
The contact registry of the dialer is sent with retry + 1 to the business logic, this allows to create of the Respooling Logic (to reinsert the contact for not being able to be reached with its alternative).
If the amount of retries for a number is exceeded, then if alternative numbers exist it obtains the first and inserts it as the main number, then the rest of the numbers are left as alternatives and the process starts again.
The call is made.
If it is unattended or an error occurs, the amount of retries is increased and the contact goes to the bottom of the list to be dialed later.
If it is attended, the assigned workflow is executed step by step, at the end, the lit is deleted, if a Respooling exists I continue dialers.
Static
Base.csv
campaign | telephone | data | alternative numbers | priority |
|---|---|---|---|---|
test1 | 098344484 | NAME=Sebastian Gutierrez:Amount=200 | 099124484:099111111 | 9999 |
Example
test1;098344484;Name=Sebastian Gutierrez:Amount=200;099124484:099111111;9999Variables that arrives to the flow: ${sound},${am}, ${FORM}, ${VBQUEUE} are all configured variables for that campaign.
Dynamic
When the user creates a dialer, if the audio area is not specified, it is possible instead of being a simple flow of BroadCast, to design IVRs where dynamical dialers are generated automatically.
In order to do it, the .csv file must follow a specific camp order, highlighting the third column, which contains different parameters that form the dialer. Each one of these parameters has its own initiative to identify itself, followed by a value as explained next:
Amount(M)
Date(F): F_parametersName=day-month-year
Digits(D): D_parametersName=digit
Audio(A): A_parametersName=audiosName
Each parameter must be separated with two points ":" and every camp with a semicolon ";". The user can add as many as she/he wants depending on the Voice Broad Cast wished to be created.
Depending on the order that the user writes every parameter in the .csv file, will be the order in which the dialer will reproduce them. It's important to have in mind that the audios must be registered in the system with the same name.
File.csv base
Campaign | Telephone | Parameters | Aditional Telephones | Priority |
|---|---|---|---|---|
CampVoiceBroadCast | 098344484 | F_date1=02-02-2016:A_audio1=Desestime-BG:M_amount1=258.54 | 099124484:099111111 | 9999 |
Example
CampVoiceBroadCast;4441222;F_date1=02-02-2016:A_audio1=Desestime-BG:M_amount1=258.54;099111111;9999In this case, the Dialer, when the call is picked up, will reproduce the date 02-02-2016, later on, it will vocalize the audio Desestime-BG and finally the amount 258.54.
Progressive and Preview
Introduction
In this case, this dialer is one step below regarding PowerDialer or Predictive to maximum automation, but we are still on a system of purely automatic calls. The Progressive dialers are based on the Agent's availability.
The progressive dialers, usually are very suitable for Centers with a low or moderate volume of calls, where they would not be able to collect enough information to obtain reliable statistics.
Basically, it calls the agent and when it answers the call is made, this makes that many attempts could be busy, wrong number, etc using time from the agent. The workflow that is used is the outbound, that is why we use outbound campaigns on Progressive and not inbound (there is no queue handling but it exists the wrapup concept).
Progressive: Each contact has an agent’s contact information associated, which means that that agent will be the only one to interact with that client/contact.
Preview will call any agent
Dialer steps
The dialer obtains the number of calls to make, if it is 0 waits and asks again, else it obtains according to:
Amount of available Agents that are not in the wrapup
This dialer obtains the contacts according to the quantity and the next rules:
Asks for scheduled for each available agent.
Asks for that campaign the active list sorted by priority and amount of ascending retries (by the percentage that corresponds to each one).
If DNCR (do not call registry) is active, it only lets to make the call if the number is not on the blacklist.
For these two types of Dialers, the Auto-answer box will be activated by default. For this case, the incoming client call will be automatically answered.
All variables are sent to the workflows either campaign or contact.
The contact registry of the dialer is sent with retry + 1 to the business logic, this allows to create of the Respooling Logic (to reinsert the contact for not being able to be reached)
If the amount of retries for a number is exceeded, then if alternative numbers exist it obtains the first and it is inserted as the main number, then the rest of the numbers are left as alternatives and the process starts again.
If it is unattended or an error occurs, the amount of retries is increased and the contact goes to the bottom of the list to be dialed later.
The call is made to the agent, if for any reason it could not be answered, it will be retried without affecting the number of retries once the agent is available again.
The contacts registry is sent to the Agent so that actions could be made based on the business logic and to be able to make the Respooling for the contact if it is required (having all his data). The agent also gets data from the CTI (to be able to open forms with the data of the client to call)
Base.csv
campaign | telephone | data | alternative numbers | priority | agentphone |
|---|---|---|---|---|---|
test1 | 098344484 | NAME=Sebastian Gutierrez:Amount=200 | 099124484:099111111 | 9999 | 1001 |
Example:
test1;098344484;NAME=Sebastian Gutierrez:Amount=200;099124484:099111111;9999;1001ReverseProgressive
Hybrid dialing through which the system will dial customers from a list assigned to each agent.
For this, an option is included in the progressive dialer configuration that activates this dialing mode by executing the logic mentioned below:
This flow is incorporated as a variant of the Progressive dialer, which will first try to communicate with the customer, and once the client answers it, it will pass the call to the queue and then forward it to the agent for which it was assigned as long as it is available.
If the customer does not answer the call or if the call is answered by an answering machine, then that call is not communicated to the agent (it is discarded for that attempt) and will be retried for the cases in which the dialer has configured the retry of non effective calls.
According to the above, the dialer will discard the calls that are classified as unanswered or as voicemail and will not pass them on to the agent.
For cases where the agent is not available (with a call in progress or paused), the dialer will not execute the call.
The progressive dialer includes an option in its configuration called Reverse that allows you to enable the aforementioned logic.
Once this type of dialer is created, it will not be possible to return to a normal progressive, so it will be necessary to delete the marker and create a new one if necessary.
To identify the dialer when creating it, you will see an inward arrow ← indicating that the Progressive type marker is now Inbound instead of Outbound.
Power Dialer
Introduction
Unlike Progressive, the Power Dialer does not call the agent first and then makes the call, it is very similar to a Predictive but with a more Real-Time calculation of over dial, this is a good fit for smaller groups of Agents and will respect the maximum channels configured for the dialer.
The first thing that the system does is to dial while existing available agents to answer calls on the campaign, for example, if there are 2 agents available, it is going to make 2 calls simultaneously and until one is contacted, once a client is reached it is sent to the campaign. In 99% of the cases, the agent should be free to answer instantly. This avoids having to deliver busy or inexistent calls to the agents and deliver only the ones answered. This way of working is exactly de same on VoiceBradCast dialer, PowerDialer, and Predictive, the only thing that changes is the number of calls that are being executed, If we have an over-dial rate, then will behave as a Predictive dialer, where we have abandon rate.
The PowerDialer tries to have all the agents with a call with its over the dial.
Dialer steps
The dialer obtains the number of calls to make, if it is 0 waits and asks again, else it obtains according to:
Normal Mode (Over Dial 0%): Amount of available Agents that are not in wrap-up without exceeding the max amount of channels for that campaign.
Over Dial Mode (Over Dial X%): Same as Normal Mode but with a real-time model or selected percentage of over dial model.
The dialer obtains the contacts based on the amount and the next rules:
Asks all scheduled.
Or any other contact that is scheduled for that campaign with maximum priority.
Asks sorting the contacts by Priority and Amount of retries ascending (depending on the percentage of each one).
If DNCR (do not call registry) is active only let to make the call if it's not on the blacklist.
All variables are sent to the Workflow, either campaign or contact.
The contact registry of the dialer is sent with retry +1 to the business logic, this will allow creating the Respooling Logic (reinsert the contact for not being able to be reached).
If the amount of retries for that number is exceeded then if there are alternative numbers, the first one is set as main and the rest are left as alternatives and the process starts over.
The call is made.
If it is not answered or an error occurs, the amount of retries is increased and the contact goes to the bottom of the list to be dialed later.
If it is answered and AMD is enabled then if it is MACHINE the registry is reinserted with the next alternative number unless it is the last retry of the contact. If it is HUMAN is going to the ACD to be distributed between the available agents.
If it is answered and AMD is not enabled it goes straight to the ACD to the agents.
The contact registry is sent to the agent so that actions could be made based on the business logic and to be able to make the Respooling of the contact if it is required (having all his data).
Base.csv
campaign | telephone | data | alternative numbers | priority |
|---|---|---|---|---|
test1 | 098344484 | var1=val1:var2=val2 | 099124484:099111111 | 9999 |
Example:
test1;098344484;var1=val1:var2=val2;099124484:099111111;9999Predictive Dialer
Introduction
The Predictive dialer's behavior is based on phone numbers databases, and they do it as their name says, in a "predictive" way.
This means that comes into play an algorithm based underlying on statistics strategies, which take multiple variables from the Call Center and calculate various factors to be able to put the Agents in contact with the contact numbers in the most efficient possible way.
By general rule, the main utility and advantage of the Predictive dialers reside on the volume of calls from the Centers in which are based on, given that they are grounded on statistics techniques, their most reliability redounds on the Law of Big Numbers. This is why in small Call Centers it is little recommended for its base behavior.
Essentially, the conceptual idea behind the predictive dialers is:First, the ideal time to make calls to clients must be calculated using various statistics strategies, which includes:
Calculate the average time between each call that results in success, and each call that fails.
Calculate the average proportion of calls that result in success and failure and with that, it is weighted an average estimated time for all calls in general.
Use other factors that affect the times, such as average preparation time to accept another call from each agent and Wrapup
The more sophisticated the algorithm is, the better in general terms the Predictive Dialer will be. In fact, this is one of the key factors that will determine its success in the future. A lot of predictive algorithms are based on the Erlang distribution.
In the second place, the calls are launched for the numbers stored on the database, abiding by this calculated time:
With calls in progress, the Predictive dialer must be able to identify any type of inconvenience where the client could not be reached, mainly for the type of tone he receives, according to the national convention of tones from his country.
Also, it is able to detect Fax tones and other possibilities that follow some type of standards.
In case that an event of this kind occurs, depending on the event, the application must be able to dial the phone properly according to what happened.
Besides the ability to detect VoiceMail given that by general rule they are "Not available" symbols, to be able to try the call again later. The detection is relatively easy, in the function of the total voice response time, since the majority of the answers of physical people use to be a simple "Hello?", while the answering machines often use long phrases.
At the time it receives an answered call, it is sent to the Agent's queue to be answered shortly.
With this system, the agents will only lie in wait for the machine to do its work, and by general rule, they do not have the possibility to take the call if desired, this will put directly in communication with the agent.
Firstly, this method can be ideal and, if we are really in front of a quality Predictive Dialer, this premise is true. But in return we are dealing with some inconvenience that we must overcome when choosing this type of Dialers:
If on the interval in which the agent answers a call and the operator receives it there is no answer, it is probably that the client abandons the call. In this case, most of the Predictive Dialers put the number to be called in the future, but we can generate dissatisfaction on the client.
If we want to use it for commercial purposes from Business to Business, it is possible to be quite inefficient, because most of the Business uses an IVR which is likely to prevent our Predictive Dialer from completing its purpose in good conditions.
As we mentioned, if we have few calls in the Center, it is possible that the statistics algorithms do not return quality numbers and so the first problem occurs, being a very inefficient system.
Base.csv
campaign | telephone | data | alternative numbers | priority |
|---|---|---|---|---|
test1 | 098344484 | var1=val1:var2=val2 |