Home arrow Asterisk arrow Asterisk/astguiclient install from scratch_v.2.0.3

Language Translator

Hacking Zone

Hacking Tools
Attacking

Configure Windows

Windows Configuration

Novels

Mix Novels

Human Personality

Body Language
Asterisk/astguiclient install from scratch_v.2.0.3 PDF Print E-mail
Written by Hemanshu Patel   
Wednesday, 17 October 2007
Article Index
Asterisk/astguiclient install from scratch_v.2.0.3
Page 2
Page 3
Page 4
Page 5
Page 6
Page 7
Page 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