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. |
repare | Repare DB info after an Asterisk Crash. |
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 -p /tmp/list.txt >dialer -c campaign -a insert -p 12345678 >dialer -c campaign -a insert -p 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 |
OriginateResponse event which contains the failure reason if any. Reason may be one of the following:
1 = Other end has hungup |
2 = Local ring |
3 = Remote end is ringing |
4 = Remote end has answered |
5 = Remote end is busy |
6 = Make it go off hook |
7 = Line is off hook |
8 = Congestion (circuits busy) |
Hangup causes :
1 | Unallocated (unassigned) number |
2 | No route to specified transmit network |
3 | No route to destination |
5 | Misdialled trunk prefix (national use) |
6 | Channel unacceptable |
7 | Call awarded and being delivered in an established channel |
8 | Preemption |
14 | QoR: ported number |
16 | Normal Clearing |
17 | User busy |
18 | No user responding |
19 | No answer from user (user alerted) |
20 | Subscriber absent |
21 | Call Rejected |
22 | Number changed |
23 | Redirected to new destination |
26 | Non-selected user clearing |
27 | Destination out of order |
28 | Invalid number format |
29 | Facility rejected |
30 | Response to STATUS ENQUIRY |
31 | Normal, unspecified |
34 | No circuit/channel available |
38 | Network out of order |
41 | Temporary failure |
42 | Switching equipment congestion |
43 | Access information discarded |
44 | Requested circuit/channel not available |
50 | Requested facility not subscribed |
52 | Outgoing call barred |
54 | Incoming call barred |
57 | Bearer capability not authorized |
58 | Bearer capability not presently available |
65 | Bearer capability not implemented |
66 | Channel type not implemented |
69 | Requested facility not implemented |
81 | Invalid call reference value |
88 | Incompatible destination |
95 | Invalid message unspecified |
96 | Mandatory information element is missing |
97 | Message type non-existent or not implemented |
98 | Message not compatible with call state or message type non-existent or not implemented |
99 | Information element nonexistent or not implemented |
100 | Invalid information element contents |
101 | Message not compatible with call state |
102 | Recover on timer expiry |
111 | Protocol error, unspecified |
127 | Interworking, unspecified |
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 debug=true function=notify ;timeslot=Fri, ;pause=12h-14h calltoday=true blacklist=none maxlines=1 timeout=10000 multiplecalls=yes dialformat=IAX2/user callerid=0033988998899 url=http://192.168.1.200/vxml/dialer.vxml filter=none chanvar=0 chanstr=0 skip=0 orderby=attempts_pickups mode=voximal retries=0 attempts=1 attemptsdelay=00 clipping=false timestart=0 timestop=24 ringonly=false chanvar1= chanvar2= sipheader1= sipheader2= unanswered=false
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).