Tuesday 28 January 2020

Vicidial Admin Password Retrivel


Disable direct root login and create dedicated SSH user



It is very important to secure your Linux server to protect your data, intellectual property, and time from the hands of crackers (hackers). Everybody says that Linux server is secure by default and to some extent this is true. Linux has in-built security model by default. We need to tune it up and customize as per our need which may help to make the system more secure. Linux is harder to manage, but it offers more flexibility and configuration options. Securing a server from the hands of hackers and crackers is a challenging task for a System Administrator.
The most important steps to secure your server is to disable the direct root login and create a dedicated SSH user. Enabling direct root login may help the hackers to login your server very easily.  Never login as root user for that reason. You should use sudo to execute root level commands. By using sudo we can greatly enhance the security of the system without sharing root password with other users and admins. It provides simple auditing and tracking features too.
Here we can discuss about how to disable direct root login and how to create a dedicated SSH user.

Disable direct root login
Please note that you do not log out from your system after disabling the direct root login. Follow the steps until you create a dedicated SSH user and then you can log out. Otherwise you will not be able to login to your system again. Please be careful about this.
Root user is the one who has the ability to do anything in your system. Imagine if someone got access to your root user account?! Let’s disable direct root login by using the below steps.
Edit the SSH main configuration page
vi /etc/ssh/sshd_config
There you can find the below line.
#PermitRootLogin yes
Change it as below.
PermitRootLogin no
Restart SSH service to update the changes.
/etc/init.d/sshd restart
Now you have disabled direct root login. Please follow the below steps to create a dedicated SSH user.

Create dedicated SSH user
After disabling the direct root login, you need to create a dedicated SSH user. (Only this user will have SSH login permission in your system.)
We are going to create a dedicated user called “isusr” Please follow the below steps.
Create the user account.
useradd isusr
Set Password for the user.
passwd isusr
Add this user to “/etc/sudoers” file. Simply edit this file or run the below command.
visudo
Here you can find a line as shown below.
root    ALL=(ALL)       ALL
The above line means root user can run any commands anywhere. Add the given below line under this line.
isusr  ALL=(ALL)       ALL
Now save the file.
From now on, the user “isusr” have the permission to run any commands anywhere. For this to work you have to add “sudo” to the beginning of every command that you execute as user “isusr”.
For example, if you are logged in as “isusr” and want to restart MySQL. You have to do it as shown below.
sudo /etc/init.d/mysql restart
You can also switch this user to root user. For this please run the below command.
sudo su –
Now you have disabled direct root login and created a user called “isusr” with full permission in your system. This does not mean “isusr” is a dedicated SSH user. There maybe other users in your system that have SSH shell access. Please follow the below steps to block all those users and to set “isusr” as dedicated SSH user.
Edit the SSH main configuration file.
vi /etc/ssh/sshd_config
Add the below lines.
AllowUsers isusr
Save the file and restart SSH service to update these changes.
/etc/init.d/sshd restart
Now you have created a dedicated SSH user.

Thursday 3 October 2019

VICIdial Scratch Installation in Centos 6.x, Asterisk 1.8, Dahdi & Libpri



***********************************************************
  1. Centos 6.x installation in Linux text mode
  2. Dependicies installation for vicidial asterisk
  3. Asterisk , Dahdi ,libpri installation
  4. Vicidial installation
  5. Other Settings

***********************************************************


Step 1 : Centos 6.x Installation in Linux text mode

Download site http://centos.communilink.net/


Check this link to install centos in linux text mode for vicidial installation link
For netinstall step check this link

After Installation

Disable Firewall and Selinux before starting the Installations
Stopping the Firewall
[~]# iptables -F
[~]# service iptables save

Disabling the Selinux

[~]# nano /etc/selinux/config

# This file controls the state of SELinux on the system.

# SELINUX= can take one of these three values:
#       enforcing - SELinux security policy is enforced.
#       permissive - SELinux prints warnings instead of enforcing.
#       disabled - SELinux is fully disabled.
SELINUX=disabled
# SELINUXTYPE= type of policy in use. Possible values are:
#       targeted - Only targeted network daemons are protected.
#       strict - Full SELinux protection.
SELINUXTYPE=targeted # SETLOCALDEFS= Check local definition changes SETLOCALDEFS=0

