Skip to main content

Goautodial 4 Steps After installation

 

Step :- 1

 

Default usernames and passwords

Login

Password

MySQL (mysql -u root -p) http://ServerIPAddress/phpmyadmin/

root

Portal – https://ServerIPAddress/

goadmin

G0autodial2018

Requirements

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!

cd /var/www/html/
 
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:

mysql goautodial -A
 
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';
use asterisk
 
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:

cd /var/www/html/
git config --global user.email "root@localhost" 
git stash
git pull
 
cd /var/www/html/goAPIv2/
git stash
git pull

Edit Config.php

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');
?>

Edit goCRMAPISettings.php

nano /var/www/html/php/goCRMAPISettings.php
<?php
define ('gourl', 'https://YOUR_SERVER_IP_ADDRESS/goAPIv2');
define ('goUser', 'goAPI');
define ('goPass', 'KToB93bzjGd1RS4mDqePJ6Uk.jgNRrK');
define ('responsetype', 'json');
?>

To generate encrypted password

php /var/www/html/bin/pass_hasher.php --pass=UNENCRYPTED_PASSWORD

Update the vicidial_users table for goAPI example

mysql asterisk -A
 
UPDATE vicidial_users SET pass_hash='ENCRYPTED_PASSWORD' WHERE user='goAPI';

In the example above, the ENCRYPTED_PASSWORD is 'KToB93bzjGd1RS4mDqePJ6Uk.jgNRrK'.

mysql asterisk -A
 
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:

 #!/usr/bin/perl

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

Popular posts from this blog

voice broadcast in vicidial Step by Step Guide

 Follow all below mention steps:- 1.  Open https://ttsmp3.com/   2.  Select Voice Indian English 3.  Type whatever you want to convert into voice.   4.  Read and confirm and then download as a MP3.   5.  Open downloaded file with wavepad and convert into 16bit Mono 8k PCM WAV. or you can use online audio converter from below mention link. site support .wav file only so you need to convert MP3 file to wav using below mention site. https://g711.org/   6.  Upload file to vicidial audio store.   7.  Manual copy file into /var/lib/asterisk/sound/ folder using winscp software. https://winscp.net/download/WinSCP-5.21.6-Portable.zip   8.  Copy campaign from existing Broadcast camp.   9.  Click on created camp and select details view then click on survey     select Survey First Audio File:- as audio file which we created in step 1 and submit.   10. Create list and select campaign as Newly created campaign broadcast, and change routing extensions.   11. Create user with same name of remote agent

Debian 11 Vicidial scratch install dynamic portal

  Step by step guide to scratch install the vidial dynamic portal in Debian 11 or ubuntu based vicidial scratch installations. If you have installed vicidial using scratch installation instead of using the default vicibox iso then you need to manually install and configure the dynamic portal , follow this blog tutorial to scratch install the vicidial dynamic portal . Here's the steps to install and configure the vicidial dynamic portal in scratch installations. Steps to install vicidial dynamic portal cd /usr/src git clone https://github.com/manish23k/vicidial-dynamicportal.git cd vicidial-dynamicportal chmod +x vici_dynportal.sh ./vici_dynportal.sh or you can install manually. Follow the below steps to install and configure the vicidial dynamic portal in your scratch installations, Step 1: Install the firewalld and ipset apt install firewalld apt  install ipset Step 2: Download the Dynamic portal files from my Github cd /usr/src/ mkdir dynamicportal cd dynamicportal wget ht

Vicidial Scratch installation Debian 11 with Asterisk 16, WebRTC and Dynamic Portal

  Vicidial Scratch installation Debian 11  Asterisk 16, WebRTC and Dynamic Portal apt update apt upgrade apt-get install git nano wget cd /usr/src/ git clone https://github.com/manish23k/Vici_Install_Scripts_Deb_11.git cd Vici_Install_Scripts_Deb_11/ chmod +x *.sh Run ./vici_install_deb_ast16.sh Install WebRTC ./vicidial-install-webrtc.sh Once Done with Configuration Secure Server with Vici Dynamic Portal Run ./vici_dynportal.sh