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).