Added EVERY_NEW_ALLCALL option for QM PAUSEREASON system setting

git-svn-id: svn://192.168.202.10@3269 3d104415-ff17-0410-8863-d5cf3c621b8a
This commit is contained in:
mattf
2020-07-19 20:56:11 +00:00
parent 90dad56323
commit 71e3838abe
4 changed files with 86 additions and 49 deletions
@@ -1863,7 +1863,7 @@ user_account_emails ENUM('DISABLED','SEND_NO_PASS','SEND_WITH_PASS') DEFAULT 'DI
outbound_cid_any ENUM('DISABLED','API_ONLY') DEFAULT 'DISABLED',
entries_per_page SMALLINT(5) UNSIGNED DEFAULT '0',
browser_call_alerts ENUM('0','1','2') DEFAULT '0',
queuemetrics_pausereason ENUM('STANDARD','EVERY_NEW','EVERY_NEW_ADMINCALL') default 'STANDARD',
queuemetrics_pausereason ENUM('STANDARD','EVERY_NEW','EVERY_NEW_ADMINCALL','EVERY_NEW_ALLCALL') default 'STANDARD',
inbound_answer_config ENUM('0','1','2','3','4','5') DEFAULT '0'
) ENGINE=MyISAM;
@@ -4646,4 +4646,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='1601',db_schema_update_date=NOW(),reload_timestamp=NOW();
UPDATE system_settings SET db_schema_version='1602',db_schema_update_date=NOW(),reload_timestamp=NOW();
+6 -2
View File
@@ -1247,7 +1247,7 @@ ALTER TABLE vicidial_campaigns ADD three_way_record_stop_exception VARCHAR(40) d
UPDATE system_settings SET db_schema_version='1596',db_schema_update_date=NOW() where db_schema_version < 1596;
ALTER TABLE system_settings ADD queuemetrics_pausereason ENUM('STANDARD','EVERY_NEW','EVERY_NEW_ADMINCALL') default 'STANDARD';
ALTER TABLE system_settings ADD queuemetrics_pausereason ENUM('STANDARD','EVERY_NEW','EVERY_NEW_ADMINCALL','EVERY_NEW_ALLCALL') default 'STANDARD';
UPDATE system_settings SET db_schema_version='1597',db_schema_update_date=NOW() where db_schema_version < 1597;
@@ -1272,6 +1272,10 @@ ALTER TABLE vicidial_lists ADD inbound_after_hours_voicemail VARCHAR(20);
UPDATE system_settings SET db_schema_version='1600',db_schema_update_date=NOW() where db_schema_version < 1600;
ALTER TABLE system_settings MODIFY queuemetrics_pausereason ENUM('STANDARD','EVERY_NEW','EVERY_NEW_ADMINCALL') default 'STANDARD';
ALTER TABLE system_settings MODIFY queuemetrics_pausereason ENUM('STANDARD','EVERY_NEW','EVERY_NEW_ADMINCALL','EVERY_NEW_ALLCALL') default 'STANDARD';
UPDATE system_settings SET db_schema_version='1601',db_schema_update_date=NOW() where db_schema_version < 1601;
ALTER TABLE system_settings MODIFY queuemetrics_pausereason ENUM('STANDARD','EVERY_NEW','EVERY_NEW_ADMINCALL','EVERY_NEW_ALLCALL') default 'STANDARD';
UPDATE system_settings SET db_schema_version='1602',db_schema_update_date=NOW() where db_schema_version < 1602;
+74 -42
View File
@@ -493,10 +493,11 @@
# 200609-2357 - Added NONE_ options for the campaign manual_dial_filter
# 200621-1027 - Added queuemetrics_pausereason options
# 200712-2034 - Fix for use_custom_cid variable issue
# 200719-1645 - Added EVERY_NEW_ALLCALL queuemetrics_pausereason option
#
$version = '2.14-386';
$build = '200712-2034';
$version = '2.14-387';
$build = '200719-1645';
$php_script = 'vdc_db_query.php';
$mel=1; # Mysql Error Log enabled = 1
$mysql_log_count=839;
@@ -15920,55 +15921,86 @@ if ($ACTION == 'PauseCodeSubmit')
$affected_rows = mysqli_affected_rows($linkB);
}
if ( (preg_match("/ADMINCALL/",$queuemetrics_pausereason)) and (preg_match("/^ADMIN$|^220208$/",$status)) )
if ( ( (preg_match("/ADMINCALL/",$queuemetrics_pausereason)) and (preg_match("/^ADMIN$|^220208$/",$status)) ) or (preg_match("/ALLCALL/",$queuemetrics_pausereason)) )
{
##### BEGIN insert new 1-second fake phone call, back-dated before the PAUSEREASON
$unpauseall_time = ($secX - 3);
$calloutbound_time = ($secX - 3);
$connect_time = ($secX - 3);
$completecaller_time = ($secX - 2);
$callstatus_time = ($secX - 1);
$pauseall_time = ($secX - 1);
$fake_call_id = $secX;
while (strlen($fake_call_id) > 9) {$fake_call_id = substr("$fake_call_id", 1);}
$fake_call_id = "F".$fake_call_id."0000000001";
### BEGIN Check for any calls connecting(CONNECT) to this agent since the last AGENTLOGIN event ###
$recentCONNECT=0;
$lastAGENTLOGIN = $secX;
$checkAGENTLOGIN = ($secX - 86400);
$stmt = "INSERT INTO queue_log SET `partition`='P01',time_id='$unpauseall_time',call_id='',queue='NONE',agent='Agent/$user',verb='UNPAUSEALL',serverid='$queuemetrics_log_id';";
if ($DB) {echo "$stmt\n";}
$stmt="SELECT time_id from queue_log where agent='Agent/$user' and verb='AGENTLOGIN' and time_id <= \"$secX\" and time_id > \"$checkAGENTLOGIN\" order by time_id desc limit 1;";
$rslt=mysql_to_mysqli($stmt, $linkB);
if ($mel > 0) {mysql_error_logging($NOW_TIME,$linkB,$mel,$stmt,'00832',$user,$server_ip,$session_name,$one_mysql_log);}
$UPAaffected_rows = mysqli_affected_rows($linkB);
if ($mel > 0) {mysql_error_logging($NOW_TIME,$linkB,$mel,$stmt,'00080',$user,$server_ip,$session_name,$one_mysql_log);}
if ($DB) {echo "$stmt\n";}
$QM_AL_ct = mysqli_num_rows($rslt);
if ($QM_AL_ct > 0)
{
$row=mysqli_fetch_row($rslt);
$lastAGENTLOGIN = $row[0];
}
$stmt = "INSERT INTO queue_log SET `partition`='P01',time_id='$calloutbound_time',call_id='$fake_call_id',queue='$campaign',agent='Agent/$user',verb='CALLOUTBOUND',data2='9998881112',serverid='$queuemetrics_log_id';";
if ($DB) {echo "$stmt\n";}
$stmt="SELECT count(*) from queue_log where agent='Agent/$user' and verb='CONNECT' and time_id <= \"$secX\" and time_id > \"$lastAGENTLOGIN\";";
$rslt=mysql_to_mysqli($stmt, $linkB);
if ($mel > 0) {mysql_error_logging($NOW_TIME,$linkB,$mel,$stmt,'00833',$user,$server_ip,$session_name,$one_mysql_log);}
$UPAaffected_rows = mysqli_affected_rows($linkB);
if ($mel > 0) {mysql_error_logging($NOW_TIME,$linkB,$mel,$stmt,'00080',$user,$server_ip,$session_name,$one_mysql_log);}
if ($DB) {echo "$stmt\n";}
$QM_RC_ct = mysqli_num_rows($rslt);
if ($QM_RC_ct > 0)
{
$row=mysqli_fetch_row($rslt);
$recentCONNECT = $row[0];
}
### END Check for any calls connecting(CONNECT) to this agent since the last AGENTLOGIN event ###
$stmt = "INSERT INTO queue_log SET `partition`='P01',time_id='$connect_time',call_id='$fake_call_id',queue='$campaign',agent='Agent/$user',verb='CONNECT',data1='0',serverid='$queuemetrics_log_id';";
if ($DB) {echo "$stmt\n";}
$rslt=mysql_to_mysqli($stmt, $linkB);
if ($mel > 0) {mysql_error_logging($NOW_TIME,$linkB,$mel,$stmt,'00834',$user,$server_ip,$session_name,$one_mysql_log);}
$UPAaffected_rows = mysqli_affected_rows($linkB);
if ($recentCONNECT < 1)
{
##### BEGIN insert new 1-second fake phone call, back-dated before the PAUSEREASON
$unpauseall_time = ($secX - 3);
$calloutbound_time = ($secX - 3);
$connect_time = ($secX - 3);
$completecaller_time = ($secX - 2);
$callstatus_time = ($secX - 1);
$pauseall_time = ($secX - 1);
$fake_call_id = $secX;
while (strlen($fake_call_id) > 9) {$fake_call_id = substr("$fake_call_id", 1);}
$fake_call_id = "F".$fake_call_id."0000000001";
$stmt = "INSERT INTO queue_log SET `partition`='P01',time_id='$completecaller_time',call_id='$fake_call_id',queue='$campaign',agent='Agent/$user',verb='COMPLETECALLER',data1='0',data2='1',data3='1',serverid='$queuemetrics_log_id';";
if ($DB) {echo "$stmt\n";}
$rslt=mysql_to_mysqli($stmt, $linkB);
if ($mel > 0) {mysql_error_logging($NOW_TIME,$linkB,$mel,$stmt,'00835',$user,$server_ip,$session_name,$one_mysql_log);}
$UPAaffected_rows = mysqli_affected_rows($linkB);
$stmt = "INSERT INTO queue_log SET `partition`='P01',time_id='$unpauseall_time',call_id='',queue='NONE',agent='Agent/$user',verb='UNPAUSEALL',serverid='$queuemetrics_log_id';";
if ($DB) {echo "$stmt\n";}
$rslt=mysql_to_mysqli($stmt, $linkB);
if ($mel > 0) {mysql_error_logging($NOW_TIME,$linkB,$mel,$stmt,'00832',$user,$server_ip,$session_name,$one_mysql_log);}
$UPAaffected_rows = mysqli_affected_rows($linkB);
$stmt = "INSERT INTO queue_log SET `partition`='P01',time_id='$callstatus_time',call_id='$fake_call_id',queue='$campaign',agent='Agent/$user',verb='CALLSTATUS',data1='NOCALL',serverid='$queuemetrics_log_id';";
if ($DB) {echo "$stmt\n";}
$rslt=mysql_to_mysqli($stmt, $linkB);
if ($mel > 0) {mysql_error_logging($NOW_TIME,$linkB,$mel,$stmt,'00836',$user,$server_ip,$session_name,$one_mysql_log);}
$UPAaffected_rows = mysqli_affected_rows($linkB);
$stmt = "INSERT INTO queue_log SET `partition`='P01',time_id='$calloutbound_time',call_id='$fake_call_id',queue='$campaign',agent='Agent/$user',verb='CALLOUTBOUND',data2='9998881112',serverid='$queuemetrics_log_id';";
if ($DB) {echo "$stmt\n";}
$rslt=mysql_to_mysqli($stmt, $linkB);
if ($mel > 0) {mysql_error_logging($NOW_TIME,$linkB,$mel,$stmt,'00833',$user,$server_ip,$session_name,$one_mysql_log);}
$UPAaffected_rows = mysqli_affected_rows($linkB);
$stmt = "INSERT INTO queue_log SET `partition`='P01',time_id='$pauseall_time',call_id='',queue='NONE',agent='Agent/$user',verb='PAUSEALL',serverid='$queuemetrics_log_id';";
if ($DB) {echo "$stmt\n";}
$rslt=mysql_to_mysqli($stmt, $linkB);
if ($mel > 0) {mysql_error_logging($NOW_TIME,$linkB,$mel,$stmt,'00837',$user,$server_ip,$session_name,$one_mysql_log);}
$PAaffected_rows = mysqli_affected_rows($linkB);
##### END insert new pause session, back-dated before the PAUSEREASON
$stmt = "INSERT INTO queue_log SET `partition`='P01',time_id='$connect_time',call_id='$fake_call_id',queue='$campaign',agent='Agent/$user',verb='CONNECT',data1='0',serverid='$queuemetrics_log_id';";
if ($DB) {echo "$stmt\n";}
$rslt=mysql_to_mysqli($stmt, $linkB);
if ($mel > 0) {mysql_error_logging($NOW_TIME,$linkB,$mel,$stmt,'00834',$user,$server_ip,$session_name,$one_mysql_log);}
$UPAaffected_rows = mysqli_affected_rows($linkB);
$stmt = "INSERT INTO queue_log SET `partition`='P01',time_id='$completecaller_time',call_id='$fake_call_id',queue='$campaign',agent='Agent/$user',verb='COMPLETECALLER',data1='0',data2='1',data3='1',serverid='$queuemetrics_log_id';";
if ($DB) {echo "$stmt\n";}
$rslt=mysql_to_mysqli($stmt, $linkB);
if ($mel > 0) {mysql_error_logging($NOW_TIME,$linkB,$mel,$stmt,'00835',$user,$server_ip,$session_name,$one_mysql_log);}
$UPAaffected_rows = mysqli_affected_rows($linkB);
$stmt = "INSERT INTO queue_log SET `partition`='P01',time_id='$callstatus_time',call_id='$fake_call_id',queue='$campaign',agent='Agent/$user',verb='CALLSTATUS',data1='NOCALL',serverid='$queuemetrics_log_id';";
if ($DB) {echo "$stmt\n";}
$rslt=mysql_to_mysqli($stmt, $linkB);
if ($mel > 0) {mysql_error_logging($NOW_TIME,$linkB,$mel,$stmt,'00836',$user,$server_ip,$session_name,$one_mysql_log);}
$UPAaffected_rows = mysqli_affected_rows($linkB);
$stmt = "INSERT INTO queue_log SET `partition`='P01',time_id='$pauseall_time',call_id='',queue='NONE',agent='Agent/$user',verb='PAUSEALL',serverid='$queuemetrics_log_id';";
if ($DB) {echo "$stmt\n";}
$rslt=mysql_to_mysqli($stmt, $linkB);
if ($mel > 0) {mysql_error_logging($NOW_TIME,$linkB,$mel,$stmt,'00837',$user,$server_ip,$session_name,$one_mysql_log);}
$PAaffected_rows = mysqli_affected_rows($linkB);
##### END insert new pause session, back-dated before the PAUSEREASON
}
}
else
{
+4 -3
View File
@@ -4695,12 +4695,13 @@ else
# 200701-1525 - Added more concurrent_transfers options
# 200708-1033 - Added List overrides for some inbound settings
# 200711-1822 - Added EVERY_NEW_ADMINCALL option for QM PAUSEREASON system setting
# 200719-1645 - Added EVERY_NEW_ALLCALL option for QM PAUSEREASON system setting
#
# make sure you have added a user to the vicidial_users MySQL table with at least user_level 9 to access this page the first time
$admin_version = '2.14-762a';
$build = '200711-1822';
$admin_version = '2.14-763a';
$build = '200719-1645';
$STARTtime = date("U");
$SQLdate = date("Y-m-d H:i:s");
@@ -39102,7 +39103,7 @@ if ($ADD==311111111111111)
echo "<tr bgcolor=#99FFCC><td align=right>"._QXZ("QueueMetrics Addmember Enabled").": </td><td align=left><select size=1 name=queuemetrics_addmember_enabled><option>1</option><option>0</option><option selected>$queuemetrics_addmember_enabled</option></select>$NWB#settings-queuemetrics_addmember_enabled$NWE</td></tr>\n";
echo "<tr bgcolor=#99FFCC><td align=right>"._QXZ("QueueMetrics Dispo Pause Code").": </td><td align=left><input type=text name=queuemetrics_dispo_pause size=8 maxlength=6 value=\"$queuemetrics_dispo_pause\">$NWB#settings-queuemetrics_dispo_pause$NWE</td></tr>\n";
echo "<tr bgcolor=#99FFCC><td align=right>"._QXZ("QueueMetrics Pause Type Logging").": </td><td align=left><select size=1 name=queuemetrics_pause_type><option>1</option><option>0</option><option selected>$queuemetrics_pause_type</option></select>$NWB#settings-queuemetrics_pause_type$NWE</td></tr>\n";
echo "<tr bgcolor=#99FFCC><td align=right>"._QXZ("QueueMetrics PAUSEREASON Logging").": </td><td align=left><select size=1 name=queuemetrics_pausereason><option>STANDARD</option><option>EVERY_NEW</option><option>EVERY_NEW_ADMINCALL</option><option selected>$queuemetrics_pausereason</option></select>$NWB#settings-queuemetrics_pausereason$NWE</td></tr>\n";
echo "<tr bgcolor=#99FFCC><td align=right>"._QXZ("QueueMetrics PAUSEREASON Logging").": </td><td align=left><select size=1 name=queuemetrics_pausereason><option>STANDARD</option><option>EVERY_NEW</option><option>EVERY_NEW_ADMINCALL</option><option>EVERY_NEW_ALLCALL</option><option selected>$queuemetrics_pausereason</option></select>$NWB#settings-queuemetrics_pausereason$NWE</td></tr>\n";
echo "<tr bgcolor=#99FFCC><td align=right>"._QXZ("QueueMetrics Phone Environment Phone Append").": </td><td align=left><select size=1 name=queuemetrics_pe_phone_append><option>1</option><option>0</option><option selected>$queuemetrics_pe_phone_append</option></select>$NWB#settings-queuemetrics_pe_phone_append$NWE</td></tr>\n";
echo "<tr bgcolor=#99FFCC><td align=right>"._QXZ("QueueMetrics Hold Call Log").": </td><td align=left><select size=1 name=queuemetrics_record_hold><option>1</option><option>0</option><option selected>$queuemetrics_record_hold</option></select>$NWB#settings-queuemetrics_record_hold$NWE</td></tr>\n";
echo "<tr bgcolor=#99FFCC><td align=right>"._QXZ("QueueMetrics Socket Send").": </td><td align=left><select size=1 name=queuemetrics_socket><option value='NONE'>"._QXZ("NONE")."</option><option value='CONNECT_COMPLETE'>"._QXZ("CONNECT_COMPLETE")."</option><option selected value='$queuemetrics_socket'>"._QXZ("$queuemetrics_socket")."</option></select>$NWB#settings-queuemetrics_socket$NWE</td></tr>\n";