Added a Makefile for GUI make menuconfig, submitted by Lott Caskey

git-svn-id: svn://192.168.202.10@738 3d104415-ff17-0410-8863-d5cf3c621b8a
This commit is contained in:
mattf
2007-12-02 09:52:52 +00:00
parent 2027f218ac
commit bb1e46ffba
4 changed files with 1088 additions and 6 deletions
+151
View File
@@ -0,0 +1,151 @@
#
# Makefile
#
# Copyright (C) 2007 VICIDIAL-astGUIclient <vicidial@gmail.com> LICENSE: GPLv2
#
# CHANGES
# 71121-1430 - Initial release.
# 71130-2137 - Remove install-VDconfig section and replace with install-common.
# 71201-0358 - Use sh to run VDconfig.
#
#
# methods:
# make menuconfig
# Runs graphical configuration.
#
# make defaultconfig
# Creates a default install config file.
#
# make clean
# Removes previous install config.
#
# make install
# Install Non-Web, Web and documents.
#
# make install-nonweb
# Only install executables and other Non-Web components.
#
# make install-web
# Only install Web components.
#
# make install-docs
# Installs documents to /usr/share/doc/astGUIclient-(version)
#
# make install-asterisk-sample-config
# Installs sample configs in /etc/asterisk, backing-up existing files.
.PHONY : defaultconfig menuconfig .install .install-nonweb install-web install install-nonweb install-web install-docs install-asterisk-sample-config clean .install-complete .install-common install-asterisk-sample-configs
VDconfig := VDconfig
version := $(shell cat version)
menuconfig:
@sh $(VDconfig)
clean:
rm -f .agc.config
.agc.config:
@echo "########################################################"
@echo "###"
@echo "### \".agc.config\" file not found."
@echo "### Running configuration and just using defaults."
@echo "###"
@echo "########################################################"
@sh $(VDconfig) --no-menu
defaultconfig: .agc_config
@sh $(VDconfig) --no-menu
# The following, install, install-nonweb and install-web shell-out to
# run VDconfig which set the path variables and runs make with .install*
install: .agc.config
@sh $(VDconfig) --env-make .$@
install-nonweb: .agc.config
@sh $(VDconfig) --env-make .$@
install-web: .agc.config
@sh $(VDconfig) --env-make .$@
# The following, .install, .install-nonweb and .install-web are the actual
# methods used to install
.install: .install-nonweb .install-web install-docs .install-common .install-complete
.install-common:
@echo "Installing VDconfig script..."
@install -d -m 755 $(DESTDIR)$(PATHhome)
@install -p -m 755 $(VDconfig) $(DESTDIR)$(PATHhome)/VDconfig
@install -d -m 755 $(DESTDIR)/usr/bin
@ln -fs $(PATHhome)/VDconfig $(DESTDIR)/usr/bin/VDconfig
@echo "Installing astGUIclient configuration to $(DESTDIR)/etc/astguiclient.conf..."
@install -d -m 755 $(DESTDIR)/etc
@install -p -m 644 ./.agc.config $(DESTDIR)/etc/astguiclient.conf
@echo "Creating log directory $(DESTDIR)$(PATHlogs)..."
@install -d -m 755 $(DESTDIR)$(PATHlogs)
.install-nonweb: .install-common
@echo "Installing non-web components..."
@install -d -m 755 $(DESTDIR)$(PATHhome)/libs/Asterisk
@install -d -m 755 $(DESTDIR)$(PATHhome)/LEADS_IN/DONE
@install -d -m 755 $(DESTDIR)$(PATHmonitor)
@install -d -m 755 $(DESTDIR)$(PATHDONEmonitor)/ORIG
@install -d -m 755 $(DESTDIR)$(PATHagi)
@install -d -m 755 $(DESTDIR)$(PATHsounds)
@install -p -m 755 ./bin/* $(DESTDIR)$(PATHhome)
@install -p -m 755 ./extras/Asterisk.pm $(DESTDIR)$(PATHhome)/libs
@install -p -m 755 ./extras/Asterisk/* $(DESTDIR)$(PATHhome)/libs/Asterisk
@install -p -m 644 ./extras/GMT_USA_zip.txt $(DESTDIR)$(PATHhome)
@install -p -m 644 ./extras/phone_codes_GMT.txt $(DESTDIR)$(PATHhome)
@install -p -m 644 ./extras/MySQL_AST_CREATE_tables.sql $(DESTDIR)$(PATHhome)
@install -p -m 755 ./agi/* $(DESTDIR)$(PATHagi)
@install -p -m 644 ./sounds/* $(DESTDIR)$(PATHsounds)
.install-web: .install-common
@echo "Installing web components in $(DESTDIR)$(PATHweb)..."
@install -d -m 777 $(DESTDIR)$(PATHweb)/agc/images
@install -d -m 777 $(DESTDIR)$(PATHweb)/vicidial/ploticus
@install -d -m 777 $(DESTDIR)$(PATHweb)/vicidial/agent_reports
@install -d -m 777 $(DESTDIR)$(PATHweb)/vicidial/server_reports
@install -p -m 755 ./www/agc/*.php $(DESTDIR)$(PATHweb)/agc
@install -p -m 644 ./www/agc/images/* $(DESTDIR)$(PATHweb)/agc/images
@install -p -m 755 ./www/vicidial/*.php $(DESTDIR)$(PATHweb)/vicidial
@install -p -m 755 ./www/vicidial/*.pl $(DESTDIR)$(PATHweb)/vicidial
@install -p -m 644 ./www/vicidial/*.gif $(DESTDIR)$(PATHweb)/vicidial
install-asterisk-sample-configs: install-asterisk-sample-config
install-asterisk-sample-config:
@echo "Installing sample configs in $(DESTDIR)/etc/asterisk..."
@install -d -m 777 $(DESTDIR)/etc/asterisk
@install -b -p -m 644 ./docs/conf_examples/extensions.conf.sample $(DESTDIR)/etc/asterisk/extensions.conf
@install -b -p -m 644 ./docs/conf_examples/meetme.conf.sample $(DESTDIR)/etc/asterisk/meetme.conf
@install -b -p -m 644 ./docs/conf_examples/manager.conf.sample $(DESTDIR)/etc/asterisk/manager.conf
@install -b -p -m 644 ./docs/conf_examples/musiconhold.conf.sample $(DESTDIR)/etc/asterisk/musiconhold.conf
@install -b -p -m 644 ./docs/conf_examples/voicemail.conf.sample $(DESTDIR)/etc/asterisk/voicemail.conf
@install -b -p -m 644 ./docs/conf_examples/sip.conf.sample $(DESTDIR)/etc/asterisk/sip.conf
@install -b -p -m 644 ./docs/conf_examples/logger.conf.sample $(DESTDIR)/etc/asterisk/logger.conf
@install -b -p -m 644 ./docs/conf_examples/iax.conf.sample $(DESTDIR)/etc/asterisk/iax.conf
@install -b -p -m 644 ./docs/conf_examples/dnsmgr.conf.sample $(DESTDIR)/etc/asterisk/dnsmgr.conf
install-docs:
@echo "Installing documents in $(DESTDIR)/usr/share/doc/astGUIclient-$(version)..."
@install -d -m 755 $(DESTDIR)/usr/share/doc/astGUIclient-$(version)/conf_examples
@install -p -m 644 ./docs/*.txt $(DESTDIR)/usr/share/doc/astGUIclient-$(version)
@install -p -m 644 ./docs/conf_examples/* $(DESTDIR)/usr/share/doc/astGUIclient-$(version)/conf_examples
.install-complete:
@echo
@echo
@echo
@echo "#################################################################"
@echo "### ####"
@echo "### VICIDIAL-astGUIclient ####"
@echo "### INSTALLATION COMPLETE ####"
@echo "### ####"
@echo "### Please continue with the steps in SCRATH_INSTALL.txt ####"
@echo "### ####"
@echo "### Run /usr/bin/VDconfig to modify the configuration. ####"
@echo "### ####"
@echo "#################################################################"
+924
View File
@@ -0,0 +1,924 @@
#!/bin/sh
#
# VDconfig
#
# Copyright (C) 2007 VICIDIAL-astGUIclient <vicidial@gmail.com> LICENSE: GPLv2
#
# CHANGES
# 71120-0000 - Iniitial release
# 71121-1220 - Added --no-menu to merge in astguiclient.conf and save config.
# 71121-1334 - Added --env-make [make_option] to set environment before make.
# 71129-1947 - Fixed .agc-config load problem, fixed duplicate save issue.
SetDefaults ()
{
# default path to astguicient configuration file:
PATHconf="/etc/astguiclient.conf"
# default path to home direct:
PATHhome="/usr/share/astguiclient"
# default path to astguiclient logs directory:
PATHlogs="/var/log/astguiclient"
# default path to asterisk agi-bin directory:
PATHagi="/var/lib/asterisk/agi-bin"
# default path to web root directory (Best guess):
PATHweb="/var/www/html"
if [ -e "/usr/apache2/htdocs" ]; then
PATHweb="/usr/apache2/htdocs"
elif [ -e "/usr/local/apache2/htdocs" ]; then
PATHweb="/usr/local/apache2/htdocs"
fi
# default path to asterisk sounds directory:
PATHsounds="/var/lib/asterisk/sounds"
# default path to asterisk recording directory:
PATHmonitor="/var/spool/asterisk/monitor"
# default path to asterisk recording DONE directory:
PATHDONEmonitor="/var/spool/asterisk/monitorDONE"
# the IP address of this machine. default to best guess:
VARserver_ip=`/sbin/ifconfig eth0 | grep 'inet addr' | awk -F: '{ print $2 }' | awk '{ print $1 }'`
# default database server variables:
VARDB_server="localhost"
VARDB_database="asterisk"
VARDB_user="cron"
VARDB_pass="1234"
VARDB_port="3306"
# default keepalive processes:
VARactive_keepalives="123456"
# default recording FTP archive variables:
VARFTP_host=$VARserver_ip
VARFTP_user="cron"
VARFTP_pass="test"
VARFTP_port="21"
VARFTP_dir="RECORDINGS"
VARHTTP_path="http://$VARserver_ip"
# default report FTP variables:
VARREPORT_host=$VARserver_ip
VARREPORT_user="cron"
VARREPORT_pass="test"
VARREPORT_port="21"
VARREPORT_dir="REPORTS"
# defaults for FastAGI Server PreFork
VARfastagi_log_min_servers="3"
VARfastagi_log_max_servers="16"
VARfastagi_log_min_spare_servers="2"
VARfastagi_log_max_spare_servers="8"
VARfastagi_log_max_requests="1000"
VARfastagi_log_checkfordead="30"
VARfastagi_log_checkforwait="60"
}
FileLocationConfig ()
{
DONE=no
while [ "$DONE" != "yes" ]; do
{
$DIALOG --clear --ok-label "Edit" --cancel-label "Done" \
--backtitle "$BACKTITLE" \
--item-help \
--title "General Configuration Menu" \
--menu "General configuration and file location menu.\n" \
15 74 8 \
1 "This server's IP address" "This server's IP address: $VARserver_ip" \
2 "Home directory" "Home directory: $PATHhome" \
3 "Log directory" "Log directory: $PATHlogs" \
4 "Web root directory" "Web root directory: $PATHweb" \
5 "Asterisk AGI-bin directory" "Asterisk AGI-bin direcory: $PATHagi" \
6 "Asterisk sounds directory" "Asterisk sounds directory: $PATHsounds" \
7 "Asterisk recordings directory" "Asterisk recordings directory: $PATHmonitor" \
8 "Asterisk recordings DONE directory" "Asterisk recordings DONE directory $PATHDONEmonitor" 2>$TEMP
if [ "$?" != "0" ]; then
{
DONE=yes
}
else
{
set `cat $TEMP`
if [ "$1" = "1" ]; then
{
$DIALOG --clear --backtitle "$BACKTITLE" \
--title "Server IP Address" \
--inputbox "Enter this server's IP address:" 9 74 "$VARserver_ip" \
2> $TEMP
if [ "$?" = "0" ]; then
{
set `cat $TEMP`
VARserver_ip=$1
}
fi
}
elif [ "$1" = "2" ]; then
{
$DIALOG --clear --backtitle "$BACKTITLE" \
--title "Home Directory" \
--inputbox "Enter the astguiclient home directory" 9 74 "$PATHhome" \
2> $TEMP
if [ "$?" = "0" ]; then
{
set `cat $TEMP`
PATHhome=$1
}
fi
}
elif [ "$1" = "3" ]; then
{
$DIALOG --clear --backtitle "$BACKTITLE" \
--title "Log Directory" \
--inputbox "Enter the log directory" 9 74 "$PATHlogs" \
2> $TEMP
if [ "$?" = "0" ]; then
{
set `cat $TEMP`
PATHlogs=$1
}
fi
}
elif [ "$1" = "4" ]; then
{
$DIALOG --clear --backtitle "$BACKTITLE" \
--title "Web Root Directory" \
--inputbox "Enter the web root directory:" 9 74 "$PATHweb" \
2> $TEMP
if [ "$?" = "0" ]; then
{
set `cat $TEMP`
PATHweb=$1
}
fi
}
elif [ "$1" = "5" ]; then
{
$DIALOG --clear --backtitle "$BACKTITLE" \
--title "Asterisk AGI-bin Directory" \
--inputbox "Enter the location of Asterisk's AGI-bin directory:" 9 74 "$PATHagi" \
2> $TEMP
if [ "$?" = "0" ]; then
{
set `cat $TEMP`
PATHagi=$1
}
fi
}
elif [ "$1" = "6" ]; then
{
$DIALOG --clear --backtitle "$BACKTITLE" \
--title "Asterisk Sound Directory" \
--inputbox "Enter the location of Asterisk's sounds directory:" 9 74 "$PATHsounds" \
2> $TEMP
if [ "$?" = "0" ]; then
{
set `cat $TEMP`
PATHsounds=$1
}
fi
}
elif [ "$1" = "7" ]; then
{
$DIALOG --clear --backtitle "$BACKTITLE" \
--title "Asterisk Recording Directory" \
--inputbox "Enter the location of Asterisk's recordings directory:" 9 74 "$PATHmonitor" \
2> $TEMP
if [ "$?" = "0" ]; then
{
set `cat $TEMP`
PATHmonitor=$1
}
fi
}
elif [ "$1" = "8" ]; then
{
$DIALOG --clear --backtitle "$BACKTITLE" \
--title "Asterisk Recording Completed Directory" \
--inputbox "Enter the location of Asterisk's recording completion directory:" 9 74 "$PATHDONEmonitor" \
2> $TEMP
if [ "$?" = "0" ]; then
{
set `cat $TEMP`
PATHDONEmonitor=$1
}
fi
}
fi
}
fi
}
done
return 0
}
DatabaseConfig ()
{
DONE=no
while [ "$DONE" != "yes" ]; do
{
$DIALOG --clear --ok-label "Edit" --cancel-label "Done" \
--backtitle "$BACKTITLE" \
--item-help \
--title "Database Configuration Menu" \
--menu "Setup database access parameters.\n" \
12 74 5 \
1 "MySQL server" "MySQL server: $VARDB_server" \
2 "MySQL port" "MySQL port: $VARDB_port" \
3 "MySQL database" "MySQL database: $VARDB_database" \
4 "MySQL user" "MySQL user: $VARDB_user" \
5 "MySQL password" "MySQL password: $VARDB_pass" \
2> $TEMP
if [ "$?" != "0" ]; then
{
DONE=yes
}
else
{
set `cat $TEMP`
if [ "$1" = "1" ]; then
{
$DIALOG --clear --backtitle "$BACKTITLE" \
--title "MySQL Server Address" \
--inputbox "Enter server's IP address or hostname:" 9 74 "$VARDB_server" \
2> $TEMP
if [ "$?" = "0" ]; then
{
set `cat $TEMP`
VARDB_server=$1
}
fi
}
elif [ "$1" = "2" ]; then
{
$DIALOG --clear --backtitle "$BACKTITLE" \
--title "MySQL Port" \
--inputbox "Enter port of the MySQL server:" 9 74 "$VARDB_port" \
2> $TEMP
if [ "$?" = "0" ]; then
{
set `cat $TEMP`
VARDB_port=$1
}
fi
}
elif [ "$1" = "3" ]; then
{
$DIALOG --clear --backtitle "$BACKTITLE" \
--title "MySQL Database" \
--inputbox "Enter database name to use:" 9 74 "$VARDB_database" \
2> $TEMP
if [ "$?" = "0" ]; then
{
set `cat $TEMP`
VARDB_database=$1
}
fi
}
elif [ "$1" = "4" ]; then
{
$DIALOG --clear --backtitle "$BACKTITLE" \
--title "MySQL Username" \
--inputbox "Enter the username:" 9 74 "$VARDB_user" \
2> $TEMP
if [ "$?" = "0" ]; then
{
set `cat $TEMP`
VARDB_user=$1
}
fi
}
elif [ "$1" = "5" ]; then
{
$DIALOG --clear --backtitle "$BACKTITLE" \
--title "MySQL Password" \
--inputbox "Enter the password for the above user:" 9 74 "$VARDB_pass" \
2> $TEMP
if [ "$?" = "0" ]; then
{
set `cat $TEMP`
VARDB_pass=$1
}
fi
}
fi
}
fi
}
done
return 0
}
RecordingConfig ()
{
DONE=no
while [ "$DONE" != "yes" ]; do
{
$DIALOG --clear --ok-label "Edit" --cancel-label "Done" \
--backtitle "$BACKTITLE" \
--item-help \
--title "Recording Configuration Menu" \
--menu "Setup recording FTP/HTTP access.\n" \
13 74 6 \
1 "FTP host" "FTP host: $VARFTP_host" \
2 "FTP port" "FTP port: $VARFTP_port" \
3 "FTP user" "FTP user: $VARFTP_user" \
4 "FTP password" "FTP password: $VARFTP_pass" \
5 "FTP directory" "FTP directory: $VARFTP_dir" \
6 "HTTP path" "HTTP path: $VARHTTP_path" \
2> $TEMP
if [ "$?" != "0" ]; then
{
DONE=yes
}
else
{
set `cat $TEMP`
if [ "$1" = "1" ]; then
{
$DIALOG --clear --backtitle "$BACKTITLE" \
--title "FTP Server Address" \
--inputbox "Enter server's IP address or hostname:" 9 74 "$VARFTP_host" \
2> $TEMP
if [ "$?" = "0" ]; then
{
set `cat $TEMP`
VARFTP_host=$1
}
fi
}
elif [ "$1" = "2" ]; then
{
$DIALOG --clear --backtitle "$BACKTITLE" \
--title "FTP Port" \
--inputbox "Enter port of the FTP server:" 9 74 "$VARFTP_port" \
2> $TEMP
if [ "$?" = "0" ]; then
{
set `cat $TEMP`
VARFTP_port=$1
}
fi
}
elif [ "$1" = "3" ]; then
{
$DIALOG --clear --backtitle "$BACKTITLE" \
--title "FTP Username" \
--inputbox "Enter username:" 9 74 "$VARFTP_user" \
2> $TEMP
if [ "$?" = "0" ]; then
{
set `cat $TEMP`
VARFTP_user=$1
}
fi
}
elif [ "$1" = "4" ]; then
{
$DIALOG --clear --backtitle "$BACKTITLE" \
--title "FTP Password" \
--inputbox "Enter the password:" 9 74 "$VARFTP_pass" \
2> $TEMP
if [ "$?" = "0" ]; then
{
set `cat $TEMP`
VARFTP_pass=$1
}
fi
}
elif [ "$1" = "5" ]; then
{
$DIALOG --clear --backtitle "$BACKTITLE" \
--title "FTP Directory" \
--inputbox "Enter the directory to upload to:" 9 74 "$VARFTP_dir" \
2> $TEMP
if [ "$?" = "0" ]; then
{
set `cat $TEMP`
VARFTP_dir=$1
}
fi
}
elif [ "$1" = "6" ]; then
{
$DIALOG --clear --backtitle "$BACKTITLE" \
--title "HTTP Path" \
--inputbox "Enter the HTTP path to the FTP uploads:" 9 74 "$VARHTTP_path" \
2> $TEMP
if [ "$?" = "0" ]; then
{
set `cat $TEMP`
VARHTTP_path=$1
}
fi
}
fi
}
fi
}
done
return 0
}
ReportingConfig ()
{
DONE=no
while [ "$DONE" != "yes" ]; do
{
$DIALOG --clear --ok-label "Edit" --cancel-label "Done" \
--backtitle "$BACKTITLE" \
--item-help \
--title "Reporting Configuration Menu" \
--menu "Setup reporting FTP access.\n" \
12 74 5 \
1 "FTP host" "FTP host: $VARREPORT_host" \
2 "FTP port" "FTP port: $VARREPORT_port" \
3 "FTP user" "FTP user: $VARREPORT_user" \
4 "FTP password" "FTP password: $VARREPORT_pass" \
5 "FTP directory" "FTP directory: $VARREPORT_dir" \
2> $TEMP
if [ "$?" != "0" ]; then
{
DONE=yes
}
else
{
set `cat $TEMP`
if [ "$1" = "1" ]; then
{
$DIALOG --clear --backtitle "$BACKTITLE" \
--title "FTP Server Address" \
--inputbox "Enter server's IP address or hostname:" 9 74 "$VARFTP_host" \
2> $TEMP
if [ "$?" = "0" ]; then
{
set `cat $TEMP`
VARFTP_host=$1
}
fi
}
elif [ "$1" = "2" ]; then
{
$DIALOG --clear --backtitle "$BACKTITLE" \
--title "FTP Port" \
--inputbox "Enter port of the FTP server:" 9 74 "$VARFTP_port" \
2> $TEMP
if [ "$?" = "0" ]; then
{
set `cat $TEMP`
VARFTP_port=$1
}
fi
}
elif [ "$1" = "3" ]; then
{
$DIALOG --clear --backtitle "$BACKTITLE" \
--title "FTP Username" \
--inputbox "Enter username:" 9 74 "$VARFTP_user" \
2> $TEMP
if [ "$?" = "0" ]; then
{
set `cat $TEMP`
VARFTP_user=$1
}
fi
}
elif [ "$1" = "4" ]; then
{
$DIALOG --clear --backtitle "$BACKTITLE" \
--title "FTP Password" \
--inputbox "Enter the password:" 9 74 "$VARFTP_pass" \
2> $TEMP
if [ "$?" = "0" ]; then
{
set `cat $TEMP`
VARFTP_pass=$1
}
fi
}
elif [ "$1" = "5" ]; then
{
$DIALOG --clear --backtitle "$BACKTITLE" \
--title "FTP Directory" \
--inputbox "Enter the directory to upload to:" 9 74 "$VARFTP_dir" \
2> $TEMP
if [ "$?" = "0" ]; then
{
set `cat $TEMP`
VARFTP_dir=$1
}
fi
}
fi
}
fi
}
done
return 0
}
FastAGIConfig ()
{
DONE=no
while [ "$DONE" != "yes" ]; do
{
$DIALOG --clear --ok-label "Edit" --cancel-label "Done" \
--backtitle "$BACKTITLE" \
--item-help \
--title "FastAGI Configuration Menu" \
--menu "Settings for FastAGI logging server.\n" \
14 74 7 \
1 "Minimum Servers ($VARfastagi_log_min_servers)" "Minimum Servers: $VARfastagi_log_min_servers" \
2 "Maximum Servers ($VARfastagi_log_max_servers)" "Maximum Servers: $VARfastagi_log_max_servers" \
3 "Minimum Spares ($VARfastagi_log_min_spare_servers)" "Minimum Spares: $VARfastagi_log_min_spare_servers" \
4 "Maximum Spares ($VARfastagi_log_max_spare_servers)" "Maximum Spares: $VARfastagi_log_max_spare_servers" \
5 "Maximum Requests ($VARfastagi_log_max_requests)" "Maximum Requests: $VARfastagi_log_max_requests" \
6 "Check for Dead ($VARfastagi_log_checkfordead)" "Check for Dead: $VARfastagi_log_checkfordead" \
7 "Check for Wait ($VARfastagi_log_checkforwait)" "Check for Wait: $VARfastagi_log_checkforwait" \
2> $TEMP
if [ "$?" != "0" ]; then
{
DONE=yes
}
else
{
set `cat $TEMP`
if [ "$1" = "1" ]; then
{
$DIALOG --clear --backtitle "$BACKTITLE" \
--title "FastAGI Logger Minimum Servers" \
--inputbox "Enter the minimum servers to run:" 9 74 "$VARfastagi_log_min_servers" \
2> $TEMP
if [ "$?" = "0" ]; then
{
set `cat $TEMP`
VARfastagi_log_min_servers=$1
}
fi
}
elif [ "$1" = "2" ]; then
{
$DIALOG --clear --backtitle "$BACKTITLE" \
--title "FastAGI Logger Maximum Servers" \
--inputbox "Enter the maximum number of servers to run:" 9 74 "$VARfastagi_log_max_servers" \
2> $TEMP
if [ "$?" = "0" ]; then
{
set `cat $TEMP`
VARfastagi_log_max_servers=$1
}
fi
}
elif [ "$1" = "3" ]; then
{
$DIALOG --clear --backtitle "$BACKTITLE" \
--title "FastAGI Logger Minimum Spare Servers" \
--inputbox "Enter the minimum number of spares:" 9 74 "$VARfastagi_log_min_spare_servers" \
2> $TEMP
if [ "$?" = "0" ]; then
{
set `cat $TEMP`
VARfastagi_log_min_spare_servers=$1
}
fi
}
elif [ "$1" = "4" ]; then
{
$DIALOG --clear --backtitle "$BACKTITLE" \
--title "FastAGI Logger Maximum Spare Servers" \
--inputbox "Enter the maximum number of spares:" 9 74 "$VARfastagi_log_max_spare_servers" \
2> $TEMP
if [ "$?" = "0" ]; then
{
set `cat $TEMP`
VARfastagi_log_max_spare_servers=$1
}
fi
}
elif [ "$1" = "5" ]; then
{
$DIALOG --clear --backtitle "$BACKTITLE" \
--title "FastAGI Logger Maximum Requests" \
--inputbox "Enter the maximum requests before killing server:" 9 74 "$VARfastagi_log_max_requests" \
2> $TEMP
if [ "$?" = "0" ]; then
{
set `cat $TEMP`
VARfastagi_log_max_requests=$1
}
fi
}
elif [ "$1" = "6" ]; then
{
$DIALOG --clear --backtitle "$BACKTITLE" \
--title "FastAGI Logger Check for Dead" \
--inputbox "Enter the check for dead time:" 9 74 "$VARfastagi_log_checkfordead" \
2> $TEMP
if [ "$?" = "0" ]; then
{
set `cat $TEMP`
VARfastagi_log_cheackfordead=$1
}
fi
}
elif [ "$1" = "7" ]; then
{
$DIALOG --clear --backtitle "$BACKTITLE" \
--title "FastAGI Logger Check for Wait" \
--inputbox "Enter the check for wait time:" 9 74 "$VARfastagi_log_checkforwait" \
2> $TEMP
if [ "$?" = "0" ]; then
{
set `cat $TEMP`
VARfastagi_log_checkforwait=$1
}
fi
}
fi
}
fi
}
done
return 0
}
RunPerlKeepAliveSep ()
{
KATMP="/tmp/.agc.conf.katmp.$$"
KAPTMP="/tmp/.agc.conf.kaptmp.$$"
echo '$k1 = "off"; $k2 = "off"; $k3 = "off"; $k4 = "off"; $k5 = "off"; $k6 = "off"; $k7 = "off";' > $KAPTMP
echo 'foreach $i (split //, $ARGV[0]) {' >> $KAPTMP
echo ' if ($i eq "1") { $k1 = "on"; } elsif ($i eq "2") { $k2 = "on";' >> $KAPTMP
echo ' } elsif ($i eq "3") { $k3 = "on"; } elsif ($i eq "4") { $k4 = "on";' >> $KAPTMP
echo ' } elsif ($i eq "5") { $k5 = "on"; } elsif ($i eq "6") { $k6 = "on";' >> $KAPTMP
echo ' } elsif ($i eq "7") { $k7 = "on"; }' >> $KAPTMP
echo '}' >> $KAPTMP
echo 'print "K1=$k1\nK2=$k2\nK3=$k3\nK4=$k4\nK5=$k5\nK6=$k6\nK7=$k7\n";' >> $KAPTMP
perl $KAPTMP $VARactive_keepalives >> $KATMP
. $KATMP
rm -f $KAPTMP
rm -f $KATMP
}
KeepaliveConfig ()
{
RunPerlKeepAliveSep
DONE=no
while [ "$DONE" != "yes" ]; do
{
$DIALOG --clear --ok-label "Done" \
--backtitle "$BACKTITLE" \
--no-cancel \
--item-help \
--title "Keepalive Configuration Menu" \
--checklist "Settings for keepalive processes.\nDeselect all items if you do not want any keepalive processes running.\n\nUse (Space) to select/deselect items." \
17 74 7 \
1 "AST_update" "$K1" "" \
2 "AST_send_listen" "$K2" "" \
3 "AST_VDauto_dial" "$K3" "" \
4 "AST_VDremote_agents" "$K4" "" \
5 "AST_VDadapt" "$K5" "If multi-server system, this must only be on one server." \
6 "FastAGI Logger" "$K6" "" \
7 "AST_VDauto_dial_FILL" "$K7" "Only for multi-server, this must only be on one server." \
2> $TEMP
if [ "$?" = "0" ]; then
{
DONE=yes
VARactive_keepalives=`cat $TEMP | tr -d '"' | tr -d ' '`
if [ "$VARactive_keepalives" = "" ]; then
{
VARactive_keepalives="X"
}
fi
}
fi
}
done
return 0
}
SaveConfig ()
{
echo "# astguiclient.conf - configuration elements for the astguiclient package" > $PATHconf
echo "# this is the astguiclient configuration file" >> $PATHconf
echo "# all comments will be lost if you run install.pl again" >> $PATHconf
echo "AGCversion => $AGCversion" >> $PATHconf
echo "" >> $PATHconf
echo "# Paths used by astGUIclient" >> $PATHconf
echo "PATHhome => $PATHhome" >> $PATHconf
echo "PATHlogs => $PATHlogs" >> $PATHconf
echo "PATHagi => $PATHagi" >> $PATHconf
echo "PATHweb => $PATHweb" >> $PATHconf
echo "PATHsounds => $PATHsounds" >> $PATHconf
echo "PATHmonitor => $PATHmonitor" >> $PATHconf
echo "" >> $PATHconf
echo "# The IP address of this machine" >> $PATHconf
echo "VARserver_ip => $VARserver_ip" >> $PATHconf
echo "" >> $PATHconf
echo "# Database connection information" >> $PATHconf
echo "VARDB_server => $VARDB_server" >> $PATHconf
echo "VARDB_database => $VARDB_database" >> $PATHconf
echo "VARDB_user => $VARDB_user" >> $PATHconf
echo "VARDB_pass => $VARDB_pass" >> $PATHconf
echo "VARDB_port => $VARDB_port" >> $PATHconf
echo "" >> $PATHconf
echo "# Alpha-Numeric list of the astGUIclient processes to be kept running" >> $PATHconf
echo "# (value should be listing of characters with no spaces: 123456)" >> $PATHconf
echo "# X - NO KEEPALIVE PROCESSES (use only if you want none to be keepalive)" >> $PATHconf
echo "# 1 - AST_update" >> $PATHconf
echo "# 2 - AST_send_listen" >> $PATHconf
echo "# 3 - AST_VDauto_dial" >> $PATHconf
echo "# 4 - AST_VDremote_agents" >> $PATHconf
echo "# 5 - AST_VDadapt (If multi-server system, this must only be on one server)" >> $PATHconf
echo "# 6 - FastAGI_log" >> $PATHconf
echo "# 7 - AST_VDauto_dial_FILL (only for multi-server, this must only be on one server)" >> $PATHconf
echo "VARactive_keepalives => $VARactive_keepalives" >> $PATHconf
echo "" >> $PATHconf
echo "# Settings for FastAGI logging server" >> $PATHconf
echo "VARfastagi_log_min_servers => $VARfastagi_log_min_servers" >> $PATHconf
echo "VARfastagi_log_max_servers => $VARfastagi_log_max_servers" >> $PATHconf
echo "VARfastagi_log_min_spare_servers => $VARfastagi_log_min_spare_servers" >> $PATHconf
echo "VARfastagi_log_max_spare_servers => $VARfastagi_log_max_spare_servers" >> $PATHconf
echo "VARfastagi_log_max_requests => $VARfastagi_log_max_requests" >> $PATHconf
echo "VARfastagi_log_checkfordead => $VARfastagi_log_checkfordead" >> $PATHconf
echo "VARfastagi_log_checkforwait => $VARfastagi_log_checkforwait" >> $PATHconf
echo "" >> $PATHconf
echo "# Recording FTP archive variables" >> $PATHconf
echo "VARFTP_host => $VARFTP_host" >> $PATHconf
echo "VARFTP_user => $VARFTP_user" >> $PATHconf
echo "VARFTP_pass => $VARFTP_pass" >> $PATHconf
echo "VARFTP_port => $VARFTP_port" >> $PATHconf
echo "VARFTP_dir => $VARFTP_dir" >> $PATHconf
echo "VARHTTP_path => $VARHTTP_path" >> $PATHconf
echo "" >> $PATHconf
echo "# Report FTP variables" >> $PATHconf
echo "VARREPORT_host => $VARREPORT_host" >> $PATHconf
echo "VARREPORT_user => $VARREPORT_user" >> $PATHconf
echo "VARREPORT_pass => $VARREPORT_pass" >> $PATHconf
echo "VARREPORT_port => $VARREPORT_port" >> $PATHconf
echo "VARREPORT_dir => $VARREPORT_dir" >> $PATHconf
chmod 644 $PATHconf
MESSAGE="Configuration: $PATHconf"
EXIT="yes"
}
#############################################################################
## Main Program
if ! which dialog > /dev/null; then
{
echo "dialog not found!"
exit 1
}
fi
DIALOG="dialog"
TEMP="/tmp/.agc.tmp.$$"
EXIT="no"
MESSAGE="Abnormal Termination"
# Source to environment and do not print messages.
if [ "$1" = "--env-make" ]; then
EXIT="yes"
OUTPUT="no"
fi
if [ "$1" = "--no-menu" ]; then
EXIT="yes"
MENU="no"
fi
# If a config for install is in current directory, use that.
if [ -f ".agc.config" ]; then
{
PATHconf=".agc.config"
}
fi
# Set defaults and load configuration.
SetDefaults
if [ -f "version" ]; then
{
AGCversion=`cat version`
INSTALL="yes"
PATHconf=".agc.config"
}
fi
if [ -f "$PATHconf" ]; then
{
CONFIG="/tmp/.agc.conf.$$"
if [ "$OUTPUT" != "no" ]; then
echo "Loading saved configuration from $PATHconf"
sleep 1
fi
sed 's/[ |>|\t]//g' $PATHconf > $CONFIG
. $CONFIG
rm -f $CONFIG
}
fi
# If version is blank, assume 2.0.3"
if [ "$AGCversion" = "" ]; then
{
AGCversion="2.0.3"
}
fi
while [ "$EXIT" != "yes" ]; do
{
BACKTITLE="VICIDIAL-astGUIclient $AGCversion Configuration"
MM_TEXT="Welcome to the VICIDIAL-astGUIclient Configuration Menu."
MM_TEXT="$MM_TEXT\nHere can configure the default settings for"
MM_TEXT="$MM_TEXT VICIDIAL-astGUIclient."
if [ "$INSTALL" = "yes" ]; then
{
$DIALOG --clear --backtitle "$BACKTITLE" \
--title "Main Configuration Menu" \
--menu "$MM_TEXT" 18 74 10 \
1 "General configuration & file locations" \
2 "Database configuration" \
3 "Recording (FTP) configuration" \
4 "Reporting (FTP) configuration" \
5 "FastAGI server configuration" \
6 "Active Keepalives" \
- "---------------------------------------" \
7 "Save configuration & exit" \
8 "Exit WITHOUT saving" \
9 "Save configuration & install" \
2>$TEMP
}
else
{
$DIALOG --clear --backtitle "$BACKTITLE" \
--title "Main Configuration Menu" \
--menu "$MM_TEXT" 17 74 9 \
1 "General configuration & file locations" \
2 "Database configuration" \
3 "Recording (FTP) configuration" \
4 "Reporting (FTP) configuration" \
5 "FastAGI server configuration" \
6 "Active Keepalives" \
- "--------------------------------------" \
7 "Save configuration & exit" \
8 "Exit WITHOUT saving" \
2>$TEMP
}
fi
if [ "$?" != "0" ]; then
{
MESSAGE="Configuration cancelled!"
EXIT="yes"
}
else
{
set `cat $TEMP`
if [ "$1" = "1" ]; then FileLocationConfig
elif [ "$1" = "2" ]; then DatabaseConfig
elif [ "$1" = "3" ]; then RecordingConfig
elif [ "$1" = "4" ]; then ReportingConfig
elif [ "$1" = "5" ]; then FastAGIConfig
elif [ "$1" = "6" ]; then KeepaliveConfig
elif [ "$1" = "7" ]; then SaveConfig
elif [ "$1" = "8" ]; then
{
MESSAGE="Configuration NOT saved!"
EXIT=yes
}
elif [ "$1" = "9" ]; then
{
SaveConfig
RUNINSTALL=yes
}
fi
}
fi
}
done
if [ "$MENU" = "no" ]; then
SaveConfig
fi
rm -f $TEMP
if [ "$OUTPUT" != "no" ]; then
echo "$0 written by Lott Caskey, 2007-11-19."
echo
echo
echo $MESSAGE
fi
if [ "$1" = "--env-make" ]; then
export PATHconf PATHhome PATHlogs PATHagi PATHweb PATHsounds
export PATHmonitor PATHDONEmonitor DESTDIR
make $2
fi
if [ "$RUNINSTALL" = "yes" ]; then
export PATHconf PATHhome PATHlogs PATHagi PATHweb PATHsounds
export PATHmonitor PATHDONEmonitor DESTDIR
make install
fi
@@ -129,6 +129,8 @@ Default Transfer Group -<\/B> This field is the default In-Group that will be au
Default Transfer Group: ||
Allowed Transfer Groups: ||
Allowed Transfer Groups -<\/B> With these checkbox listings you can select the groups that agents in this campaign can transfer calls to. Allow Closers must be enabled for this option to show up||
Campaign Ranks -<\/B> In this section you can define the rank an agent will have for each campaign. These ranks can be used to allow for preferred call routing when Next Agent Call is set to campaign_rank||
Also in this section is the ability to give the agent a rank for each inbound group. These ranks can be used for preferred call routing when that option is selected in the in-group screen||
############################################################ CLIENT
+11 -6
View File
@@ -1910,11 +1910,6 @@ echo "<TABLE WIDTH=98% BGCOLOR=#E6E6E6 cellpadding=2 cellspacing=0><TR><TD ALIGN
<BR>
<B>Agent Choose Ingroups -</B> This option if set to 1 allows the user to choose the ingroups that they will receive calls from when they login to a CLOSER or INBOUND campaign. Otherwise the Manager will need to set this in their user detail screen of the admin page.
<BR>
<A NAME="vicidial_users-closer_campaigns">
<BR>
<B>Inbound Groups -</B> Here is where you select the inbound groups you want to receive calls from if you have selected the CLOSER campaign. You will also be able to set the rank, or skill level, in this section for each of the inbound groups as well as being able to see the number of calls received from each inbound group for this specific agent.
<BR>
<A NAME="vicidial_users-scheduled_callbacks">
<BR>
@@ -1950,6 +1945,16 @@ echo "<TABLE WIDTH=98% BGCOLOR=#E6E6E6 cellpadding=2 cellspacing=0><TR><TD ALIGN
<BR>
<B>VICIDIAL Recording Override -</B> This option will override whatever the option is in the campaign for recording. DISABLED will not override the campaign recording setting. NEVER will disable recording on the client. ONDEMAND is the default and allows the agent to start and stop recording as needed. ALLCALLS will start recording on the client whenever a call is sent to an agent. ALLFORCE will start recording on the client whenever a call is sent to an agent giving the agent no option to stop recording. For ALLCALLS and ALLFORCE there is an option to use the Recording Delay to cut down on very short recordings and recude system load.
<BR>
<A NAME="vicidial_users-vicidial_users-campaign_ranks">
<BR>
<B>Campaign Ranks -</B> In this section you can define the rank an agent will have for each campaign. These ranks can be used to allow for preferred call routing when Next Agent Call is set to campaign_rank.
<BR>
<A NAME="vicidial_users-closer_campaigns">
<BR>
<B>Inbound Groups -</B> Here is where you select the inbound groups you want to receive calls from if you have selected the CLOSER campaign. You will also be able to set the rank, or skill level, in this section for each of the inbound groups as well as being able to see the number of calls received from each inbound group for this specific agent. Also in this section is the ability to give the agent a rank for each inbound group. These ranks can be used for preferred call routing when that option is selected in the in-group screen.
<BR>
<A NAME="vicidial_users-alter_custdata_override">
<BR>
@@ -8723,7 +8728,7 @@ if ($ADD==3)
echo "<tr bgcolor=#B6D3FC><td align=right>Closer Default Blended: </td><td align=left><select size=1 name=closer_default_blended><option>0</option><option>1</option><option SELECTED>$closer_default_blended</option></select>$NWB#vicidial_users-closer_default_blended$NWE</td></tr>\n";
echo "<tr bgcolor=#B6D3FC><td align=right>VICIDIAL Recording Override: </td><td align=left><select size=1 name=vicidial_recording_override><option>DISABLED</option><option>NEVER</option><option>ONDEMAND</option><option>ALLCALLS</option><option>ALLFORCE</option><option SELECTED>$vicidial_recording_override</option></select>$NWB#vicidial_users-vicidial_recording_override$NWE</td></tr>\n";
echo "<tr bgcolor=#B6D3FC><td align=right>Agent Alter Customer Data Override: </td><td align=left><select size=1 name=alter_custdata_override><option>NOT_ACTIVE</option><option>ALLOW_ALTER</option><option SELECTED>$alter_custdata_override</option></select>$NWB#vicidial_users-alter_custdata_override$NWE</td></tr>\n";
echo "<tr bgcolor=#B6D3FC><td align=center colspan=2>Campaign Ranks: $NWB#vicidial_users-closer_campaigns$NWE<BR>\n";
echo "<tr bgcolor=#B6D3FC><td align=center colspan=2>Campaign Ranks: $NWB#vicidial_users-campaign_ranks$NWE<BR>\n";
echo "<table border=0>\n";
echo "$RANKcampaigns_list";
echo "</table>\n";