Friday, November 4, 2011

How To install ViciDial/astGUIclient 2.2.1 With Asterisk 1.4.21.2 On CentOS

You must login as root to install the following software.

Make sure you update the system first, then reboot if you installed an updated kernel.

#yum -y update
#reboot


* Install the following software *

#yum install gcc gcc-c++ php php-devel php-gd gd-devel php-mbstring php-mcrypt php-imap php-ldap php-mysql php-odbc php-pear php-xml php-xmlrpc curl curl-devel perl-libwww-perl ImageMagick libxml2 libxml2-devel httpd libpcap libpcap-devel ncurses ncurses-devel screen sox mysql-server mysql-devel ntp kernel-devel mutt



* Setup MySQL *


* Setup default MySQL tables, start MySQL and configure root password
Replace "mypassword" with your real password. *

#mysql_install_db
# /etc/init.d/mysqld start
#/usr/bin/mysqladmin -u root password 'mypassword'



Update the time zone Configure the system time and update it. (I set the server time zone to Arizona, so this is how I did it)

# rm /etc/localtime
#ln -sf /usr/share/zoneinfo/Asia/Kolkata /etc/localtime
#rdate -s time-a.nist.gov

Changes take effect immediately after you run the rdate command.

Turn off ntpd and remove it from bootup runlevels. You will be running ntpdate from cron instead.

#service ntpd stop
#chkconfig ntpd off



* Setup CPAN and install some modules ,Run the following command *

#perl -MCPAN -e shell



You will then go through CPAN setup, just hit ENTER for most prompts except
for the mirrors list, you will want to select at least 4 mirrors

* yes for manual configuration
* enter for the next 18 prompts
* for the "make install" option, it's a good idea to add UNINST=1
* enter for the next 4 prompts
* select your continent and country
* select a few cpan mirrors
* enter for the next 2 prompts

Once you see the cpan> prompt you can begin installing modules.
This may take a while.

cpan>install MD5
cpan>install Digest::MD5
cpan>install Digest::SHA1
cpan>install readline
cpan>install Bundle::CPAN
cpan>reload cpan
cpan>install DBI
cpan>force install DBD::mysql
cpan>install Net::Telnet
cpan>install Time::HiRes
cpan>install Net::Server
cpan>install Switch
cpan>install Mail::Sendmail
cpan>install Unicode::Map
cpan>install Jcode
cpan>install Spreadsheet::WriteExcel
cpan>install OLE::Storage_Lite
cpan>install Proc::ProcessTable
cpan>install IO::Scalar
cpan>install Spreadsheet::ParseExcel
cpan>install Curses
cpan>install Getopt::Long
cpan>install Net::domain
cpan>install Term::ReadKey
cpan>install Term::ANSIColor
cpan>quit

In the end, I usually run all these commands once again to make sure its all installed.

Installing the Asterisk-Perl module

NOTE: Do NOT use the 0.09 or any newer version, they do not work with ViciDial.

#cd /usr/src
#wget http://asterisk.gnuinter.net/files/asterisk-perl-0.08.tar.gz[/url]
#tar -zxf asterisk-perl-0.08.tar.gz
#cd asterisk-perl-0.08
#perl Makefile.PL
#make all
#make install

Installing additional software from source (optional, but highly recommended)
Next, you will download, compile and install the following software.

* lame
* ttyload
* iftop
* mtop
* mytop
* sipsak
* ploticus

* LAME: *
LAME is an MP3 encoder used to convert audio files from WAV to MP3. Some prefer GSM usually, but others have standardized on MP3 so you would need this utility to be loaded to use that option.

#cd /usr/src
#wget http://downloads.sourceforge.net/project/lame/lame/3.98.2/lame-398-2.tar.gz
#tar -zxf lame-398-2.tar.gz
#cd lame-398-2
#./configure
#make
#make install


* TTYLOAD: *
ttyload is a simple terminal application that shows the processor load in a graphical time-based scrolling graph. I use it to view how loaded the system is and it visualizes load spikes very well.

