How to – Vicibox 9 Scratch Install: OpenSuse 15.3

Here are the steps I used to do a vicibox 9 scratch install on OpenSuse Leap 15.3

###This is going to help you install Vicidial 9.0.2 on OpenSuSE 15.3 on an Amazon AWS

###First open an account on AWS and create an instance, choose linux, os only, opensuse.

###SSH to the server, you will need to have a ssh key to do this, download the .pem file from amazon and use puttygen to convert it

###Now is where it starts and i will just be telling you the commands to run

sudo -i

zypper install kernel*

press # 2 for all 4 choices it gives you

zypper ar https://download.opensuse.org/repositories/home:vicidial:asterisk-16/openSUSE_Leap_15.3/home:vicidial:asterisk-16.repo

zypper ref

zypper up

zypper install asterisk

reboot

sed -i ‘s/SELINUX=enforcing/SELINUX=disabled/g’ /etc/selinux/semanage.conf

              ***Add Swap File

mkdir -p /var/lib/swap

dd if=/dev/zero of=/var/lib/swap/swapfile bs=1M count=1024

mkswap /var/lib/swap/swapfile

swapon /var/lib/swap/swapfile

cat /proc/swaps

***Add Swap into startup

vim /etc/fstab

Type “i”

Add a new line below what’s there

COPY whats in quotes – “/var/lib/swap/swapfile swap swap defaults 0 0” Press CNTL+C

Type what’s in quotes – “:wq”

Press Enter

###installing dependencies

zypper install make patch gcc gcc-c++ subversion 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 libnet ncurses ncurses-devel screen mysql-devel ntp mutt wget nano unzip sipsak sox libuuid-devel

zypper install sqlite3-devel

zypper install mariadb-server mariadb

zypper install httpd php-common php-pdo mod_ssl perl-DBI perl-DBD-MySQL perl-Digest-HMAC perl-YAML

zypper install perl-ExtUtils-ParseXS perl-NetAddr-IP perl-Crypt-SSLeay perl-Curses perl-DBD-Pg perl-Module-ScanDeps perl-Text-CSV perl-HTML-Template perl-IO-Compress perl-Text-Glob perl-Jcode perl-Test-Script perl-Archive-Tar perl-Test-Base perl-OLE-Storage_Lite perl-Archive-Zip perl-Net-Server perl-Convert-ASN1 perl perl-Compress-Raw-Zlib perl-Digest-SHA1 perl-Data-Dumper perl-Error perl-ExtUtils-CBuilder perl-Test-Tester perl-Parse-RecDescent perl-Spiffy perl-IO-Zlib perl-Module-Build perl-HTML-Parser perl-Net-SSLeay perl-Proc-ProcessTable perl-TermReadKey perl-Term-ReadLine-Gnu perl-Digest-SHA perl-Tk perl-Net-SNMP perl-Test-NoWarnings perl-XML-Writer perl-Proc-PID-File perl-Compress-Raw-Bzip2 perl-libwww-perl perl-XML-Parser perl-File-Remove perl-Parse-CPAN-Meta perl-Set-Scalar perl-Probe-Perl perl-File-Which perl-Package-Constants perl-Module-Install perl-File-HomeDir perl-Spreadsheet-ParseExcel perl-Mail-Sendmail

zypper install perl-Spreadsheet-XLSX asterisk-perl perl-version perl-Crypt-DES perl-URI perl-Net-Daemon perl-IO-stringy perl-YAML-Tiny perl-HTML-Tagset perl-Socket6 perl-BSD-Resource perl-IPC-Run3 perl-Text-CSV_XS perl-Unicode-Map perl-Net-Telnet perl-PAR-Dist perl-Date-Manip perl-JSON perl-rrdtool lame screen iftop dahdi-linux-devel perl-GD

###preparing for the next part with MCPAN

perl -MCPAN -e ‘my $c = “CPAN::HandleConfig”; $c->load(doit => 1, autoconfig => 1); $c->edit(prerequisites_policy => “follow”); $c->edit(build_requires_install_policy => “yes”); $c->commit’

cpan -i String::CRC Tk::TableMatrix Net::Address::IP::Local Term::ReadLine::Gnu Spreadsheet::Read Net::Address::IPv4::Local RPM::Specfile Spreadsheet::XLSX Spreadsheet::ReadSXC

cpan MD5 Digest::MD5 Digest::SHA1 Bundle::CPAN Pod::Usage Getopt::Long DBI DBD::mysql Net::Telnet Time::HiRes Net::Server Mail::Sendmail Unicode::Map Jcode Spreadsheet::WriteExcel OLE::Storage_Lite Proc::ProcessTable IO::Scalar Scalar::Util Spreadsheet::ParseExcel Archive::Zip Compress::Raw::Zlib Spreadsheet::XLSX Test::Tester Spreadsheet::ReadSXC Text::CSV Test::NoWarnings Text::CSV_PP File::Temp Text::CSV_XS Spreadsheet::Read LWP::UserAgent HTML::Entities HTML::Strip HTML::FormatText HTML::TreeBuilder Switch Time::Local MIME::POP3Client Mail::IMAPClient Mail::Message IO::Socket::SSL readline

###copy and paste this at the same time:

cd /usr/bin/

curl -LOk http://xrl.us/cpanm

chmod +x cpanm

cpanm -f File::Which

cpanm -f File::HomeDir

cpanm CPAN::Meta::Requirements

cpanm -f CPAN

cpanm YAML

cpanm MD5

cpanm Digest::MD5

cpanm Digest::SHA1

cpanm Bundle::CPAN

cpanm -f DBD::mysql

cpanm Curses

cpanm Getopt::Long

cpanm Net::Domain

cpanm Term::ReadKey

