Added In-Group option for Waiting Call On/Off URL, which we added to allow
clients the ability to automatically control a web-power-switch to turn lights on and off if there are any calls waiting in an In-Group. git-svn-id: svn://192.168.202.10@2984 3d104415-ff17-0410-8863-d5cf3c621b8a
This commit is contained in:
@@ -314,6 +314,10 @@ OTHER CHANGES:
|
||||
85. Added per-user options for maximum number of outbound manual dial hopper
|
||||
calls per-hour and per-day.
|
||||
|
||||
86. Added In-Group option for Waiting Call On/Off URL, which we added to allow
|
||||
a client to control a web-power-switch to turn lights on and off if
|
||||
there are any calls waiting in an In-Group.
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -47,6 +47,7 @@
|
||||
# 170724-2352 - Added option for cached hour counts for vicidial_log entries per campaign and carrier log totals
|
||||
# 171221-1049 - Added caching of inbound call stats
|
||||
# 180203-1728 - Added function to check for inbound callback queue calls to be placed
|
||||
# 180519-2303 - Added Waiting Call On/Off URL feature for in-groups
|
||||
#
|
||||
|
||||
|
||||
@@ -106,6 +107,7 @@ $VCSPAUSED[$i]=0;
|
||||
$VCSagents[$i]=0;
|
||||
$VCSagents_calc[$i]=0;
|
||||
$VCSagents_active[$i]=0;
|
||||
$cwu_any_on=0;
|
||||
|
||||
# set to 61 initially so that a baseline drop count is pulled
|
||||
$drop_count_updater=61;
|
||||
@@ -1562,6 +1564,189 @@ while ($master_loop < $CLIloops)
|
||||
|
||||
|
||||
|
||||
##########################################################
|
||||
##### BEGIN check for inbound group Calls Waiting URL On/Off #####
|
||||
##########################################################
|
||||
$sthArowsWCU=0; $WCUlist='';
|
||||
### Find out how many In-Groups are set to use the Waiting-Call URL feature
|
||||
$stmtA = "SELECT group_id from vicidial_inbound_groups where active='Y' and waiting_call_url_on!='' and waiting_call_url_off!='' and waiting_call_url_on IS NOT NULL and waiting_call_url_off IS NOT NULL order by group_id;";
|
||||
$sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr;
|
||||
$sthA->execute or die "executing: $stmtA ", $dbhA->errstr;
|
||||
$sthArowsWCU=$sthA->rows;
|
||||
$wcu=0;
|
||||
while ($sthArowsWCU > $wcu)
|
||||
{
|
||||
@aryA = $sthA->fetchrow_array;
|
||||
if ($wcu > 0) {$WCUlist .= ",";}
|
||||
$WCUlist .= "'$aryA[0]'";
|
||||
$wcu++;
|
||||
}
|
||||
$sthA->finish();
|
||||
if ($DB) {print "Waiting Call URL In-Groups enabled: |$sthArowsWCU|$stmtA|\n";}
|
||||
|
||||
if ($sthArowsWCU > 0)
|
||||
{
|
||||
### Count number of waiting calls in WCU-configured in-groups
|
||||
$vacWCUcount=0;
|
||||
$stmtA = "SELECT count(*) from vicidial_auto_calls where campaign_id IN($WCUlist) and status='LIVE';";
|
||||
$sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr;
|
||||
$sthA->execute or die "executing: $stmtA ", $dbhA->errstr;
|
||||
$sthArowsWCUagc=$sthA->rows;
|
||||
if ($sthArowsWCUagc > 0)
|
||||
{
|
||||
@aryA = $sthA->fetchrow_array;
|
||||
$vacWCUcount = $aryA[0];
|
||||
}
|
||||
$sthA->finish();
|
||||
if ($DB) {print "Waiting Call URL In-Group calls waiting: |$vacWCUcount($cwu_any_on)|$stmtA|\n";}
|
||||
|
||||
### if there are waiting calls in WCU in-groups, or the WCU indicator had been on after the last loop, run through the Waiting Call URL process
|
||||
if ( ($cwu_any_on > 0) || ($vacWCUcount > 0) )
|
||||
{
|
||||
$cwu_any_onNEW=0; $last_group_id='';
|
||||
if ($DB) {print "Waiting Call URL calculations starting: |$cwu_any_on|$vacWCUcount|\n";}
|
||||
|
||||
$sthArowsWCUg=0; $WCUlistGROUP='';
|
||||
### Gather unique On/Off Waiting-Call-URLs for selected in-groups
|
||||
$stmtA = "SELECT waiting_call_url_on,waiting_call_url_off,count(*) from vicidial_inbound_groups where group_id IN($WCUlist) group by waiting_call_url_on,waiting_call_url_off;";
|
||||
$sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr;
|
||||
$sthA->execute or die "executing: $stmtA ", $dbhA->errstr;
|
||||
$sthArowsWCUg=$sthA->rows;
|
||||
$wcu=0;
|
||||
while ($sthArowsWCUg > $wcu)
|
||||
{
|
||||
@aryA = $sthA->fetchrow_array;
|
||||
$WCUon[$wcu] = $aryA[0];
|
||||
$WCUoff[$wcu] = $aryA[1];
|
||||
$WCUct[$wcu] = $aryA[2];
|
||||
$wcu++;
|
||||
}
|
||||
$sthA->finish();
|
||||
if ($DB) {print "Waiting Call URL unique On/Off URLs gathered: |$sthArowsWCUg|$stmtA|\n";}
|
||||
|
||||
$wcu=0;
|
||||
while ($sthArowsWCUg > $wcu)
|
||||
{
|
||||
$sthArowsWCUnf=0; $WCUlistNF=''; $WCUlistNFct=0; $WCUgroupNF=$MT; $WCUgroupNFct=$MT; $WCUgroupNFctNEW=$MT;
|
||||
### Find out the In-Groups that are set to use each set of specific Waiting-Call URL On/Off settings
|
||||
$stmtA = "SELECT group_id,waiting_call_count from vicidial_inbound_groups where waiting_call_url_on=\"$WCUon[$wcu]\" and waiting_call_url_off=\"$WCUoff[$wcu]\" order by group_id;";
|
||||
$sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr;
|
||||
$sthA->execute or die "executing: $stmtA ", $dbhA->errstr;
|
||||
$sthArowsWCUnf=$sthA->rows;
|
||||
$wcunf=0;
|
||||
while ($sthArowsWCUnf > $wcunf)
|
||||
{
|
||||
@aryA = $sthA->fetchrow_array;
|
||||
if ($wcunf > 0) {$WCUlistNF .= ",";}
|
||||
$WCUlistNF .= "'$aryA[0]'";
|
||||
$WCUlistNFct = ($WCUlistNFct + $aryA[1]);
|
||||
$WCUgroupNF[$wcunf] = $aryA[0];
|
||||
$WCUgroupNFct[$wcunf] = $aryA[1];
|
||||
$last_group_id = $aryA[0];
|
||||
$wcunf++;
|
||||
}
|
||||
$sthA->finish();
|
||||
if ($DB) {print "Waiting Call URL In-Group DB calls waiting: |$WCUlistNFct($wcunf)|$stmtA|\n";}
|
||||
|
||||
### Count number of waiting calls for this set of specific Waiting-Call URL On/Off settings
|
||||
$vacWCUcountNF=0; $WCUgroupNFvac=$MT; $WCUgroupNFvacct=$MT;
|
||||
$stmtA = "SELECT campaign_id,count(*) from vicidial_auto_calls where campaign_id IN($WCUlistNF) and status='LIVE' group by campaign_id order by campaign_id;";
|
||||
$sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr;
|
||||
$sthA->execute or die "executing: $stmtA ", $dbhA->errstr;
|
||||
$sthArowsWCUagcNF=$sthA->rows;
|
||||
$wcuvac=0;
|
||||
while ($sthArowsWCUagcNF > $wcuvac)
|
||||
{
|
||||
@aryA = $sthA->fetchrow_array;
|
||||
$WCUgroupNFvac[$wcuvac] = $aryA[0];
|
||||
$WCUgroupNFvacct[$wcuvac] = $aryA[1];
|
||||
$vacWCUcountNF = ($vacWCUcountNF + $aryA[1]);
|
||||
if ($DBX) {print " WCU LIVEvac check: |$WCUgroupNFvac[$wcuvac]|$WCUgroupNFvacct[$wcuvac]|$wcuvac|\n";}
|
||||
$wcuvac++;
|
||||
}
|
||||
$sthA->finish();
|
||||
$cwu_any_onNEW = ($cwu_any_onNEW + $vacWCUcountNF);
|
||||
if ($DB) {print "Waiting Call URL In-Group calls waiting: |$vacWCUcountNF($wcuvac)|$stmtA|\n";}
|
||||
|
||||
$wcunf=0;
|
||||
while ($sthArowsWCUnf > $wcunf)
|
||||
{
|
||||
$wcut=0; $wcut_found=0; $wcut_new=0;
|
||||
while ($wcut < $wcuvac)
|
||||
{
|
||||
$temp_group = $WCUgroupNFvac[$wcut];
|
||||
if ($WCUgroupNF[$wcunf] =~ /^$temp_group$/i)
|
||||
{
|
||||
$wcut_found++;
|
||||
$wcut_new = $WCUgroupNFvacct[$wcut];
|
||||
}
|
||||
$wcut++;
|
||||
if ($DBX) {print " $wcunf|$wcut WCU compare check: |$WCUgroupNF[$wcunf]|$temp_group|$wcut|$wcut_new|$wcut_found|\n";}
|
||||
}
|
||||
if ( ($wcut_new > $WCUgroupNFct[$wcunf]) || ($wcut_new < $WCUgroupNFct[$wcunf]) )
|
||||
{
|
||||
$stmtA = "UPDATE vicidial_inbound_groups SET waiting_call_count='$wcut_new' where group_id='$WCUgroupNF[$wcunf]';";
|
||||
$WCUaffected_rows = $dbhA->do($stmtA);
|
||||
if ($DBX) {print " WCU change update($wcut_new|$WCUgroupNFct[$wcunf]): |$WCUaffected_rows|$stmtA|\n";}
|
||||
}
|
||||
$wcunf++;
|
||||
}
|
||||
### If last waiting-count was 0 and new waiting-count is greater than 0, trigger ON URL
|
||||
if ( ($vacWCUcountNF > 0) && ($WCUlistNFct < 1) )
|
||||
{
|
||||
$launch = $PATHhome . "/AST_send_URL.pl";
|
||||
$launch .= " --SYSLOG" if ($SYSLOG);
|
||||
$launch .= " --lead_id=0";
|
||||
$launch .= " --phone_number=0";
|
||||
$launch .= " --user=0";
|
||||
$launch .= " --call_type=IN";
|
||||
$launch .= " --campaign=" . $last_group_id;
|
||||
$launch .= " --uniqueid=0";
|
||||
$launch .= " --call_id=0";
|
||||
$launch .= " --list_id=0";
|
||||
$launch .= " --alt_dial=MAIN";
|
||||
$launch .= " --function=INGROUP_WCU_ON";
|
||||
system($launch . ' &');
|
||||
if ($DB) {print " LAUNCHING WCU ON URL: |$vacWCUcountNF|$WCUlistNFct|$launch|\n";}
|
||||
}
|
||||
else
|
||||
{
|
||||
### If last waiting-count greater than 0 and new waiting-count is 0, trigger OFF URL
|
||||
if ( ($vacWCUcountNF < 1) && ($WCUlistNFct > 0) )
|
||||
{
|
||||
$launch = $PATHhome . "/AST_send_URL.pl";
|
||||
$launch .= " --SYSLOG" if ($SYSLOG);
|
||||
$launch .= " --lead_id=0";
|
||||
$launch .= " --phone_number=0";
|
||||
$launch .= " --user=0";
|
||||
$launch .= " --call_type=IN";
|
||||
$launch .= " --campaign=" . $last_group_id;
|
||||
$launch .= " --uniqueid=0";
|
||||
$launch .= " --call_id=0";
|
||||
$launch .= " --list_id=0";
|
||||
$launch .= " --alt_dial=MAIN";
|
||||
$launch .= " --function=INGROUP_WCU_OFF";
|
||||
system($launch . ' &');
|
||||
if ($DB) {print " LAUNCHING WCU OFF URL: |$vacWCUcountNF|$WCUlistNFct|$launch|\n";}
|
||||
}
|
||||
}
|
||||
|
||||
$wcu++;
|
||||
}
|
||||
if ( ($cwu_any_onNEW > $cwu_any_on) || ($cwu_any_onNEW < $cwu_any_on) )
|
||||
{
|
||||
if ($DBX) {print " Updating CWA any variable: |$cwu_any_on|$cwu_any_onNEW|\n";}
|
||||
$cwu_any_on = $cwu_any_onNEW;
|
||||
}
|
||||
}
|
||||
if ($DB) {print "Waiting Call URL In-Groups check loop completed \n";}
|
||||
}
|
||||
##########################################################
|
||||
##### END check for inbound group Calls Waiting URL On/Off #####
|
||||
##########################################################
|
||||
|
||||
|
||||
|
||||
usleep($CLIdelay*1000*1000);
|
||||
|
||||
$stat_count++;
|
||||
|
||||
@@ -24,6 +24,7 @@
|
||||
# 161214-1039 - Added flush of parked_channels_recent table
|
||||
# 180112-0915 - Added flush for cid_channels_recent table
|
||||
# 180511-1223 - Added flush for server-specific cid_channels_recent_ tables
|
||||
# 180519-1431 - Added vicidial_inbound_groups optimization
|
||||
#
|
||||
|
||||
### begin parsing run-time options ###
|
||||
@@ -359,6 +360,20 @@ if (!$T)
|
||||
if (!$Q) {print " - OPTIMIZE vicidial_lists \n";}
|
||||
|
||||
|
||||
$stmtA = "OPTIMIZE table vicidial_inbound_groups;";
|
||||
if($DB){print STDERR "\n|$stmtA|\n";}
|
||||
if (!$T)
|
||||
{
|
||||
$sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr;
|
||||
$sthA->execute or die "executing: $stmtA ", $dbhA->errstr;
|
||||
$sthArows=$sthA->rows;
|
||||
@aryA = $sthA->fetchrow_array;
|
||||
if (!$Q) {print "|",$aryA[0],"|",$aryA[1],"|",$aryA[2],"|",$aryA[3],"|","\n";}
|
||||
$sthA->finish();
|
||||
}
|
||||
if (!$Q) {print " - OPTIMIZE vicidial_inbound_groups \n";}
|
||||
|
||||
|
||||
### Gather active servers from the database
|
||||
$stmtA = "SELECT server_ip,server_id FROM servers where active='Y' and active_asterisk_server='Y';";
|
||||
$sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr;
|
||||
|
||||
+33
-6
@@ -8,7 +8,7 @@
|
||||
# This script is also used for the Add-Lead-URL feature in In-groups and for
|
||||
# QM socket-send as well as from call menus using a settings container.
|
||||
#
|
||||
# Copyright (C) 2017 Matt Florell <vicidial@gmail.com> LICENSE: AGPLv2
|
||||
# Copyright (C) 2018 Matt Florell <vicidial@gmail.com> LICENSE: AGPLv2
|
||||
#
|
||||
# CHANGES
|
||||
# 100622-0929 - First Build
|
||||
@@ -25,6 +25,7 @@
|
||||
# 150711-1501 - Changed to add more logging and better HTTPS support
|
||||
# 170202-2321 - Added SC_CALL_URL function
|
||||
# 170509-1545 - Added --A--SQLdate--B-- variable
|
||||
# 180519-1741 - Added INGROUP_WCU_ON & INGROUP_WCU_OFF functions
|
||||
#
|
||||
|
||||
$|++;
|
||||
@@ -193,20 +194,24 @@ if (length($lead_id) > 0)
|
||||
$sthA->finish();
|
||||
|
||||
if ($call_type =~ /IN/)
|
||||
{$stmtG = "SELECT start_call_url,add_lead_url,na_call_url FROM vicidial_inbound_groups where group_id='$campaign';";}
|
||||
{$stmtG = "SELECT start_call_url,add_lead_url,na_call_url,waiting_call_url_on,waiting_call_url_off FROM vicidial_inbound_groups where group_id='$campaign';";}
|
||||
else
|
||||
{$stmtG = "SELECT start_call_url,'NONE',na_call_url FROM vicidial_campaigns where campaign_id='$campaign';";}
|
||||
{$stmtG = "SELECT start_call_url,'NONE',na_call_url,'NONE','NONE' FROM vicidial_campaigns where campaign_id='$campaign';";}
|
||||
$sthA = $dbhA->prepare($stmtG) or die "preparing: ",$dbhA->errstr;
|
||||
$sthA->execute or die "executing: $stmtG ", $dbhA->errstr;
|
||||
$start_url_ct=$sthA->rows;
|
||||
if ($start_url_ct > 0)
|
||||
{
|
||||
@aryA = $sthA->fetchrow_array;
|
||||
$start_call_url = $aryA[0];
|
||||
$add_lead_url = $aryA[1];
|
||||
$na_call_url = $aryA[2];
|
||||
$start_call_url = $aryA[0];
|
||||
$add_lead_url = $aryA[1];
|
||||
$na_call_url = $aryA[2];
|
||||
$waiting_call_url_on = $aryA[3];
|
||||
$waiting_call_url_off = $aryA[4];
|
||||
}
|
||||
$sthA->finish();
|
||||
|
||||
if ($DBX) {print "DEBUG: $stmtG\n";}
|
||||
|
||||
if ($function =~ /SC_CALL_URL/)
|
||||
{
|
||||
@@ -295,6 +300,28 @@ if (length($lead_id) > 0)
|
||||
$url_function = 'qm_socket';
|
||||
##### END QM socket-send URL function #####
|
||||
}
|
||||
elsif ($function =~ /INGROUP_WCU_ON/)
|
||||
{
|
||||
##### BEGIN Waiting-Call URL ON function #####
|
||||
$waiting_call_url_on =~ s/^VAR//gi;
|
||||
$waiting_call_url_on =~ s/--A--SQLdate--B--/$now_date/gi;
|
||||
$waiting_call_url_on =~ s/ /+/gi;
|
||||
$waiting_call_url_on =~ s/&/\\&/gi;
|
||||
$parse_url = $waiting_call_url_on;
|
||||
$url_function = 'wcu_on';
|
||||
##### END Waiting-Call URL ON function #####
|
||||
}
|
||||
elsif ($function =~ /INGROUP_WCU_OFF/)
|
||||
{
|
||||
##### BEGIN Waiting-Call URL OFF function #####
|
||||
$waiting_call_url_off =~ s/^VAR//gi;
|
||||
$waiting_call_url_off =~ s/--A--SQLdate--B--/$now_date/gi;
|
||||
$waiting_call_url_off =~ s/ /+/gi;
|
||||
$waiting_call_url_off =~ s/&/\\&/gi;
|
||||
$parse_url = $waiting_call_url_off;
|
||||
$url_function = 'wcu_off';
|
||||
##### END Waiting-Call URL OFF function #####
|
||||
}
|
||||
elsif ($function =~ /INGROUP_ADD_LEAD_URL/)
|
||||
{
|
||||
##### BEGIN Add Lead URL function #####
|
||||
|
||||
@@ -1261,7 +1261,10 @@ icbq_call_time_id VARCHAR(20) default '24hours',
|
||||
icbq_dial_filter VARCHAR(50) default 'NONE',
|
||||
populate_lead_source VARCHAR(20) default 'DISABLED',
|
||||
populate_lead_vendor VARCHAR(20) default 'INBOUND_NUMBER',
|
||||
park_file_name VARCHAR(100) default ''
|
||||
park_file_name VARCHAR(100) default '',
|
||||
waiting_call_url_on TEXT,
|
||||
waiting_call_url_off TEXT,
|
||||
waiting_call_count SMALLINT(5) UNSIGNED default '0'
|
||||
) ENGINE=MyISAM;
|
||||
|
||||
CREATE TABLE vicidial_stations (
|
||||
@@ -4227,4 +4230,4 @@ INSERT INTO vicidial_settings_containers(container_id,container_notes,container_
|
||||
|
||||
UPDATE system_settings set vdc_agent_api_active='1';
|
||||
|
||||
UPDATE system_settings SET db_schema_version='1546',db_schema_update_date=NOW(),reload_timestamp=NOW();
|
||||
UPDATE system_settings SET db_schema_version='1547',db_schema_update_date=NOW(),reload_timestamp=NOW();
|
||||
|
||||
@@ -645,3 +645,9 @@ ALTER TABLE vicidial_users ADD max_hopper_calls SMALLINT(5) UNSIGNED default '0'
|
||||
ALTER TABLE vicidial_users ADD max_hopper_calls_hour SMALLINT(5) UNSIGNED default '0';
|
||||
|
||||
UPDATE system_settings SET db_schema_version='1546',db_schema_update_date=NOW() where db_schema_version < 1546;
|
||||
|
||||
ALTER TABLE vicidial_inbound_groups ADD waiting_call_url_on TEXT;
|
||||
ALTER TABLE vicidial_inbound_groups ADD waiting_call_url_off TEXT;
|
||||
ALTER TABLE vicidial_inbound_groups ADD waiting_call_count SMALLINT(5) UNSIGNED default '0';
|
||||
|
||||
UPDATE system_settings SET db_schema_version='1547',db_schema_update_date=NOW() where db_schema_version < 1547;
|
||||
|
||||
@@ -0,0 +1,56 @@
|
||||
<?php
|
||||
# vdc_webpowerswitch.php
|
||||
#
|
||||
# Copyright (C) 2018 Matt Florell <vicidial@gmail.com> LICENSE: AGPLv2
|
||||
#
|
||||
# This script is designed to send a URL command to turn off or on an outlet on
|
||||
# the WebPowerSwitch appliance
|
||||
#
|
||||
# !!! IMPORTANT !!! You must change the "$command" line below to match the IP and user/pass for your webpowerswitch
|
||||
#
|
||||
# CHANGELOG:
|
||||
# 180515-1711 - First build of script
|
||||
#
|
||||
|
||||
$version = '2.14-1';
|
||||
$build = '180515-1711';
|
||||
|
||||
require("dbconnect_mysqli.php");
|
||||
|
||||
$query_string = getenv("QUERY_STRING");
|
||||
|
||||
if (isset($_GET["outlet"])) {$outlet=$_GET["outlet"];}
|
||||
elseif (isset($_POST["outlet"])) {$outlet=$_POST["outlet"];}
|
||||
if (isset($_GET["stage"])) {$stage=$_GET["stage"];}
|
||||
elseif (isset($_POST["stage"])) {$stage=$_POST["stage"];}
|
||||
|
||||
|
||||
header ("Content-type: text/html; charset=utf-8");
|
||||
header ("Cache-Control: no-cache, must-revalidate"); // HTTP/1.1
|
||||
header ("Pragma: no-cache"); // HTTP/1.0
|
||||
|
||||
$txt = '.txt';
|
||||
$StarTtime = date("U");
|
||||
$NOW_DATE = date("Y-m-d");
|
||||
$NOW_TIME = date("Y-m-d H:i:s");
|
||||
$CIDdate = date("mdHis");
|
||||
$ENTRYdate = date("YmdHis");
|
||||
$MT[0]='';
|
||||
|
||||
$outlet=preg_replace("/[^-_0-9a-zA-Z]/","",$outlet);
|
||||
$stage=preg_replace("/[^-_0-9a-zA-Z]/","",$stage);
|
||||
|
||||
if ( (strlen($outlet) < 1) or (strlen($stage) < 2) )
|
||||
{
|
||||
echo "ERROR: invalid outlet or stage: |$outlet|$stage|\n";
|
||||
}
|
||||
else
|
||||
{
|
||||
$command = "/usr/bin/curl -s -o /tmp/Xtest http://cycle:test@192.168.1.157:80/outlet\?".$outlet.'='.$stage;
|
||||
exec($command);
|
||||
echo "Command sent: |$outlet|$stage|";
|
||||
}
|
||||
|
||||
exit;
|
||||
|
||||
?>
|
||||
+27
-7
File diff suppressed because one or more lines are too long
@@ -1,4 +1,4 @@
|
||||
# version: 201805122310
|
||||
# version: 201805200756
|
||||
users-user User ID <QXZ>This field is where you put the users ID number, can be up to 8 digits in length, Must be at least 2 characters in length.</QXZ>
|
||||
users-pass Password <QXZ>This field is where you put the users password. Must be at least 2 characters in length. A medium strength user password will be at least 10 characters in length, and a strong user password will be at least 20 characters in length and have letters as well as at least one number. It is recommended that you use a longer password if possible, stringing together several unrelated words with no spaces, and a number somewhere in the string. The maximum size of a password is 100 characters.</QXZ>
|
||||
users-force_change_password Force Change Password <QXZ>If this option is set to Y then the user will be prompted to change their password the next time they log in to the administration webpage. Default is N.</QXZ>
|
||||
@@ -530,6 +530,7 @@ inbound_groups-answer_sec_pct_rt_stat_one Stats Percent of Calls Answered Within
|
||||
inbound_groups-start_call_url Start Call URL <QXZ>This web URL address is not seen by the agent, but it is called every time a call is sent to an agent if it is populated. Uses the same variables as the web form fields and scripts. Default is blank.</QXZ>
|
||||
inbound_groups-dispo_call_url Dispo Call URL <QXZ>This web URL address is not seen by the agent, but it is called every time a call is dispositioned by an agent if it is populated. Uses the same variables as the web form fields and scripts. dispo and talk_time are the variables you can use to retrieve the agent-defined disposition for the call and the actual talk time in seconds of the call. Default is blank.</QXZ> <QXZ>If you put ALT into this field and submit this form, you will be able to go to a separate page where you can define multiple URLs for this action as well as specific statuses that will trigger them.</QXZ> <QXZ>If you want the campaign Dispo Call URL to be used for inbound calls, then put CAMP into this field.</QXZ>
|
||||
inbound_groups-na_call_url No Agent Call URL <QXZ>This web URL address is not seen by the agent, but if it is populated it is called every time a call that is not handled by an agent is hung up or transferred. Uses the same variables as the web form fields and scripts. dispo can be used to retrieve the system-defined disposition for the call. This URL can NOT be a relative path. Default is blank.</QXZ> <QXZ>Custom Fields are not available with this feature.</QXZ>
|
||||
inbound_groups-waiting_call_url_on Waiting Call URL On <QXZ>This feature allows you to trigger a URL when there are calls waiting in this In-Group. The -On- URL will be sent the first time a call is waiting, and no more will be sent as long as there are still calls from this In-Group waiting in the queue. The -Off- URL will be sent as soon as there are no calls waiting for this In-Group anymore. This feature was created to allow for a remote power switch to be triggered to light up a flashing light to notify agents in a call center room that there were calls waiting for them. For this feature to work, both the -On- and -Off- URLs must be filled in. Default is -empty- for disabled.</QXZ>
|
||||
inbound_groups-add_lead_url Add Lead URL <QXZ>This web URL address is not seen by the agent, but it is called every time a lead is added to the system through the inbound process. Default is blank. You must begin this URL with VAR if you want to use variables, and of course --A-- and --B-- around the actual variable in the URL where you want to use it. Here is the list of variables that are available for this function. lead_id, vendor_lead_code, list_id, phone_number, phone_code, did_id, did_extension, did_pattern, did_description, uniqueid</QXZ>
|
||||
inbound_groups-add_lead_timezone Add Lead Timezone <QXZ>This is the method that the system will use to determine the current timezone when a lead is created when a call is being routed through this in-group. SERVER will use the current timezone of the server. PHONE_CODE_AREACODE will look up the timezone based on the phone code set in the lead and the areacode of the phone number. Default is SERVER.</QXZ>
|
||||
inbound_groups-default_group_alias Default Group Alias <QXZ>If you have allowed Group Aliases for the campaign that the agent is logged into then this is the group alias that is selected first by default on a call coming in from this inbound group when the agent chooses to use a Group Alias for an outbound manual call. Default is NONE or empty.</QXZ>
|
||||
|
||||
Reference in New Issue
Block a user