#cd /usr/src
#wget http://www.daveltd.com/src/util/ttyload/ttyload-0.5.tar.gz
#tar -zxf ttyload-0.5.tar.gz
#cd ttyload-0.5
#make
#ln -s /usr/src/ttyload-0.5/ttyload /usr/bin/ttyload


* IFTOP: *
iftop is a good console bandwidth visualization tool that shows you active connections, where they are going to/from and how much of your precious bandwidth they are using.

#cd /usr/src
#wget http://www.ex-parrot.com/~pdw/iftop/download/iftop-0.17.tar.gz
#tar -zxf iftop-0.17.tar.gz
#cd iftop-0.17
#./configure
#make
#make install


* MTOP: *
mtop is a great utility for real-time monitoring of mysql and the queries that are running in it.
Note: the root mysql password must be blank before installing this

#cd /usr/src
#wget http://downloads.sourceforge.net/project/mtop/mtop/v0.6.6/mtop-0.6.6.tar.gz
#tar -zxf mtop-0.6.6.tar.gz
#cd mtop-0.6.6
#perl Makefile.PL
#make
#make install

* MYTOP: *
mytop is is an optional utility for monitoring the threads and overall performance of mysql
Note: the root mysql password must be blank before installing this


cd /usr/src
wget http://jeremy.zawodny.com/mysql/mytop/mytop-1.6.tar.gz
tar -zxf mytop-1.6.tar.gz
cd mytop-1.6
perl Makefile.PL
make
make test
make install

* SIPSAK: *
sipsak is an optional utility that VICIDIAL can use to send messages to an agent's SIP-based phone(like the Snom 320) to display text on their LCD screen.

#cd /usr/src
#wget http://download.berlios.de/sipsak/sipsak-0.9.6-1.tar.gz
#tar -zxf sipsak-0.9.6-1.tar.gz
#cd sipsak-0.9.6
#./configure
#make
#make install
#/usr/local/bin/sipsak --version


* PLOTICUS: *
ploticus is a free graph creation package that allows you to create line graphs within PNG files simply by creating a config file and a data file. ViciDial uses this package to generate server performance graphs that can be displayed real-time within the ViciDial reports page.

#cd /usr/src
#wget http://downloads.sourceforge.net/project/ploticus/ploticus/2.41/pl241src.tar.gz
#tar -zxf pl241src.tar.gz
#cd pl241src/src/
#make clean
#make
#make install
#mkdir -p /var/www/html/vicidial/ploticus/
#cp pl /var/www/html/vicidial/ploticus/



* Installing eAccelerator for PHP ,Install the php module *

#cd /usr/src
#wget http://bart.eaccelerator.net/source/0.9.5.3/eaccelerator-0.9.5.3.zip
#unzip eaccelerator-0.9.5.3.zip
#cd eaccelerator-0.9.5.3
#export PHP_PREFIX="/usr"
#$PHP_PREFIX/bin/phpize
#./configure --enable-eaccelerator=shared --with-php-config=$PHP_PREFIX/bin/php-config
#make
#make install


* Configure php.ini *

# vim /etc/php.ini

* You will want to make sure NOTICE logging is turned off: *

error_reporting = E_ALL & ~E_NOTICE ( Line no.360 )
memory_limit = 48M ( Line no.314 )
short_open_tag = On ( Line no.141 )
max_execution_time = 330 ( Line no.312 )
max_input_time = 360 ( Line no.313 )
post_max_size = 48M ( Line no.477 )
upload_max_filesize = 42M ( Line no.582 )
default_socket_timeout = 360 ( Line no.599 )


* Add the following lines to the dynamic extensions section of php.ini: *

* Note: For CentOS 32-bit, use this below: zend_extension="/usr/lib/php/modules/eaccelerator.so" *