Step 2 : Dependicies Installations for vicidial & asterisk

--> ssh the server using software putty from a pc

........................................................................................................

Update the Os

[~]# yum -y update
[~]# reboot
........................................................................................................
Installing EPEL

[~]# wget http://download.fedoraproject.org/pub/epel/6/i386/epel-release-6-8.noarch.rpm

[~]# rpm -ihv epel-release-6-8.noarch.rpm
........................................................................................................
Dependicises
Install the Following software

[~]# yum install -y 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 glibc.i686

........................................................................................................
Setting up Mysql

[~]# mysql_install_db
[~]# /etc/init.d/mysqld start
[~]# mysql_secure_installation   
[~]# service mysqld stop
[~]# cp /etc/my.cnf /etc/my.cnf.original
[~]# echo "" > /etc/my.cnf
[~]# nano /etc/my.cnf    ; copy the below config to this file.

[mysql.server]

user = mysql
#basedir = /var/lib

[client]

port = 3306
socket = /var/lib/mysql/mysql.sock

[mysqld]

datadir = /var/lib/mysql
#tmpdir = /home/mysql_tmp
socket = /var/lib/mysql/mysql.sock
user = mysql
old_passwords = 0
ft_min_word_len = 3
max_connections = 800
max_allowed_packet = 32M
skip-external-locking

log-error = /var/log/mysqld/mysqld.log


query-cache-type = 1

query-cache-size = 32M

long_query_time = 1

#slow_query_log = 1
#slow_query_log_file = /var/log/mysqld/slow-queries.log

tmp_table_size = 128M

table_cache = 1024

join_buffer_size = 1M

key_buffer = 512M
sort_buffer_size = 6M
read_buffer_size = 4M
read_rnd_buffer_size = 16M
myisam_sort_buffer_size = 64M

max_tmp_tables = 64


thread_cache_size = 8

thread_concurrency = 8

# If using replication, uncomment log-bin below

#log-bin = mysql-bin

[mysqldump]

quick
max_allowed_packet = 16M

[mysql]

no-auto-rehash

[isamchk]

key_buffer = 256M
sort_buffer_size = 256M
read_buffer = 2M
write_buffer = 2M

[myisamchk]

key_buffer = 256M
sort_buffer_size = 256M
read_buffer = 2M
write_buffer = 2M

[mysqlhotcopy]

interactive-timeout

[mysqld_safe]

#log-error = /var/log/mysqld/mysqld.log

#pid-file = /var/run/mysqld/mysqld.pid


........................................................................................................

CPAN modules installation
........................................................................................................
yum -y install perl-YAML
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

   - install DBI

   - 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
   - install MIME::Base64
   - install MIME::QuotedPrint
   - install Crypt::Eksblowfish::Bcrypt
   - 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
........................................................................................................
nano /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
........................................................................................................
nano /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://download.vicidial.com/required-apps/asterisk-1.8.23.0-vici.tar.gz
For asterisk 1.4
wget http://downloads.vicidial.com/required-apps/asterisk-1.4.39.1-vici.tar.gz

Dahdi & Libpri

wget https://downloads.asterisk.org/pub/telephony/dahdi-linux-complete/releases/dahdi-linux-complete-2.9.1.1+2.9.1.tar.gz --no-check-certificate
wget http://downloads.asterisk.org/pub/telephony/libpri/libpri-1.6.0.tar.gz

untar and installation

tar -xvzf asterisk-1.8.23.0-vici.tar.gz
tar -xvzf dahdi-linux-complete-2.9.1.1+2.9.1.tar.gz
tar -xvzf libpri-1.6.0.tar.gz


Dahdi Installation
cd /usr/src/asterisk/
cd dahdi-linux-complete-2.9.1.1+2.9.1/ 
make all
make install
make config

LibPri installation

cd /usr/src/asterisk
cd libpri-1.6.0
make clean
make
make install

Asterisk Installation

** follow same for asterisk 1.4
cd /usr/src/asterisk/asterisk-1.8.23.0
./configure
make clean
make
make install
make samples

........................................................................................................

Enabling the asterisk to start at startup
........................................................................................................
cp /usr/src/asterisk/asterisk-1.8.23.0/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 co svn://svn.eflo.net:43690/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
nano/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



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
.......................................................................................................
nano /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 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

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...