diff --git a/UPGRADE b/UPGRADE
index be7f0c21..431d6790 100644
--- a/UPGRADE
+++ b/UPGRADE
@@ -299,6 +299,8 @@ OTHER CHANGES:
83. Added Fronter - Closer Detail Report
+84. Added option to allow agents to park 3way calls in the agent screen
+
diff --git a/docs/CALLER_ID_NAME_CODES.txt b/docs/CALLER_ID_NAME_CODES.txt
index eee7357e..3a7df240 100644
--- a/docs/CALLER_ID_NAME_CODES.txt
+++ b/docs/CALLER_ID_NAME_CODES.txt
@@ -1,4 +1,4 @@
-CALLER ID NAME CODES DOC Started: 2013-07-15 Updated: 2016-01-16
+CALLER ID NAME CODES DOC Started: 2013-07-15 Updated: 2016-10-29
This document is meant for reference only, and it does not contain all CID name codes possible, but more will be added over time.
@@ -12,6 +12,8 @@ DC - 3-Way Call (DC943083W0000855319W)
S - Agent Login Call (S1307152248588600051)
LP - Park Call (LPvdcW13739432176666)
FP - Back to agent From Park (FPvdcW14529553216666)
+LX - Park Xfer Call (LXvdcW13739432176666)
+FX - Xfer Back to session From Park (FXvdcW14529553216666)
VH - Inbound Agent Alert (VH7152252518600051)
RH - Recording Hangup (RH1234514529553690)
CX - Consultative Transfer (CXAR2420160116094751)
diff --git a/extras/MySQL_AST_CREATE_tables.sql b/extras/MySQL_AST_CREATE_tables.sql
index 6c90baed..c0fcf194 100644
--- a/extras/MySQL_AST_CREATE_tables.sql
+++ b/extras/MySQL_AST_CREATE_tables.sql
@@ -708,7 +708,8 @@ webphone_dialpad_override ENUM('DISABLED','Y','N','TOGGLE','TOGGLE_OFF') default
admin_viewable_groups TEXT,
admin_viewable_call_times TEXT,
allowed_custom_reports VARCHAR(2000) default '',
-agent_allowed_chat_groups TEXT
+agent_allowed_chat_groups TEXT,
+agent_xfer_park_3way ENUM('Y','N') default 'Y'
) ENGINE=MyISAM;
CREATE TABLE vicidial_campaigns (
@@ -1673,7 +1674,8 @@ ofcom_uk_drop_calc ENUM('1','0') default '0',
agent_screen_colors VARCHAR(20) default 'default',
script_remove_js ENUM('1','0') default '1',
manual_auto_next ENUM('1','0') default '0',
-user_new_lead_limit ENUM('1','0') default '0'
+user_new_lead_limit ENUM('1','0') default '0',
+agent_xfer_park_3way ENUM('1','0') default '0'
) ENGINE=MyISAM;
CREATE TABLE vicidial_campaigns_list_mix (
@@ -3803,4 +3805,4 @@ UPDATE vicidial_configuration set value='1766' where name='qc_database_version';
UPDATE system_settings set vdc_agent_api_active='1';
-UPDATE system_settings SET db_schema_version='1471',db_schema_update_date=NOW(),reload_timestamp=NOW();
+UPDATE system_settings SET db_schema_version='1472',db_schema_update_date=NOW(),reload_timestamp=NOW();
diff --git a/extras/upgrade_2.12.sql b/extras/upgrade_2.12.sql
index 59f28b7d..ab98fb29 100644
--- a/extras/upgrade_2.12.sql
+++ b/extras/upgrade_2.12.sql
@@ -720,3 +720,9 @@ UPDATE system_settings SET db_schema_version='1470',db_schema_update_date=NOW()
CREATE INDEX vtl_event_epoch on vicidial_timeclock_log (event_epoch);
UPDATE system_settings SET db_schema_version='1471',db_schema_update_date=NOW() where db_schema_version < 1471;
+
+ALTER TABLE vicidial_user_groups ADD agent_xfer_park_3way ENUM('Y','N') default 'Y';
+
+ALTER TABLE system_settings ADD agent_xfer_park_3way ENUM('1','0') default '0';
+
+UPDATE system_settings SET db_schema_version='1472',db_schema_update_date=NOW() where db_schema_version < 1472;
diff --git a/www/agc/images/vdc_XB_parkxferline_GRAB.gif b/www/agc/images/vdc_XB_parkxferline_GRAB.gif
new file mode 100644
index 00000000..cc2ad3c4
Binary files /dev/null and b/www/agc/images/vdc_XB_parkxferline_GRAB.gif differ
diff --git a/www/agc/images/vdc_XB_parkxferline_OFF.gif b/www/agc/images/vdc_XB_parkxferline_OFF.gif
new file mode 100644
index 00000000..b5ea6d8b
Binary files /dev/null and b/www/agc/images/vdc_XB_parkxferline_OFF.gif differ
diff --git a/www/agc/images/vdc_XB_parkxferline_ON.gif b/www/agc/images/vdc_XB_parkxferline_ON.gif
new file mode 100644
index 00000000..33bb2e3d
Binary files /dev/null and b/www/agc/images/vdc_XB_parkxferline_ON.gif differ
diff --git a/www/agc/manager_send.php b/www/agc/manager_send.php
index 1a3539b9..d7d1be3f 100644
--- a/www/agc/manager_send.php
+++ b/www/agc/manager_send.php
@@ -130,13 +130,14 @@
# 151230-0910 - Fixed transfer of parked call logging issue #901
# 160101-1130 - Added code to handle routing initiated recordings
# 160912-2310 - Fixed StopMonitorConf bug involving agent-invoked commands to stop recording
+# 161029-0845 - Added RedirectToParkXfer and RedirectFromParkXfer functions
#
-$version = '2.12-77';
-$build = '160912-2310';
+$version = '2.12-78';
+$build = '161029-0845';
$php_script = 'manager_send.php';
$mel=1; # Mysql Error Log enabled = 1
-$mysql_log_count=138;
+$mysql_log_count=142;
$one_mysql_log=0;
$SSagent_debug_logging=0;
$startMS = microtime();
@@ -883,6 +884,7 @@ if ($ACTION=="Hangup")
# ACTION=Redirect, RedirectName, RedirectNameVmail, RedirectToPark, RedirectFromPark, RedirectVD, RedirectXtra, RedirectXtraCX
# - insert Redirect Manager statement using extensions name
######################
+if (strlen($stage)<1) {$stage=$ACTION;}
if ($ACTION=="RedirectVD")
{
if ( (strlen($channel)<3) or (strlen($queryCID)<15) or (strlen($exten)<1) or (strlen($campaign)<1) or (strlen($ext_context)<1) or (strlen($ext_priority)<1) or (strlen($uniqueid)<2) or (strlen($lead_id)<1) )
@@ -1461,6 +1463,67 @@ if ($ACTION=="RedirectFromParkIVR")
}
+if ($ACTION=="RedirectToParkXfer")
+ {
+ if ( (strlen($channel)<3) or (strlen($queryCID)<15) or (strlen($exten)<1) or (strlen($extenName)<1) or (strlen($ext_context)<1) or (strlen($ext_priority)<1) or (strlen($parkedby)<1) )
+ {
+ $channel_live=0;
+ echo _QXZ("One of these variables is not valid:")."\n";
+ echo _QXZ("Channel %1s must be greater than 2 characters",0,'',$channel)."\n";
+ echo _QXZ("queryCID %1s must be greater than 14 characters",0,'',$queryCID)."\n";
+ echo _QXZ("exten %1s must be set",0,'',$exten)."\n";
+ echo _QXZ("extenName %1s must be set",0,'',$extenName)."\n";
+ echo _QXZ("ext_context %1s must be set",0,'',$ext_context)."\n";
+ echo _QXZ("ext_priority %1s must be set",0,'',$ext_priority)."\n";
+ echo _QXZ("parkedby %1s must be set",0,'',$parkedby)."\n";
+ echo _QXZ("RedirectToParkXfer Action not sent")."\n";
+ }
+ else
+ {
+ if ($stage!="2NDXfeR")
+ {
+ if (strlen($call_server_ip)>6) {$server_ip = $call_server_ip;}
+ $stmt = "INSERT INTO parked_channels values('$channel','$server_ip','$CalLCID','$extenName','$parkedby','$NOW_TIME');";
+ if ($format=='debug') {echo "\n";}
+ $rslt=mysql_to_mysqli($stmt, $link);
+ if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02141',$user,$server_ip,$session_name,$one_mysql_log);}
+ $ACTION="Redirect";
+
+ # $fp = fopen ("./vicidial_debug.txt", "a");
+ # fwrite ($fp, "$NOW_TIME|MS_LOG_0|$queryCID|$stmt|\n");
+ # fclose($fp);
+ }
+ }
+ }
+
+if ($ACTION=="RedirectFromParkXfer")
+ {
+ if ( (strlen($channel)<3) or (strlen($queryCID)<15) or (strlen($exten)<1) or (strlen($ext_context)<1) or (strlen($ext_priority)<1) )
+ {
+ $channel_live=0;
+ echo _QXZ("One of these variables is not valid:")."\n";
+ echo _QXZ("Channel %1s must be greater than 2 characters",0,'',$channel)."\n";
+ echo _QXZ("queryCID %1s must be greater than 14 characters",0,'',$queryCID)."\n";
+ echo _QXZ("exten %1s must be set",0,'',$exten)."\n";
+ echo _QXZ("ext_context %1s must be set",0,'',$ext_context)."\n";
+ echo _QXZ("ext_priority %1s must be set",0,'',$ext_priority)."\n\n";
+ echo _QXZ("RedirectFromParkXfer Action not sent")."\n";
+ }
+ else
+ {
+ if ($stage!="2NDXfeR")
+ {
+ if (strlen($call_server_ip)>6) {$server_ip = $call_server_ip;}
+ $stmt = "DELETE FROM parked_channels where server_ip='$server_ip' and channel='$channel';";
+ if ($format=='debug') {echo "\n";}
+ $rslt=mysql_to_mysqli($stmt, $link);
+ if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02142',$user,$server_ip,$session_name,$one_mysql_log);}
+ $ACTION="Redirect";
+ }
+ }
+ }
+
+
if ($ACTION=="RedirectName")
{
if ( (strlen($channel)<3) or (strlen($queryCID)<15) or (strlen($extenName)<1) or (strlen($ext_context)<1) or (strlen($ext_priority)<1) )
@@ -2201,7 +2264,7 @@ if ( ($ACTION=="MonitorConf") || ($ACTION=="StopMonitorConf") )
{
$stmt="SELECT recording_id,filename FROM routing_initiated_recordings where user='$user' and processed='0' order by launch_time desc limit 1;";
$rslt=mysql_to_mysqli($stmt, $link);
- if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02XXX',$user,$server_ip,$session_name,$one_mysql_log);}
+ if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02139',$user,$server_ip,$session_name,$one_mysql_log);}
if ($DB) {echo "$stmt\n";}
$rir_ct = mysqli_num_rows($rslt);
if ($rir_ct > 0)
@@ -2213,7 +2276,7 @@ if ( ($ACTION=="MonitorConf") || ($ACTION=="StopMonitorConf") )
$stmt = "UPDATE routing_initiated_recordings SET processed='1' where recording_id='$recording_id';";
if ($format=='debug') {echo "\n";}
$rslt=mysql_to_mysqli($stmt, $link);
- if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02XXX',$user,$server_ip,$session_name,$one_mysql_log);}
+ if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02140',$user,$server_ip,$session_name,$one_mysql_log);}
}
else
{
diff --git a/www/agc/vdc_db_query.php b/www/agc/vdc_db_query.php
index 2b2b1328..aec1d393 100644
--- a/www/agc/vdc_db_query.php
+++ b/www/agc/vdc_db_query.php
@@ -412,10 +412,11 @@
# 160901-1714 - Added last_local_call_time sent to agent screen with lead info
# 160926-1053 - Fix for inbound call notes display
# 161013-2226 - Added user_new_lead_limit option code
+# 161029-1026 - Added more agent debug logging details
#
-$version = '2.12-306';
-$build = '161013-2226';
+$version = '2.12-307';
+$build = '161029-1026';
$php_script = 'vdc_db_query.php';
$mel=1; # Mysql Error Log enabled = 1
$mysql_log_count=658;
@@ -6650,6 +6651,7 @@ if ($ACTION == 'VDADREcheckINCOMING')
$call_server_ip =$row[4];
if (strlen($call_server_ip)<7) {$call_server_ip = $server_ip;}
echo "1\n" . $lead_id . '|' . $uniqueid . '|' . $callerid . '|' . $channel . '|' . $call_server_ip . "|\n";
+ $stage = $callerid . '|' . $channel . '|' . $call_server_ip . '|' . $uniqueid;
}
}
}
@@ -7985,8 +7987,9 @@ if ($ACTION == 'VDADcheckINCOMING')
}
##### END special filtering and response for Vtiger account balance function #####
}
+ $stage = $VDADchannel_group . '|' . $call_type . '|' . $uniqueid . '|' . $callerid . '|' . $channel . '|' . $call_server_ip;
}
- else
+ else
{
echo "0\n";
# echo "No calls in QUEUE for $user on $server_ip\n";
@@ -7995,6 +7998,8 @@ if ($ACTION == 'VDADcheckINCOMING')
}
}
}
+
+
#######################################################################################
### XFERemail - for auto-dial VICIDiaL dialing this will check for emails
### in the vicidial_email_list table in NEW status, then
@@ -8043,6 +8048,7 @@ if ($ACTION == 'ManagerChatsCheck')
$upd_row=mysqli_fetch_row($upd_rslt);
$message_alert=$upd_row[0];
echo "$active_chats|$unread_messages|$message_alert";
+ $stage = "$active_chats|$unread_messages|$message_alert";
}
#######################################################################################
@@ -11718,6 +11724,7 @@ if ($ACTION == 'updateDISPO')
############################################
### END Issue Dispo Call URL if defined
############################################
+ $stage .= "|$call_type|$dispo_choice|";
}
@@ -11898,6 +11905,7 @@ if ($ACTION == 'updateLEAD')
}
echo _QXZ("Lead %1s information has%2s been updated",0,'',$lead_id,$DO_NOT_UPDATE_text)."\n";
+ $stage = "$DO_NOT_UPDATE|$DO_NOT_UPDATEphone|$random";
}
@@ -14767,6 +14775,7 @@ if ($ACTION == 'CalLBacKCounT')
$cbcount_live=$row[0];
echo "$cbcount|$cbcount_live";
+ $stage = "$campaign|$cbcount|$cbcount_live";
}
@@ -14805,6 +14814,7 @@ if ($ACTION == 'DiaLableLeaDsCounT')
}
echo "$DLcount";
+ $stage = $DLcount;
}
diff --git a/www/agc/vicidial.php b/www/agc/vicidial.php
index a400939d..481dbc5f 100644
--- a/www/agc/vicidial.php
+++ b/www/agc/vicidial.php
@@ -528,10 +528,11 @@
# 160901-1728 - Added last_local_call_time display field
# 160915-0955 - Added ---READONLY--- option for most screen labels
# 161019-0031 - Added ---REQUIRED--- option for most screen labels
+# 161029-0858 - Added option to park xfer channel
#
-$version = '2.12-497c';
-$build = '161019-0031';
+$version = '2.12-498c';
+$build = '161029-0858';
$mel=1; # Mysql Error Log enabled = 1
$mysql_log_count=87;
$one_mysql_log=0;
@@ -630,7 +631,7 @@ if ($sl_ct > 0)
#############################################
##### START SYSTEM_SETTINGS LOOKUP #####
-$stmt = "SELECT use_non_latin,vdc_header_date_format,vdc_customer_date_format,vdc_header_phone_format,webroot_writable,timeclock_end_of_day,vtiger_url,enable_vtiger_integration,outbound_autodial_active,enable_second_webform,user_territories_active,static_agent_url,custom_fields_enabled,pllb_grouping_limit,qc_features_active,allow_emails,callback_time_24hour,enable_languages,language_method,meetme_enter_login_filename,meetme_enter_leave3way_filename,enable_third_webform,default_language,active_modules,allow_chats,chat_url,default_phone_code,agent_screen_colors,manual_auto_next FROM system_settings;";
+$stmt = "SELECT use_non_latin,vdc_header_date_format,vdc_customer_date_format,vdc_header_phone_format,webroot_writable,timeclock_end_of_day,vtiger_url,enable_vtiger_integration,outbound_autodial_active,enable_second_webform,user_territories_active,static_agent_url,custom_fields_enabled,pllb_grouping_limit,qc_features_active,allow_emails,callback_time_24hour,enable_languages,language_method,meetme_enter_login_filename,meetme_enter_leave3way_filename,enable_third_webform,default_language,active_modules,allow_chats,chat_url,default_phone_code,agent_screen_colors,manual_auto_next,agent_xfer_park_3way FROM system_settings;";
$rslt=mysql_to_mysqli($stmt, $link);
if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'01001',$VD_login,$server_ip,$session_name,$one_mysql_log);}
if ($DB) {echo "$stmt\n";}
@@ -667,6 +668,7 @@ if ($qm_conf_ct > 0)
$default_phone_code = $row[26];
$agent_screen_colors = $row[27];
$SSmanual_auto_next = $row[28];
+ $SSagent_xfer_park_3way = $row[29];
}
else
{
@@ -1310,7 +1312,7 @@ else
$AgentAlert_allowed = $VU_allow_alerts;
### Gather timeclock and shift enforcement restriction settings
- $stmt="SELECT forced_timeclock_login,shift_enforcement,group_shifts,agent_status_viewable_groups,agent_status_view_time,agent_call_log_view,agent_xfer_consultative,agent_xfer_dial_override,agent_xfer_vm_transfer,agent_xfer_blind_transfer,agent_xfer_dial_with_customer,agent_xfer_park_customer_dial,agent_fullscreen,webphone_url_override,webphone_dialpad_override,webphone_systemkey_override,admin_viewable_groups from vicidial_user_groups where user_group='$VU_user_group';";
+ $stmt="SELECT forced_timeclock_login,shift_enforcement,group_shifts,agent_status_viewable_groups,agent_status_view_time,agent_call_log_view,agent_xfer_consultative,agent_xfer_dial_override,agent_xfer_vm_transfer,agent_xfer_blind_transfer,agent_xfer_dial_with_customer,agent_xfer_park_customer_dial,agent_fullscreen,webphone_url_override,webphone_dialpad_override,webphone_systemkey_override,admin_viewable_groups,agent_xfer_park_3way from vicidial_user_groups where user_group='$VU_user_group';";
$rslt=mysql_to_mysqli($stmt, $link);
if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'01052',$VD_login,$server_ip,$session_name,$one_mysql_log);}
$row=mysqli_fetch_row($rslt);
@@ -1343,6 +1345,8 @@ else
{$agent_xfer_dial_with_customer=1;}
if ($row[11] == 'Y')
{$agent_xfer_park_customer_dial=1;}
+ if ( ($row[17] == 'Y') and ($SSagent_xfer_park_3way > 0) )
+ {$agent_xfer_park_3way=1;}
if ($VU_agent_call_log_view_override == 'Y')
{$agent_call_log_view=1;}
if ($VU_agent_call_log_view_override == 'N')
@@ -4307,6 +4311,7 @@ if ($enable_fast_refresh < 1) {echo "\tvar refresh_interval = 1000;\n";}
var agent_xfer_blind_transfer='';
var agent_xfer_dial_with_customer='';
var agent_xfer_park_customer_dial='';
+ var agent_xfer_park_3way='';
var EAphone_code='';
var EAphone_number='';
var EAalt_phone_notes='';
@@ -4528,6 +4533,12 @@ if ($enable_fast_refresh < 1) {echo "\tvar refresh_interval = 1000;\n";}
image_LB_ivrgrabparkedcall.src="./images/";
var image_LB_ivrparkcall = new Image();
image_LB_ivrparkcall.src="./images/";
+ var image_XB_parkxferline_ON = new Image();
+ image_XB_parkxferline_ON.src="./images/";
+ var image_XB_parkxferline_OFF = new Image();
+ image_XB_parkxferline_OFF.src="./images/";
+ var image_XB_parkxferline_GRAB = new Image();
+ image_XB_parkxferline_GRAB.src="./images/";
var image_internal_chat_OFF = new Image();
image_internal_chat_OFF.src="./images/";
var image_internal_chat_ON = new Image();
@@ -4850,8 +4861,6 @@ if ($enable_fast_refresh < 1) {echo "\tvar refresh_interval = 1000;\n";}
// filter manual dialstring and pass on to originate call
function SendManualDial(taskFromConf,SMDclick)
{
- if (SMDclick=='YES')
- {button_click_log = button_click_log + "" + SQLdate + "-----SendManualDial---" + taskFromConf + "|";}
conf_dialed=1;
var sending_group_alias = 0;
// Dial With Customer button
@@ -4893,6 +4902,8 @@ if ($enable_fast_refresh < 1) {echo "\tvar refresh_interval = 1000;\n";}
if (active_group_alias.length > 1)
{var sending_group_alias = 1;}
}
+ if (SMDclick=='YES')
+ {button_click_log = button_click_log + "" + SQLdate + "-----SendManualDial---" + taskFromConf + "|" + agent_dialed_type + "|" + manual_string + "|" + three_way_call_cid + "|" + threeway_cid + "|";}
}
else
{
@@ -4904,7 +4915,10 @@ if ($enable_fast_refresh < 1) {echo "\tvar refresh_interval = 1000;\n";}
cid_lock=1;
threeway_cid = outbound_cid;
}
+ if (SMDclick=='YES')
+ {button_click_log = button_click_log + "" + SQLdate + "-----SendManualDial---" + taskFromConf + "|" + agent_dialed_type + "|" + manual_string + "|" + manual_dial_cid + "|" + threeway_cid + "|";}
}
+
var regXFvars = new RegExp("XFER","g");
if (manual_string.match(regXFvars))
{
@@ -6410,6 +6424,39 @@ function set_length(SLnumber,SLlength_goal,SLdirection)
customerparkedcounter=0;
}
+ if (taskvar == 'ParKXfeR')
+ {
+ blind_transfer=0;
+ var queryCID = "LXvdcW" + epoch_sec + user_abb;
+ var redirectdestination = taskxferconf;
+ var redirectdestserverip = taskserverip;
+ var parkedby = protocol + "/" + extension;
+ xferredirect_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=RedirectToParkXfer&format=text&channel=" + redirectdestination + "&call_server_ip=" + redirectdestserverip + "&queryCID=" + queryCID + "&exten=" + park_on_extension + "&ext_context=" + ext_context + "&ext_priority=1&extenName=park&parkedby=" + parkedby + "&session_id=" + session_id + "&CalLCID=" + XDnextCID + "&uniqueid=" + XDuniqueid + "&lead_id=" + document.vicidial_form.lead_id.value + "&campaign=" + campaign;
+
+ document.getElementById("ParkXferLine").innerHTML ="\" border=\"0\" alt=\"Grab Parked Xfer Line\" style=\"vertical-align:middle\" />";
+ }
+ if (taskvar == 'FROMParKXfeR')
+ {
+ blind_transfer=0;
+ var queryCID = "FXvdcW" + epoch_sec + user_abb;
+ var redirectdestination = taskxferconf;
+ var redirectdestserverip = taskserverip;
+
+ if( (server_ip == taskserverip) && (taskserverip.length > 6) )
+ {var dest_dialstring = session_id;}
+ else
+ {
+ if(taskserverip.length > 6)
+ {var dest_dialstring = server_ip_dialstring + "" + session_id;}
+ else
+ {var dest_dialstring = session_id;}
+ }
+
+ xferredirect_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=RedirectFromParkXfer&format=text&channel=" + redirectdestination + "&call_server_ip=" + redirectdestserverip + "&queryCID=" + queryCID + "&exten=" + dest_dialstring + "&ext_context=" + ext_context + "&ext_priority=1" + "&session_id=" + session_id + "&CalLCID=" + XDnextCID + "&uniqueid=" + XDuniqueid + "&lead_id=" + document.vicidial_form.lead_id.value + "&campaign=" + campaign;
+
+ document.getElementById("ParkXferLine").innerHTML ="
\" border=\"0\" alt=\"Park Xfer Line\" style=\"vertical-align:middle\" />";
+ }
+
var XFRDop = '';
xmlhttpXF.open('POST', 'manager_send.php');
xmlhttpXF.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=UTF-8');
@@ -8052,6 +8099,8 @@ function set_length(SLnumber,SLlength_goal,SLdirection)
document.getElementById("HangupXferLine").innerHTML ="
\" border=\"0\" alt=\"Hangup Xfer Line\" style=\"vertical-align:middle\" />";
+ document.getElementById("ParkXferLine").innerHTML ="
\" border=\"0\" alt=\"Park Xfer Line\" style=\"vertical-align:middle\" />";
+
document.getElementById("HangupBothLines").innerHTML ="
\" border=\"0\" alt=\"Hangup Both Lines\" style=\"vertical-align:middle\" />";
xferchannellive=1;
@@ -11544,8 +11593,6 @@ function set_length(SLnumber,SLlength_goal,SLdirection)
}
else
{
- if (DSHclick=='YES')
- {button_click_log = button_click_log + "" + SQLdate + "-----dialedcall_send_hangup---|";}
if (VDCL_group_id.length > 1)
{var group = VDCL_group_id;}
else
@@ -11563,11 +11610,14 @@ function set_length(SLnumber,SLlength_goal,SLdirection)
{customer_sec = VD_live_call_secondS;}
var process_post_hangup=0;
+ if (DSHclick=='YES')
+ {button_click_log = button_click_log + "" + SQLdate + "-----dialedcall_send_hangup---" + group + "|" + form_cust_channel + "|" + CalLCID + "|" + VD_live_call_secondS + "|";}
+
// Force chat to end, if exists. Uses hangup_override value in EndChat function to end if chat does not exist.
if (document.getElementById('CustomerChatIFrame') && typeof document.getElementById('CustomerChatIFrame').contentWindow.EndChat=='function')
- {
+ {
document.getElementById('CustomerChatIFrame').contentWindow.EndChat('Hangup');
- }
+ }
if ( (RedirecTxFEr < 1) && ( (MD_channel_look==1) || (auto_dial_level == 0) ) )
{
@@ -11829,12 +11879,12 @@ function set_length(SLnumber,SLlength_goal,SLdirection)
// Send Hangup command for 3rd party call connected to the conference now to Manager
function xfercall_send_hangup(HANclick)
{
- if (HANclick=='YES')
- {button_click_log = button_click_log + "" + SQLdate + "-----xfercall_send_hangup---|";}
var xferchannel = document.vicidial_form.xferchannel.value;
var xfer_channel = lastxferchannel;
var process_post_hangup=0;
xfer_in_call=0;
+ if (HANclick=='YES')
+ {button_click_log = button_click_log + "" + SQLdate + "-----xfercall_send_hangup---" + xferchannel + "|";}
if ( (MD_channel_look==1) && (leaving_threeway < 1) )
{
MD_channel_look=0;
@@ -11910,6 +11960,8 @@ function set_length(SLnumber,SLlength_goal,SLdirection)
document.getElementById("HangupXferLine").innerHTML ="
\" border=\"0\" alt=\"Hangup Xfer Line\" style=\"vertical-align:middle\" />";
+ document.getElementById("ParkXferLine").innerHTML ="
\" border=\"0\" alt=\"Park Xfer Line\" style=\"vertical-align:middle\" />";
+
document.getElementById("HangupBothLines").innerHTML ="
\" border=\"0\" alt=\"Hangup Both Lines\" style=\"vertical-align:middle\" />";
}
}
@@ -16175,6 +16227,8 @@ function phone_number_format(formatphone) {
{hideDiv('DialWithCustomer');}
if (agent_xfer_park_customer_dial < 1)
{hideDiv('ParkCustomerDial');}
+ if (agent_xfer_park_3way < 1)
+ {hideDiv('ParkXferLine');}
if (AllowManualQueueCallsChoice == '1')
{document.getElementById("ManualQueueChoice").innerHTML = "
";}
if (qc_enabled < 1)
@@ -18200,6 +18254,8 @@ if ($agent_display_dialable_leads > 0)
| \n";
echo "";
- $stmt="SELECT user_group,group_name,allowed_campaigns,qc_allowed_campaigns,qc_allowed_inbound_groups,group_shifts,forced_timeclock_login,shift_enforcement,agent_status_viewable_groups,agent_status_view_time,agent_call_log_view,agent_xfer_consultative,agent_xfer_dial_override,agent_xfer_vm_transfer,agent_xfer_blind_transfer,agent_xfer_dial_with_customer,agent_xfer_park_customer_dial,agent_fullscreen,allowed_reports,webphone_url_override,webphone_systemkey_override,webphone_dialpad_override,admin_viewable_groups,admin_viewable_call_times,agent_allowed_chat_groups from vicidial_user_groups where user_group='$user_group' $LOGadmin_viewable_groupsSQL;";
+ $stmt="SELECT user_group,group_name,allowed_campaigns,qc_allowed_campaigns,qc_allowed_inbound_groups,group_shifts,forced_timeclock_login,shift_enforcement,agent_status_viewable_groups,agent_status_view_time,agent_call_log_view,agent_xfer_consultative,agent_xfer_dial_override,agent_xfer_vm_transfer,agent_xfer_blind_transfer,agent_xfer_dial_with_customer,agent_xfer_park_customer_dial,agent_fullscreen,allowed_reports,webphone_url_override,webphone_systemkey_override,webphone_dialpad_override,admin_viewable_groups,admin_viewable_call_times,agent_allowed_chat_groups,agent_xfer_park_3way from vicidial_user_groups where user_group='$user_group' $LOGadmin_viewable_groupsSQL;";
$rslt=mysql_to_mysqli($stmt, $link);
$row=mysqli_fetch_row($rslt);
$user_group = $row[0];
@@ -29120,6 +29125,7 @@ if ($ADD==311111)
$admin_viewable_groups = $row[22];
$admin_viewable_call_times = $row[23];
$VGROUP_chatgroups = $row[24];
+ $agent_xfer_park_3way = $row[25];
echo "";
@@ -29211,23 +29217,32 @@ if ($ADD==311111)
}
echo " | |
| "._QXZ("Agent Status View Time").": | $NWB#user_groups-agent_status_view_time$NWE |
| "._QXZ("Agent Status View Time").": | $NWB#user_groups-agent_status_view_time$NWE |
| "._QXZ("Agent Call Log View").": | $NWB#user_groups-agent_call_log_view$NWE |
| "._QXZ("Agent Call Log View").": | $NWB#user_groups-agent_call_log_view$NWE |
| "._QXZ("Agent Allow Consultative Xfer").": | $NWB#user_groups-agent_xfer_options$NWE |
| "._QXZ("Agent Allow Consultative Xfer").": | $NWB#user_groups-agent_xfer_options$NWE |
| "._QXZ("Agent Allow Dial Override Xfer").": | $NWB#user_groups-agent_xfer_options$NWE |
| "._QXZ("Agent Allow Dial Override Xfer").": | $NWB#user_groups-agent_xfer_options$NWE |
| "._QXZ("Agent Allow Voicemail Message Xfer").": | $NWB#user_groups-agent_xfer_options$NWE |
| "._QXZ("Agent Allow Voicemail Message Xfer").": | $NWB#user_groups-agent_xfer_options$NWE |
| "._QXZ("Agent Allow Blind Xfer").": | $NWB#user_groups-agent_xfer_options$NWE |
| "._QXZ("Agent Allow Blind Xfer").": | $NWB#user_groups-agent_xfer_options$NWE |
| "._QXZ("Agent Allow Dial With Customer Xfer").": | $NWB#user_groups-agent_xfer_options$NWE |
| "._QXZ("Agent Allow Dial With Customer Xfer").": | $NWB#user_groups-agent_xfer_options$NWE |
| "._QXZ("Agent Allow Park Customer Dial Xfer").": | $NWB#user_groups-agent_xfer_options$NWE |
| "._QXZ("Agent Allow Park Customer Dial Xfer").": | $NWB#user_groups-agent_xfer_options$NWE |
| "._QXZ("Agent Fullscreen").": | $NWB#user_groups-agent_fullscreen$NWE |
| "._QXZ("Agent Allow Park Xfer").": | $NWB#user_groups-agent_xfer_options$NWE |
| "._QXZ("Agent Fullscreen").": | $NWB#user_groups-agent_fullscreen$NWE |
| "._QXZ("Agent Allowed Chat Groups").": $NWB#user_groups-agent_allowed_chat_groups$NWE | \n"; if ($admin_viewable_groupsALL > 0) @@ -32585,7 +32600,7 @@ if ($ADD==311111111111111) $ALLagent_count = $rowx[2]; } - $stmt="SELECT version,install_date,use_non_latin,webroot_writable,enable_queuemetrics_logging,queuemetrics_server_ip,queuemetrics_dbname,queuemetrics_login,queuemetrics_pass,queuemetrics_url,queuemetrics_log_id,queuemetrics_eq_prepend,vicidial_agent_disable,allow_sipsak_messages,admin_home_url,enable_agc_xfer_log,db_schema_version,auto_user_add_value,timeclock_end_of_day,timeclock_last_reset_date,vdc_header_date_format,vdc_customer_date_format,vdc_header_phone_format,vdc_agent_api_active,qc_last_pull_time,enable_vtiger_integration,vtiger_server_ip,vtiger_dbname,vtiger_login,vtiger_pass,vtiger_url,qc_features_active,outbound_autodial_active,outbound_calls_per_second,enable_tts_integration,agentonly_callback_campaign_lock,sounds_central_control_active,sounds_web_server,sounds_web_directory,active_voicemail_server,auto_dial_limit,user_territories_active,allow_custom_dialplan,db_schema_update_date,enable_second_webform,default_webphone,default_external_server_ip,webphone_url,enable_agc_dispo_log,custom_dialplan_entry,queuemetrics_loginout,callcard_enabled,queuemetrics_callstatus,default_codecs,admin_web_directory,label_title,label_first_name,label_middle_initial,label_last_name,label_address1,label_address2,label_address3,label_city,label_state,label_province,label_postal_code,label_vendor_lead_code,label_gender,label_phone_number,label_phone_code,label_alt_phone,label_security_phrase,label_email,label_comments,custom_fields_enabled,slave_db_server,reports_use_slave_db,webphone_systemkey,first_login_trigger,default_phone_registration_password,default_phone_login_password,default_server_password,admin_modify_refresh,nocache_admin,generate_cross_server_exten,queuemetrics_addmember_enabled,queuemetrics_dispo_pause,label_hide_field_logs,queuemetrics_pe_phone_append,test_campaign_calls,agents_calls_reset,default_voicemail_timezone,default_local_gmt,noanswer_log,alt_log_server_ip,alt_log_dbname,alt_log_login,alt_log_pass,tables_use_alt_log_db,did_agent_log,campaign_cid_areacodes_enabled,pllb_grouping_limit,did_ra_extensions_enabled,expanded_list_stats,contacts_enabled,call_menu_qualify_enabled,admin_list_counts,allow_voicemail_greeting,svn_revision,queuemetrics_socket,queuemetrics_socket_url,enhanced_disconnect_logging,allow_emails,level_8_disable_add,pass_hash_enabled,pass_key,pass_cost,disable_auto_dial,queuemetrics_record_hold,country_code_list_stats,reload_timestamp,queuemetrics_pause_type,frozen_server_call_clear,callback_time_24hour,allow_chats,chat_url,chat_timeout,enable_languages,language_method,meetme_enter_login_filename,meetme_enter_leave3way_filename,enable_did_entry_list_id,enable_third_webform,agent_debug_logging,default_language,agent_whisper_enabled,user_hide_realtime_enabled,usacan_phone_dialcode_fix,cache_carrier_stats_realtime,oldest_logs_date,log_recording_access,report_default_format,alt_ivr_logging,default_phone_code,admin_row_click,admin_screen_colors,ofcom_uk_drop_calc,agent_screen_colors,script_remove_js,manual_auto_next,user_new_lead_limit from system_settings;"; + $stmt="SELECT version,install_date,use_non_latin,webroot_writable,enable_queuemetrics_logging,queuemetrics_server_ip,queuemetrics_dbname,queuemetrics_login,queuemetrics_pass,queuemetrics_url,queuemetrics_log_id,queuemetrics_eq_prepend,vicidial_agent_disable,allow_sipsak_messages,admin_home_url,enable_agc_xfer_log,db_schema_version,auto_user_add_value,timeclock_end_of_day,timeclock_last_reset_date,vdc_header_date_format,vdc_customer_date_format,vdc_header_phone_format,vdc_agent_api_active,qc_last_pull_time,enable_vtiger_integration,vtiger_server_ip,vtiger_dbname,vtiger_login,vtiger_pass,vtiger_url,qc_features_active,outbound_autodial_active,outbound_calls_per_second,enable_tts_integration,agentonly_callback_campaign_lock,sounds_central_control_active,sounds_web_server,sounds_web_directory,active_voicemail_server,auto_dial_limit,user_territories_active,allow_custom_dialplan,db_schema_update_date,enable_second_webform,default_webphone,default_external_server_ip,webphone_url,enable_agc_dispo_log,custom_dialplan_entry,queuemetrics_loginout,callcard_enabled,queuemetrics_callstatus,default_codecs,admin_web_directory,label_title,label_first_name,label_middle_initial,label_last_name,label_address1,label_address2,label_address3,label_city,label_state,label_province,label_postal_code,label_vendor_lead_code,label_gender,label_phone_number,label_phone_code,label_alt_phone,label_security_phrase,label_email,label_comments,custom_fields_enabled,slave_db_server,reports_use_slave_db,webphone_systemkey,first_login_trigger,default_phone_registration_password,default_phone_login_password,default_server_password,admin_modify_refresh,nocache_admin,generate_cross_server_exten,queuemetrics_addmember_enabled,queuemetrics_dispo_pause,label_hide_field_logs,queuemetrics_pe_phone_append,test_campaign_calls,agents_calls_reset,default_voicemail_timezone,default_local_gmt,noanswer_log,alt_log_server_ip,alt_log_dbname,alt_log_login,alt_log_pass,tables_use_alt_log_db,did_agent_log,campaign_cid_areacodes_enabled,pllb_grouping_limit,did_ra_extensions_enabled,expanded_list_stats,contacts_enabled,call_menu_qualify_enabled,admin_list_counts,allow_voicemail_greeting,svn_revision,queuemetrics_socket,queuemetrics_socket_url,enhanced_disconnect_logging,allow_emails,level_8_disable_add,pass_hash_enabled,pass_key,pass_cost,disable_auto_dial,queuemetrics_record_hold,country_code_list_stats,reload_timestamp,queuemetrics_pause_type,frozen_server_call_clear,callback_time_24hour,allow_chats,chat_url,chat_timeout,enable_languages,language_method,meetme_enter_login_filename,meetme_enter_leave3way_filename,enable_did_entry_list_id,enable_third_webform,agent_debug_logging,default_language,agent_whisper_enabled,user_hide_realtime_enabled,usacan_phone_dialcode_fix,cache_carrier_stats_realtime,oldest_logs_date,log_recording_access,report_default_format,alt_ivr_logging,default_phone_code,admin_row_click,admin_screen_colors,ofcom_uk_drop_calc,agent_screen_colors,script_remove_js,manual_auto_next,user_new_lead_limit,agent_xfer_park_3way from system_settings;"; $rslt=mysql_to_mysqli($stmt, $link); $row=mysqli_fetch_row($rslt); $version = $row[0]; @@ -32739,6 +32754,7 @@ if ($ADD==311111111111111) $script_remove_js = $row[148]; $manual_auto_next = $row[149]; $user_new_lead_limit = $row[150]; + $agent_xfer_park_3way = $row[151]; if ($pass_hash_enabled > 0) {$pass_hash_enabled = 'ENABLED';} else {$pass_hash_enabled = 'DISABLED';} @@ -32869,6 +32885,7 @@ if ($ADD==311111111111111) echo "\n"; echo "$NWB#settings-vdc_header_phone_format$NWE |
| "._QXZ("Agent API Active").": | $NWB#settings-vdc_agent_api_active$NWE |
| "._QXZ("Agent Screen Park Xfer Button").": | $NWB#settings-agent_xfer_park_3way$NWE |
| "._QXZ("Agent Only Callback Campaign Lock").": | $NWB#settings-agentonly_callback_campaign_lock$NWE |
| "._QXZ("Callback Time 24 Hours").": | $NWB#settings-callback_time_24hour$NWE |