diff --git a/agc_2-X/trunk/docs/REQUIRED_APPS_INSTALL.txt b/agc_2-X/trunk/docs/REQUIRED_APPS_INSTALL.txt
index 47ba30e4..bb5c1d61 100644
--- a/agc_2-X/trunk/docs/REQUIRED_APPS_INSTALL.txt
+++ b/agc_2-X/trunk/docs/REQUIRED_APPS_INSTALL.txt
@@ -149,10 +149,10 @@ cd zlib-1.2.3
make
make install
cd /usr/local
-wget http://gulus.usherbrooke.ca/pub/appl/ssh/OpenSSH/portable/openssh-4.7p1.tar.gz
-gunzip openssh-4.7p1.tar.gz
-tar xvf openssh-4.7p1.tar
-cd openssh-4.7p1
+wget http://ftp.openssh.zone-h.org/pub/OpenBSD/OpenSSH/portable/openssh-5.0p1.tar.gz
+gunzip openssh-5.0p1.tar.gz
+tar xvf openssh-5.0p1.tar
+cd openssh-5.0p1
./configure
make
make install
@@ -189,13 +189,14 @@ make install
cd /usr/local
-wget http://mirror.candidhosting.com/pub/apache/httpd/httpd-2.0.61.tar.gz
-gunzip httpd-2.0.61.tar.gz
-tar xvf httpd-2.0.61.tar
-wget http://us2.php.net/distributions/php-4.4.8.tar.gz
-gunzip php-4.4.8.tar.gz
-tar xvf php-4.4.8.tar
-cd httpd-2.0.61
+wget http://mirror.candidhosting.com/pub/apache/httpd/httpd-2.2.8.tar.gz
+gunzip httpd-2.2.8.tar.gz
+tar xvf httpd-2.2.8.tar
+wget http://us2.php.net/distributions/php-5.2.6.tar.gz
+gunzip php-5.2.6.tar.gz
+tar xvf php-5.2.6.tar
+cd httpd-2.2.8
+make clean
./configure --prefix=/usr/local/apache2 --enable-ssl --enable-setenvif --enable-so --with-apxs2 --enable-dav --enable-maintainer-mode
make
make install
@@ -208,8 +209,9 @@ openssl req -new -x509 -days 1200 -keyout /usr/local/apache2/conf/ssl.key/server
openssl rsa -in /usr/local/apache2/conf/ssl.key/server.key.cpy -out /usr/local/apache2/conf/ssl.key/server.key
-cd ../php-4.4.8
-./configure --with-mysql=/usr/local/mysql --enable-inline-optimization --enable-memory-limit --enable-track-vars --enable-libgcc --with-xml --enable-versioning --enable-sysvsem --with-openssl --disable-debug --with-apxs2=/usr/local/apache2/bin/apxs --with-zlib
+cd ../php-5.2.6
+make clean
+./configure --with-mysql=/usr/local/mysql --enable-inline-optimization --enable-memory-limit --enable-track-vars --enable-libgcc --enable-sysvsem --with-openssl --with-apxs2=/usr/local/apache2/bin/apxs --with-zlib
make
make install
cp php.ini-dist /usr/local/lib/php.ini
@@ -218,9 +220,9 @@ vi /usr/local/apache2/conf/httpd.conf
add the following lines:
"AddType application/x-httpd-php .php .phtml"
- "LoadModule php4_module libexec/libphp4.so"
+ "LoadModule php5_module modules/libphp5.so"
or
- "LoadModule php4_module module/libphp4.so"
+ "LoadModule php5_module modules/libphp5.so"
modify the index.html line and add index.php to the list
to disable logging, change:
@@ -251,10 +253,8 @@ vi /usr/local/apache2/conf/httpd.conf
vi /usr/local/lib/php.ini
- modify the following line:
- "memory_limit = 8M"
- and change it to:
- "memory_limit = 48M"
+ Make sure short tags are enabled:
+ "short_open_tag = On"
some other fields to change if using web-based lead loader:
max_execution_time = 330
@@ -278,7 +278,7 @@ vi /usr/local/lib/php.ini
Add the following lines to the dynamic extensions section of php.ini:
(you may need to change the extension location depending on your install of php)
-extension="../../../usr/local/eaccelerator-0.9.5/modules/eaccelerator.so"
+zend_extension="../../../usr/local/eaccelerator-0.9.5/modules/eaccelerator.so"
eaccelerator.shm_size="48"
eaccelerator.cache_dir="/tmp/eaccelerator"
eaccelerator.enable="1"
@@ -293,9 +293,9 @@ eaccelerator.shm_only="0"
eaccelerator.compress="1"
eaccelerator.compress_level="9"
-
mkdir /tmp/eaccelerator
chmod 0777 /tmp/eaccelerator
+ls -l /tmp/eaccelerator
php -v
/usr/local/apache2/bin/apachectl startssl
diff --git a/agc_2-X/trunk/docs/SCRATCH_INSTALL.txt b/agc_2-X/trunk/docs/SCRATCH_INSTALL.txt
index 82625eaa..43e0a986 100644
--- a/agc_2-X/trunk/docs/SCRATCH_INSTALL.txt
+++ b/agc_2-X/trunk/docs/SCRATCH_INSTALL.txt
@@ -648,10 +648,10 @@ updated on your system, so we're going to install a new version now.
- make
- make install
- cd /usr/local
- - wget http://gulus.usherbrooke.ca/pub/appl/ssh/OpenSSH/portable/openssh-4.7p1.tar.gz
- - gunzip openssh-4.7p1.tar.gz
- - tar xvf openssh-4.7p1.tar
- - cd openssh-4.7p1
+ - wget http://ftp.openssh.zone-h.org/pub/OpenBSD/OpenSSH/portable/openssh-5.0p1.tar.gz
+ - gunzip openssh-5.0p1.tar.gz
+ - tar xvf openssh-5.0p1.tar
+ - cd openssh-5.0p1
- ./configure
- make
- make install
@@ -686,26 +686,28 @@ installation on another machine)
Go to http://www.php.net/ and download the php unix source code
- to install this directly on the command line type:
- cd /usr/local
- - wget http://mirror.candidhosting.com/pub/apache/httpd/httpd-2.0.61.tar.gz
- - gunzip httpd-2.0.61.tar.gz
- - tar xvf httpd-2.0.61.tar
- - wget http://us2.php.net/distributions/php-4.4.8.tar.gz
+ - wget http://mirror.candidhosting.com/pub/apache/httpd/httpd-2.2.8.tar.gz
+ - gunzip httpd-2.2.8.tar.gz
+ - tar xvf httpd-2.2.8.tar
+ - wget http://us2.php.net/distributions/php-5.2.6.tar.gz
NOTE: PHP 5.1.1 has also been tested with this release
- - gunzip php-4.4.8.tar.gz
- - tar xvf php-4.4.8.tar
- - cd httpd-2.0.61
+ - gunzip php-5.2.6.tar.gz
+ - tar xvf php-5.2.6.tar
+ - cd httpd-2.2.8
- ./configure --enable-so --with-apxs2
- make
- make install
- - cd ../php-4.4.8
+ - cd ../php-5.2.6
- ./configure --with-apxs2=/usr/local/apache2/bin/apxs --with-mysql
- make
- make install
- cp php.ini-dist /usr/local/lib/php.ini
NOTE: you will want to make sure NOTICE logging is turned off:
error_reporting = E_ALL & ~E_NOTICE ; (this is default)
-!!! REQUIRED !!! raise the memory limit for scripts in php.ini:
+!!! REQUIRED !!! be sure the memory limit for scripts in php.ini is AT LEAST 48M:
memory_limit = 48M
+ Make sure short tags are enabled:
+ short_open_tag = On
some other fields to change if using web-based lead loader:
max_execution_time = 330
max_input_time = 360
@@ -716,9 +718,9 @@ installation on another machine)
- vi /usr/local/apache2/conf/httpd.conf
add the following lines:
"AddType application/x-httpd-php .php .phtml"
- "LoadModule php4_module libexec/libphp4.so"
+ "LoadModule php4_module libexec/libphp5.so"
or
- "LoadModule php4_module modules/libphp4.so"
+ "LoadModule php4_module modules/libphp5.so"
modify the index.html line and add index.php to the list
to disable logging, change:
@@ -763,7 +765,7 @@ installation on another machine)
- vi /usr/local/lib/php.ini
Add the following lines to the dynamic extensions section of php.ini:
(you may need to change the extension location depending on your install of php)
- extension="../../../usr/local/eaccelerator-0.9.5/modules/eaccelerator.so"
+ zend_extension="../../../usr/local/eaccelerator-0.9.5/modules/eaccelerator.so"
eaccelerator.shm_size="48"
eaccelerator.cache_dir="/tmp/eaccelerator"
eaccelerator.enable="1"
diff --git a/agc_2-X/trunk/extras/MySQL_AST_CREATE_tables.sql b/agc_2-X/trunk/extras/MySQL_AST_CREATE_tables.sql
index 238990db..3af9fbe0 100644
--- a/agc_2-X/trunk/extras/MySQL_AST_CREATE_tables.sql
+++ b/agc_2-X/trunk/extras/MySQL_AST_CREATE_tables.sql
@@ -1063,6 +1063,13 @@ index (campaign_group_id),
index (stat_date)
);
+ CREATE TABLE phones_alias (
+alias_id VARCHAR(20) NOT NULL UNIQUE PRIMARY KEY,
+alias_name VARCHAR(50),
+logins_list VARCHAR(255)
+);
+
+
ALTER TABLE vicidial_campaign_server_stats ENGINE=HEAP;
ALTER TABLE live_channels ENGINE=HEAP;
@@ -1109,4 +1116,4 @@ INSERT INTO vicidial_state_call_times SET state_call_time_id='utah',state_call_t
INSERT INTO vicidial_state_call_times SET state_call_time_id='washington',state_call_time_state='WA',state_call_time_name='Washington 8am',sct_default_start='800',sct_default_stop='2100';
INSERT INTO vicidial_state_call_times SET state_call_time_id='wyoming',state_call_time_state='WY',state_call_time_name='Wyoming 8am-8pm',sct_default_start='800',sct_default_stop='2000';
-UPDATE system_settings SET db_schema_version='1082';
+UPDATE system_settings SET db_schema_version='1083';
diff --git a/agc_2-X/trunk/extras/upgrade_2.0.5.sql b/agc_2-X/trunk/extras/upgrade_2.0.5.sql
index 358b28a9..b0d5c0ac 100644
--- a/agc_2-X/trunk/extras/upgrade_2.0.5.sql
+++ b/agc_2-X/trunk/extras/upgrade_2.0.5.sql
@@ -126,3 +126,11 @@ ALTER TABLE vicidial_inbound_groups MODIFY after_hours_action ENUM('HANGUP','MES
ALTER TABLE vicidial_inbound_groups ADD afterhours_xfer_group VARCHAR(20) default '---NONE---';
UPDATE system_settings SET db_schema_version='1082';
+
+ CREATE TABLE phones_alias (
+alias_id VARCHAR(20) NOT NULL UNIQUE PRIMARY KEY,
+alias_name VARCHAR(50),
+logins_list VARCHAR(255)
+);
+
+UPDATE system_settings SET db_schema_version='1083';
diff --git a/agc_2-X/trunk/translations/raw_translation_files/TO_BE_TRANSLATED_2.0.5.txt b/agc_2-X/trunk/translations/raw_translation_files/TO_BE_TRANSLATED_2.0.5.txt
index d3ce66e0..61cc3e3e 100644
--- a/agc_2-X/trunk/translations/raw_translation_files/TO_BE_TRANSLATED_2.0.5.txt
+++ b/agc_2-X/trunk/translations/raw_translation_files/TO_BE_TRANSLATED_2.0.5.txt
@@ -78,6 +78,39 @@ CALL HANGUP REASON STATS||
After Hours Action -<\/B> The action to perform if it is after hours as defined in the call time for this inbound group. HANGUP will immediately hangup the call, MESSASGE will play the file in the After Hours Message Filenam field, EXTENSION will send the call to the After Hours Extension in the dialplan and VOICEMAIL will send the call to the voicemail box listed in the After Hours Voicemail field, IN_GROUP will send the call to the inbound group selected in the After Hours Transfer Group select list. Default is MESSAGE||
After Hours Transfer Group -<\/B> If After Hours Action is set to IN_GROUP, the call will be sent to this inbound group if it enters the in-group outside of the call time scheme defined for the in-group||
After Hours Transfer Group: ||
+Total calls taken in to this In-Group:||
+CALL HOLD TIME BREAKDOWN IN SECONDS||
+Date Range:||
+ADDING NEW PHONE ALIAS||
+ADD NEW PHONE ALIAS||
+MODIFY PHONE ALIAS||
+DELETE PHONE ALIAS||
+PHONE ALIAS LIST||
+Phone Alias List||
+Add A New Phone Alias||
+ADD A NEW PHONE ALIAS||
+Alias ID: ||
+Alias Name: ||
+Phone Logins List: ||
+PHONE ALIAS NOT ADDED||
+there is already a Phone Alias in the system with this ID||
+there is already a Phone Login in the system with this ID||
+PHONE ALIAS ADDED||
+PHONE ALIAS NOT MODIFIED||
+PHONE ALIAS MODIFIED||
+PHONE ALIAS NOT DELETED||
+PHONE ALIAS DELETION CONFIRMATION||
+Click here to delete phone alias||
+PHONE ALIAS DELETION COMPLETED||
+PHONE ALIAS LISTINGS||
+there is already a Phone alias in the system with this login||
+there is already a Phone in the system with this login||
+DELETE THIS PHONE ALIAS||
+MODIFY A PHONE ALIAS RECORD||
+Alias ID -<\/B> The ID of the alias used to allow for phone load balanced logins. no spaces or other special characters allowed. Must be between 2 and 20 characters in length||
+Alias Name -<\/B> The name used to describe a phones alias, Must be between 2 and 50 characters in length||
+Phones Logins List -<\/B> The comma separated list of phone logins used when an agent logs in using phone load balanced logins. The Agent application will find the active server with the fewest agents logged into it and place a call from that server to the agent upon login||
+PHONES WITHIN THIS PHONES ALIAS||
############################################################ CLIENT
diff --git a/agc_2-X/trunk/www/agc/vicidial.php b/agc_2-X/trunk/www/agc/vicidial.php
index 3a4358a5..136ec283 100644
--- a/agc_2-X/trunk/www/agc/vicidial.php
+++ b/agc_2-X/trunk/www/agc/vicidial.php
@@ -173,10 +173,11 @@
# 80407-2112 - Work on adding phone login load balancing across servers
# 80416-0559 - Added ability to log computer_ip at login, set the $PhoneSComPIP variable
# 80428-0413 - UTF8 changes and testing
+# 80505-0054 - Added multi-phones load-balanced alias option
#
-$version = '2.0.5-152';
-$build = '80428-0413';
+$version = '2.0.5-153';
+$build = '80505-0054';
require("dbconnect.php");
@@ -947,6 +948,28 @@ $VDloginDISPLAY=0;
# will send multiple phones-table logins so that the script can determine the
# server that has the fewest agents logged into it.
# login: ca101,cb101,cc101
+ $alias_found=0;
+$stmt="select count(*) from phones_alias where alias_id = '$phone_login';";
+$rslt=mysql_query($stmt, $link);
+$alias_ct = mysql_num_rows($rslt);
+if ($alias_ct > 0)
+ {
+ $row=mysql_fetch_row($rslt);
+ $alias_found = "$row[0]";
+ }
+if ($alias_found > 0)
+ {
+ $stmt="select alias_name,logins_list from phones_alias where alias_id = '$phone_login' limit 1;";
+ $rslt=mysql_query($stmt, $link);
+ $alias_ct = mysql_num_rows($rslt);
+ if ($alias_ct > 0)
+ {
+ $row=mysql_fetch_row($rslt);
+ $alias_name = "$row[0]";
+ $phone_login = "$row[1]";
+ }
+ }
+
$pa=0;
if ( (eregi(',',$phone_login)) and (strlen($phone_login) > 2) )
{
@@ -957,7 +980,8 @@ if ( (eregi(',',$phone_login)) and (strlen($phone_login) > 2) )
{
if ($pa > 0)
{$phoneSQL .= " or ";}
- $phoneSQL .= "(login='$phones_auto[$pa]' and pass='$phone_pass')";
+ $desc = ($phones_auto_ct - $pa); # traverse in reverse order
+ $phoneSQL .= "(login='$phones_auto[$desc]' and pass='$phone_pass')";
$pa++;
}
$phoneSQL .= ")";
diff --git a/agc_2-X/trunk/www/vicidial/AST_CLOSERstats.php b/agc_2-X/trunk/www/vicidial/AST_CLOSERstats.php
index dbc510bc..47aefe58 100644
--- a/agc_2-X/trunk/www/vicidial/AST_CLOSERstats.php
+++ b/agc_2-X/trunk/www/vicidial/AST_CLOSERstats.php
@@ -156,16 +156,16 @@ $row=mysql_fetch_row($rslt);
$TOTALcalls = sprintf("%10s", $row[0]);
if ( ($row[0] < 1) or ($row[1] < 1) )
- {$average_hold_seconds = ' 0';}
+ {$average_call_seconds = ' 0';}
else
{
- $average_hold_seconds = ($row[1] / $row[0]);
- $average_hold_seconds = round($average_hold_seconds, 0);
- $average_hold_seconds = sprintf("%10s", $average_hold_seconds);
+ $average_call_seconds = ($row[1] / $row[0]);
+ $average_call_seconds = round($average_call_seconds, 0);
+ $average_call_seconds = sprintf("%10s", $average_call_seconds);
}
-echo "Total Calls placed from this Campaign: $TOTALcalls\n";
-echo "Average Call Length for all Calls: $average_hold_seconds seconds\n";
+echo "Total calls taken in to this In-Group: $TOTALcalls\n";
+echo "Average Call Length for all Calls: $average_call_seconds seconds\n";
echo "\n";
echo "---------- DROPS\n";
@@ -185,7 +185,9 @@ else
}
if ( ($row[0] < 1) or ($row[1] < 1) )
- {$average_hold_seconds = ' 0';}
+ {
+ $average_hold_seconds = ' 0';
+ }
else
{
$average_hold_seconds = ($row[1] / $row[0]);
@@ -198,6 +200,115 @@ echo "Average hold time for DROP Calls: $average_hold_seconds second
+
+##############################
+######### CALL QUEUE STATS
+echo "\n";
+echo "---------- QUEUE STATS\n";
+
+$stmt="select count(*),sum(queue_seconds) from vicidial_closer_log where call_date >= '$query_date_BEGIN' and call_date <= '$query_date_END' and campaign_id='" . mysql_real_escape_string($group) . "' and (queue_seconds > 0);";
+$rslt=mysql_query($stmt, $link);
+if ($DB) {echo "$stmt\n";}
+$row=mysql_fetch_row($rslt);
+
+$QUEUEcalls = sprintf("%10s", $row[0]);
+if ( ($QUEUEcalls < 1) or ($TOTALcalls < 1) )
+ {$QUEUEpercent = '0';}
+else
+ {
+ $QUEUEpercent = (($QUEUEcalls / $TOTALcalls) * 100);
+ $QUEUEpercent = round($QUEUEpercent, 0);
+ }
+
+if ( ($row[0] < 1) or ($row[1] < 1) )
+ {$average_queue_seconds = ' 0';}
+else
+ {
+ $average_queue_seconds = ($row[1] / $row[0]);
+ $average_queue_seconds = round($average_queue_seconds, 2);
+ $average_queue_seconds = sprintf("%10.2f", $average_queue_seconds);
+ }
+
+if ( ($TOTALcalls < 1) or ($row[1] < 1) )
+ {$average_total_queue_seconds = ' 0';}
+else
+ {
+ $average_total_queue_seconds = ($row[1] / $TOTALcalls);
+ $average_total_queue_seconds = round($average_total_queue_seconds, 2);
+ $average_total_queue_seconds = sprintf("%10.2f", $average_total_queue_seconds);
+ }
+
+echo "Total Calls That entered Queue: $QUEUEcalls $QUEUEpercent%\n";
+echo "Average QUEUE Length for queue calls: $average_queue_seconds seconds\n";
+echo "Average QUEUE Length across all calls: $average_total_queue_seconds seconds\n";
+
+
+
+##############################
+######### CALL HOLD TIME BREAKDONW IN SECONDS
+
+$TOTALcalls = 0;
+
+echo "\n";
+echo "---------- CALL HOLD TIME BREAKDOWN IN SECONDS\n";
+echo "+-------------------------------------------------------------------------------------------+------------+\n";
+echo "| 0 5 10 15 20 25 30 35 40 45 50 55 60 90 +90 | TOTAL |\n";
+echo "+-------------------------------------------------------------------------------------------+------------+\n";
+
+$stmt="select count(*),queue_seconds from vicidial_closer_log where call_date >= '$query_date_BEGIN' and call_date <= '$query_date_END' and campaign_id='" . mysql_real_escape_string($group) . "' group by queue_seconds;";
+if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");}
+$rslt=mysql_query($stmt, $link);
+if ($DB) {echo "$stmt\n";}
+$reasons_to_print = mysql_num_rows($rslt);
+$i=0;
+while ($i < $reasons_to_print)
+ {
+ $row=mysql_fetch_row($rslt);
+
+ $TOTALcalls = ($TOTALcalls + $row[0]);
+
+ if ($row[1] == 0) {$hd_0 = ($hd_0 + $row[0]);}
+ if ( ($row[1] > 0) and ($row{1} <= 5) ) {$hd_5 = ($hd_5 + $row[0]);}
+ if ( ($row[1] > 5) and ($row{1} <= 10) ) {$hd10 = ($hd10 + $row[0]);}
+ if ( ($row[1] > 10) and ($row{1} <= 15) ) {$hd15 = ($hd15 + $row[0]);}
+ if ( ($row[1] > 15) and ($row{1} <= 20) ) {$hd20 = ($hd20 + $row[0]);}
+ if ( ($row[1] > 20) and ($row{1} <= 25) ) {$hd25 = ($hd25 + $row[0]);}
+ if ( ($row[1] > 25) and ($row{1} <= 30) ) {$hd30 = ($hd30 + $row[0]);}
+ if ( ($row[1] > 30) and ($row{1} <= 35) ) {$hd35 = ($hd35 + $row[0]);}
+ if ( ($row[1] > 35) and ($row{1} <= 40) ) {$hd40 = ($hd40 + $row[0]);}
+ if ( ($row[1] > 40) and ($row{1} <= 45) ) {$hd45 = ($hd45 + $row[0]);}
+ if ( ($row[1] > 45) and ($row{1} <= 50) ) {$hd50 = ($hd50 + $row[0]);}
+ if ( ($row[1] > 50) and ($row{1} <= 55) ) {$hd55 = ($hd55 + $row[0]);}
+ if ( ($row[1] > 55) and ($row{1} <= 60) ) {$hd60 = ($hd60 + $row[0]);}
+ if ( ($row[1] > 60) and ($row{1} <= 90) ) {$hd90 = ($hd90 + $row[0]);}
+ if ($row[1] > 90) {$hd99 = ($hd99 + $row[0]);}
+ $i++;
+ }
+
+$hd_0 = sprintf("%5s", $hd_0);
+$hd_5 = sprintf("%5s", $hd_5);
+$hd10 = sprintf("%5s", $hd10);
+$hd15 = sprintf("%5s", $hd15);
+$hd20 = sprintf("%5s", $hd20);
+$hd25 = sprintf("%5s", $hd25);
+$hd30 = sprintf("%5s", $hd30);
+$hd35 = sprintf("%5s", $hd35);
+$hd40 = sprintf("%5s", $hd40);
+$hd45 = sprintf("%5s", $hd45);
+$hd50 = sprintf("%5s", $hd50);
+$hd55 = sprintf("%5s", $hd55);
+$hd60 = sprintf("%5s", $hd60);
+$hd90 = sprintf("%5s", $hd90);
+$hd99 = sprintf("%5s", $hd99);
+
+$TOTALcalls = sprintf("%10s", $TOTALcalls);
+
+echo "+-------------------------------------------------------------------------------------------+------------+\n";
+echo "| $hd_0 $hd_5 $hd10 $hd15 $hd20 $hd25 $hd30 $hd35 $hd40 $hd45 $hd50 $hd55 $hd60 $hd90 $hd99 | $TOTALcalls |\n";
+echo "+-------------------------------------------------------------------------------------------+------------+\n";
+
+
+
##############################
######### CALL HANGUP REASON STATS
@@ -316,47 +427,6 @@ echo "+-------------------------------+------------+\n";
-
-echo "\n";
-echo "---------- QUEUE STATS\n";
-
-$stmt="select count(*),sum(queue_seconds) from vicidial_closer_log where call_date >= '$query_date_BEGIN' and call_date <= '$query_date_END' and campaign_id='" . mysql_real_escape_string($group) . "' and (queue_seconds > 0);";
-$rslt=mysql_query($stmt, $link);
-if ($DB) {echo "$stmt\n";}
-$row=mysql_fetch_row($rslt);
-
-$QUEUEcalls = sprintf("%10s", $row[0]);
-if ( ($QUEUEcalls < 1) or ($TOTALcalls < 1) )
- {$QUEUEpercent = '0';}
-else
- {
- $QUEUEpercent = (($QUEUEcalls / $TOTALcalls) * 100);
- $QUEUEpercent = round($QUEUEpercent, 0);
- }
-
-if ( ($row[0] < 1) or ($row[1] < 1) )
- {$average_queue_seconds = ' 0';}
-else
- {
- $average_queue_seconds = ($row[1] / $row[0]);
- $average_queue_seconds = round($average_queue_seconds, 2);
- $average_queue_seconds = sprintf("%10.2f", $average_queue_seconds);
- }
-
-if ( ($TOTALcalls < 1) or ($row[1] < 1) )
- {$average_total_queue_seconds = ' 0';}
-else
- {
- $average_total_queue_seconds = ($row[1] / $TOTALcalls);
- $average_total_queue_seconds = round($average_total_queue_seconds, 2);
- $average_total_queue_seconds = sprintf("%10.2f", $average_total_queue_seconds);
- }
-
-echo "Total Calls That entered Queue: $QUEUEcalls $QUEUEpercent%\n";
-echo "Average QUEUE Length for queue calls: $average_queue_seconds seconds\n";
-echo "Average QUEUE Length across all calls: $average_total_queue_seconds seconds\n";
-
-
##############################
######### USER STATS
diff --git a/agc_2-X/trunk/www/vicidial/admin.php b/agc_2-X/trunk/www/vicidial/admin.php
index 224ebe0a..2802d518 100644
--- a/agc_2-X/trunk/www/vicidial/admin.php
+++ b/agc_2-X/trunk/www/vicidial/admin.php
@@ -709,6 +709,12 @@ if (isset($_GET["code_name"])) {$code_name=$_GET["code_name"];}
elseif (isset($_POST["code_name"])) {$code_name=$_POST["code_name"];}
if (isset($_GET["afterhours_xfer_group"])) {$afterhours_xfer_group=$_GET["afterhours_xfer_group"];}
elseif (isset($_POST["afterhours_xfer_group"])) {$afterhours_xfer_group=$_POST["afterhours_xfer_group"];}
+if (isset($_GET["alias_id"])) {$alias_id=$_GET["alias_id"];}
+ elseif (isset($_POST["alias_id"])) {$alias_id=$_POST["alias_id"];}
+if (isset($_GET["alias_name"])) {$alias_name=$_GET["alias_name"];}
+ elseif (isset($_POST["alias_name"])) {$alias_name=$_POST["alias_name"];}
+if (isset($_GET["logins_list"])) {$logins_list=$_GET["logins_list"];}
+ elseif (isset($_POST["logins_list"])) {$logins_list=$_POST["logins_list"];}
if (isset($script_id)) {$script_id= strtoupper($script_id);}
if (isset($lead_filter_id)) {$lead_filter_id = strtoupper($lead_filter_id);}
@@ -1009,6 +1015,10 @@ $drop_action = ereg_replace("[^-\_0-9a-zA-Z]","",$drop_action);
$drop_inbound_group = ereg_replace("[^-\_0-9a-zA-Z]","",$drop_inbound_group);
$afterhours_xfer_group = ereg_replace("[^-\_0-9a-zA-Z]","",$afterhours_xfer_group);
$after_hours_action = ereg_replace("[^-\_0-9a-zA-Z]","",$after_hours_action);
+$alias_id = ereg_replace("[^-\_0-9a-zA-Z]","",$alias_id);
+
+### ALPHA-NUMERIC and underscore and dash and comma
+$logins_list = ereg_replace("[^-\,\_0-9a-zA-Z]","",$logins_list);
### ALPHA-NUMERIC and spaces
$lead_order = ereg_replace("[^ 0-9a-zA-Z]","",$lead_order);
@@ -1048,6 +1058,8 @@ $vcl_name = ereg_replace("[^ \.\,-\_0-9a-zA-Z]","",$vcl_name);
$vsc_name = ereg_replace("[^ \.\,-\_0-9a-zA-Z]","",$vsc_name);
$vsc_description = ereg_replace("[^ \.\,-\_0-9a-zA-Z]","",$vsc_description);
$code_name = ereg_replace("[^ \.\,-\_0-9a-zA-Z]","",$code_name);
+$alias_name = ereg_replace("[^ \.\,-\_0-9a-zA-Z]","",$alias_name);
+
### ALPHA-NUMERIC and underscore and dash and slash and at and dot
$call_out_number_group = ereg_replace("[^-\.\:\/\@\_0-9a-zA-Z]","",$call_out_number_group);
@@ -1223,11 +1235,12 @@ $list_mix_container = ereg_replace(";","",$list_mix_container);
# 80317-2037 - Added Recording override settings to in-groups
# 80414-1505 - More work on QC, added vicidial_qc_codes
# 80424-0442 - Added non_latin system_settings lookup at top to override dbconnect setting
+# 80505-0333 - Added phones_alias sections to allow for load-balanced-phone-logins
#
# make sure you have added a user to the vicidial_users MySQL table with at least user_level 8 to access this page the first time
-$admin_version = '2.0.5-127';
-$build = '80424-0442';
+$admin_version = '2.0.5-128';
+$build = '80505-0333';
$STARTtime = date("U");
$SQLdate = date("Y-m-d H:i:s");
@@ -1377,6 +1390,7 @@ if ($ADD==11111111) {$hh='filters'; echo "Add New Filter";}
if ($ADD==111111111) {$hh='admin'; $sh='times'; echo "Add New Call Time";}
if ($ADD==1111111111) {$hh='admin'; $sh='times'; echo "Add New State Call Time";}
if ($ADD==11111111111) {$hh='admin'; $sh='phones'; echo "ADD NEW PHONE";}
+if ($ADD==12111111111) {$hh='admin'; $sh='phones'; echo "ADD NEW PHONE ALIAS";}
if ($ADD==111111111111) {$hh='admin'; $sh='server'; echo "ADD NEW SERVER";}
if ($ADD==1111111111111) {$hh='admin'; $sh='conference'; echo "ADD NEW CONFERENCE";}
if ($ADD==11111111111111) {$hh='admin'; $sh='conference'; echo "ADD NEW VICIDIAL CONFERENCE";}
@@ -1401,6 +1415,7 @@ if ($ADD==21111111) {$hh='filters'; echo "New Filter Addition";}
if ($ADD==211111111) {$hh='admin'; $sh='times'; echo "New Call Time Addition";}
if ($ADD==2111111111) {$hh='admin'; $sh='times'; echo "New State Call Time Addition";}
if ($ADD==21111111111) {$hh='admin'; $sh='phones'; echo "ADDING NEW PHONE";}
+if ($ADD==22111111111) {$hh='admin'; $sh='phones'; echo "ADDING NEW PHONE ALIAS";}
if ($ADD==211111111111) {$hh='admin'; $sh='server'; echo "ADDING NEW SERVER";}
if ($ADD==221111111111) {$hh='admin'; $sh='server'; echo "ADDING NEW SERVER VICIDIAL TRUNK RECORD";}
if ($ADD==2111111111111) {$hh='admin'; $sh='conference'; echo "ADDING NEW CONFERENCE";}
@@ -1449,6 +1464,7 @@ if ($ADD==311111111) {$hh='admin'; $sh='times'; echo "Modify Call Time";}
if ($ADD==321111111) {$hh='admin'; $sh='times'; echo "Modify Call Time State Definitions List";}
if ($ADD==3111111111) {$hh='admin'; $sh='times'; echo "Modify State Call Time";}
if ($ADD==31111111111) {$hh='admin'; $sh='phones'; echo "MODIFY PHONE";}
+if ($ADD==32111111111) {$hh='admin'; $sh='phones'; echo "MODIFY PHONE ALIAS";}
if ($ADD==311111111111) {$hh='admin'; $sh='server'; echo "MODIFY SERVER";}
if ($ADD==3111111111111) {$hh='admin'; $sh='conference'; echo "MODIFY CONFERENCE";}
if ($ADD==31111111111111) {$hh='admin'; $sh='conference'; echo "MODIFY VICIDIAL CONFERENCE";}
@@ -1476,6 +1492,7 @@ if ($ADD==41111111) {$hh='filters'; echo "Modify Filter";}
if ($ADD==411111111) {$hh='admin'; $sh='times'; echo "Modify Call Time";}
if ($ADD==4111111111) {$hh='admin'; $sh='times'; echo "Modify State Call Time";}
if ($ADD==41111111111) {$hh='admin'; $sh='phones'; echo "MODIFY PHONE";}
+if ($ADD==42111111111) {$hh='admin'; $sh='phones'; echo "MODIFY PHONE ALIAS";}
if ($ADD==411111111111) {$hh='admin'; $sh='server'; echo "MODIFY SERVER";}
if ($ADD==421111111111) {$hh='admin'; $sh='server'; echo "MODIFY SERVER VICIDIAL TRUNK RECORD";}
if ($ADD==4111111111111) {$hh='admin'; $sh='conference'; echo "MODIFY CONFERENCE";}
@@ -1497,6 +1514,7 @@ if ($ADD==51111111) {$hh='filters'; echo "Delete Filter";}
if ($ADD==511111111) {$hh='admin'; $sh='times'; echo "Delete Call Time";}
if ($ADD==5111111111) {$hh='admin'; $sh='times'; echo "Delete State Call Time";}
if ($ADD==51111111111) {$hh='admin'; $sh='phones'; echo "DELETE PHONE";}
+if ($ADD==52111111111) {$hh='admin'; $sh='phones'; echo "DELETE PHONE ALIAS";}
if ($ADD==511111111111) {$hh='admin'; $sh='server'; echo "DELETE SERVER";}
if ($ADD==5111111111111) {$hh='admin'; $sh='conference'; echo "DELETE CONFERENCE";}
if ($ADD==51111111111111) {$hh='admin'; $sh='conference'; echo "DELETE VICIDIAL CONFERENCE";}
@@ -1518,6 +1536,7 @@ if ($ADD==61111111) {$hh='filters'; echo "Delete Filter";}
if ($ADD==611111111) {$hh='admin'; $sh='times'; echo "Delete Call Time";}
if ($ADD==6111111111) {$hh='admin'; $sh='times'; echo "Delete State Call Time";}
if ($ADD==61111111111) {$hh='admin'; $sh='phones'; echo "DELETE PHONE";}
+if ($ADD==62111111111) {$hh='admin'; $sh='phones'; echo "DELETE PHONE ALIAS";}
if ($ADD==611111111111) {$hh='admin'; $sh='server'; echo "DELETE SERVER";}
if ($ADD==621111111111) {$hh='admin'; $sh='server'; echo "DELETE SERVER VICIDIAL TRUNK RECORD";}
if ($ADD==6111111111111) {$hh='admin'; $sh='conference'; echo "DELETE CONFERENCE";}
@@ -1539,6 +1558,7 @@ if ($ADD==10000000) {$hh='filters'; echo "Filters";}
if ($ADD==100000000) {$hh='admin'; $sh='times'; echo "Call Times";}
if ($ADD==1000000000) {$hh='admin'; $sh='times'; echo "State Call Times";}
if ($ADD==10000000000) {$hh='admin'; $sh='phones'; echo "PHONE LIST";}
+if ($ADD==12000000000) {$hh='admin'; $sh='phones'; echo "PHONE ALIAS LIST";}
if ($ADD==100000000000) {$hh='admin'; $sh='server'; echo "SERVER LIST";}
if ($ADD==1000000000000) {$hh='admin'; $sh='conference'; echo "CONFERENCE LIST";}
if ($ADD==10000000000000) {$hh='admin'; $sh='conference'; echo "VICIDIAL CONFERENCE LIST";}
@@ -3474,6 +3494,21 @@ The VICIDIAL basic web-based lead loader is designed simply to take a lead file
DBY Port - The MySQL TCP port that this user should be using when connecting. Default is 3306. Secondary server, not used currently.
+
+
+
+Alias ID - The ID of the alias used to allow for phone load balanced logins. no spaces or other special characters allowed. Must be between 2 and 20 characters in length.
+
+
+
+
+Alias Name - The name used to describe a phones alias, Must be between 2 and 50 characters in length.
+
+
+
+
+Phones Logins List - The comma separated list of phone logins used when an agent logs in using phone load balanced logins. The Agent application will find the active server with the fewest agents logged into it and place a call from that server to the agent upon login.
+
@@ -4267,7 +4302,7 @@ if (strlen($admin_hh) > 1) {
}
if (strlen($phones_sh) > 1) {
?>
- >
+ > > Show Phones | > Add A New Phone >
}
if (strlen($conference_sh) > 1) {
?>
@@ -4921,26 +4956,57 @@ if ($ADD==11111111111)
echo "> > Show Phones | > Add A New Phone | > Phone Alias List | > Add A New Phone Alias \n";
echo "
\n";
- echo "Phone extension: $NWB#phones-extension$NWE \n";
- echo "Dial Plan Number: (digits only)$NWB#phones-dialplan_number$NWE \n";
- echo "Voicemail Box: (digits only)$NWB#phones-voicemail_id$NWE \n";
- echo "Outbound CallerID: (digits only)$NWB#phones-outbound_cid$NWE \n";
- echo "Phone IP address: (optional)$NWB#phones-phone_ip$NWE \n";
+ echo "Computer IP address: (optional)$NWB#phones-computer_ip$NWE \n";
+ echo "Dial Plan Number: (digits only)$NWB#phones-dialplan_number$NWE \n";
+ echo "Voicemail Box: (digits only)$NWB#phones-voicemail_id$NWE \n";
+ echo "Outbound CallerID: (digits only)$NWB#phones-outbound_cid$NWE \n";
+ echo "Phone IP address: (optional)$NWB#phones-phone_ip$NWE \n";
echo "Computer IP address: (optional)$NWB#phones-computer_ip$NWE \n";
- echo "Server IP: $NWB#phones-server_ip$NWE \n";
- echo "Login: $NWB#phones-login$NWE \n";
- echo "Password: $NWB#phones-pass$NWE \n";
- echo "Status: $NWB#phones-status$NWE \n";
- echo "Active Account: $NWB#phones-active$NWE \n";
- echo "Phone Type: $NWB#phones-phone_type$NWE \n";
- echo "Full Name: $NWB#phones-fullname$NWE \n";
- echo "Company: $NWB#phones-company$NWE \n";
- echo "Picture: $NWB#phones-picture$NWE \n";
- echo "Client Protocol: $NWB#phones-protocol$NWE \n";
+ echo "Local GMT: (Do NOT Adjust for DST)$NWB#phones-local_gmt$NWE \n";
+ echo "Login: $NWB#phones-login$NWE \n";
+ echo "Password: $NWB#phones-pass$NWE \n";
+ echo "Status: $NWB#phones-status$NWE \n";
+ echo "Active Account: $NWB#phones-active$NWE \n";
+ echo "Phone Type: $NWB#phones-phone_type$NWE \n";
+ echo "Full Name: $NWB#phones-fullname$NWE \n";
+ echo "Company: $NWB#phones-company$NWE \n";
+ echo "Picture: $NWB#phones-picture$NWE \n";
+ echo "Client Protocol: $NWB#phones-protocol$NWE \n";
+ echo "Local GMT: (Do NOT Adjust for DST)$NWB#phones-local_gmt$NWE \n";
+ echo "
| \n";
+ echo "";
+
+ echo " ADD A NEW PHONE ALIAS |