zend_extension="/usr/lib64/php/modules/eaccelerator.so"
;For CentOS 32-bit: zend_extension="/usr/lib/php/modules/eaccelerator.so"
eaccelerator.shm_size="48"
eaccelerator.cache_dir="/tmp/eaccelerator"
eaccelerator.enable="1"
eaccelerator.optimizer="1"
eaccelerator.check_mtime="1"
eaccelerator.debug="0"
eaccelerator.filter=""
eaccelerator.shm_max="0"
eaccelerator.shm_ttl="0"
eaccelerator.shm_prune_period="0"
eaccelerator.shm_only="0"
eaccelerator.compress="1"
eaccelerator.compress_level="9"


#mkdir /tmp/eaccelerator
#chmod 0777 /tmp/eaccelerator
#php -v

* You should see something like this: *

PHP 5.1.6 (cli) (built: Jan 13 2010 17:09:42)
Copyright (c) 1997-2006 The PHP Group
Zend Engine v2.1.0, Copyright (c) 1998-2006 Zend Technologies
with eAccelerator v0.9.5.3, Copyright (c) 2004-2006 eAccelerator, by eAccelerator



* Editing the Apache config file *

vim /etc/httpd/conf/httpd.conf


* To disable logging, change: *


CustomLog logs/access_log common

to this:

CustomLog /dev/null common


* To enable web browsing of Recordings on Asterisk server, add this: *


Alias /RECORDINGS/ "/var/spool/asterisk/monitorDONE/"


Options Indexes MultiViews
AllowOverride None
Order allow,deny
Allow from all

Forcetype application/forcedownload



* Restart the Apache web server to apply the changes *

#/etc/init.d/httpd restart

* Installing Asterisk *

At the time of this writing, you cannot install the latest version of Asterisk 1.6 or 1.8.
ViciDial 2.2.1 is currently compatible with Asterisk 1.4.21.2. This version of Asterisk also needs to be patched to work with vicidial correctly.

#mkdir /usr/src/asterisk
#cd /usr/src/asterisk
#wget http://download.vicidial.com/required-apps/asterisk-1.4.27.1-vici.tar.gz
#wget http://downloads.digium.com/pub/zaptel/zaptel-1.4.12.1.tar.gz
#wget http://downloads.asterisk.org/pub/telephony/libpri/releases/libpri-1.4.10.1.tar.gz
#tar xzf asterisk-1.4.27.1-vici.tar.gz
# tar xzf zaptel-1.4.12.1.tar.gz
#tar xzf libpri-1.4.10.1.tar.gz
#cd libpri-1.4.10.1
#make clean
#make
#make install
#cd ../zaptel-1.4.12.1
#./configure
#make menuconfig
#make
#make install
#make config
#cd ../
#mv asterisk-1.4.27.1-vici asterisk-1.4.27.1
#cd asterisk-1.4.27.1
# ./configure
#make menuselect
#make
#make install
#make samples
#asterisk -vvgc
> core show version
> dahdi show status
> core show application meetme
> stop now


* Installing Sound files , Download the sound files *

#cd /usr/src
#wget http://downloads.digium.com/pub/telephony/sounds/asterisk-core-sounds-en-ulaw-current.tar.gz
#wget http://downloads.digium.com/pub/telephony/sounds/asterisk-core-sounds-en-wav-current.tar.gz
#wget http://downloads.digium.com/pub/telephony/sounds/asterisk-core-sounds-en-gsm-current.tar.gz
#wget http://downloads.digium.com/pub/telephony/sounds/asterisk-extra-sounds-en-ulaw-current.tar.gz
#wget http://downloads.digium.com/pub/telephony/sounds/asterisk-extra-sounds-en-wav-current.tar.gz
#wget http://downloads.digium.com/pub/telephony/sounds/asterisk-extra-sounds-en-gsm-current.tar.gz
#wget http://downloads.asterisk.org/pub/telephony/sounds/asterisk-moh-opsound-gsm-current.tar.gz
#wget http://downloads.asterisk.org/pub/telephony/sounds/asterisk-moh-opsound-ulaw-current.tar.gz
#wget http://downloads.asterisk.org/pub/telephony/sounds/asterisk-moh-opsound-wav-current.tar.gz

