Outbound Dialer

Dialer is an addon for VoiceXML Browser to provide automatic outbound dialing.

Use root to install the packages. Unzip and untar the dialer package by using the command:

# tar xvzf dialer_Vx.x_date.tar.gz

Go to the directory of the dialer and then, type the following command.

# cd dialer_Vx.x_date
# ./install.sh

It uses the Asterisk Manager Interface.

To enable the dialer to connect to the Asterisk you need to setup the interface. You can create a “Dialer” account to connect the Dialer application. Edit /etc/asterisk/manager.conf and set :

...
[general]
enabled = yes
port = 5038
bindaddr = 0.0.0.0
...

...
[dialer]
secret = 1234
;deny=0.0.0.0/0.0.0.0
;permit=209.16.236.73/255.255.255.0
read = system,call,user,originate
write = system,call,user,originate
...
Dialer [options] param

Options:

–safe Starts in “safe” mode (auto-restart).
–k clipping, update call row just at the end of call with final results only (override by “clipping” bool dialer.conf file option)
–help This help screen.
–stop Unconditionally stop the dialer.
–start Run as a daemon.
–action Execute one if this commands:
createdatabase Create the database.
dropdatabase Drop the database.
create Create the campaign table.
drop Drop the campaign table.
truncate Remove all the phones.
file Use the text file to fill the campaign.
insert Insert a phone in the campaign.
delete Delete a phone in the campaign.
count Phones in the campaign.
dump Dump the campaign in csv.
fulldump Dump the campaign in csv with header.
statitics Statistics of the campaign.
–campaign Name of the campaign for the command.
–paramater Parameter for the command.

NOTE: Dialer is an application located at this directory:

/opt/dialer/

Purge and create a campaign named “campaign” :

  >dialer -c campaign -a drop
  >dialer -c campaign -a create
  >dialer -c campaign -a file /tmp/list.txt
  >dialer -c campaign -a insert -phone 12345678
  >dialer -c campaign -a insert -phone 12345678 param

Start in background :

  >dialer --start
  

Start do not fork, stop on last call :

  >dialer

Stop all dialer (killall) :

  >dialer --stop

Get log :

  >dialer -a fulldump -c campaign

Get statistics :

  >dialer -a statistics -c campaign 

The dialer generates return's codes for each call in the Log file. Please find here the list of codes and its description:

-8 Burned (We give up)
-7 Disconnected Number – No Answer
-6 Fax Machine
-5 Network Congestion
-4 Busy
-3 Voicemail – Get called back
-2 No Answer
-1 Undefined*
1 Not Yet Called – Get called back
0 Callback
2 No Answer
3 Voicemail – Get called back
4 Busy
5 Fast Busy
6 Fax Machine
7 Disconnected Number
8 Do Not Call – Don't count as contacts
9 Invalid Lead
10 No Sale
11 No Sale – These both…
12 Sale – count as contacts

The dialer's configuration file is located at:

/etc/dialer.conf

Please find here the list of codes and its description:

;
; Dialer Configuration
;

[general]
debug=true
log=true
mysqlhost=localhost
mysqluser=dialer
mysqlpassword=dialeri6net
asteriskuser=dialer
asteriskpassword=1234
asteriskhost=localhost
asteriskport=5038
mysqldatabase=dialer

[default]
active=true
function=voximal
calltoday=true  ;this avoid call attempts same day, caution!
usednc=false
maxlines=30
attemptsdelay=600
timeout=5000 ; max time in ms before line comes UP
dspmode=none
multiplecalls=false
trunk=SIP
dialprefix=none
callerid=9987803065
filter=0
chanvar=0
chanstr=0
debug=true
skip=0
f_mode=0
f_areacode=0
f_areacode_prefix=0
f_zipcode=0
orderby=attempts_pickups
mode=vxml
timeslot=9h-18h
pause=none
blacklist=none
attempts=1
dialformat=SIP/00%s@voip-out
maxcaps=10

Default is the default section campaign parameters.

Parameters:
active=true                   
function=voximal
calltoday=true                  ; Set it true if you do not do any attemps, nor care of today, simpified loop SQL
usednc=false
maxlines=30			; Number of simultaneous calls
maxcaps=10                      ; Number of calls added on each iteration, "speed of dialing"
attemptsdelay=600		; Delay in seconds between two attempts, default 10minutes (600 seconds)
timeout=5000			; Time out
dspmode=none
multiplecalls=false
trunk=SIP			; Trunk type SIP
dialprefix=none
callerid=9987803065		; SIP account
filter=0
chanvar=0
chanstr=0
debug=true                      ; Enable very verbose debug, and debug files in /tmp
skip=0
f_mode=0
f_areacode=0
f_areacode_prefix=0
f_zipcode=0
orderby=attempts_pickups
mode=voximal                    ; Use Voximal appliction with a VoiceXML uri
uri=http://some/index.vxml
timeslot=9h-18h			; Timeslot
pause=none
blacklist=none
attempts=1			; Number of Attempts (1..n  calls)
dialformat=SIP/00%s@voztele-out	; Dial format chain
clipping=false                  ; do not update intermediate call status, speed up calling

The Dialer offers a FreePBX module do manage it (it is in beta version).