Scratch Installation of Asterisk 1.4/1.8, & Latest
VICIdial SVNtrunk Dahdi Libpri in Centos 5.x/6.x
***********************************************************
Centos 5.9 installation in Linux text mode
Dependicies installation for vicidial asterisk
Asterisk , Dahdi ,libpri installation
Vicidial installation
Other Settings
***********************************************************
Step 1 : Centos 5.9 Installation in Linux text mode
Centos 5.9 iso download link
1.full DVD direct download link http://61.164.110.188:82/Centos/CentOS-5.9-x86_64-bin-DVD-2of2.iso
2.nestinstall iso download link
http://centos.communilink.net/5.9/isos/i386/CentOS-5.9-i386-netinstall.iso
3.full DVD torrent download link
http://centos.communilink.net/5.9/isos/i386/CentOS-5.9-i386-bin-DVD.torrent
you can use any one of the above download link
Check this link to install centos in linux text mode for
vicidial installation link
For netinstall step check this link
Step 2 : Dependicies Installations for vicidial &
asterisk
--> ssh the server using software putty from a pc
........................................................................................................
Update the Os
........................................................................................................
yum -y update
reboot
........................................................................................................
Dependicises
........................................................................................................
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
........................................................................................................
Settingup Mysql
........................................................................................................
mysql_install_db
/etc/init.d/mysqld start
........................................................................................................
CPAN modules installation
........................................................................................................
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.
####################
- install MD5
- install
Digest::MD5
- install
Digest::SHA1
- install readline (just hit Enter when it asks for
operator)
- install
Bundle::CPAN
- reload cpan
- install
Pod::Usage
- install
Getopt::Long
- force install
DBD::mysql
- install
Net::Telnet
- install
Time::HiRes
- install
Net::Server
- install
Mail::Sendmail
- install
Unicode::Map
- install Jcode
- install
Spreadsheet::WriteExcel
- install
OLE::Storage_Lite
- install
Proc::ProcessTable
- install
IO::Scalar
- force install
Scalar::Util
- install
Spreadsheet::ParseExcel
- install
Archive::Zip
- install
Compress::Raw::Zlib
- install
Spreadsheet::XLSX
- install
Test::Tester
- install
Spreadsheet::ReadSXC
- install Text::CSV
- install
Test::NoWarnings
- install
Text::CSV_PP
- install
File::Temp
- install
Text::CSV_XS
- install
Spreadsheet::Read
- install
LWP::UserAgent
- install
HTML::Entities
- install
HTML::Strip
- install
HTML::FormatText
- install
HTML::TreeBuilder
- install Switch
- install Time::Local
- install
MIME::Decoder
- install
Mail::POP3Client
- install
Mail::IMAPClient
- install
Mail::Message
- install
IO::Socket::SSL
quit
........................................................................................................
Installing the Asterisk-Perl module
........................................................................................................
cd /usr/src
wget
http://download.vicidial.com/required-apps/asterisk-perl-0.08.tar.gz
tar -xvzf asterisk-perl-0.08.tar.gz
cd asterisk-perl-0.08
perl Makefile.PL
make all
make install
........................................................................................................
Additional Softwares
(Lame,ttyload,mtop,sipsak,eaccelerator....)
........................................................................................................
download all to usr/src directory
cd /usr/src
wget
http://downloads.sourceforge.net/project/lame/lame/3.98.2/lame-398-2.tar.gz
wget http://download.vicidial.com/required-apps/ttyload-0.5.tar.gz
wget
http://www.ex-parrot.com/~pdw/iftop/download/iftop-0.17.tar.gz
wget
http://download.vicidial.com/required-apps/mtop-0.6.6.tar.gz
wget http://jeremy.zawodny.com/mysql/mytop/mytop-1.6.tar.gz
wget http://download.vicidial.com/required-apps/sipsak-0.9.6-1.tar.gz
wget
http://download.vicidial.com/required-apps/pl241src.tar.gz
wget
http://sourceforge.net/projects/eaccelerator/files/eaccelerator/eAccelerator%200.9.6.1/eaccelerator-0.9.6.1.zip/download
Untar All
cd /usr/src
tar -xvzf lame-398-2.tar.gz
tar -xvzf ttyload-0.5.tar.gz
tar -xvzf iftop-0.17.tar.gz
tar -xvzf mtop-0.6.6.tar.gz
tar -xvzf mytop-1.6.tar.gz
tar -xvzf sipsak-0.9.6-1.tar.gz
tar -xvzf pl241src.tar.gz
unzip eaccelerator-0.9.6.1.zip
Install the softwares
cd /usr/src/lame-398-2
./configure
make
make install
cd /usr/src/ttyload-0.5
make
make install
cd /usr/src/iftop-0.17
./configure
make
make install
cd /usr/src/mtop-0.6.6
perl Makefile.PL
make
make install
cd /usr/src/mytop-1.6
perl Makefile.PL
make
make install
cd /usr/src/sipsak-0.9.6-1
./configure
make
make install
cd /usr/src/pl241src/src
make
make install
mkdir -p /var/www/html/vicidial/ploticus/
cp pl /var/www/html/vicidial/ploticus/
cd /usr/src/eaccelerator-0.9.6.1
export PHP_PREFIX="/usr"
$PHP_PREFIX/bin/phpize
./configure --enable-eaccelerator=shared
--with-php-config=$PHP_PREFIX/bin/php-config
make
make install
........................................................................................................
PHP Settings
........................................................................................................
vi /etc/php.ini
search for below words and change (hint press / and type the
word to search and press n to next
error_reporting
= E_ALL & ~E_NOTICE
memory_limit = 48M
short_open_tag = On
max_execution_time = 330
max_input_time = 360
post_max_size = 48M
upload_max_filesize = 42M
default_socket_timeout = 360
Add the following lines to the dynamic extensions section of
php.ini:
Note: For CentOS 64-bit, use this below:
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"
save and exit
........................................................................................................
Eaccelerator setting
........................................................................................................
mkdir /tmp/eaccelerator
chmod 0777 /tmp/eaccelerator
php -v
You should see something like this:
PHP 5.3.3 (cli) (built: Nov 22 2013 10:59:29)
Copyright (c) 1997-2010 The PHP Group
Zend Engine v2.3.0, Copyright (c) 1998-2010 Zend
Technologies
with eAccelerator
v0.9.6.1, Copyright (c) 2004-2010 eAccelerator, by eAccelerator
........................................................................................................
Settings up web config for vicidial
........................................................................................................
vi /etc/httpd/conf/httpd.conf
change
CustomLog logs/access_log common
to
CustomLog /dev/null common
To enable web browsing of Recordings on Asterisk server, add
this at last line:
Alias /RECORDINGS/
"/var/spool/asterisk/monitorDONE/"
Options Indexes
MultiViews
AllowOverride None
Order allow,deny
Allow from all
Forcetype
application/forcedownload
save and exit
run
/etc/init.d/httpd restart
Step 3: Asterisk , Dahdi & Libpri installation
mkdir /usr/src/asterisk
cd /usr/src/asterisk
**Note asterisk 1.8 or asterisk 1.4 the installation is
same. so decide which once you want and download the source file
** Asterisk 1.4 tested and supported by vicidial
** Asterisk 1.8 for vicidial
is still in Beta , use under your own risk
For asterisk 1.8
wget
http://downloads.vicidial.com/beta-apps/asterisk-1.8.21.0-vici-beta.tar.gz
For asterisk 1.4
wget http://downloads.vicidial.com/required-apps/asterisk-1.4.39.1-vici.tar.gz
Dahdi & Libpri
wget
http://downloads.digium.com/pub/telephony/dahdi-linux-complete/dahdi-linux-complete-current.tar.gz
wget
http://downloads.asterisk.org/pub/telephony/libpri/libpri-1.4-current.tar.gz
untar and installation
tar -xvzf asterisk-1.8.21.0-vici-beta
tar -xvzf dahdi-linux-complete-current
tar -xvzf libpri-1.4-current.tar.gz
Dahdi Installation
cd /usr/src/asterisk/
cd dahdi-linux-complete-2.6.2+2.6.2/ --> as of apr2013 my current dahdi
version is 2.6.2
make all
make install
make config
LibPri installation
cd /usr/src/asterisk
cd cd libpri-1.4.14
make clean
make
make install
Asterisk Installation
** follow same for asterisk 1.4
cd /usr/src/asterisk-1.8.21.0-vici-beta
./configure
make clean
make
make install
make samples
........................................................................................................
Enabling the asterisk to start at startup
........................................................................................................
cp
/usr/src/asterisk/asterisk-1.8.21.0-vici-beta/contrib/init.d/rc.redhat.asterisk
/etc/init.d/asterisk
chkconfig --add asterisk
........................................................................................................
Installing Sound files
........................................................................................................
downloading the sound files
cd /usr/src
wget
http://downloads.asterisk.org/pub/telephony/sounds/asterisk-core-sounds-en-ulaw-current.tar.gz
wget
http://downloads.asterisk.org/pub/telephony/sounds/asterisk-core-sounds-en-wav-current.tar.gz
wget
http://downloads.asterisk.org/pub/telephony/sounds/asterisk-core-sounds-en-gsm-current.tar.gz
wget http://downloads.asterisk.org/pub/telephony/sounds/asterisk-extra-sounds-en-ulaw-current.tar.gz
wget
http://downloads.asterisk.org/pub/telephony/sounds/asterisk-extra-sounds-en-wav-current.tar.gz
wget
http://downloads.asterisk.org/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
Setting 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 -rf CHANGES*
rm -rf LICENSE*
rm -rf CREDITS*
cd /var/lib/asterisk/moh
rm -rf CHANGES*
rm -rf LICENSE*
rm -rf CREDITS*
cd /var/lib/asterisk/sounds
rm -rf CHANGES*
rm -rf LICENSE*
rm -rf 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
Step 4: VICIdial installation
........................................................................................................
Installing the Latest Vicidial from SVN trunk
........................................................................................................
yum -y install subversion
cd /usr/src
mkdir astguiclient
cd astguiclient
svn checkout svn://svn.eflo.net:3690/agc_2-X/trunk
cd trunk
perl install.pl
**when promots jsut press enter except for below three
ptions*
server webroot path or press enter for
default[/srv/htdocs]:/var/www/html
Enter asterisk version or press enter for default: [1.4]1.8
Copy sample configuration files to /etc/asterisk/ ? [n]y
........................................................................................................
Creating Vicidial Database
........................................................................................................
mysql -p -- if password not set then press enter
CREATE DATABASE `asterisk` DEFAULT CHARACTER SET utf8
COLLATE utf8_unicode_ci;
GRANT SELECT,INSERT,UPDATE,DELETE,LOCK TABLES on asterisk.*
TO cron@'%' IDENTIFIED BY '1234';
GRANT SELECT,INSERT,UPDATE,DELETE,LOCK TABLES on asterisk.*
TO cron@localhost IDENTIFIED BY '1234';
GRANT RELOAD ON *.* TO cron@'%';
GRANT RELOAD ON *.* TO cron@localhost;
flush privileges;
SET GLOBAL connect_timeout=60;
use asterisk;
\.
/usr/src/astguiclient/trunk/extras/MySQL_AST_CREATE_tables.sql
\.
/usr/src/astguiclient/trunk/extras/first_server_install.sql
\. /usr/src/astguiclient/trunk/extras/sip-iax_phones.sql
quit
........................................................................................................
Updating the area codes
........................................................................................................
run the below command at linux terminal as root user
/usr/share/astguiclient/ADMIN_area_code_populate.pl
........................................................................................................
Entering the startup scripts and services in rc.local
........................................................................................................
open the rc.local and paste the below entries
vi /etc/rc.d/rc.local
copy and paste the below details in 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 dahdi
modprobe dahdi_dummy
/usr/sbin/dahdi_cfg -vvvvvvvvvvvv
### sleep for 20 seconds before launching Asterisk
sleep 20
### start up asterisk
/usr/share/astguiclient/start_asterisk_boot.pl
save and exit
.......................................................................................................
Installing ip_relay
.......................................................................................................
yum -y install glibc.i686
Step 5: Other Settings
........................................................................................................
Cronjob entries
........................................................................................................
[root@~] crontab -e
copy and paste the below entries and save and exit
for the latest vicidial cron jobs refer docs folder under downloaded
vicidial source fi
### 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 --MP3
#2,5,8,11,14,17,20,23,26,29,32,35,38,41,44,47,50,53,56,59 *
* * * /usr/share/astguiclient/AST_CRON_audio_3_ftp.pl --MP3
### 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
save and exit
By default the vicidial db comes with ip 10.10.10.15, run
the below command to update to your current server ip and just press enter
/usr/share/astguiclient/ADMIN_update_server_ip.pl
--old-server_ip=10.10.10.15
........................................................................................................
Updating the music on hold configuration to work with
asterisk
.......................................................................................................
vi /etc/asterisk/musiconhold.conf
change the below settings
[old-default]
(to)
[default]
(and)
[old-quiet]
(to)
[quiet]
.......................................................................................................
Reboot after the installation completed
.......................................................................................................
.......................................................................................................
Final Adjustments
.......................................................................................................
It is important to change the externip and localnet values
in the sip.conf
The externip needs to be the public ip of your server.
The localnet will consist of the public ip/netmask of your
server.
nano /etc/asterisk/sip.conf
externip = 10.66.226.132
localnet=192.168.1.0/255.255.255.0
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
nano /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
* There are other sample configration files in
/usr/src/astguiclient/docs/conf_examples/ that you might want to look at and
maybe copy from and customize.
Lastly, reboot the machine
reboot
.......................................................................................................
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 conmmand:
screen -ls
The output should look similar to this:
There are screens on:
4090.asterisk (Detannched)
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
A note about security
When you get vicidial configured and working, make sure to
follow basic common sense server administration rules like setting up a
firewall, changing default passwords, disallow remote mysql connections or
limiting it, etc...