Difference between revisions of "Auto-Dialer Addon"

From Kolmisoft Wiki
Jump to navigationJump to search
 
(40 intermediate revisions by 10 users not shown)
Line 1: Line 1:
''This addon is available starting from  MOR 6''<br><br>
=Description=
Auto-Dialer addon lets you call an array of numbers automatically. When they are answered, it plays back a prerecorded message to the receiving end of the call.
 
It can be used in telemarketing.


Auto-Dialer addon lets you call an array of [[Auto-Dialer_Addon#Numbers | numbers]] automatically. When call is answered, receiver hears  the audio message or he is in standby mode, it depends on what is set in Auto Dialer [[Auto-Dialer_Addon#Actions | actions]] (PLAY / IVR / WAIT).
This functionality can be used in telemarketing.
<br><br>
=Usage=


=Overview=
When Auto-Dialer (AD) is installed, every user can use it and '''only users can create Campaigns. Admin cannot create Campaings.'''


When Auto-Dialer (AD) is installed, every user can use it.
==From User==


The user can find the AD menu under '''PERSONAL MENU -> Various -> Auto Dialer'''.
The user can find the AD menu under '''PERSONAL MENU -> Various -> Auto Dialer'''.


The main window shows the user's campaigns:
The main window shows the user's campaigns:
 
<br><br>
[[Image:ad1.png]]
[[Image:ad1.png]]
 
<br><br>
The user can Activate or Stop the Campaign by clicking the [[Image:icon_play.png]] or [[Image:icon_stop.png]] button near the Campaign's status.
The user can Activate or Stop the Campaign by clicking the [[Image:icon_play.png]] or [[Image:icon_stop.png]] button near the Campaign's status.


Line 21: Line 22:
So please, before activating a Campaign, import some Numbers and create Actions.
So please, before activating a Campaign, import some Numbers and create Actions.


= Add a new Campaign =  
'''NOTE:''' Auto Dialer starts in 5 minutes, so when you are starting this add-on, you need to wait 5 minutes before it starts.
<br><br>
===Campaigns===
 
Auto-Dialer can be found under '''PERSONAL MENU -> Various -> Auto Dialer'''.


[[Image:icon_add.png]] '''Add new campaign''' allows you to add a new campaign:
[[Image:icon_add.png]] '''Add new campaign''' allows you to add a new campaign:
 
<br><br>
[[Image:autodialer1.png]]
[[Image:autodialer1.png]]
 
<br><br>
The important fields here are:
The important fields here are:


Line 32: Line 37:
* '''Max Retries''' – how many times to retry an unsuccessful call.
* '''Max Retries''' – how many times to retry an unsuccessful call.
* '''Retry Time''' – how many seconds the system should wait to retry the call.
* '''Retry Time''' – how many seconds the system should wait to retry the call.
* '''Wait Time''' – how long to wait till the call is answered. This field by default is 30 and cannot be made less. This is done in order to  
* '''Wait Time''' – how long to wait till the call is answered. This field by default is 10 and cannot be made less. This is done to prevent ''missed call traffic'' and annoying multiple calls from Auto Dialer to the end user.
prevent annoying multiple calls from autodialer to the end user if for example "Wait Time" is configured as 5 seconds.
* '''Device''' – each Campaign should be assigned to a Device in order for MOR to bill the call.
* '''Device''' – each Campaign should be assigned to a Device in order for MOR to bill the call.
* '''CallerID''' - what CallerID to put on calls.
* '''CallerID''' - what CallerID to put on calls.
* '''Allow duplicate numbers''' - when checked allows duplicate number import into the Auto-Dialer Campaign.
<br><br>


= Numbers  =  
=== Numbers  ===
 
Click on [[Image:icon_list.png]] in the '''Numbers''' column to check campaign numbers:


Click on [[Image:icon_list.png]] in the '''Numbers''' column to check numbers which will be dialed on campaign:
<br><br>
[[Image:autodialer2.png]]
[[Image:autodialer2.png]]
<br><br>
The user can import phone numbers from a TXT file. Numbers should be in correct dialing format.


Example of numbers file:


The user can import phone numbers from a TXT file. Numbers should be in correct format.
442012345678
442087654321
442054987123


In a new Campaign there are no numbers, so click on [[Image:icon_csv.png]] '''Import numbers from file''' and select the file to upload:
In a new Campaign there are no numbers, so click on [[Image:icon_csv.png]] '''Import numbers from file''' and select the file to upload:
 
<br><br>
[[Image:autodialer3.png]]
[[Image:autodialer3.png]]
 
<br><br>
 
After uploading the file, you will see the status of the imported numbers:
After uploading the file, you will see status of imported numbers:
<br><br>
 
[[Image:autodialer4.png]]
[[Image:autodialer4.png]]
<br><br>
You can delete all numbers by clicking [[Image:icon_cross.png]] '''Delete all numbers'''. Also you can export details by clicking [[Image:excel.png]] '''Export IVR/poll results to CSV'''


You can delete all numbers by clicking [[Image:icon_cross.png]] '''Delete all numbers'''.


If a number is Completed, it is possible to reactivate it (tell the system to call it again) by clicking the [[Image:icon_reactivate.png]] icon near the number.
If a number is Completed, it is possible to reactivate it (tell the system to call it again) by clicking the [[Image:icon_reactivate.png]] icon near the number.
<br><br>


= Actions =
=== Actions ===


Click [[Image:icon_actions.png]] in the Actions column to access the Campaign's actions:
Click [[Image:icon_actions.png]] in the Actions column to access the Campaign's actions:
 
<br><br>
[[Image:autodialer5.png]]
[[Image:autodialer5.png]]
 
<br><br>
In this window, the user programs the Actions for the Campaign:
In this window, the user programs the Actions for the Campaign:


Line 71: Line 83:
* '''WAIT''' – how many seconds to wait.
* '''WAIT''' – how many seconds to wait.
* '''PLAY''' – play a file.
* '''PLAY''' – play a file.
* '''IVR''' - send call to IVR. It can be used to connect to a real person and give the callee a greater choice. For example, it is possible to play an advertisement and tell the user to press '1' to talk with a real person about this advertisement or similar.
* '''IVR''' - send call to IVR. It can be used to connect to a real person and give the callee a greater choice. For example, it is possible to play an announcement and tell the user to press '1' to talk with a real person about this announcement (advertisement, debts, etc) or something similar.
** NOTE: This action is '''only available for admin, not for users''' (they can't have their own IVRs).
** NOTE: admin or [[Reseller_Pro_Addon|Reseller PRO]] must check the option "All users can use it" on IVR to allow users to set that IVR on the AD campaign.
<br><br>


===Redial all failed Calls===
<!---This functionality is available from MOR 9--->
You can redial all failed calls:
<br><br>
<br><br>
[[File:Autodialer_redial_all_failed_calls.png]]
<br><br>


=Admin interface=
===Autodialer Campaign statistics===
To view the Autodialer Campaign statistics, click on the bar chart icon in the '''Stats''' column.
<br><br>
[[File:Autodialer_Stats_icon.png]]
<br><br>
On the newly opened page, you will be able to see the desired Autodialer Campaign statistics with a search filter and a visual representation of data.
<br><br>
[[File:Autodialer_Stats_User.png]]
<br><br>


When Auto-Dialer (AD) is installed, Admin can find it under the  '''SETTINGS – Addons – Auto Dialer''' menu. Here he can get a view of all users' campaigns:
==From Admin==


When Auto-Dialer (AD) is installed, Admin can find it under the  '''ADDONS –> Auto Dialer''' menu. Here he can get a view of all users' campaigns:
<br><br>
[[Image:autodialer6.png]]
[[Image:autodialer6.png]]
 
<br><br>
The important information for each Campaign is:
The important information for each Campaign is:


Line 89: Line 118:
All other fields are self-explanatory.
All other fields are self-explanatory.


It is possible for admin to see the Actions for users' Campaigns. Just click on the [[Image:icon_actions.png]] '''Actions''' button.
Admin can see the Actions for users' Campaigns. Just click on the [[Image:icon_actions.png]] '''Actions''' button. However, he cannot make any changes to the user's campaign.
<br><br>


=Dynamic variables=


Autodialer sets special Asterisk variables that can be used in other MOR functionalities.


==Redial all failed Calls==
* '''MOR_AD_CAMPAING_ID''' - dialed campaign ID.
''This option is available starting from [[MOR_9_documentation | MOR 9]]''
* '''MOR_AD_NUMBER_ID''' - dialed number ID.
* '''MOR_AD_NUM''' - dialed number.


Starting from MOR 9 you can redial all failed calls:
For example, MOR_AD_NUM can be used in IVR when forwarding the call to another Device.


[[File:Autodialer_redial_all_failed_calls.png]]
To do so, add 'Change CallerID (Number)' action in IVR and set value to '''${MOR_AD_NUM}'''.
 
 
 
<br><br>


=Workflow=
=Workflow=


Each 5 minutes, "cron job" is activated to check whether any campaigns are activated.
Every 5 minutes, the "cron job" is activated to check whether any campaigns are activated.


If there are some active campaigns, the script creates call files for the future.  
If there are some active campaigns, the script creates call files for the future.  
Line 112: Line 141:
It puts calls in Time Period in equal time periods, to balance the workload for Asterisk.
It puts calls in Time Period in equal time periods, to balance the workload for Asterisk.


For example, if you have 10 calls to make, the script will execute them in 6s intervals to start all calls in 1 min time.
For example, if you have 10 calls to make, the script will execute them in 6s intervals to start all calls in 1 minute.


Variables in '''/var/lib/asterisk/agi-bin/mor.conf''':
Variables in '''/etc/mor/system.conf''':


'''calls_one_time''' - how many calls to distribute per one minute. (PLEASE NOTE, this value is not for simultaneous calls! It has a very different meaning, which is explained below).
'''calls_one_time''' - how many calls to distribute per one minute. (PLEASE NOTE, this value is not for simultaneous calls! It has a very different meaning, which is explained below).


'''cron_interval''' - the interval of time (in minutes) in which we should 'put' calls.
'''cron_interval''' - the interval of time (in minutes) in which we should 'put' calls. Do not set value higher than "4" as it would cause overlapping of Autodialer sessions.
 
'''ad_disabled''' - when set to 1, disables Auto-Dialer functionality on a Server. '''Note:''' in multi-Asterisk systems all Asterisks but one must have this setting set to 1. This neeeds to be done in order to prevent duplicate calls.  


Example #1:
Example #1:


  calls_one_time = 10.
  calls_one_time = 10
  cron_interval = 1.
  cron_interval = 1


That means that in 1 minute the script will put 10 calls. So each call will be executed at a 6s interval:
That means that in 1 minute the script will put 10 calls. So each call will be executed at a 6s interval:
Line 136: Line 167:
Example #2:
Example #2:


  calls_one_time = 5.
  calls_one_time = 5
  cron_interval = 2.
  cron_interval = 2


That means that in 1 minute the script will put 5 calls and it will do so for 2 minutes. So each call will be executed at a 12s interval:
That means that in 1 minute the script will put 5 calls and it will do so for 2 minutes. So each call will be executed at a 12s interval:
Line 151: Line 182:
  9th call: 96s
  9th call: 96s
  10th call: 108s
  10th call: 108s
<br><br>


=Limitations=


----
Currently MOR does not support such functionality as to issue the Auto Dialer campaign only in that Asterisk


'''NOTE''': Auto-Dialer is not the tool to generate a lot of calls simultaneously. Auto-Dialer distributes calls in even intervals in a particular time period to minimize the load on Asterisk.
server to which the device belongs (if you have multiple Asterisk servers). Now MOR just issues the campaign in all servers. If you want it to  


run only on one server you need to disable the Auto-Dialer functionality with the setting in '''/etc/mor/system.conf''':
  ad_disabled = 1
<br><br>


=Limitations=
=Logs=
Currently MOR does not support such functionality as to issue the autodialler campaign only in that Asterisk
 
server to which the device belongs (if you have multiple Asterisk servers). Now MOR just issues the campaign on both servers, if you want it to
 
run only on one server you need to just disable the cron job on one of the servers.
Cron can be found in
/etc/cron.d/mor_ad


=Logs=
Autodialer log can be found here:
Autodialer log can be found here:
  /var/log/mor/mor_ad_cron.log
  /var/log/mor/mor_ad_cron.log
<br><br>
= Problems =


* [[MOR Server Speedup]] (to get more calls by AD)
* [[I have a problem with Auto Dialer]]
<br><br>
=See also=


=See also=
* [[Autodialer poll example]]
* [[Convert WAV file to Asterisk playable format]]<br>
* [[Convert WAV file to Asterisk playable format]]<br>
* [[Sound files]]
* [[Sound files]]

Latest revision as of 07:48, 1 February 2024

Description

Auto-Dialer addon lets you call an array of numbers automatically. When call is answered, receiver hears the audio message or he is in standby mode, it depends on what is set in Auto Dialer actions (PLAY / IVR / WAIT). This functionality can be used in telemarketing.

Usage

When Auto-Dialer (AD) is installed, every user can use it and only users can create Campaigns. Admin cannot create Campaings.

From User

The user can find the AD menu under PERSONAL MENU -> Various -> Auto Dialer.

The main window shows the user's campaigns:

Ad1.png

The user can Activate or Stop the Campaign by clicking the Icon play.png or Icon stop.png button near the Campaign's status.

A Campaign can only be Activated if it has free (not-called) numbers AND some Actions.

So please, before activating a Campaign, import some Numbers and create Actions.

NOTE: Auto Dialer starts in 5 minutes, so when you are starting this add-on, you need to wait 5 minutes before it starts.

Campaigns

Auto-Dialer can be found under PERSONAL MENU -> Various -> Auto Dialer.

Icon add.png Add new campaign allows you to add a new campaign:

Autodialer1.png

The important fields here are:

  • Start/Stop Times – when calls will be made.
  • Max Retries – how many times to retry an unsuccessful call.
  • Retry Time – how many seconds the system should wait to retry the call.
  • Wait Time – how long to wait till the call is answered. This field by default is 10 and cannot be made less. This is done to prevent missed call traffic and annoying multiple calls from Auto Dialer to the end user.
  • Device – each Campaign should be assigned to a Device in order for MOR to bill the call.
  • CallerID - what CallerID to put on calls.
  • Allow duplicate numbers - when checked allows duplicate number import into the Auto-Dialer Campaign.



Numbers

Click on Icon list.png in the Numbers column to check numbers which will be dialed on campaign:

Autodialer2.png

The user can import phone numbers from a TXT file. Numbers should be in correct dialing format.

Example of numbers file:

442012345678
442087654321
442054987123

In a new Campaign there are no numbers, so click on Icon csv.png Import numbers from file and select the file to upload:

Autodialer3.png

After uploading the file, you will see the status of the imported numbers:

Autodialer4.png

You can delete all numbers by clicking Icon cross.png Delete all numbers. Also you can export details by clicking Excel.png Export IVR/poll results to CSV


If a number is Completed, it is possible to reactivate it (tell the system to call it again) by clicking the Icon reactivate.png icon near the number.

Actions

Click Icon actions.png in the Actions column to access the Campaign's actions:

Autodialer5.png

In this window, the user programs the Actions for the Campaign:

Types of Actions:

  • WAIT – how many seconds to wait.
  • PLAY – play a file.
  • IVR - send call to IVR. It can be used to connect to a real person and give the callee a greater choice. For example, it is possible to play an announcement and tell the user to press '1' to talk with a real person about this announcement (advertisement, debts, etc) or something similar.
    • NOTE: admin or Reseller PRO must check the option "All users can use it" on IVR to allow users to set that IVR on the AD campaign.



Redial all failed Calls

You can redial all failed calls:

Autodialer redial all failed calls.png


Autodialer Campaign statistics

To view the Autodialer Campaign statistics, click on the bar chart icon in the Stats column.

Autodialer Stats icon.png

On the newly opened page, you will be able to see the desired Autodialer Campaign statistics with a search filter and a visual representation of data.

Autodialer Stats User.png

From Admin

When Auto-Dialer (AD) is installed, Admin can find it under the ADDONS –> Auto Dialer menu. Here he can get a view of all users' campaigns:

Autodialer6.png

The important information for each Campaign is:

  • Status – is the Campaign Active or Stopped?
  • Run time – tells when calls will be made.

All other fields are self-explanatory.

Admin can see the Actions for users' Campaigns. Just click on the Icon actions.png Actions button. However, he cannot make any changes to the user's campaign.

Dynamic variables

Autodialer sets special Asterisk variables that can be used in other MOR functionalities.

  • MOR_AD_CAMPAING_ID - dialed campaign ID.
  • MOR_AD_NUMBER_ID - dialed number ID.
  • MOR_AD_NUM - dialed number.

For example, MOR_AD_NUM can be used in IVR when forwarding the call to another Device.

To do so, add 'Change CallerID (Number)' action in IVR and set value to ${MOR_AD_NUM}.

Workflow

Every 5 minutes, the "cron job" is activated to check whether any campaigns are activated.

If there are some active campaigns, the script creates call files for the future.

It puts calls in Time Period in equal time periods, to balance the workload for Asterisk.

For example, if you have 10 calls to make, the script will execute them in 6s intervals to start all calls in 1 minute.

Variables in /etc/mor/system.conf:

calls_one_time - how many calls to distribute per one minute. (PLEASE NOTE, this value is not for simultaneous calls! It has a very different meaning, which is explained below).

cron_interval - the interval of time (in minutes) in which we should 'put' calls. Do not set value higher than "4" as it would cause overlapping of Autodialer sessions.

ad_disabled - when set to 1, disables Auto-Dialer functionality on a Server. Note: in multi-Asterisk systems all Asterisks but one must have this setting set to 1. This neeeds to be done in order to prevent duplicate calls.

Example #1:

calls_one_time = 10
cron_interval = 1

That means that in 1 minute the script will put 10 calls. So each call will be executed at a 6s interval:

1st call: 0s
2nd call: 6s
3rd call: 12s
....
9th call: 54s
10th call: 60s

Example #2:

calls_one_time = 5
cron_interval = 2

That means that in 1 minute the script will put 5 calls and it will do so for 2 minutes. So each call will be executed at a 12s interval:

1st call: 0s
2nd call: 12s
3rd call: 24s
4rd call: 36s
5th call: 48s
6th call: 60s
7th call: 72s
8th call: 84s
9th call: 96s
10th call: 108s



Limitations

Currently MOR does not support such functionality as to issue the Auto Dialer campaign only in that Asterisk

server to which the device belongs (if you have multiple Asterisk servers). Now MOR just issues the campaign in all servers. If you want it to

run only on one server you need to disable the Auto-Dialer functionality with the setting in /etc/mor/system.conf:

 ad_disabled = 1



Logs

Autodialer log can be found here:

/var/log/mor/mor_ad_cron.log



Problems



See also