Step :- 1
Default usernames and passwords
Login |
Password |
|
MySQL (mysql -u root -p) http://ServerIPAddress/phpmyadmin/ |
root |
|
Portal – https://ServerIPAddress/ |
goadmin |
G0autodial2018 |
Download the GoAutoDial CE 4.0
installer: GOautodial-4-x86_64-Final-20191005-1520.iso -
Burn to DVD or create bootable USB.
Configuration Files
nano
/var/www/html/php/Config.php
<?php
// database
configuration
define('DB_USERNAME',
'goautodialu');
define('DB_PASSWORD',
'goautodialu1234');
define('DB_HOST',
'localhost');
define('DB_NAME',
'goautodial');
define('DB_PORT',
'3306');
define('DB_NAME_ASTERISK',
'asterisk');
define('DB_USERNAME_KAMAILIO',
'kamailiou');
define('DB_PASSWORD_KAMAILIO',
'kamailiou1234');
define('DB_HOST_KAMAILIO',
'localhost');
define('DB_NAME_KAMAILIO',
'kamailio');
define('DB_PORT_KAMAILIO',
'3306');
// other
configuration parameters
define('CRM_ADMIN_EMAIL',
'admin@localhost.com');
?>
nano
/var/www/html/php/goCRMAPISettings.php
<?php
define
('gourl', 'https://192.168.22.9/goAPIv2');
define
('goUser', 'goAPI');
define
('responsetype', 'json');
?>
nano /etc/kamailio/kamailio.cfg
#!substdef
"!MY_IP_ADDR!192.168.22.9!g"
#!substdef
"!MY_DOMAIN!vaglxc01.goautodial.com!g"
/* add
local domain aliases */
alias="192.168.22.9"
alias="vaglxc01.goautodial.com"
/*
uncomment and configure the following line if you want Kamailio to
bind on a specific interface/port/proto
(default bind on all available) */
listen=udp:127.0.0.1:5060
listen=udp:192.168.22.9:5060
# -----
rtpengine params -----
modparam("rtpengine",
"rtpengine_sock", "udp:127.0.0.1:5066")
modparam("rtpengine",
"rtpengine_disable_tout", 20)
#modparam("rtpengine",
"db_url", DBURL)
nano
/etc/rtpengine/rtpengine.conf
[rtpengine]
table = 0
#
no-fallback = false
### for
userspace forwarding only:
# table =
-1
### a
single interface:
interface =
192.168.22.9
###
separate multiple interfaces with semicolons:
# interface
= internal/12.23.34.45;external/23.34.45.54
### for
different advertised address:
# interface
= 12.23.34.45!23.34.45.56
Step :- 2
HOWTO Update latest version
via Github
Make sure to backup your existing configuration first!
cp astguiclient.conf astguiclient.conf.bak
cp php/Config.php php/Config.php.bak
cp php/goCRMAPISettings.php php/goCRMAPISettings.php.bak
Update database tables:
ALTER TABLE go_campaigns ADD COLUMN auto_dial_level VARCHAR(20) DEFAULT 'NORMAL';
ALTER TABLE go_campaigns ADD COLUMN cb_noexpire TINYINT(1) DEFAULT '0';
ALTER TABLE go_campaigns ADD COLUMN cb_sendemail TINYINT(1) DEFAULT '0';
ALTER TABLE go_campaigns ADD COLUMN default_country_code VARCHAR(20) DEFAULT 'USA_1';
ALTER TABLE go_campaigns ADD COLUMN enable_callback_alert TINYINT(1) DEFAULT '0';
ALTER TABLE go_campaigns ADD COLUMN google_sheet_ids TEXT;
ALTER TABLE go_campaigns ADD COLUMN google_sheet_list_id BIGINT(14) UNSIGNED DEFAULT '0';
ALTER TABLE go_campaigns ADD COLUMN manual_dial_min_digits INT(11) DEFAULT '6';
ALTER TABLE users ADD COLUMN enable_chat tinyint(1) NULL DEFAULT '1';
ALTER TABLE users ADD COLUMN enable_webrtc tinyint(1) DEFAULT '1';
UPDATE system_settings SET agent_whisper_enabled='1';
UPDATE system_settings SET active_voicemail_server="127.0.0.1";
Update existing GOautodial v4 web application:
git config --global user.email "root@localhost"
git stash
git pull
cd /var/www/html/goAPIv2/
git stash
git pull
Edit Config.php
// database configuration
define('DB_USERNAME', 'goautodialu');
define('DB_PASSWORD', 'goautodialu1234');
define('DB_HOST', 'localhost');
define('DB_NAME', 'goautodial');
define('DB_PORT', '3306');
define('DB_NAME_ASTERISK', 'asterisk');
define('DB_USERNAME_KAMAILIO', 'kamailiou');
define('DB_PASSWORD_KAMAILIO', 'kamailiou1234');
define('DB_HOST_KAMAILIO', 'localhost');
define('DB_NAME_KAMAILIO', 'kamailio');
define('DB_PORT_KAMAILIO', '3306');
// other configuration parameters
define('CRM_ADMIN_EMAIL', 'admin@localhost.com');
?>
Edit goCRMAPISettings.php
define ('gourl', 'https://YOUR_SERVER_IP_ADDRESS/goAPIv2');
define ('goUser', 'goAPI');
define ('goPass', 'KToB93bzjGd1RS4mDqePJ6Uk.jgNRrK');
define ('responsetype', 'json');
?>
To generate encrypted password
Update the vicidial_users table for goAPI example
UPDATE vicidial_users SET pass_hash='ENCRYPTED_PASSWORD' WHERE user='goAPI';
In the example above, the ENCRYPTED_PASSWORD is
'KToB93bzjGd1RS4mDqePJ6Uk.jgNRrK'.
UPDATE vicidial_users SET pass_hash='KToB93bzjGd1RS4mDqePJ6Uk.jgNRrK' WHERE user='goAPI';
Important!!! Please change the default encrypted password above to
your own encrypted password.
Step :- 3
Goautodial Logging in to your phone. Please wait
The Goautodial was installed from ISO and agent had issue logging in. The login screen was hanging with the
Logging in to your phone. Please wait…
message.
At that moment I did not have Letsencrypt certificate on Gotodial installed so it operated with default, self-signed certificate.
nano /etc/kamailio/tls.cfg I changed “method” to SSLv23
[server:default]
#method=TLSv1
method=SSLv23
Save and restarted kamailio with
service kamailio restart
After that an agent was able to get to their page.
Step :- 4
GOAUTODIAL 4
AND VICIDIAL SAME BOX
It is assumed you either already have
goautodial 4 installed as either new or existing and not a vicidial only
install.
Backup everything or run a new install to be
safe.
First follow the steps here
https://goautodial.net/d/4-goautodial-version-4-scratch-install-on-linux if
needed or doing a new install. If you have an existing install check some of
the settings shown there. The instructions will work if you dont do anything on
that link, but it is a baseline that works.
Next for the impatient: (Detailed explanation
at the bottom)
cd /usr/src/goautodial/astguiclient/
perl install.pl --web-only
If you dont have your real certs installed (not self signed) do the following:
cp /etc/letsencrypt/live/--YOUR DOMAIN
NAME--/certs.pem /etc/pki/tls/certs/localhost.crt
cp /etc/letsencrypt/live/--YOUR DOMAIN
NAME--/privkey.pem /etc/pki/tls/private/localhost.key
(NOTE: These are just your cert files and can
come wherever you have them. They may not be in /etc/letsencrypt... but they
must replace the localhost.crt and localhost.key)
mv /etc/httpd/conf.d/fpm.conf
/etc/httpd/conf.d/fpm.conf.orig
mysql asterisk -A
update vicidial_users set load_leads='1',
campaign_detail='1',ast_admin_access='1',modify_users='1',alter_agent_interface_options='1',modify_same_user_level='1'
where user = 'goadmin';
cp /var/www/html/agc/bp.pl
/var/www/html/agc/bp.pl.old
nano /var/www/html/agc/bp.pl
Replace the contents with:
if (length($ARGV[0])>1)
{
$i=0;
while ($#ARGV >= $i)
{
$args = "$args $ARGV[$i]";
$i++;
}
if ($args =~ /--pass=/i)
{
@data_in = split(/--pass=/,$args);
$pass = $data_in[1];
$pass =~ s/ .*//gi;
$php_script = '
require("dbconnect_mysqli.php");
require("functions.php");
$stmt = "SELECT pass_key,pass_cost FROM system_settings;";
$rslt=mysql_to_mysqli($stmt, $link);
$qm_conf_ct = mysqli_num_rows($rslt);
if ($qm_conf_ct > 0)
{
$row=mysqli_fetch_row($rslt);
$SSpass_key = $row[0];
$SSpass_cost = $row[1];
$pass_options = ["cost" => $SSpass_cost,"salt" => base64_encode($SSpass_key)];
$pass_hash = password_hash($argv[1], PASSWORD_BCRYPT, $pass_options);
$pass_hash = substr($pass_hash, 29, 31);
echo "PHASH: $pass_hash\n";
}
';
open my $sm, "|php -r '$php_script' -- $pass" or die "could not run inline php script";
close $sm;
}
}
Reboot your system
https://--YOUR IP ADDRESS--/vicidial/welcome.php
You should be able to login
with goadmin and its password. If your password contains special characters
like \ $ " | ; vicidial will strip them from the password, so if you have
trouble logging into vicidial change the password in goautodial and then try to
log into vicidial again.
NOTES:
You can use the currenlty
created goadmin user as an admin after it has been updated. That is what the
SQL does. The existing goadmin is in the ADMIN group but cannot access many
admin items. Be mindful of how your changes could affect goautodial since you
have new powers now.
It "SEEMS" like
goautodial is just installing a normal vicidial install according to
goautodials install script. The install script specifically installs vicidial
with the --no-web option.
I think the reason for this is
2 fold.
1. goautodial is running with
php-fpm which is bad for vicidial Basic Authentication. The PHP_AUTH_USER,
PHP_AUTH_PW would not be set so you will get the login prompts but your
user/pass are never passed to vicidial.
I could only get it to run
without https using a vhost and adding RewriteRule .* -
[E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
the best solution (at least
for me) was to disable php-fpm. Thats is why php-fpm.conf was renamed so it
wont run. Maybe vicidial 9.02, 9.1 or 10 can use authentication like the Agent
Login screen and not PHP Basic Authentication. Then php-fpm can be used again.
2. goautodial is using php for
the password hash and not perl. Any passwords saved to vicidial from goautodial
would not be able to be used by the vicidial web app.
That is what the new bp.pl is
doing by using the same password algorithm. There are some detailed
explanations to disable password hashing but then all the password would need
to be decoded and updated in vicidial_users. But I believe most people are not
programming or SQL experts so the new bp.pl may not be elegant, but its a
simple solution to help most people get things running it a few minutes. It
also now gives vicidial users secure passwords without having to install
additional perl encryption libraries.
That being said, it
"SEEMS" like you can just pull the latest svn vicidial version and
put it into /usr/src/goautodial/astguiclient/ then do a regular vicidial
upgrade and then update the database.
Possible caveats to test.
Enabling the web option in the current version of goautodial "should
not" cause any problems since goautodial understands the current database
structure, vicidial program options/output etc. Although it is now possible to
"change" things in vicidial admin that could possibly break
goautodial, but is seems unlikely, but if think you did something, you can
change it back.
You could upgrade to the
latest version of vicidial and it could "possibly" be something that
goautodial doesn't understand, doesn't update, or loses it value that vicidial
admin set. Look at the feature, upgrade list of vicidial if you are thinking of
upgrading. If is just bug fixes it should be fine. If its new features test the
new features with goautodial (have a restore plan). If the database is updated
with new columns it may not matter to goautodial depending on what it does, so
test,test,test. Backup first though
You can install letsencrypt on
goautodial (centos 7) by running:
sudo yum install certbot
python2-certbot-apache mod_ssl
You still need to setup your
domain name with certbot (letsencrypt) and you can find many tutorials on the
web.
Comments
Post a Comment