* Set the sounds in place *

#cd /var/lib/asterisk/sounds
#tar -zxf /usr/src/asterisk-core-sounds-en-gsm-current.tar.gz
#tar -zxf /usr/src/asterisk-core-sounds-en-ulaw-current.tar.gz
#tar -zxf /usr/src/asterisk-core-sounds-en-wav-current.tar.gz
#tar -zxf /usr/src/asterisk-extra-sounds-en-gsm-current.tar.gz
#tar -zxf /usr/src/asterisk-extra-sounds-en-ulaw-current.tar.gz
#tar -zxf /usr/src/asterisk-extra-sounds-en-wav-current.tar.gz

#mkdir /var/lib/asterisk/mohmp3
#mkdir /var/lib/asterisk/quiet-mp3
#mkdir /var/lib/asterisk/default
#cd /var/lib/asterisk
#ln -s mohmp3 default
#ln -s moh mohmp3
#cd mohmp3
#tar -zxf /usr/src/asterisk-moh-opsound-gsm-current.tar.gz
#tar -zxf /usr/src/asterisk-moh-opsound-ulaw-current.tar.gz
#tar -zxf /usr/src/asterisk-moh-opsound-wav-current.tar.gz
#rm CHANGES*
#rm LICENSE*
#rm CREDITS*
#cd /var/lib/asterisk/moh
#rm CHANGES*
#rm LICENSE*
#rm CREDITS*
#cd /var/lib/asterisk/sounds
#rm CHANGES*
#rm LICENSE*
#rm CREDITS*
#cd /var/lib/asterisk/quiet-mp3


#sox ../mohmp3/macroform-cold_day.wav macroform-cold_day.wav vol 0.25
#sox ../mohmp3/macroform-cold_day.gsm macroform-cold_day.gsm vol 0.25
#sox -t ul -r 8000 -c 1 ../mohmp3/macroform-cold_day.ulaw -t ul macroform-cold_day.ulaw vol 0.25
#sox ../mohmp3/macroform-robot_dity.wav macroform-robot_dity.wav vol 0.25
#sox ../mohmp3/macroform-robot_dity.gsm macroform-robot_dity.gsm vol 0.25
#sox -t ul -r 8000 -c 1 ../mohmp3/macroform-robot_dity.ulaw -t ul macroform-robot_dity.ulaw vol 0.25
#sox ../mohmp3/macroform-the_simplicity.wav macroform-the_simplicity.wav vol 0.25
#sox ../mohmp3/macroform-the_simplicity.gsm macroform-the_simplicity.gsm vol 0.25
#sox -t ul -r 8000 -c 1 ../mohmp3/macroform-the_simplicity.ulaw -t ul macroform-the_simplicity.ulaw vol 0.25
#sox ../mohmp3/reno_project-system.wav reno_project-system.wav vol 0.25
#sox ../mohmp3/reno_project-system.gsm reno_project-system.gsm vol 0.25
#sox -t ul -r 8000 -c 1 ../mohmp3/reno_project-system.ulaw -t ul reno_project-system.ulaw vol 0.25
#sox ../mohmp3/manolo_camp-morning_coffee.wav manolo_camp-morning_coffee.wav vol 0.25
#sox ../mohmp3/manolo_camp-morning_coffee.gsm manolo_camp-morning_coffee.gsm vol 0.25
#sox -t ul -r 8000 -c 1 ../mohmp3/manolo_camp-morning_coffee.ulaw -t ul manolo_camp- morning_coffee.ulaw vol 0.25

* Installing Astguiclient 2.2.1. *

Note: the installer will ask where your web root is located. I use /var/www/html as my web root. This is where the installer will put your web-facing files.

#mkdir /usr/src/astguiclient
#cd /usr/src/astguiclient
#wget http://downloads.sourceforge.net/project/astguiclient/astguiclient_2.2.1.zip
#unzip astguiclient_2.2.1.zip
#perl install.pl