cpanm Term::ANSIColor

cpanm HTML::FormatText

cpanm MIME::Decoder

cpanm Mail::POP3Client

cpanm User::Identity –force

cpanm Mail::Message

cpanm Crypt::Eksblowfish::Bcrypt

###lets add mysql(mariadb) and apache2 as services to autostart

systemctl start mariadb; systemctl enable mariadb; systemctl start apache2; systemctl enable apache2

###reboot the pc

***Asterisk PERL Module 0.8 Installation – 

Zypper in asterisk-perl

cd /usr/src/

wget http://download.vicidial.com/required-apps/asterisk-perl-0.08.tar.gz

tar -zxf asterisk-perl-0.08.tar.gz

cd asterisk-perl-0.08

perl Makefile.PL && make all && make install

***Install Jansson

cd /usr/src/

wget http://www.digip.org/jansson/releases/jansson-2.9.tar.gz

tar -zvxf jansson-2.9.tar.gz

cd jansson-2.9

./configure && make clean && make && make install

ldconfig

rm *.tar.gz

***Install Asterisk – Dadhi and libpri

mkdir /usr/src/asterisk

cd /usr/src/asterisk

wget http://downloads.asterisk.org/pub/telephony/libpri/libpri-current.tar.gz

wget http://downloads.asterisk.org/pub/telephony/dahdi-linux-complete/dahdi-linux-complete-current.tar.gz

http://download.vicidial.com/beta-apps/asterisk-16.17.0-vici.tar.gz

tar xzf asterisk-*

tar xzf dahdi-linux-complete-*

tar xzf libpri-*

cd /usr/src/asterisk/dahdi-linux-complete-3.1.0+3.1.0/

rpm -i https://rpmfind.net/linux/opensuse/update/leap/15.1/oss/noarch/kernel-devel-4.12.14-lp151.28.48.1.noarch.rpm

make && make install

cd /usr/src/asterisk/libpri-1.6.0

make clean

make

make install

cd /usr/src/asterisk/asterisk/asterisk-16.17.0/

./configure --libdir=/usr/lib64 --with-pjproject-bundled -with-jansson-bundled

rm menuselect.makeopts

make menuselect*

 

!!!*MAKE SURE TO scroll down to Applications, press enter, scroll down to > App.MeetME press space bar so you see: [*] and press x to save and exit

make && make install && make samples

chkconfig asterisk on

make && make install && make sameples && make config && make basic-pbx

/usr/share/astguiclient/start_asterisk_boot.pl

 

mkdir /usr/src/astguiclient

cd /usr/src/astguiclient

svn checkout svn://svn.eflo.net:3690/agc_2-X/trunk

 

***DataBase Creation

mysql

CREATE DATABASE `asterisk` DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;

CREATE USER 'cron'@'localhost' IDENTIFIED BY '1234';

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;

exit

mysql

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

ALTER TABLE phones ALTER template_id SET DEFAULT '';

\. /usr/src/astguiclient/trunk/extras/sip-iax_phones.sql

quit

 

/usr/src/astguiclient/trunk/install.pl

/usr/share/astguiclient/ADMIN_area_code_populate.pl

/usr/src/astguiclient/trunk/bin/ADMIN_update_server_ip.pl

 

***Install ViciDial

mkdir /usr/src/astguiclient

cd /usr/src/astguiclient

svn checkout svn://svn.eflo.net:3690/agc_2-X/trunk

cd trunk

perl install.pl

##make sure to change web directory to /srv/www/htdocs and to put your public ip, and to put 16.X for asterisk version

 

***Edit /etc/rc.local to contain the following code (enter vi /etc/rc.local to edit with vi, nano /etc/rc.local to edit with nano, ed /etc/rc.local to edit with sed… choose an editor to your liking):

#!/bin/sh

#

# This script will be executed *after* all the other init scripts.

# You can put your own initialization stuff in here if you don’t

# want to do the full Sys V style init stuff.

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

systemctl start mariadb.service systemctl enable mariadb.service

### start up the apache web server

systemctl start apache2 systemctl enable apache2

### 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 dahdi drivers

modprobe dahdi

/usr/sbin/dahdi_cfg -vvvvvvvvvvvvv

### sleep for 20 seconds before launching Asterisk

sleep 20

### start up asterisk

/usr/share/astguiclient/start_asterisk_boot.pl

vicibox 9 scratch install

vicibox 9 scratch install

***Adding to Crontab

crontab -e

 

**Once it opens, Press “i” and then paste the following into crontab:

### 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,53,56,59 * * * * /usr/share/astguiclient/AST_CRON_audio_3_ftp.pl –GSM

### keepalive script for astguiclient processes

* * * * * /usr/share/astguiclient/ADMIN_keepalive_ALL.pl –cu3way

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

### cleanup of the scheduled callback records

25 0 * * * /usr/share/astguiclient/AST_DB_dead_cb_purge.pl –purge-non-cb -q

### GMT adjust script – uncomment to enable

#45 0 * * * /usr/share/astguiclient/ADMIN_adjust_GMTnow_on_leads.pl –list-settings

### Dialer Inventory Report

1 7 * * * /usr/share/astguiclient/AST_dialer_inventory_snapshot.pl -q –override-24hours

### inbound email parser

* * * * * /usr/share/astguiclient/AST_inbound_email_parser.pl

!!!!END CRONTAB HERE

reboot

 

###once it restarts, type “yast” go to network services > http, on the first screen tab to next, then second screen enable all 3 modules(php, python and perl) and then keep going next on the last pages until u get to finish.

How to setup SIP trunk / Carrier / Provider in ViciDial - VicidialNow - Goautodial - Vicibox | SIP Trunking Service Provider | Switch2VoIP