reworking of vicidial_agent_log to allow for different pause code sessions without taking a call in between.
fixed error when vicidial_auto_calls record is deleted while in a transfer to an agent(caused by hangup) git-svn-id: svn://192.168.202.10@1002 3d104415-ff17-0410-8863-d5cf3c621b8a
This commit is contained in:
@@ -171,12 +171,13 @@
|
||||
# 81104-1617 - Added multi-retry for some vicidial_live_agents table MySQL queries
|
||||
# 81106-0410 - Added force_timeclock_login option to LoginCampaigns function
|
||||
# 81107-0424 - Added carryover of script and presets for in-group calls from campaign settings
|
||||
# 81110-0058 - Changed Pause time to start new vicidial_agent_log on every pause
|
||||
#
|
||||
|
||||
$version = '2.0.5-89';
|
||||
$build = '81107-0424';
|
||||
$version = '2.0.5-90';
|
||||
$build = '81110-0058';
|
||||
$mel=1; # Mysql Error Log enabled = 1
|
||||
$mysql_log_count=180;
|
||||
$mysql_log_count=182;
|
||||
$one_mysql_log=0;
|
||||
|
||||
require("dbconnect.php");
|
||||
@@ -2418,16 +2419,16 @@ if ($ACTION == 'VDADcheckINCOMING')
|
||||
|
||||
### update the log status to INCALL
|
||||
$user_group='';
|
||||
$stmt="SELECT user_group FROM vicidial_users where user='$user' LIMIT 1;";
|
||||
$rslt=mysql_query($stmt, $link);
|
||||
if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00111',$user,$server_ip,$session_name,$one_mysql_log);}
|
||||
if ($DB) {echo "$stmt\n";}
|
||||
$ug_record_ct = mysql_num_rows($rslt);
|
||||
if ($ug_record_ct > 0)
|
||||
{
|
||||
$row=mysql_fetch_row($rslt);
|
||||
$user_group = trim("$row[0]");
|
||||
}
|
||||
$stmt="SELECT user_group FROM vicidial_users where user='$user' LIMIT 1;";
|
||||
$rslt=mysql_query($stmt, $link);
|
||||
if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00111',$user,$server_ip,$session_name,$one_mysql_log);}
|
||||
if ($DB) {echo "$stmt\n";}
|
||||
$ug_record_ct = mysql_num_rows($rslt);
|
||||
if ($ug_record_ct > 0)
|
||||
{
|
||||
$row=mysql_fetch_row($rslt);
|
||||
$user_group = trim("$row[0]");
|
||||
}
|
||||
|
||||
|
||||
$stmt = "select campaign_id,phone_number,alt_dial,call_type from vicidial_auto_calls where callerid = '$callerid' order by call_time desc limit 1;";
|
||||
@@ -2445,10 +2446,31 @@ if ($ACTION == 'VDADcheckINCOMING')
|
||||
}
|
||||
else
|
||||
{
|
||||
$dialed_number = $phone_number;
|
||||
$dialed_label = 'MAIN';
|
||||
if (preg_match('/^M|^V/',$callerid))
|
||||
{
|
||||
$call_type = 'OUT';
|
||||
$VDADchannel_group = $campaign;
|
||||
}
|
||||
else
|
||||
{
|
||||
$call_type = 'IN';
|
||||
$stmt = "select campaign_id from vicidial_closer_log where lead_id = '$lead_id' order by call_date desc limit 1;";
|
||||
if ($DB) {echo "$stmt\n";}
|
||||
$rslt=mysql_query($stmt, $link);
|
||||
if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00183',$user,$server_ip,$session_name,$one_mysql_log);}
|
||||
$VDCL_mvac_ct = mysql_num_rows($rslt);
|
||||
if ($VDCL_mvac_ct > 0)
|
||||
{
|
||||
$row=mysql_fetch_row($rslt);
|
||||
$VDADchannel_group =$row[0];
|
||||
}
|
||||
}
|
||||
if ($WeBRooTWritablE > 0)
|
||||
{
|
||||
$fp = fopen ("./vicidial_debug.txt", "a");
|
||||
fwrite ($fp, "$NOW_TIME|INBND|$callerid|$user|$user_group|$list_id|$lead_id|$phone_number|$uniqueid|\n");
|
||||
fwrite ($fp, "$NOW_TIME|INBND|$callerid|$user|$user_group|$list_id|$lead_id|$phone_number|$uniqueid|$VDADchannel_group|$call_type|\n");
|
||||
fclose($fp);
|
||||
}
|
||||
}
|
||||
@@ -2460,7 +2482,7 @@ if ($ACTION == 'VDADcheckINCOMING')
|
||||
$rslt=mysql_query($stmt, $link);
|
||||
if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00113',$user,$server_ip,$session_name,$one_mysql_log);}
|
||||
|
||||
$stmt = "select campaign_script,get_call_launch,xferconf_a_dtmf,xferconf_a_number,xferconf_b_dtmf,xferconf_b_number from vicidial_campaigns where campaign_id='$campaign';";
|
||||
$stmt = "select campaign_script,get_call_launch,xferconf_a_dtmf,xferconf_a_number,xferconf_b_dtmf,xferconf_b_number,default_xfer_group from vicidial_campaigns where campaign_id='$campaign';";
|
||||
if ($DB) {echo "$stmt\n";}
|
||||
$rslt=mysql_query($stmt, $link);
|
||||
if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00114',$user,$server_ip,$session_name,$one_mysql_log);}
|
||||
@@ -2474,8 +2496,10 @@ if ($ACTION == 'VDADcheckINCOMING')
|
||||
$VDCL_xferconf_a_number = $row[3];
|
||||
$VDCL_xferconf_b_dtmf = $row[4];
|
||||
$VDCL_xferconf_b_number = $row[5];
|
||||
$VDCL_default_xfer_group = $row[6];
|
||||
if (strlen($VDCL_default_xfer_group)<2) {$VDCL_default_xfer_group='X';}
|
||||
}
|
||||
echo "|||||$VDCL_campaign_script|$VDCL_get_call_launch|$VDCL_xferconf_a_dtmf|$VDCL_xferconf_a_number|$VDCL_xferconf_b_dtmf|$VDCL_xferconf_b_number||||\n|\n";
|
||||
echo "|||||$VDCL_campaign_script|$VDCL_get_call_launch|$VDCL_xferconf_a_dtmf|$VDCL_xferconf_a_number|$VDCL_xferconf_b_dtmf|$VDCL_xferconf_b_number|$VDCL_default_xfer_group|X|X|\n|\n";
|
||||
|
||||
$stmt = "select phone_number,alt_dial from vicidial_auto_calls where callerid = '$callerid' order by call_time desc limit 1;";
|
||||
if ($DB) {echo "$stmt\n";}
|
||||
@@ -2488,6 +2512,11 @@ if ($ACTION == 'VDADcheckINCOMING')
|
||||
$dialed_number =$row[0];
|
||||
$dialed_label =$row[1];
|
||||
}
|
||||
else
|
||||
{
|
||||
$dialed_number = $phone_number;
|
||||
$dialed_label = 'MAIN';
|
||||
}
|
||||
if (ereg('X',$dialed_label))
|
||||
{
|
||||
if (ereg('LAST',$dialed_label))
|
||||
@@ -3031,12 +3060,12 @@ if ($ACTION == 'updateDISPO')
|
||||
$user_group = trim("$row[0]");
|
||||
}
|
||||
|
||||
$stmt="INSERT INTO vicidial_agent_log (user,server_ip,event_time,campaign_id,pause_epoch,pause_sec,wait_epoch,user_group) values('$user','$server_ip','$NOW_TIME','$campaign','$StarTtime','0','$StarTtime','$user_group');";
|
||||
if ($DB) {echo "$stmt\n";}
|
||||
$rslt=mysql_query($stmt, $link);
|
||||
if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00153',$user,$server_ip,$session_name,$one_mysql_log);}
|
||||
$affected_rows = mysql_affected_rows($link);
|
||||
$agent_log_id = mysql_insert_id($link);
|
||||
# $stmt="INSERT INTO vicidial_agent_log (user,server_ip,event_time,campaign_id,pause_epoch,pause_sec,wait_epoch,user_group) values('$user','$server_ip','$NOW_TIME','$campaign','$StarTtime','0','$StarTtime','$user_group');";
|
||||
# if ($DB) {echo "$stmt\n";}
|
||||
# $rslt=mysql_query($stmt, $link);
|
||||
# if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00153',$user,$server_ip,$session_name,$one_mysql_log);}
|
||||
# $affected_rows = mysql_affected_rows($link);
|
||||
# $agent_log_id = mysql_insert_id($link);
|
||||
|
||||
### CALLBACK ENTRY
|
||||
if ( ($dispo_choice == 'CBHOLD') and (strlen($CallBackDatETimE)>10) )
|
||||
@@ -3298,6 +3327,18 @@ if ( ($ACTION == 'VDADpause') || ($ACTION == 'VDADready') )
|
||||
$linkB=mysql_connect("$queuemetrics_server_ip", "$queuemetrics_login", "$queuemetrics_pass");
|
||||
mysql_select_db("$queuemetrics_dbname", $linkB);
|
||||
|
||||
$user_group='';
|
||||
$stmt="SELECT user_group FROM vicidial_users where user='$user' LIMIT 1;";
|
||||
$rslt=mysql_query($stmt, $link);
|
||||
if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00182',$user,$server_ip,$session_name,$one_mysql_log);}
|
||||
if ($DB) {echo "$stmt\n";}
|
||||
$ug_record_ct = mysql_num_rows($rslt);
|
||||
if ($ug_record_ct > 0)
|
||||
{
|
||||
$row=mysql_fetch_row($rslt);
|
||||
$user_group = trim("$row[0]");
|
||||
}
|
||||
|
||||
$stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtime',call_id='NONE',queue='NONE',agent='Agent/$user',verb='$QMstatus',serverid='$queuemetrics_log_id';";
|
||||
if ($DB) {echo "$stmt\n";}
|
||||
$rslt=mysql_query($stmt, $linkB);
|
||||
@@ -3308,47 +3349,66 @@ if ( ($ACTION == 'VDADpause') || ($ACTION == 'VDADready') )
|
||||
}
|
||||
}
|
||||
|
||||
if ($agent_log == 'NO')
|
||||
{$donothing=1;}
|
||||
else
|
||||
$pause_sec=0;
|
||||
$stmt = "select pause_epoch,pause_sec,wait_epoch,wait_sec,dispo_epoch from vicidial_agent_log where agent_log_id='$agent_log_id';";
|
||||
if ($DB) {echo "$stmt\n";}
|
||||
$rslt=mysql_query($stmt, $link);
|
||||
if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00169',$user,$server_ip,$session_name,$one_mysql_log);}
|
||||
$VDpr_ct = mysql_num_rows($rslt);
|
||||
if ($VDpr_ct > 0)
|
||||
{
|
||||
$pause_sec=0;
|
||||
$stmt = "select pause_epoch,pause_sec,wait_epoch,wait_sec,dispo_epoch from vicidial_agent_log where agent_log_id='$agent_log_id';";
|
||||
if ($DB) {echo "$stmt\n";}
|
||||
$row=mysql_fetch_row($rslt);
|
||||
$wait_sec=0;
|
||||
if ($row[2] > 0)
|
||||
{
|
||||
$wait_sec = (($StarTtime - $row[2]) + $row[3]);
|
||||
}
|
||||
if ( (eregi("NULL",$row[4])) or ($row[4] < 1000) )
|
||||
{$pause_sec = (($StarTtime - $row[0]) + $row[1]);}
|
||||
else
|
||||
{$pause_sec = (($row[4] - $row[0]) + $row[1]);}
|
||||
|
||||
}
|
||||
if ($ACTION == 'VDADready')
|
||||
{
|
||||
$stmt="UPDATE vicidial_agent_log set pause_sec='$pause_sec',wait_epoch='$StarTtime' where agent_log_id='$agent_log_id';";
|
||||
if ($format=='debug') {echo "\n<!-- $stmt -->";}
|
||||
$rslt=mysql_query($stmt, $link);
|
||||
if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00169',$user,$server_ip,$session_name,$one_mysql_log);}
|
||||
$VDpr_ct = mysql_num_rows($rslt);
|
||||
if ($VDpr_ct > 0)
|
||||
if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00170',$user,$server_ip,$session_name,$one_mysql_log);}
|
||||
}
|
||||
if ($ACTION == 'VDADpause')
|
||||
{
|
||||
$stmt="UPDATE vicidial_agent_log set wait_sec='$wait_sec' where agent_log_id='$agent_log_id';";
|
||||
if ($format=='debug') {echo "\n<!-- $stmt -->";}
|
||||
$rslt=mysql_query($stmt, $link);
|
||||
if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00171',$user,$server_ip,$session_name,$one_mysql_log);}
|
||||
|
||||
$agent_log = 'NEW_ID';
|
||||
}
|
||||
|
||||
if ($agent_log == 'NEW_ID')
|
||||
{
|
||||
$user_group='';
|
||||
$stmt="SELECT user_group FROM vicidial_users where user='$user' LIMIT 1;";
|
||||
$rslt=mysql_query($stmt, $link);
|
||||
if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00182',$user,$server_ip,$session_name,$one_mysql_log);}
|
||||
if ($DB) {echo "$stmt\n";}
|
||||
$ug_record_ct = mysql_num_rows($rslt);
|
||||
if ($ug_record_ct > 0)
|
||||
{
|
||||
$row=mysql_fetch_row($rslt);
|
||||
$wait_sec=0;
|
||||
if ($row[2] > 0)
|
||||
{
|
||||
$wait_sec = (($StarTtime - $row[2]) + $row[3]);
|
||||
}
|
||||
if ( (eregi("NULL",$row[4])) or ($row[4] < 1000) )
|
||||
{$pause_sec = (($StarTtime - $row[0]) + $row[1]);}
|
||||
else
|
||||
{$pause_sec = (($row[4] - $row[0]) + $row[1]);}
|
||||
$user_group = trim("$row[0]");
|
||||
}
|
||||
|
||||
}
|
||||
if ($ACTION == 'VDADready')
|
||||
{
|
||||
$stmt="UPDATE vicidial_agent_log set pause_sec='$pause_sec',wait_epoch='$StarTtime' where agent_log_id='$agent_log_id';";
|
||||
if ($format=='debug') {echo "\n<!-- $stmt -->";}
|
||||
$rslt=mysql_query($stmt, $link);
|
||||
if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00170',$user,$server_ip,$session_name,$one_mysql_log);}
|
||||
}
|
||||
if ($ACTION == 'VDADpause')
|
||||
{
|
||||
$stmt="UPDATE vicidial_agent_log set pause_epoch='$StarTtime',wait_sec='$wait_sec' where agent_log_id='$agent_log_id';";
|
||||
if ($format=='debug') {echo "\n<!-- $stmt -->";}
|
||||
$rslt=mysql_query($stmt, $link);
|
||||
if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00171',$user,$server_ip,$session_name,$one_mysql_log);}
|
||||
}
|
||||
$stmt="INSERT INTO vicidial_agent_log (user,server_ip,event_time,campaign_id,pause_epoch,pause_sec,wait_epoch,user_group) values('$user','$server_ip','$NOW_TIME','$campaign','$StarTtime','0','$StarTtime','$user_group');";
|
||||
if ($DB) {echo "$stmt\n";}
|
||||
$rslt=mysql_query($stmt, $link);
|
||||
if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00153',$user,$server_ip,$session_name,$one_mysql_log);}
|
||||
$affected_rows = mysql_affected_rows($link);
|
||||
$agent_log_id = mysql_insert_id($link);
|
||||
}
|
||||
}
|
||||
echo 'Agent ' . $user . ' is now in status ' . $stage . "\n";
|
||||
echo 'Agent ' . $user . ' is now in status ' . $stage . "\nNext agent_log_id:\n$agent_log_id\n";
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -205,10 +205,11 @@
|
||||
# 81104-0140 - Added mysql error logging capability
|
||||
# 81104-1618 - Changed MySQL queries logging
|
||||
# 81106-0411 - Changedthe campaign login list behaviour
|
||||
# 81110-0057 - Changed Pause time to start new vicidial_agent_log on every pause
|
||||
#
|
||||
|
||||
$version = '2.0.5-184';
|
||||
$build = '81106-0411';
|
||||
$version = '2.0.5-185';
|
||||
$build = '81110-0057';
|
||||
$mel=1; # Mysql Error Log enabled = 1
|
||||
$mysql_log_count=51;
|
||||
$one_mysql_log=0;
|
||||
@@ -4322,7 +4323,14 @@ if ($enable_fast_refresh < 1) {echo "\tvar refresh_interval = 1000;\n";}
|
||||
{
|
||||
if (xmlhttp.readyState == 4 && xmlhttp.status == 200)
|
||||
{
|
||||
// alert(xmlhttp.responseText);
|
||||
var check_dispo = null;
|
||||
check_dispo = xmlhttp.responseText;
|
||||
var check_DS_array=check_dispo.split("\n");
|
||||
// alert(xmlhttp.responseText + "\n|" + check_DS_array[1] + "\n|" + check_DS_array[2] + "|");
|
||||
if (check_DS_array[1] == 'Next agent_log_id:')
|
||||
{
|
||||
agent_log_id = check_DS_array[2];
|
||||
}
|
||||
}
|
||||
}
|
||||
delete xmlhttp;
|
||||
@@ -5530,14 +5538,14 @@ if ($enable_fast_refresh < 1) {echo "\tvar refresh_interval = 1000;\n";}
|
||||
{
|
||||
if (xmlhttp.readyState == 4 && xmlhttp.status == 200)
|
||||
{
|
||||
var check_dispo = null;
|
||||
check_dispo = xmlhttp.responseText;
|
||||
var check_DS_array=check_dispo.split("\n");
|
||||
// var check_dispo = null;
|
||||
// check_dispo = xmlhttp.responseText;
|
||||
// var check_DS_array=check_dispo.split("\n");
|
||||
// alert(xmlhttp.responseText + "\n|" + check_DS_array[1] + "\n|" + check_DS_array[2] + "|");
|
||||
if (check_DS_array[1] == 'Next agent_log_id:')
|
||||
{
|
||||
agent_log_id = check_DS_array[2];
|
||||
}
|
||||
// if (check_DS_array[1] == 'Next agent_log_id:')
|
||||
// {
|
||||
// agent_log_id = check_DS_array[2];
|
||||
// }
|
||||
}
|
||||
}
|
||||
delete xmlhttp;
|
||||
@@ -5603,7 +5611,7 @@ if ($enable_fast_refresh < 1) {echo "\tvar refresh_interval = 1000;\n";}
|
||||
if (auto_dial_level != '0')
|
||||
{
|
||||
AutoDialWaiting = 0;
|
||||
AutoDial_ReSume_PauSe("VDADpause","NO");
|
||||
AutoDial_ReSume_PauSe("VDADpause");
|
||||
// document.getElementById("DiaLControl").innerHTML = DiaLControl_auto_HTML;
|
||||
}
|
||||
VICIDiaL_pause_calling = 1;
|
||||
@@ -5617,7 +5625,7 @@ if ($enable_fast_refresh < 1) {echo "\tvar refresh_interval = 1000;\n";}
|
||||
if (auto_dial_level != '0')
|
||||
{
|
||||
AutoDialWaiting = 1;
|
||||
AutoDial_ReSume_PauSe("VDADready","NO");
|
||||
AutoDial_ReSume_PauSe("VDADready","NEW_ID");
|
||||
// document.getElementById("DiaLControl").innerHTML = DiaLControl_auto_HTML_ready;
|
||||
}
|
||||
else
|
||||
@@ -5805,7 +5813,7 @@ if ($enable_fast_refresh < 1) {echo "\tvar refresh_interval = 1000;\n";}
|
||||
}
|
||||
if (auto_dial_level > 0)
|
||||
{
|
||||
AutoDial_ReSume_PauSe("VDADpause","NO");
|
||||
AutoDial_ReSume_PauSe("VDADpause");
|
||||
}
|
||||
}
|
||||
|
||||
@@ -6846,7 +6854,7 @@ else
|
||||
if (auto_dial_level != '0')
|
||||
{
|
||||
AutoDialWaiting = 0;
|
||||
AutoDial_ReSume_PauSe("VDADpause","NO");
|
||||
AutoDial_ReSume_PauSe("VDADpause");
|
||||
// document.getElementById("DiaLControl").innerHTML = DiaLControl_auto_HTML;
|
||||
}
|
||||
VICIDiaL_pause_calling = 1;
|
||||
@@ -6860,7 +6868,7 @@ else
|
||||
if (auto_dial_level != '0')
|
||||
{
|
||||
AutoDialWaiting = 1;
|
||||
AutoDial_ReSume_PauSe("VDADready","NO");
|
||||
AutoDial_ReSume_PauSe("VDADready");
|
||||
// document.getElementById("DiaLControl").innerHTML = DiaLControl_auto_HTML_ready;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -14,6 +14,7 @@
|
||||
# 81030-0346 - Added pause code stats
|
||||
# 81030-1924 - Added total non-pause and total logged-in time to pause code section
|
||||
# 81108-0716 - fixed user same-name bug
|
||||
# 81110-0056 - fixed pause code display bug
|
||||
#
|
||||
|
||||
require("dbconnect.php");
|
||||
@@ -614,6 +615,8 @@ while ($i < $subs_to_print)
|
||||
$PCpause_sec[$i] = $row[2];
|
||||
$sub_status[$i] = $row[3];
|
||||
$PCnon_pause_sec[$i] = $row[4];
|
||||
|
||||
# echo "$sub_status[$i]|$PCpause_sec[$i]\n";
|
||||
# if ( (!eregi("-$sub_status[$i]-", $sub_statuses)) and (strlen($sub_status[$i])>0) )
|
||||
if (!eregi("-$sub_status[$i]-", $sub_statuses))
|
||||
{
|
||||
@@ -671,7 +674,7 @@ while ($m < $k)
|
||||
$SstatusTXT='';
|
||||
### BEGIN loop through each stat line ###
|
||||
$i=0; $status_found=0;
|
||||
while ($i < $rows_to_print)
|
||||
while ($i < $subs_to_print)
|
||||
{
|
||||
if ( ($Suser=="$PCuser[$i]") and ($Sstatus=="$sub_status[$i]") )
|
||||
{
|
||||
@@ -773,7 +776,7 @@ while ($n < $j)
|
||||
$SUMstatusTXT='';
|
||||
### BEGIN loop through each stat line ###
|
||||
$i=0; $status_found=0;
|
||||
while ($i < $rows_to_print)
|
||||
while ($i < $subs_to_print)
|
||||
{
|
||||
if ($Sstatus=="$sub_status[$i]")
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user