====== Outbound Dialer ====== ===== Dialer Installation ===== 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 ===== Dialer configuration ===== 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 application ===== 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/ ===== Dialer commands ===== 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 ===== Dialer Call Return Codes ===== 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 | ===== Originate and Hangup Return Codes ===== 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| ===== Configuration file ===== 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 ===== Dialer Web interface ===== The Dialer offers a FreePBX module do manage it (it is in beta version).