|
Page 7 of 8
PHASE 6: INSTALLING ASTGUICLIENT AND VICIDIAL
Now that Asterisk is installed and running
we can add the astGUIclient and VICIDIAL components to the
system.
SUBPHASE 6.0: putting the files in
place
There are two methods for downloading
astGUIclient/VICIDIAL, a release and SVN
1. Go to http://astguiclient.sf.net/ and
download the latest astguiclient package(as of this writing it is
2.0.3)
- for 2.0.X release:
- mkdir /usr/src/astguiclient
- cd /usr/src/astguiclient
- wget
http://internap.dl.sourceforge.net/sourceforge/astguiclient/astguiclient_2.0.3.zip
- unzip astguiclient_2.0.3.zip
- perl install.pl (make sure you are in
the directory with the install.pl file)
- for SVN 2.0 trunk:
- mkdir /usr/src/astguiclient
- cd /usr/src/astguiclient
- svn checkout
svn://205.201.151.21:43690/agc_2-X
- cd agc_2-X/trunk/
- perl install.pl
select to do interactive setup and
customize to your server
- there is one more file you need that's
not included with the download package, it's the conf.gsm
file(this is the half-hour music file that we use to put people on
hold). I have a free classical music file that is available free
for download at the following two sites:
http://www.freedomphones.net/conf.gsm
http://astguiclient.sf.net/conf.gsm
Once you have downloaded it, you will need
to copy it to this folder:
/var/lib/asterisk/sounds/
Then you will need to execute this command
to copy it as the park file 'cp /var/lib/asterisk/sounds/conf.gsm
/var/lib/asterisk/sounds/park.gsm' Here are the steps spelled
out:
- cd /var/lib/asterisk/sounds
- wget
http://www.freedomphones.net/conf.gsm
- cp conf.gsm park.gsm
- you are done
SUBPHASE 6.1: creating the MySQL
"asterisk" database
we will create the database and add a few
initial records so that we can use the administrative web
interface. Since this is a new install it is easier to use our new
mysql script file to add the tables to the database:
1. at the command prompt type go to the
mysql client:
/usr/local/mysql/bin/mysql
2. type the following into the mysql
client prompt:
(make sure you put your IP address in
place of "10.10.10.15" in the queries below)
######------ BEGIN Mysql data entry(you
can copy and paste this into terminal) #
create database asterisk;
GRANT SELECT,INSERT,UPDATE,DELETE on
asterisk.* TO cron@'%' IDENTIFIED BY '1234';
GRANT SELECT,INSERT,UPDATE,DELETE on
asterisk.* TO cron@localhost IDENTIFIED BY '1234';
# NOTE: if using MySQL 4.1.12 or higher
you may need to run this query too:
UPDATE mysql.user set
password=OLD_PASSWORD('1234') where user='cron';
use asterisk;
.
/usr/src/astguiclient/MySQL_AST_CREATE_tables.sql
or you may need to run this if you get an
error:
.
/usr/src/astguiclient/trunk/extras/MySQL_AST_CREATE_tables.sql
GRANT SELECT on asterisk.phones TO
idcheck@'%' IDENTIFIED BY '1234';
GRANT SELECT on asterisk.phones TO
idcheck@localhost IDENTIFIED BY '1234';
insert into servers
(server_id,server_description,server_ip,active,asterisk_version)values('TESTasterisk','Test
install of Asterisk server',
'10.10.10.15','Y','1.2.17');
insert into server_updater
values('10.10.10.15','');
insert into phones (extension,
dialplan_number, voicemail_id, phone_ip, computer_ip, server_ip,
login, pass, status, active, phone_type, fullname, company,
picture, messages, old_messages, protocol)
values('gs102','102','102','10.10.10.16','10.10.9.16','10.10.10.15','gs102','test',
'ADMIN','Y','Grandstream BT 102','Test Admin
Phone','TEST','','0','0','SIP');
insert into vicidial_users
(user,pass,full_name,user_level,user_group,load_leads,campaign_detail,ast_admin_access,modify_users)
values('6666','1234','Admin','9','ADMIN','1','1','1','1');
insert into conferences
values('8600001','10.10.10.15','');
insert into conferences
values('8600002','10.10.10.15','');
insert into conferences
values('8600003','10.10.10.15','');
insert into conferences
values('8600004','10.10.10.15','');
insert into conferences
values('8600005','10.10.10.15','');
insert into conferences
values('8600006','10.10.10.15','');
insert into conferences
values('8600007','10.10.10.15','');
insert into conferences
values('8600008','10.10.10.15','');
insert into conferences
values('8600009','10.10.10.15','');
insert into conferences
values('8600010','10.10.10.15','');
insert into conferences
values('8600011','10.10.10.15','');
insert into conferences
values('8600012','10.10.10.15','');
insert into conferences
values('8600013','10.10.10.15','');
insert into conferences
values('8600014','10.10.10.15','');
insert into conferences
values('8600015','10.10.10.15','');
insert into conferences
values('8600016','10.10.10.15','');
insert into conferences
values('8600017','10.10.10.15','');
insert into conferences
values('8600018','10.10.10.15','');
insert into conferences
values('8600019','10.10.10.15','');
insert into conferences
values('8600020','10.10.10.15','');
insert into conferences
values('8600021','10.10.10.15','');
insert into conferences
values('8600022','10.10.10.15','');
insert into conferences
values('8600023','10.10.10.15','');
insert into conferences
values('8600024','10.10.10.15','');
insert into conferences
values('8600025','10.10.10.15','');
insert into conferences
values('8600026','10.10.10.15','');
insert into conferences
values('8600027','10.10.10.15','');
insert into conferences
values('8600028','10.10.10.15','');
insert into conferences
values('8600029','10.10.10.15','');
quit
run this command from command line:
-
/usr/share/astguiclient/ADMIN_area_code_populate.pl
######------ END Mysql data entry
------######
NOTE: if you are not installing using
default user/pass or have MySQL on another server, you will need to
edit either the /etc/astguiclient.conf file or the dbconnect.php
files in the astguiclient, vicidial and agc directories of your
webroot.
3. Enter the vicidial administration
page:
http://10.10.10.15/vicidial/admin.php
NOTE: if you click on the Logout button
you must leave the user/pass empty and click OK
- Here you will enter the login and
password that you inserted into the mysql database in the
vicidial_users table (subphase 6.1 [6666/1234])
- Now that you are logged into the
astGUIclient administration system we can add a new phone entry for
each of the sipura lines we created.
- click on the "PHONES" link at the top,
then the "ADD PHONE" link below that and enter in the proper
information for each of the new phone lines.
Here's what we entered for spa2000:
- Phone extension: spa2000
- Dialplan Number: 2000
- Voicemail Box: 2000
- Phone IP address: 10.10.10.17
- Computer IP address: 10.10.9.17
- Server IP: 10.10.10.15
- Login: spa2000
- Password: test
- Status: ACTIVE
- Active Account: Y
- Phone Type: Sipura SPA-2000 line 1
- Full Name: Sipura line 1 test
- Company: TEST
- Picture:
- for the next phone simply replace 2000
with 2001 in the above example
- now your phones are all all set up in
the astguiclient system and you can use this website to add new
phones to be used with astguiclient and monitor the number of calls
people are making.
- now your database is set up for the
astguiclient conferences which will allow you to have over 6 remote
parties that you called from your GUI client application in one
conference.
- click on the "LIST ALL SERVERS" link at
the top then click on the server to modify. Verify that the GMT
time zone and all other fields are what you want them to be. There
is a setting(Max VICIDIAL Trunks) that can be modified to limit the
number of VICIDIAL outbound trunks that will be allowed to use on
this server.
4. **OPTIONAL** For IAX clients you will
need to use full phone name as the extension on the admin page
entry: "firefly01@firefly01" for our IAX phone example previously.
And do not forget to set the protocol on this page to IAX2
5. **OPTIONAL** For Zap clients you will
need to use full Zap Channel name as the extension on the admin
page entry: "1-1" for our Zap phone example previously. And do not
forget to set the protocol on this page to Zap
SUBPHASE 6.2: making additions to your
Asterisk conf files
Now that the database is set up and our
phones have entries in the system we can make the additions to the
running Asterisk system that will allow astguiclient to work with
it.
1. Add the call_log entries to all
incoming/outgoing extensions entries:
- here is how our sample dialplan changes
for adding call_log entries(only effected extension groups are
show):
######------ START extensions.conf changes
for call_log ------######
##### This 'h' exten is VERY important
for VICIDIAL usage,
##### you will have problems if it is not
in your dialplan!
exten =>
h,1,DeadAGI(agi://127.0.0.1:4577/call_log)
exten =>
h,2,DeadAGI(agi://127.0.0.1:4577/VD_hangup--HVcauses--PRI-----NODEBUG-----${HANGUPCAUSE}-----${DIALSTATUS}-----${DIALEDTIME}-----${ANSWEREDTIME}))
; Extension 3429 - Inbound 800 number
(1-800-555-3429)
exten => _**3429,1,Ringing
exten =>
_**3429,2,AGI(agi://127.0.0.1:4577/call_log)
exten => _**3429,3,Answer
exten =>
_**3429,4,Dial,sip/spa2000&sip/spa2001|30|to
exten => _**3429,5,Voicemail,u2000
; Extension 3429 - with ANI [callerID]
exten =>
_*NXXNXXXXXX*3429,1,Ringing
exten =>
_*NXXNXXXXXX*3429,2,AGI(agi://127.0.0.1:4577/call_log)
exten => _*NXXNXXXXXX*3429,3,Answer
exten =>
_*NXXNXXXXXX*3429,4,Dial,sip/spa2000&sip/spa2001|30|to
exten =>
_*NXXNXXXXXX*3429,5,Voicemail,u2000
; Extension 7275551212 - Inbound local
number from PRI with 10 digit delivery
exten => 7275551212,1,Ringing
exten => 7275551212,2,Wait(1)
exten =>
7275551212,3,AGI(agi://127.0.0.1:4577/call_log--fullCID--${EXTEN}-----${CALLERID}-----${CALLERIDNUM}-----${CALLERIDNAME})
exten => 7275551212,4,Answer
exten =>
7275551212,5,Dial,sip/spa2000&sip/spa2001|30|to
exten =>
7275551212,6,Voicemail,u2000
; dial a long distance outbound number to
the UK
exten =>
_901144XXXXXXXXXX,1,AGI(agi://127.0.0.1:4577/call_log)
exten =>
_901144XXXXXXXXXX,2,Dial(${TRUNKX}/${EXTEN:1},55,tTo)
exten => _901144XXXXXXXXXX,3,Hangup
; dial a long distance outbound number to
Australia
exten =>
_901161XXXXXXXXX,1,AGI(agi://127.0.0.1:4577/call_log)
exten =>
_901161XXXXXXXXX,2,Dial(${TRUNKX}/${EXTEN:1},,tTo)
exten => _901161XXXXXXXXX,3,Hangup
; dial an 800 outbound number
exten =>
_91800NXXXXXX,1,AGI(agi://127.0.0.1:4577/call_log)
exten =>
_91800NXXXXXX,2,Dial(${TRUNK}/${EXTEN:1},,tTo)
exten => _91800NXXXXXX,3,Hangup
exten =>
_91888NXXXXXX,1,AGI(agi://127.0.0.1:4577/call_log)
exten =>
_91888NXXXXXX,2,Dial(${TRUNK}/${EXTEN:1},,tTo)
exten => _91888NXXXXXX,3,Hangup
exten =>
_91877NXXXXXX,1,AGI(agi://127.0.0.1:4577/call_log)
exten =>
_91877NXXXXXX,2,Dial(${TRUNK}/${EXTEN:1},,tTo)
exten => _91877NXXXXXX,3,Hangup
exten =>
_91866NXXXXXX,1,AGI(agi://127.0.0.1:4577/call_log)
exten =>
_91866NXXXXXX,2,Dial(${TRUNK}/${EXTEN:1},,tTo)
exten => _91866NXXXXXX,3,Hangup
; dial a local 727 outbound number with
area code
exten =>
_9727NXXXXXX,1,AGI(agi://127.0.0.1:4577/call_log)
exten =>
_9727NXXXXXX,2,Dial(${TRUNK}/1${EXTEN:1},,tTo)
exten => _9727NXXXXXX,3,Hangup
; dial a local 813 outbound number with
area code
exten =>
_9813NXXXXXX,1,AGI(agi://127.0.0.1:4577/call_log)
exten =>
_9813NXXXXXX,2,Dial(${TRUNK}/${EXTEN:1},,tTo)
exten => _9813NXXXXXX,3,Hangup
; dial a long distance outbound number
exten =>
_91NXXNXXXXXX,1,AGI(agi://127.0.0.1:4577/call_log)
exten =>
_91NXXNXXXXXX,2,Dial(${TRUNKX}/${EXTEN:1},,tTo)
exten => _91NXXNXXXXXX,3,Hangup
; dial a local outbound number (modified
because of only LD T1)
exten =>
_9NXXXXXX,1,AGI(agi://127.0.0.1:4577/call_log)
exten =>
_9NXXXXXX,2,Dial(${TRUNK}/1727${EXTEN:1},,tTo)
exten => _9NXXXXXX,3,Hangup
######------ END extensions.conf changes
------######
2. Add the call_inbound entries to all
incoming extensions entries that you want CallerID popups on:
- here is how our sample dialplan changes
for adding call_inbound entries(only effected extension groups are
show):
######------ START extensions.conf changes
for call_inbound ------######
; parameters for call_inbound.agi (7
fields separated by five dashes "-----"):
; 1. the extension of the phone to ring as
defined in the asterisk.phones table
; 2. the phone number that was called, for
the live_inbound/_log entry
; 3. a text description of the number that
was called in
; 4-7. optional fields, they are also
passed as fields in the GUI to web browser
; Extension 3429 - Inbound 800 number
(1-800-555-3429)
exten => _**3429,1,Ringing
exten =>
_**3429,2,AGI(agi://127.0.0.1:4577/call_log)
exten =>
_**3429,3,AGI(call_inbound.agi,spa2000-----8005553429-----Inbound
800-----x-----y-----z-----w)
exten => _**3429,4,Answer
exten =>
_**3429,5,Dial,sip/spa2000&sip/spa2001|30|to
exten => _**3429,6,Voicemail,u2000
; Extension 3429 - with ANI [callerID]
exten =>
_*NXXNXXXXXX*3429,1,Ringing
exten =>
_*NXXNXXXXXX*3429,2,AGI(agi://127.0.0.1:4577/call_log)
exten =>
_*NXXNXXXXXX*3429,3,AGI(call_inbound.agi,spa2000-----8005553429-----Inbound
800-----x-----y-----z-----w)
exten => _*NXXNXXXXXX*3429,3,Answer
exten =>
_*NXXNXXXXXX*3429,4,Dial,sip/spa2000&sip/spa2001|30|to
exten =>
_*NXXNXXXXXX*3429,5,Voicemail,u2000
exten =>
_010*010*010*015*8600XXX,1,Goto(default,${EXTEN:16},1)
exten =>
_010*010*010*015*8600XXX*.,1,Goto(default,${EXTEN:16},1)
exten =>
_8600XXX*.,1,AGI(agi-VDADfixCXFER.agi)
; parameters for agi-VDADcloser.agi (2
fields separated by five dashes "-----"):
; 1. the full extension formatted by
VICIDIAL for internal transfers * separated
; 2. the word START to denote the
beginning of the acceptance of the transfer
; inbound VICIDIAL transfer calls [can
arrive through PRI T1 crossover or IAX channel]
exten => _90009.,1,Answer ; Answer the
line
exten =>
_90009.,2,AGI(agi-VDADcloser.agi,${EXTEN}-----START)
exten => _90009.,3,Hangup
; parameters for
agi-VDADcloser_inbound....agi (7 fields separated by five dashes
"-----"):
; 1. the full name of the IN GROUP to be
used in vicidial for the inbound call
; 2. the phone number that was called, for
the log entry
; 3. the callerID or lead_id of the person
that called(usually overridden)
; 4. the park extension audio file name if
used
; 5. the status of the call
initially(usually not used)
; 6. the list_id to insert the new lead
under if it is new (and callerID available)
; 7. the phone dialing code to insert with
the new lead if new (and callerID available)
; inbound VICIDIAL call with CID delivery
through T1 PRI
exten => 1234,1,Ringing ; call
ringing
exten => 1234,2,Wait(1) ; Wait 1 second
for CID delivery from PRI
exten => 1234,3,Answer ; Answer the
line
exten =>
1234,4,AGI(agi-VDADcloser_inboundCID.agi,CL_GALLERIA-----7275555134-----Closer-----park----------999-----1)
exten => 1234,5,Hangup
; inbound VICIDIAL call with ANI delivery
through robbed-bit T1 (*NXXNXXXXXX*DNIS)
exten => 1234,1,Answer ; Answer the
line
exten =>
1234,2,AGI(agi-VDADcloser_inboundANI.agi,CL_GALLERIA-----7275555134-----Closer-----park----------999-----1)
exten => 1234,3,Hangup
; inbound VICIDIAL call with prompt for
4-digit fronter code
exten => 1234,1,Answer ; Answer the
line
exten =>
1234,2,AGI(agi-VDADcloser_inbound.agi,CL_GALLERIA-----7275555134-----Closer-----park----------999-----1)
exten => 1234,3,Hangup
### follow these instructions if you plan
to have VICIDIAL agents take inbound or closer calls:
1. create a new campaign in VICIDIAL
called "CLOSER"
2. in VICIDIAL web admin "add a new
in-group" (the above examples would be "CL_GALLERIA")
- group IDs cannot contain spaces ' ' or
dashes '-' or plusses '+'
- if you are using a HEX color value make
sure to include the hash '#' at the beginning
3. have agents log in to the CLOSER
campaign and select the CL_GALLERIA button
4. they will now start receiving inbound
calls
5. as calls come in, each call is inserted
into the vicidial_list table under the list specified int the AGI
string, In the above example that would be list 999
6. if you want to take closer calls from
the campaign "TEST" you will need to create an in-group called
"CL_TEST_" for internal closing(on the same system) or "CL_TEST_L"
for local closing(closer on different system from fronter) and then
the fronter will click on the "internal closer" button to send the
call to a closer
* NOTE, you need to set the dial_level of
the CLOSER campaign to 1 or higher for inbound/closers to work
######------ END extensions.conf changes
for call_inbound ------######
3. Add the ZapBarge entries for all zap
lines:
- here is how our sample dialplan changes
for adding zapbarge line-specific entries(this is a pure addition,
nothing is being modified):
######------ START extensions.conf
additions for direct zapbarges ------######
; ZapBarge direct channel extensions
exten => 8612001,1,ZapBarge(1)
exten => 8612002,1,ZapBarge(2)
exten => 8612003,1,ZapBarge(3)
exten => 8612004,1,ZapBarge(4)
exten => 8612005,1,ZapBarge(5)
exten => 8612006,1,ZapBarge(6)
exten => 8612007,1,ZapBarge(7)
exten => 8612008,1,ZapBarge(8)
exten => 8612009,1,ZapBarge(9)
exten => 8612010,1,ZapBarge(10)
exten => 8612011,1,ZapBarge(11)
exten => 8612012,1,ZapBarge(12)
exten => 8612013,1,ZapBarge(13)
exten => 8612014,1,ZapBarge(14)
exten => 8612015,1,ZapBarge(15)
exten => 8612016,1,ZapBarge(16)
exten => 8612017,1,ZapBarge(17)
exten => 8612018,1,ZapBarge(18)
exten => 8612019,1,ZapBarge(19)
exten => 8612020,1,ZapBarge(20)
exten => 8612021,1,ZapBarge(21)
exten => 8612022,1,ZapBarge(22)
exten => 8612023,1,ZapBarge(23)
exten => 8612024,1,ZapBarge(24)
######------ END extensions.conf additions
for direct zapbarges ------######
4. Add the meetme entries for astguiclient
and VICIDIAL conferences to meetme.conf:
- here is how our sample meetme.conf file
changes for adding conference entries (this is a pure addition,
nothing is being modified):
######------ START meetme.conf additions
for conferences ------######
conf => 8600001
conf => 8600002
conf => 8600003
conf => 8600004
conf => 8600005
conf => 8600006
conf => 8600007
conf => 8600008
conf => 8600009
conf => 8600010
conf => 8600011
conf => 8600012
conf => 8600013
conf => 8600014
conf => 8600015
conf => 8600016
conf => 8600017
conf => 8600018
conf => 8600019
conf => 8600020
conf => 8600021
conf => 8600022
conf => 8600023
conf => 8600024
conf => 8600025
conf => 8600026
conf => 8600027
conf => 8600028
conf => 8600029
conf => 8600051
conf => 8600052
conf => 8600053
conf => 8600054
conf => 8600055
conf => 8600056
conf => 8600057
conf => 8600058
conf => 8600059
conf => 8600060
conf => 8600061
conf => 8600062
conf => 8600063
conf => 8600064
conf => 8600065
conf => 8600066
conf => 8600067
conf => 8600068
conf => 8600069
conf => 8600070
conf => 8600071
conf => 8600072
conf => 8600073
conf => 8600074
conf => 8600075
conf => 8600076
conf => 8600077
conf => 8600078
conf => 8600079
conf => 8600080
conf => 8600081
conf => 8600082
conf => 8600083
conf => 8600084
conf => 8600085
conf => 8600086
conf => 8600087
conf => 8600088
conf => 8600089
conf => 8600090
conf => 8600091
conf => 8600092
conf => 8600093
conf => 8600094
conf => 8600095
conf => 8600096
conf => 8600097
conf => 8600098
conf => 8600099
conf => 8600100
conf => 8600101
conf => 8600102
conf => 8600103
conf => 8600104
conf => 8600105
conf => 8600106
conf => 8600107
conf => 8600108
conf => 8600109
conf => 8600110
conf => 8600111
conf => 8600112
conf => 8600113
conf => 8600114
conf => 8600115
conf => 8600116
conf => 8600117
conf => 8600118
conf => 8600119
conf => 8600120
conf => 8600121
conf => 8600122
conf => 8600123
conf => 8600124
conf => 8600125
conf => 8600126
conf => 8600127
conf => 8600128
conf => 8600129
conf => 8600130
conf => 8600131
conf => 8600132
conf => 8600133
conf => 8600134
conf => 8600135
conf => 8600136
conf => 8600137
conf => 8600138
conf => 8600139
conf => 8600140
conf => 8600141
conf => 8600142
conf => 8600143
conf => 8600144
conf => 8600145
conf => 8600146
conf => 8600147
conf => 8600148
conf => 8600149
conf => 8600150
conf => 8600151
conf => 8600152
conf => 8600153
conf => 8600154
conf => 8600155
conf => 8600156
conf => 8600157
conf => 8600158
conf => 8600159
conf => 8600160
conf => 8600161
conf => 8600162
conf => 8600163
conf => 8600164
conf => 8600165
conf => 8600166
conf => 8600167
conf => 8600168
conf => 8600169
conf => 8600170
conf => 8600171
conf => 8600172
conf => 8600173
conf => 8600174
conf => 8600175
conf => 8600176
conf => 8600177
conf => 8600178
conf => 8600179
conf => 8600180
conf => 8600181
conf => 8600182
conf => 8600183
conf => 8600184
conf => 8600185
conf => 8600186
conf => 8600187
conf => 8600188
conf => 8600189
conf => 8600190
conf => 8600191
conf => 8600192
conf => 8600193
conf => 8600194
conf => 8600195
conf => 8600196
conf => 8600197
conf => 8600198
conf => 8600199
conf => 8600200
######------ END meetme.conf additions for
conferences ------######
5. Add the conference entries for
astguiclient conferences:
- here is how our sample dialplan changes
for adding conference entries (this is a pure addition, nothing is
being modified):
######------ START extensions.conf
additions for agc conferences ------######
exten => 8600001,1,Meetme,8600001|q
exten => 8600002,1,Meetme,8600002|q
exten => 8600003,1,Meetme,8600003|q
exten => 8600004,1,Meetme,8600004|q
exten => 8600005,1,Meetme,8600005|q
exten => 8600006,1,Meetme,8600006|q
exten => 8600007,1,Meetme,8600007|q
exten => 8600008,1,Meetme,8600008|q
exten => 8600009,1,Meetme,8600009|q
exten => 8600010,1,Meetme,8600010|q
exten => 8600011,1,Meetme,8600011|q
exten => 8600012,1,Meetme,8600012|q
exten => 8600013,1,Meetme,8600013|q
exten => 8600014,1,Meetme,8600014|q
exten => 8600015,1,Meetme,8600015|q
exten => 8600016,1,Meetme,8600016|q
exten => 8600017,1,Meetme,8600017|q
exten => 8600018,1,Meetme,8600018|q
exten => 8600019,1,Meetme,8600019|q
exten => 8600020,1,Meetme,8600020|q
exten => 8600021,1,Meetme,8600021|q
exten => 8600022,1,Meetme,8600022|q
exten => 8600023,1,Meetme,8600023|q
exten => 8600024,1,Meetme,8600024|q
exten => 8600025,1,Meetme,8600025|q
exten => 8600026,1,Meetme,8600026|q
exten => 8600027,1,Meetme,8600027|q
exten => 8600028,1,Meetme,8600028|q
exten => 8600029,1,Meetme,8600029|q
######------ END extensions.conf additions
for agc conferences ------######
6. Add the conference entries for VICIDIAL
conferences:
- here is how our sample dialplan changes
for adding VICIDIAL conference entries(this is a pure addition,
nothing is being modified):
NOTE: see below these entries for
app_conference instructions is used
######------ START extensions.conf changes
for VD conf ------######
exten =>
_X48600XXX,1,MeetMeAdmin(${EXTEN:2},T,${EXTEN:0:1})
exten => _X48600XXX,2,Hangup
exten =>
_X38600XXX,1,MeetMeAdmin(${EXTEN:2},t,${EXTEN:0:1})
exten => _X38600XXX,2,Hangup
exten =>
_X28600XXX,1,MeetMeAdmin(${EXTEN:2},m,${EXTEN:0:1})
exten => _X28600XXX,2,Hangup
exten =>
_X18600XXX,1,MeetMeAdmin(${EXTEN:2},M,${EXTEN:0:1})
exten => _X18600XXX,2,Hangup
exten =>
_55558600XXX,1,MeetMeAdmin(${EXTEN:4},K)
exten => _55558600XXX,2,Hangup
exten => 8300,1,Hangup
exten => 8600051,1,Meetme,8600051
exten => 8600052,1,Meetme,8600052
exten => 8600053,1,Meetme,8600053
exten => 8600054,1,Meetme,8600054
exten => 8600055,1,Meetme,8600055
exten => 8600056,1,Meetme,8600056
exten => 8600057,1,Meetme,8600057
exten => 8600058,1,Meetme,8600058
exten => 8600059,1,Meetme,8600059
exten => 8600060,1,Meetme,8600060
exten => 8600061,1,Meetme,8600061
exten => 8600062,1,Meetme,8600062
exten => 8600063,1,Meetme,8600063
exten => 8600064,1,Meetme,8600064
exten => 8600065,1,Meetme,8600065
exten => 8600066,1,Meetme,8600066
exten => 8600067,1,Meetme,8600067
exten => 8600068,1,Meetme,8600068
exten => 8600069,1,Meetme,8600069
exten => 8600070,1,Meetme,8600070
exten => 8600071,1,Meetme,8600071
exten => 8600072,1,Meetme,8600072
exten => 8600073,1,Meetme,8600073
exten => 8600074,1,Meetme,8600074
exten => 8600075,1,Meetme,8600075
exten => 8600076,1,Meetme,8600076
exten => 8600077,1,Meetme,8600077
exten => 8600078,1,Meetme,8600078
exten => 8600079,1,Meetme,8600079
exten => 8600080,1,Meetme,8600080
exten => 8600081,1,Meetme,8600081
exten => 8600082,1,Meetme,8600082
exten => 8600083,1,Meetme,8600083
exten => 8600084,1,Meetme,8600084
exten => 8600085,1,Meetme,8600085
exten => 8600086,1,Meetme,8600086
exten => 8600087,1,Meetme,8600087
exten => 8600088,1,Meetme,8600088
exten => 8600089,1,Meetme,8600089
exten => 8600090,1,Meetme,8600090
exten => 8600091,1,Meetme,8600091
exten => 8600092,1,Meetme,8600092
exten => 8600093,1,Meetme,8600093
exten => 8600094,1,Meetme,8600094
exten => 8600095,1,Meetme,8600095
exten => 8600096,1,Meetme,8600096
exten => 8600097,1,Meetme,8600097
exten => 8600098,1,Meetme,8600098
exten => 8600099,1,Meetme,8600099
exten => 8600100,1,Meetme,8600100
exten => 8600101,1,Meetme,8600101
exten => 8600102,1,Meetme,8600102
exten => 8600103,1,Meetme,8600103
exten => 8600104,1,Meetme,8600104
exten => 8600105,1,Meetme,8600105
exten => 8600106,1,Meetme,8600106
exten => 8600107,1,Meetme,8600107
exten => 8600108,1,Meetme,8600108
exten => 8600109,1,Meetme,8600109
exten => 8600110,1,Meetme,8600110
exten => 8600111,1,Meetme,8600111
exten => 8600112,1,Meetme,8600112
exten => 8600113,1,Meetme,8600113
exten => 8600114,1,Meetme,8600114
exten => 8600115,1,Meetme,8600115
exten => 8600116,1,Meetme,8600116
exten => 8600117,1,Meetme,8600117
exten => 8600118,1,Meetme,8600118
exten => 8600119,1,Meetme,8600119
exten => 8600120,1,Meetme,8600120
exten => 8600121,1,Meetme,8600121
exten => 8600122,1,Meetme,8600122
exten => 8600123,1,Meetme,8600123
exten => 8600124,1,Meetme,8600124
exten => 8600125,1,Meetme,8600125
exten => 8600126,1,Meetme,8600126
exten => 8600127,1,Meetme,8600127
exten => 8600128,1,Meetme,8600128
exten => 8600129,1,Meetme,8600129
exten => 8600130,1,Meetme,8600130
exten => 8600131,1,Meetme,8600131
exten => 8600132,1,Meetme,8600132
exten => 8600133,1,Meetme,8600133
exten => 8600134,1,Meetme,8600134
exten => 8600135,1,Meetme,8600135
exten => 8600136,1,Meetme,8600136
exten => 8600137,1,Meetme,8600137
exten => 8600138,1,Meetme,8600138
exten => 8600139,1,Meetme,8600139
exten => 8600140,1,Meetme,8600140
exten => 8600141,1,Meetme,8600141
exten => 8600142,1,Meetme,8600142
exten => 8600143,1,Meetme,8600143
exten => 8600144,1,Meetme,8600144
exten => 8600145,1,Meetme,8600145
exten => 8600146,1,Meetme,8600146
exten => 8600147,1,Meetme,8600147
exten => 8600148,1,Meetme,8600148
exten => 8600149,1,Meetme,8600149
exten => 8600150,1,Meetme,8600150
exten => 8600151,1,Meetme,8600151
exten => 8600152,1,Meetme,8600152
exten => 8600153,1,Meetme,8600153
exten => 8600154,1,Meetme,8600154
exten => 8600155,1,Meetme,8600155
exten => 8600156,1,Meetme,8600156
exten => 8600157,1,Meetme,8600157
exten => 8600158,1,Meetme,8600158
exten => 8600159,1,Meetme,8600159
exten => 8600160,1,Meetme,8600160
exten => 8600161,1,Meetme,8600161
exten => 8600162,1,Meetme,8600162
exten => 8600163,1,Meetme,8600163
exten => 8600164,1,Meetme,8600164
exten => 8600165,1,Meetme,8600165
exten => 8600166,1,Meetme,8600166
exten => 8600167,1,Meetme,8600167
exten => 8600168,1,Meetme,8600168
exten => 8600169,1,Meetme,8600169
exten => 8600170,1,Meetme,8600170
exten => 8600171,1,Meetme,8600171
exten => 8600172,1,Meetme,8600172
exten => 8600173,1,Meetme,8600173
exten => 8600174,1,Meetme,8600174
exten => 8600175,1,Meetme,8600175
exten => 8600176,1,Meetme,8600176
exten => 8600177,1,Meetme,8600177
exten => 8600178,1,Meetme,8600178
exten => 8600179,1,Meetme,8600179
exten => 8600180,1,Meetme,8600180
exten => 8600181,1,Meetme,8600181
exten => 8600182,1,Meetme,8600182
exten => 8600183,1,Meetme,8600183
exten => 8600184,1,Meetme,8600184
exten => 8600185,1,Meetme,8600185
exten => 8600186,1,Meetme,8600186
exten => 8600187,1,Meetme,8600187
exten => 8600188,1,Meetme,8600188
exten => 8600189,1,Meetme,8600189
exten => 8600190,1,Meetme,8600190
exten => 8600191,1,Meetme,8600191
exten => 8600192,1,Meetme,8600192
exten => 8600193,1,Meetme,8600193
exten => 8600194,1,Meetme,8600194
exten => 8600195,1,Meetme,8600195
exten => 8600196,1,Meetme,8600196
exten => 8600197,1,Meetme,8600197
exten => 8600198,1,Meetme,8600198
exten => 8600199,1,Meetme,8600199
exten => 8600200,1,Meetme,8600200
; quiet entry and leaving conferences for
VICIDIAL
exten =>
_78600XXX,1,Meetme,${EXTEN:1}|q
; quiet monitor extensions for meetme
rooms (for room managers)
exten =>
_68600XXX,1,Meetme,${EXTEN:1}|mq
######------ END extensions.conf changes
for VD conf ------######
NOTE: If you want to use app_conference
instead of meetme and you already have it installed, you will need
to do the following:
In your extensions.conf file you would
replace these lines:
exten => 8600051,1,Meetme,8600051
exten => 8600052,1,Meetme,8600052
...continue through 8600100...
exten =>
78600051,1,Meetme,8600051|q
exten =>
78600052,1,Meetme,8600052|q
...continue through 78600100...
exten =>
68600051,1,Meetme,8600051|mq
exten =>
68600052,1,Meetme,8600052|mq
...continue through 68600100...
with these lines:
exten =>
8600051,1,Conference(8600051)
exten =>
8600052,1,Conference(8600052)
...continue through 8600100...
exten =>
78600051,1,Conference(8600051|q)
exten =>
78600052,1,Conference(8600052|q)
...continue through 78600100...
exten =>
68600051,1,Conference(8600051|Lq)
exten =>
68600052,1,Conference(8600052|Lq)
...continue through 68600100...
NOTE: If you want to do DTMF passthru with
app_conference bee sure to add the "i" and "t" flags to the 8600XX
lines: Conference(8600051|it)
7. Add the more entries for astGUIclient
specific uses:
- here are some more dialplan additions
needed to use astGUIclient(this is a pure addition, nothing is
being modified):
######------ START extensions.conf other
additions ------######
; park channel for client GUI parking,
hangup after 30 minutes
; create a GSM formatted audio file named
"park.gsm" that is 30 minutes long
; and put it in
/var/lib/asterisk/sounds
exten => 8301,1,Answer
exten => 8301,2,AGI(park_CID.agi)
exten => 8301,3,Playback(park)
exten => 8301,4,Hangup
exten => 8303,1,Answer
exten => 8303,2,AGI(park_CID.agi)
exten => 8303,3,Playback(conf)
exten => 8303,4,Hangup
; park channel for client GUI
conferencing, hangup after 30 minutes
; create a GSM formatted audio file named
"conf.gsm" that is 30 minutes long
; and put it in
/var/lib/asterisk/sounds
exten => 8302,1,Answer
exten => 8302,2,Playback(conf)
exten => 8302,3,Hangup
; default audio for safe harbor
2-second-after-hello message then hangup
; create a GSM formatted audio file
complies with safe harbor rules
; and put it in /var/lib/asterisk/sounds
then change filename below
exten => 8307,1,Answer
exten =>
8307,2,Playback(vm-goodbye)
exten => 8307,3,Hangup
; this is used for recording conference
calls, the client app sends the filename
; value as a callerID recordings go to
/var/spool/asterisk/monitor (WAV)
exten => 8309,1,Answer
exten =>
8309,2,Monitor(wav,${CALLERIDNAME})
exten => 8309,3,Wait,3600
exten => 8309,4,Hangup
; this is used for recording conference
calls, the client app sends the filename
; value as a callerID recordings go to
/var/spool/asterisk/monitor (GSM)
exten => 8310,1,Answer
exten =>
8310,2,Monitor(gsm,${CALLERIDNAME})
exten => 8310,3,Wait,3600
exten => 8310,4,Hangup
; this is used for playing a message to an
answering machine forwarded from AMD in VICIDIAL
; replace conf with the message file you
want to leave
exten => 8320,1,WaitForSilence(2000,2)
; AMD got machine. leave message after recording
exten => 8320,2,Playback(conf)
exten =>
8320,3,AGI(VD_amd_post.agi,${EXTEN})
exten => 8320,4,Hangup
; this is used to allow the GUI to send
you directly into voicemail
; don't forget to set GUI variable
$voicemail_exten to this extension
exten =>
8501,1,VoicemailMain(s${CALLERIDNUM})
exten => 8501,2,Hangup
; this is used to allow the GUI to send
live calls directly into voicemail
; don't forget to set GUI variable
$voicemail_dump_exten to this extension
exten => _85026666666666.,1,Wait(2)
exten =>
_85026666666666.,2,Voicemail(${EXTEN:14})
exten => _85026666666666.,3,Hangup
; this is used for sending DTMF signals
within conference calls, the client app
; sends the digits to be played in the
callerID field
; sound files must be placed in
/var/lib/asterisk/sounds
exten => 8500998,1,Answer
exten =>
8500998,2,Playback(silence)
exten =>
8500998,3,AGI(agi-dtmf.agi)
exten => 8500998,4,Hangup
; prompt recording AGI script, ID is
4321
exten => 8168,1,Answer
exten =>
8168,2,AGI(agi-record_prompts.agi)
exten => 8168,3,Hangup
; playback of recorded prompts
exten => _851XXXXX,1,Answer
exten =>
_851XXXXX,2,Playback(${EXTEN})
exten => _851XXXXX,3,Hangup
#### VDAD STANDARD TRANSFER ENTRIES
####
; VICIDIAL_auto_dialer transfer script for
no-agent campaigns:
exten =>
8364,1,Playback(sip-silence)
exten =>
8364,2,AGI(agi://127.0.0.1:4577/call_log)
exten =>
8364,3,AGI(agi-VDADtransferBROADCAST.agi,${EXTEN})
exten =>
8364,4,AGI(agi-VDADtransferBROADCAST.agi,${EXTEN})
exten => 8364,5,Hangup
; VICIDIAL_auto_dialer transfer
script:
exten =>
8365,1,AGI(agi://127.0.0.1:4577/call_log)
exten =>
8365,2,AGI(agi-VDADtransfer.agi,${EXTEN})
exten =>
8365,3,AGI(agi-VDADtransfer.agi,${EXTEN})
exten =>
8365,4,AGI(agi-VDADtransfer.agi,${EXTEN})
exten => 8365,5,Hangup
; VICIDIAL_auto_dialer transfer script
SURVEY at beginning:
exten =>
8366,1,AGI(agi://127.0.0.1:4577/call_log)
exten =>
8366,2,AGI(agi-VDADtransferSURVEY.agi,${EXTEN})
exten =>
8366,3,AGI(agi-VDADtransferSURVEY.agi,${EXTEN})
exten =>
8366,4,AGI(agi-VDADtransferSURVEY.agi,${EXTEN})
exten => 8366,5,Hangup
; VICIDIAL_auto_dialer transfer script
Load Balance Overflow:
exten =>
8367,1,AGI(agi://127.0.0.1:4577/call_log)
exten =>
8367,2,AGI(agi-VDAD_LO_transfer.agi,${EXTEN})
exten =>
8367,3,AGI(agi-VDAD_LO_transfer.agi,${EXTEN})
exten =>
8367,4,AGI(agi-VDAD_LO_transfer.agi,${EXTEN})
exten => 8367,5,Hangup
; VICIDIAL_auto_dialer transfer script
Load Balanced:
exten =>
8368,1,AGI(agi://127.0.0.1:4577/call_log)
exten =>
8368,2,AGI(agi-VDAD_LB_transfer.agi,${EXTEN})
exten =>
8368,3,AGI(agi-VDAD_LB_transfer.agi,${EXTEN})
exten =>
8368,4,AGI(agi-VDAD_LB_transfer.agi,${EXTEN})
exten => 8368,5,Hangup
; VICIDIAL_auto_dialer transfer script AMD
with Load Balanced:
exten =>
8369,1,AGI(agi://127.0.0.1:4577/call_log)
exten =>
8369,2,AMD(3500|1500|300|5000|120|50|5|256)
exten =>
8369,3,AGI(VD_amd.agi,${EXTEN})
exten =>
8369,4,AGI(agi-VDAD_LB_transfer.agi,${EXTEN})
exten =>
8369,5,AGI(agi-VDAD_LB_transfer.agi,${EXTEN})
exten =>
8369,6,AGI(agi-VDAD_LB_transfer.agi,${EXTEN})
exten => 8369,7,Hangup
; VICIDIAL auto-dial reminder script
exten =>
8372,1,AGI(agi://127.0.0.1:4577/call_log)
exten =>
8372,2,AGI(agi-VDADautoREMINDER.agi,${EXTEN})
exten =>
8372,3,AGI(agi-VDADautoREMINDER.agi,${EXTEN})
exten =>
8372,4,AGI(agi-VDADautoREMINDER.agi,${EXTEN})
exten => 8372,5,Hangup
#### VDAD SIP UNREGISTERED TRANSFER
ENTRIES ####
#### Use these entries IN PLACE OF the
entries above if you are using SIP trunks
#### and are not registering your provider
in sip.conf
; VICIDIAL_auto_dialer transfer
script:
exten =>
8365,1,Playback(sip-silence)
exten =>
8365,2,AGI(agi://127.0.0.1:4577/call_log)
exten =>
8365,3,AGI(agi-VDADtransfer.agi,${EXTEN})
exten =>
8365,4,AGI(agi-VDADtransfer.agi,${EXTEN})
exten => 8365,5,Hangup
; VICIDIAL_auto_dialer transfer script
SURVEY at beginning:
exten =>
8366,1,Playback(sip-silence)
exten =>
8366,2,AGI(agi://127.0.0.1:4577/call_log)
exten =>
8366,3,AGI(agi-VDADtransferSURVEY.agi,${EXTEN})
exten =>
8366,4,AGI(agi-VDADtransferSURVEY.agi,${EXTEN})
exten => 8366,5,Hangup
; VICIDIAL_auto_dialer transfer script
Load Balance Overflow:
exten =>
8367,1,Playback(sip-silence)
exten =>
8367,2,AGI(agi://127.0.0.1:4577/call_log)
exten =>
8367,3,AGI(agi-VDAD_LO_transfer.agi,${EXTEN})
exten =>
8367,4,AGI(agi-VDAD_LO_transfer.agi,${EXTEN})
exten => 8367,5,Hangup
; VICIDIAL_auto_dialer transfer script
Load Balanced:
exten =>
8368,1,Playback(sip-silence)
exten =>
8368,2,AGI(agi://127.0.0.1:4577/call_log)
exten =>
8368,3,AGI(agi-VDAD_LB_transfer.agi,${EXTEN})
exten =>
8368,4,AGI(agi-VDAD_LB_transfer.agi,${EXTEN})
exten => 8368,5,Hangup
; VICIDIAL_auto_dialer transfer script AMD
with Load Balanced:
exten =>
8369,1,Playback(sip-silence)
exten =>
8369,2,AGI(agi://127.0.0.1:4577/call_log)
exten =>
8369,3,AMD(3500|1500|300|5000|120|50|5|256)
exten =>
8369,4,AGI(VD_amd.agi,${EXTEN})
exten =>
8369,5,AGI(agi-VDAD_LB_transfer.agi,${EXTEN})
exten =>
8369,6,AGI(agi-VDAD_LB_transfer.agi,${EXTEN})
exten => 8369,7,Hangup
; VICIDIAL auto-dial reminder script
exten =>
8372,1,Playback(sip-silence)
exten =>
8372,2,AGI(agi://127.0.0.1:4577/call_log)
exten =>
8372,3,AGI(agi-VDADautoREMINDER.agi,${EXTEN})
exten =>
8372,4,AGI(agi-VDADautoREMINDER.agi,${EXTEN})
exten => 8372,5,Hangup
### OPTIONAL IAX Load Balance extens to
allow for Overflow and Balanced VDAD
### In this setup, the serverIP is the
prefix followed by agent conf_exten
### If you have more than 1 server doing
VICIDIAL outbound, these lines are
### REQUIRED for Load Balancing to work
properly
### server 1 extens:
exten =>
_010*010*010*016*8600XXX,1,Dial(${TRUNKIAX2}/${EXTEN:16},55,o)
exten =>
_010*010*010*016*8600XXX,2,Hangup
### server 2 extens:
exten =>
_010*010*010*015*8600XXX,1,Dial(${TRUNKIAX1}/${EXTEN:16},55,o)
exten =>
_010*010*010*015*8600XXX,2,Hangup
SUBPHASE 6.3: adding entries to your
MySQL "asterisk" database for vicidial applications
We need to add a few initial values to the
vicidial tables in the "asterisk" database in order to start
setting up the vicidial dialer system for use.
1. at the command prompt type this to go
to the mysql client:
/usr/local/mysql/bin/mysql
2. type the following into the mysql
client prompt:
(make sure you put your IP address in
place of "10.10.10.15" in the queries below)
######------ BEGIN Mysql data entry(you
can copy and paste this into terminal) #
insert into vicidial_conferences
values('8600051','10.10.10.15','');
insert into vicidial_conferences
values('8600052','10.10.10.15','');
insert into vicidial_conferences
values('8600053','10.10.10.15','');
insert into vicidial_conferences
values('8600054','10.10.10.15','');
insert into vicidial_conferences
values('8600055','10.10.10.15','');
insert into vicidial_conferences
values('8600056','10.10.10.15','');
insert into vicidial_conferences
values('8600057','10.10.10.15','');
insert into vicidial_conferences
values('8600058','10.10.10.15','');
insert into vicidial_conferences
values('8600059','10.10.10.15','');
insert into vicidial_conferences
values('8600060','10.10.10.15','');
insert into vicidial_conferences
values('8600061','10.10.10.15','');
insert into vicidial_conferences
values('8600062','10.10.10.15','');
insert into vicidial_conferences
values('8600063','10.10.10.15','');
insert into vicidial_conferences
values('8600064','10.10.10.15','');
insert into vicidial_conferences
values('8600065','10.10.10.15','');
insert into vicidial_conferences
values('8600066','10.10.10.15','');
insert into vicidial_conferences
values('8600067','10.10.10.15','');
insert into vicidial_conferences
values('8600068','10.10.10.15','');
insert into vicidial_conferences
values('8600069','10.10.10.15','');
insert into vicidial_conferences
values('8600070','10.10.10.15','');
insert into vicidial_conferences
values('8600071','10.10.10.15','');
insert into vicidial_conferences
values('8600072','10.10.10.15','');
insert into vicidial_conferences
values('8600073','10.10.10.15','');
insert into vicidial_conferences
values('8600074','10.10.10.15','');
insert into vicidial_conferences
values('8600075','10.10.10.15','');
insert into vicidial_conferences
values('8600076','10.10.10.15','');
insert into vicidial_conferences
values('8600077','10.10.10.15','');
insert into vicidial_conferences
values('8600078','10.10.10.15','');
insert into vicidial_conferences
values('8600079','10.10.10.15','');
insert into vicidial_conferences
values('8600080','10.10.10.15','');
insert into vicidial_conferences
values('8600081','10.10.10.15','');
insert into vicidial_conferences
values('8600082','10.10.10.15','');
insert into vicidial_conferences
values('8600083','10.10.10.15','');
insert into vicidial_conferences
values('8600084','10.10.10.15','');
insert into vicidial_conferences
values('8600085','10.10.10.15','');
insert into vicidial_conferences
values('8600086','10.10.10.15','');
insert into vicidial_conferences
values('8600087','10.10.10.15','');
insert into vicidial_conferences
values('8600088','10.10.10.15','');
insert into vicidial_conferences
values('8600089','10.10.10.15','');
insert into vicidial_conferences
values('8600090','10.10.10.15','');
insert into vicidial_conferences
values('8600091','10.10.10.15','');
insert into vicidial_conferences
values('8600092','10.10.10.15','');
insert into vicidial_conferences
values('8600093','10.10.10.15','');
insert into vicidial_conferences
values('8600094','10.10.10.15','');
insert into vicidial_conferences
values('8600095','10.10.10.15','');
insert into vicidial_conferences
values('8600096','10.10.10.15','');
insert into vicidial_conferences
values('8600097','10.10.10.15','');
insert into vicidial_conferences
values('8600098','10.10.10.15','');
insert into vicidial_conferences
values('8600099','10.10.10.15','');
insert into vicidial_conferences
values('8600100','10.10.10.15','');
insert into vicidial_conferences
values('8600101','10.10.10.15','');
insert into vicidial_conferences
values('8600102','10.10.10.15','');
insert into vicidial_conferences
values('8600103','10.10.10.15','');
insert into vicidial_conferences
values('8600104','10.10.10.15','');
insert into vicidial_conferences
values('8600105','10.10.10.15','');
insert into vicidial_conferences
values('8600106','10.10.10.15','');
insert into vicidial_conferences
values('8600107','10.10.10.15','');
insert into vicidial_conferences
values('8600108','10.10.10.15','');
insert into vicidial_conferences
values('8600109','10.10.10.15','');
insert into vicidial_conferences
values('8600110','10.10.10.15','');
insert into vicidial_conferences
values('8600111','10.10.10.15','');
insert into vicidial_conferences
values('8600112','10.10.10.15','');
insert into vicidial_conferences
values('8600113','10.10.10.15','');
insert into vicidial_conferences
values('8600114','10.10.10.15','');
insert into vicidial_conferences
values('8600115','10.10.10.15','');
insert into vicidial_conferences
values('8600116','10.10.10.15','');
insert into vicidial_conferences
values('8600117','10.10.10.15','');
insert into vicidial_conferences
values('8600118','10.10.10.15','');
insert into vicidial_conferences
values('8600119','10.10.10.15','');
insert into vicidial_conferences
values('8600120','10.10.10.15','');
insert into vicidial_conferences
values('8600121','10.10.10.15','');
insert into vicidial_conferences
values('8600122','10.10.10.15','');
insert into vicidial_conferences
values('8600123','10.10.10.15','');
insert into vicidial_conferences
values('8600124','10.10.10.15','');
insert into vicidial_conferences
values('8600125','10.10.10.15','');
insert into vicidial_conferences
values('8600126','10.10.10.15','');
insert into vicidial_conferences
values('8600127','10.10.10.15','');
insert into vicidial_conferences
values('8600128','10.10.10.15','');
insert into vicidial_conferences
values('8600129','10.10.10.15','');
insert into vicidial_conferences
values('8600130','10.10.10.15','');
insert into vicidial_conferences
values('8600131','10.10.10.15','');
insert into vicidial_conferences
values('8600132','10.10.10.15','');
insert into vicidial_conferences
values('8600133','10.10.10.15','');
insert into vicidial_conferences
values('8600134','10.10.10.15','');
insert into vicidial_conferences
values('8600135','10.10.10.15','');
insert into vicidial_conferences
values('8600136','10.10.10.15','');
insert into vicidial_conferences
values('8600137','10.10.10.15','');
insert into vicidial_conferences
values('8600138','10.10.10.15','');
insert into vicidial_conferences
values('8600139','10.10.10.15','');
insert into vicidial_conferences
values('8600140','10.10.10.15','');
insert into vicidial_conferences
values('8600141','10.10.10.15','');
insert into vicidial_conferences
values('8600142','10.10.10.15','');
insert into vicidial_conferences
values('8600143','10.10.10.15','');
insert into vicidial_conferences
values('8600144','10.10.10.15','');
insert into vicidial_conferences
values('8600145','10.10.10.15','');
insert into vicidial_conferences
values('8600146','10.10.10.15','');
insert into vicidial_conferences
values('8600147','10.10.10.15','');
insert into vicidial_conferences
values('8600148','10.10.10.15','');
insert into vicidial_conferences
values('8600149','10.10.10.15','');
insert into vicidial_conferences
values('8600150','10.10.10.15','');
insert into vicidial_conferences
values('8600151','10.10.10.15','');
insert into vicidial_conferences
values('8600152','10.10.10.15','');
insert into vicidial_conferences
values('8600153','10.10.10.15','');
insert into vicidial_conferences
values('8600154','10.10.10.15','');
insert into vicidial_conferences
values('8600155','10.10.10.15','');
insert into vicidial_conferences
values('8600156','10.10.10.15','');
insert into vicidial_conferences
values('8600157','10.10.10.15','');
insert into vicidial_conferences
values('8600158','10.10.10.15','');
insert into vicidial_conferences
values('8600159','10.10.10.15','');
insert into vicidial_conferences
values('8600160','10.10.10.15','');
insert into vicidial_conferences
values('8600161','10.10.10.15','');
insert into vicidial_conferences
values('8600162','10.10.10.15','');
insert into vicidial_conferences
values('8600163','10.10.10.15','');
insert into vicidial_conferences
values('8600164','10.10.10.15','');
insert into vicidial_conferences
values('8600165','10.10.10.15','');
insert into vicidial_conferences
values('8600166','10.10.10.15','');
insert into vicidial_conferences
values('8600167','10.10.10.15','');
insert into vicidial_conferences
values('8600168','10.10.10.15','');
insert into vicidial_conferences
values('8600169','10.10.10.15','');
insert into vicidial_conferences
values('8600170','10.10.10.15','');
insert into vicidial_conferences
values('8600171','10.10.10.15','');
insert into vicidial_conferences
values('8600172','10.10.10.15','');
insert into vicidial_conferences
values('8600173','10.10.10.15','');
insert into vicidial_conferences
values('8600174','10.10.10.15','');
insert into vicidial_conferences
values('8600175','10.10.10.15','');
insert into vicidial_conferences
values('8600176','10.10.10.15','');
insert into vicidial_conferences
values('8600177','10.10.10.15','');
insert into vicidial_conferences
values('8600178','10.10.10.15','');
insert into vicidial_conferences
values('8600179','10.10.10.15','');
insert into vicidial_conferences
values('8600180','10.10.10.15','');
insert into vicidial_conferences
values('8600181','10.10.10.15','');
insert into vicidial_conferences
values('8600182','10.10.10.15','');
insert into vicidial_conferences
values('8600183','10.10.10.15','');
insert into vicidial_conferences
values('8600184','10.10.10.15','');
insert into vicidial_conferences
values('8600185','10.10.10.15','');
insert into vicidial_conferences
values('8600186','10.10.10.15','');
insert into vicidial_conferences
values('8600187','10.10.10.15','');
insert into vicidial_conferences
values('8600188','10.10.10.15','');
insert into vicidial_conferences
values('8600189','10.10.10.15','');
insert into vicidial_conferences
values('8600190','10.10.10.15','');
insert into vicidial_conferences
values('8600191','10.10.10.15','');
insert into vicidial_conferences
values('8600192','10.10.10.15','');
insert into vicidial_conferences
values('8600193','10.10.10.15','');
insert into vicidial_conferences
values('8600194','10.10.10.15','');
insert into vicidial_conferences
values('8600195','10.10.10.15','');
insert into vicidial_conferences
values('8600196','10.10.10.15','');
insert into vicidial_conferences
values('8600197','10.10.10.15','');
insert into vicidial_conferences
values('8600198','10.10.10.15','');
insert into vicidial_conferences
values('8600199','10.10.10.15','');
insert into vicidial_conferences
values('8600200','10.10.10.15','');
######------ END Mysql data entry
------######
SUBPHASE 6.4: setting up asterisk and
helper applications for startup
1. Make several entries in the rc.local of
your system:
- on the command line type:
- vi /etc/rc.d/rc.local
- add the following entries(here's what
we used):
### Path to local asterisk-perl_0.08
module if needed
PERL5LIB="/usr/share/astguiclient/libs";
export PERL5LIB
### start time server
/usr/local/bin/ntpdate -u 18.145.0.30
/usr/sbin/ntpd
### start up the MySQL server
/usr/local/mysql/bin/mysqld_safe
--user=mysql --skip-name-resolve --skip-host-cache &
### start up the MySQL 4.1.X server (with
old passwords)
/usr/local/mysql/bin/safe_mysqld
--old-passwords --skip-name-resolve --skip-host-cache &
### start up the apache web server
/usr/local/apache2/bin/apachectl start
### load digium tormenta 4xT1 drivers into
system
modprobe zaptel
modprobe wct1xxp
/sbin/ztcfg -vvvvvvvvvvvv
### sybsys local login
touch /var/lock/subsys/local
### sleep for 20 seconds before launching
Asterisk
sleep 20
### start up asterisk
/usr/share/astguiclient/start_asterisk_boot.pl
- you are done
SUBPHASE 6.5: setting up astguiclient
scripts for continuous running
1. Make several entries in the crontab of
your system:
- on the command line type:
- cd /usr/share/astguiclient
- crontab -e
- add the following entries(here's what
we used):
(Note if you have not edited the
AST_CRON_mix_recordings.pl script to FTP to a different server,
then you should use the AST_CRON_mix_recordings_BASIC.pl file in
it's place)
### recording mixing for Asterisk run
every 5 minutes
1,6,11,16,21,26,31,36,41,46,51,56 * * *
1,2,3,4,5,6
/usr/share/astguiclient/AST_CRON_mix_recordings_BASIC.pl
### keepalive script for astguiclient
processes
* * * * *
/usr/share/astguiclient/ADMIN_keepalive_ALL.pl
### kill Hangup script for Asterisk
updaters
* * * * *
/usr/share/astguiclient/AST_manager_kill_hung_congested.pl
### updater for voicemail
* * * * *
/usr/share/astguiclient/AST_vm_update.pl
### updater for conference validator
* * * * *
/usr/share/astguiclient/AST_conf_update.pl
### flush queue DB table every hour for
entries older than 1 hour
11 * * * *
/usr/share/astguiclient/AST_flush_DBqueue.pl -q
### fix the vicidial_agent_log once every
hour
33 * * * *
/usr/share/astguiclient/AST_cleanup_agent_log.pl
### updater for VICIDIAL hopper
* * * * *
/usr/share/astguiclient/AST_VDhopper.pl -q
### adjust the GMT offset for the leads in
the vicidial_list table
1 1 * * *
/usr/share/astguiclient/ADMIN_adjust_GMTnow_on_leads.pl --debug
--postal-code-gmt
### reset several temporary-info tables in
the database
2 1 * * *
/usr/share/astguiclient/AST_reset_mysql_vars.pl
### optimize the database tables within
the asterisk database
3 1 * * *
/usr/share/astguiclient/AST_DB_optimize.pl
## adjust time on the server with ntp
30 * * * * /usr/local/bin/ntpdate -u
18.145.0.30 2>/dev/null 1>&2
### VICIDIAL agent time log weekly summary
report generation
2 0 * * 0
/usr/share/astguiclient/AST_agent_week.pl
- once your system starts up you can
attach to the screen running asterisk by typing "screen -r " find
which screen by typing "screen -r" and looking for the lowest
screen number. Then to detach again from the screen while you are
in it type 'Ctrl+a' then 'd'
- you are done
SUBPHASE 6.6: adding test leads to the
VICIDIAL database and configuring a VICIDIAL campaign and
users
First we will add a few test leads to the
vicidial_list table so that we can test our system. There is also
an application included with the distribution that will accept a
delimited file of leads placed in the
/usr/share/astguiclient/VICIDIAL/LEADS_IN/ directory and load it
into the database automatically(VICIDIAL_IN_new_leads_file.pl [a
sample lead file in the proper format is included with this
release: - test_VICIDIAL_lead_file.txt])
If you want to use the lead import script
I suggest looking at the code to make sure it is entering what you
want it to. We are not going to go over that particular script in
this document.
Also, there is a web-based lead loader
that was made available as of the 1.1.1 release and is accessible
from the VICIDIAL admin.php web page(click on the "LOAD NEW LEADS"
link at the top of the admin page). To get to this page you must
have permissions in the vicidial_user table(Load Leads set to 1) .
Instructions on it's use are included on the page through the help
question mark link.
NOTE: in PHP you must have "fileuploads"
enabled for this page to work.
NOTE: it is important to have your proper
country code in the phone_code field of your leads so that the GMT
offset encodding will properly code the time zones for your leads.
For the USA/Canada/Caribbean this would be 1. For the UK this is 44
and Mexico is 52 and so on.
Second we need to add the disposition
statuses into the system, all of these queries are below: (Note:
you may want to replace 7275551212 with a real number to test in
these records)
1. at the command prompt type go to the
mysql client:
/usr/local/mysql/bin/mysql
2. type the following into the mysql
client prompt:
(make sure you put your IP address in
place of "10.10.10.15" in the queries below)
######------ BEGIN Mysql data entry(you
can copy and paste this into terminal) #
insert into vicidial_list
values('','2004-01-06','','NEW','','','TEST01','101','TESTCAMP','N','1','7275551212','Mr','Matt','X','lead01','1234
Fake
St.','','','Clearwater','FL','','33760','USA','M','1970-01-01','','
This e-mail address is being protected from spam bots, you need JavaScript enabled to view it
','suprise','comments
go here','0');
insert into vicidial_list
values('','2004-01-06','','NEW','','','TEST01','101','TESTCAMP','N','1','7275551212','Mr','Matt','X','lead02','1234
Fake
St.','','','Clearwater','FL','','33760','USA','M','1970-01-01','','
This e-mail address is being protected from spam bots, you need JavaScript enabled to view it
','suprise','comments
go here','0');
insert into vicidial_list
values('','2004-01-07','','NEW','','','TEST01','101','TESTCAMP','N','1','7275551212','Mr','Matt','X','lead03','1234
Fake
St.','','','Clearwater','FL','','33760','USA','M','1970-01-01','','
This e-mail address is being protected from spam bots, you need JavaScript enabled to view it
','suprise','comments
go here','0');
insert into vicidial_list
values('','2004-01-07','','NEW','','','TEST01','101','TESTCAMP','N','1','7275551212','Mr','Matt','X','lead04','1234
Fake
St.','','','Clearwater','FL','','33760','USA','M','1970-01-01','','
This e-mail address is being protected from spam bots, you need JavaScript enabled to view it
','suprise','comments
go here','0');
insert into vicidial_list
values('','2004-01-07','','NEW','','','TEST01','101','TESTCAMP','N','1','7275551212','Mr','Matt','X','lead05','1234
Fake
St.','','','Clearwater','FL','','33760','USA','M','1970-01-01','','
This e-mail address is being protected from spam bots, you need JavaScript enabled to view it
','suprise','comments
go here','0');
insert into vicidial_list
values('','2004-01-07','','NEW','','','TEST01','101','TESTCAMP','N','1','7275551212','Mr','Matt','X','lead06','1234
Fake
St.','','','Clearwater','FL','','33760','USA','M','1970-01-01','','
This e-mail address is being protected from spam bots, you need JavaScript enabled to view it
','suprise','comments
go here','0');
insert into vicidial_list
values('','2004-01-07','','NEW','','','TEST01','101','TESTCAMP','N','1','7275551212','Mr','Matt','X','lead07','1234
Fake
St.','','','Clearwater','FL','','33760','USA','M','1970-01-01','','
This e-mail address is being protected from spam bots, you need JavaScript enabled to view it
','suprise','comments
go here','0');
### these first 5 must be in all VICIDIAL
systems for it to work properly #
insert into vicidial_statuses
values('NEW','New Lead','N');
insert into vicidial_statuses
values('QUEUE','Lead To Be Called','N');
insert into vicidial_statuses
values('INCALL','Lead Being Called','N');
insert into vicidial_statuses
values('DROP','Agent Not Available','N');
insert into vicidial_statuses
values('NA','No Answer AutoDial','N');
insert into vicidial_statuses
values('CALLBK','Call Back','Y');
insert into vicidial_statuses
values('A','Answering Machine','Y');
insert into vicidial_statuses
values('B','Busy','Y');
insert into vicidial_statuses
values('DC','Disconnected Number','Y');
insert into vicidial_statuses
values('DEC','Declined Sale','Y');
insert into vicidial_statuses
values('DNC','DO NOT CALL','Y');
insert into vicidial_statuses
values('SALE','Sale Made','Y');
insert into vicidial_statuses
values('N','No Answer','Y');
insert into vicidial_statuses
values('NI','Not Interested','Y');
insert into vicidial_statuses
values('NP','No Pitch No Price','Y');
insert into vicidial_statuses
values('XFER','Call Transferred','Y');
quit
######------ END Mysql data entry
------######
Now that the sample leads and disposition
codes have been entered, we can go into the VICIDIAL administration
website and set up our campaigns, lists and users. But first let's
make sure that they have the right GMT offset:
run this on the command line:
-
/usr/share/astguiclient/ADMIN_adjust_GMTnow_on_leads.pl
--postal-code-gmt
3. Enter the astguiclient administration
page:
http://10.10.10.15/vicidial/admin.php
(use the username and password created
when we entered a record into the vicidial_users table in SUBPHASE
6.1, In our case this is 6666 and 1234) NOTE: if you click on the
Logout button you must leave the user/pass empty and click OK
- Now that you are logged into the
vicidial administration system we can add new user entries for each
of the new users and enter new campaigns and new lists.
- The first step is to enter your new
users, Click on the ADD A NEW USER and fill in the appropriate
information for each now user you want to add.
- Next, you need to create a new campaign,
click on the ADD A NEW CAMPAIGN link and fill in what you want the
campaign to be called as well as a description
- Next, you need to define a new list,
click on the ADD A NEW LIST link and fill in what you want the list
to be called as well as a using the list ID of the leads that we
loaded in the previous step "101" and select the new campaign from
the pull-down menu that we just created.
- Now that you have created your list,
make it active by changing active to Y
- now modify your campaign ang change the
first status to be called to NEW and submit. Now your system is
ready to dial.
- you are done
SUBPHASE 6.7: VICIDIAL remote
agents:
With v1.0 of VICIDIAL we have the ability
to use a simple web form to give remote agents a way to receive
calls to whatever number they happen to be at, and they can
view/edit call details and see a call log all through a web
page
(vdremote.php) or
http://10.10.10.15/vicidial/vdremote.php on this installation.
Remote Agents is only recommended for inbound calls because of the
extra time needed to dial a number out to transfer the call to. To
set up remote agents, just go to the vicidial admin.php page and
ADD NEW REMOTE AGENTS(Make sure the userID start also has a user
login so they can get to the vdremote page). You will see that you
can set up a remote agent entry to take multiple lines if you wish
meaning that, for example, if you need to send all of your calls to
another location because of a massive snowstorm(and none of your
agents showed up at work) you just log in that remote agent record
with say 10 lines and then all of those calls will be directed to
the same number you set up for the remote agent. Then again you
could just get your agents to log in from home if they have a phone
and computer
SUBPHASE 6.8: astGUIclient web-only
client:
With 1.1.1 release of astguiclient we have
completely rewritten the astGUIclient client app in
AJAX(PHP/Javascript/XMLHTTPRequest) to enable a full, real-time GUI
interface using only a web browser. The browser requirements for
this are:
- Firefox 0.9 or greater (Firefox 1.0.7 is
the recommended browser)
- Mozilla 1.7 or greater
- Netscape 8 or greater
- Opera 8.5 or greater
- Microsoft Internet Explorer 5.0 or
greater (we have noticed some serious memory leaks in IE5 and IE6
when using this program, they do not occur in Firefox which is why
we recommend it overall.)
This new version also has more flexibility
and functionality than the perl/Tk version as well as being
prettier. We have successfully tested this on many platforms and in
remote locations. It functioned wonderfully off-site with one
of our IAX hardphones and offers a lot of
promise for road warriors who need a lot of options on their phone
usage like conferencing and a detailed call log.
To log into this app you will need a login
setup in the vicidial_users table with a user_level of 1 or greater
as well as an entry for the phone you are using in the phones
table. You will first get a login prompt for the vicidial login
then you will have the phone login where you enter the Login and
Password for that phone entry. From there the app should display
and you will see the MAIN screen with your phone information,
voicemail display and your inbound/ outbound phone call log.
The example web page you would go to on
this installation would be:
http://10.10.10.15/agc/astguiclient.php
The inbound log and callerID popup is
dependant on having a call_inbound.agi entry in your dialplan
before you phone is dialed(see subphase 6.2 step 2)
Another thing to note is that you can have
the agc folder(with the .php files in it) copied to multiple web
servers, you just need to make sure that the MySQL database
connection works (check the settings in the dbconnect.php file
that is in the agc directory). We have had
astguiclient.php running on 3 separate web servers for the same DB
server and Asterisk server. This is an easy way to allow for auto
failover and/or redundancy. Also, this client will work over SSL
connections(https) for encrypted communications with the
server.
New in astGUIclient release 1.1.7 is
multi-language support. multi-language versions of web-clients and
admin pages are available in the LANG_www directory and can be
unzipped into your webroot directory.
SUBPHASE 6.9: VICIDIAL web-only
client:
NOTE: There is a VICIDIAL Agent manual
available from http://www.eflo.net With 1.1.6 release of
astguiclient we have finished the rewrite of the VICIDIAL client
app in AJAX(PHP/Javascript/XMLHTTPRequest) to enable a full,
real-time GUI interface using only a web browser like we have done
with astGUIclient.
The browser requirements for this are:
- Firefox 0.9 or greater (Firefox 1.0.7 is
the recommended browser)
- Mozilla 1.7 or greater
- Netscape 8 or greater
- Opera 8.5 or greater
- Microsoft Internet Explorer 5.0 or
greater (we have noticed some serious memory leaks in IE5 and IE6
when using this program, they do not occur in Firefox which is why
we recommend it overall.)
This version is fully functional and has
been tested in our production call center with no problems. On
RedHat 9.0 Linux workstations we have noticed a decrease in system
load running the web-client as compared to the Perl/Tk
client. Also, the memory usage stayed at
about 22MB for a full shift of activity, so no memory leaks with
Firefox.
To log into this app you will need a login
setup in the vicidial_users table with a user_level of 1 or greater
as well as an entry for the phone you are using in the phones
table. You will first get a login prompt for the vicidial login
then you will have the phone login where you enter the Login and
Password for that phone entry. From there the app should display
and you will see the VICIDIAL screen with your phone information.
The example web page you would go to on this installation would be:
http://10.10.10.15/agc/vicidial.php
One more feature that the VICIDIAL
web-client offers is the ability to set up an EXTERNAL phone
extension in the astguiclient admin section so that you can have
agents log in to vicidial.php wherever they have access to a phone
with an external phone number and a web browser. To do this follow
these steps:
- "ADD PHONE" in the admin.php web page
and enter whatever name you want
- For the dialplan number field put in the
full digits that you would dial from The |