* check *
server webroot path or press enter for default: /var/www/html


* Download and copy a gsm file *

#cd /var/lib/asterisk/sounds
#wget http://astguiclient.sf.net/conf.gsm
#cp conf.gsm park.gsm

* Create the database and import the sample data First, login to mysql to run some commands *

#mysql


* Enter these MySQL commands: *

mysql >CREATE DATABASE `asterisk` DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;
mysql >GRANT SELECT,INSERT,UPDATE,DELETE,LOCK TABLES on asterisk.* TO cron@'%' IDENTIFIED BY '1234';
mysql >GRANT SELECT,INSERT,UPDATE,DELETE,LOCK TABLES on asterisk.* TO cron@localhost IDENTIFIED BY '1234';
mysql >GRANT RELOAD ON *.* TO cron@'%';
mysql >GRANT RELOAD ON *.* TO cron@localhost;

mysql >flush privileges;
mysql >SET GLOBAL connect_timeout=60;

mysql >use asterisk;

mysql >\. /usr/src/astguiclient/extras/MySQL_AST_CREATE_tables.sql
mysql >\. /usr/src/astguiclient/extras/sip-iax_phones.sql
mysql >\. /usr/src/astguiclient/extras/first_server_install.sql
mysql >quit

* In the Linux terminal, enter these commands *

#/usr/share/astguiclient/ADMIN_area_code_populate.pl
#cp /usr/src/astguiclient/extras/performance_test_leads.txt /usr/share/astguiclient/LEADS_IN/
#/usr/share/astguiclient/VICIDIAL_IN_new_leads_file.pl --forcelistid=107 --forcephonecode=1



* Make several entries in the rc.local of your system: *

#vim /etc/rc.d/rc.local

### sybsys local login
touch /var/lock/subsys/local

# OPTIONAL enable ip_relay(for same-machine trunking and blind monitoring)
# /usr/share/astguiclient/ip_relay/relay_control start 2>/dev/null 1>&2

# Disable console blanking and powersaving
/usr/bin/setterm -blank
/usr/bin/setterm -powersave off
/usr/bin/setterm -powerdown

### start up the MySQL server
/etc/init.d/mysqld start

### start up the apache web server
/etc/init.d/httpd start

### roll the Asterisk logs upon reboot
/usr/share/astguiclient/ADMIN_restart_roll_logs.pl

### clear the server-related records from the database
/usr/share/astguiclient/AST_reset_mysql_vars.pl

### load zaptel drivers
modprobe zaptel
modprobe ztdummy
/sbin/ztcfg -vvvvvvvvvvvv

### sleep for 20 seconds before launching Asterisk
sleep 20

### start up asterisk
/usr/share/astguiclient/start_asterisk_boot.pl



* Make several entries in the crontab of your system: *

#crontab -e

### recording mixing/compressing/ftping scripts
0,3,6,9,12,15,18,21,24,27,30,33,36,39,42,45,48,51, 54,57 * * * * /usr/share/astguiclient/AST_CRON_audio_1_move_mix.pl
#0,3,6,9,12,15,18,21,24,27,30,33,36,39,42,45,48,51 ,54,57 * * * * /usr/share/astguiclient/AST_CRON_audio_1_move_mix.pl --MIX
#0,3,6,9,12,15,18,21,24,27,30,33,36,39,42,45,48,51 ,54,57 * * * * /usr/share/astguiclient/AST_CRON_audio_1_move_VDonly.pl
1,4,7,10,13,16,19,22,25,28,31,34,37,40,43,46,49,52 ,55,58 * * * * /usr/share/astguiclient/AST_CRON_audio_2_compress.pl --GSM
#2,5,8,11,14,17,20,23,26,29,32,35,38,41,44,47,50,5 3,56,59 * * * * /usr/share/astguiclient/AST_CRON_audio_3_ftp.pl --GSM

### 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 and the full day run at night
33 * * * * /usr/share/astguiclient/AST_cleanup_agent_log.pl
50 0 * * * /usr/share/astguiclient/AST_cleanup_agent_log.pl --last-24hours
## uncomment below if using QueueMetrics
#*/5 * * * * /usr/share/astguiclient/AST_cleanup_agent_log.pl --only-qm-live-call-check

## uncomment below if using Vtiger
#1 1 * * * /usr/share/astguiclient/Vtiger_optimize_all_tables.pl --quiet

### 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,7 * * * /usr/share/astguiclient/ADMIN_adjust_GMTnow_on_leads.pl --debug

### 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/sbin/ntpdate -u pool.ntp.org 2>/dev/null 1>&2

### VICIDIAL agent time log weekly and daily summary report generation
2 0 * * 0 /usr/share/astguiclient/AST_agent_week.pl
22 0 * * * /usr/share/astguiclient/AST_agent_day.pl

### VICIDIAL campaign export scripts (OPTIONAL)
#32 0 * * * /usr/share/astguiclient/AST_VDsales_export.pl
#42 0 * * * /usr/share/astguiclient/AST_sourceID_summary_export.pl

### remove old recordings more than 7 days old
#24 0 * * * /usr/bin/find /var/spool/asterisk/monitorDONE -maxdepth 2 -type f -mtime +7 -print | xargs rm -f

### roll logs monthly on high-volume dialing systems
#30 1 1 * * /usr/share/astguiclient/ADMIN_archive_log_tables.pl

### remove old vicidial logs and asterisk logs more than 2 days old
28 0 * * * /usr/bin/find /var/log/astguiclient -maxdepth 1 -type f -mtime +2 -print | xargs rm -f
29 0 * * * /usr/bin/find /var/log/asterisk -maxdepth 3 -type f -mtime +2 -print | xargs rm -f
30 0 * * * /usr/bin/find / -maxdepth 1 -name "screenlog.0*" -mtime +4 -print | xargs rm -f


* Run this perl script to update the server_ip fields in the asterisk tables (copy the command as-is) *

#/usr/share/astguiclient/ADMIN_update_server_ip.pl --old-server_ip=10.10.10.15

* Update music on hold configuration *

#vim /etc/asterisk/musiconhold.conf

;
; Music on Hold -- Sample Configuration
;

[default]
mode=files
directory=/var/lib/asterisk/mohmp3

[quiet]
mode=files
directory=/var/lib/asterisk/quiet-mp3

#include musiconhold-vicidial.conf



#reboot

#chmod 777 /var/www/html
#chmod 777 /var/www/html/agc
#chmod 777 /var/www/html/vicidial
Diagnostics

After reboot, check your logs for any errors, make sure asterisk is up and running. Be proactive and look for problems before you start configuring vicidial.

* Run these commands to view log files: *

* tail -f -n 50 /var/log/asterisk/messages
* tail -f -n 50 /var/log/messages
* more /var/log/dmesg
* tail -f -n 40 /etc/httpd/logs/error_log
* tail -f -n 40 /var/log/maillog
* tail -f -n 40 /var/log/cron

Run this command:

#screen -ls

The output should look similar to this:

There are screens on:
4090.asterisk (Detached)
4077.ASTfastlog (Detached)
8325.ASTsend (Detached)
8322.ASTupdate (Detached)
4004.astshell20110228193500 (Detached)
8334.ASTVDremote (Detached)
8328.ASTlisten (Detached)
12192.ASTVDadapt (Detached)
8331.ASTVDauto (Detached)
9 Sockets in /var/run/screen/S-root.



Start using vicidial

Login to vicidial and configure it.

Add users, campaigns, in-group, DID's, server, etc....

Go to: http://youripaddress/vicidial/admin.php

The default username is: 6666 and the password is: 1234


How-To-install-ViciDial-astGUIclient-2.2.1-With-Asterisk-1.4.21.2-On-CentOS-5.5
http://ray-solomon.com/vicidial.html

0 comments:

Post a Comment