Added Calls in Queue display to agent interface

Added Grab call in Queue to agent interface and AGI inbound script
Added Re-Queue button to agent interface
Added pause after every call campaign option
Added option to auto-launch calls in queue frame in agent interface
Added ADD ALL and DELETE ALL options to the inbound group chooser screen in the agent interface

git-svn-id: svn://192.168.202.10@1183 3d104415-ff17-0410-8863-d5cf3c621b8a
This commit is contained in:
mattf
2009-07-13 06:11:44 +00:00
parent 493236f3ca
commit 8a726c2c3c
12 changed files with 730 additions and 70 deletions
+7
View File
@@ -128,6 +128,13 @@ NOTE: Upgrading from 1.1.12-3 to 2.0.1 is at the bottom
agent frame to AGENTDIRECT transfers when clicking on the NUMBER TO CALL agent frame to AGENTDIRECT transfers when clicking on the NUMBER TO CALL
field in the transfer conference frame field in the transfer conference frame
34. Added Calls in Queue display to Agent screen, along with click to grab a
call from this listing.
35. Added a Re-Queue Call button to send the current call back to an AGENTDIRECT
in-group for the agent to take later
+81 -15
View File
@@ -97,6 +97,7 @@
# 90627-0546 - Added no-agent-no-queue options # 90627-0546 - Added no-agent-no-queue options
# 90702-2129 - Fixed rare agent alert bug, added option to send to remote agent as phone*vendor_id # 90702-2129 - Fixed rare agent alert bug, added option to send to remote agent as phone*vendor_id
# 90709-1648 - Fixed alt-number transfers # 90709-1648 - Fixed alt-number transfers
# 90712-2307 - Added agent grab call in queue
# #
$script = 'agi-VDAD_ALL_inbound.agi'; $script = 'agi-VDAD_ALL_inbound.agi';
@@ -107,7 +108,7 @@ $start_moh=1;
$at='@'; $at='@';
$S='*'; $S='*';
$mel=1; # Mysql Error Log enabled = 1 $mel=1; # Mysql Error Log enabled = 1
$mysql_log_count=103; $mysql_log_count=112;
$one_mysql_log=0; $one_mysql_log=0;
@@ -1131,6 +1132,17 @@ if ($Uaffected_rows < 1)
if ($AGILOG) {$agi_string = "|$stmtA|"; &agi_output;} if ($AGILOG) {$agi_string = "|$stmtA|"; &agi_output;}
$affected_rows = $dbhA->do($stmtA); $affected_rows = $dbhA->do($stmtA);
$dbhP=$dbhA; $mysql_count='02030'; $MEL_aff_rows=$affected_rows; &mysql_error_logging; $dbhP=$dbhA; $mysql_count='02030'; $MEL_aff_rows=$affected_rows; &mysql_error_logging;
$stmtB = "select LAST_INSERT_ID() LIMIT 1;";
$sthA = $dbhA->prepare($stmtB) or die "preparing: ",$dbhA->errstr;
$sthA->execute or die "executing: $stmtB ", $dbhA->errstr;
$sthArows=$sthA->rows;
$dbhP=$dbhA; $stmtA=$stmtB; $mysql_count='02109'; $MEL_aff_rows=$sthArows; &mysql_error_logging;
if ($sthArows > 0)
{
@aryA = $sthA->fetchrow_array;
$insert_call_id = "$aryA[0]";
}
$sthA->finish();
} }
$stmtA = "INSERT INTO vicidial_closer_log SET lead_id='$insert_lead_id', campaign_id='$channel_group', call_date='$SQLdate', start_epoch='$now_date_epoch', status='QUEUE', phone_code='$phone_code', phone_number='$phone_number', user='VDCL', processed='N', xfercallid='$insert_xfer_id', uniqueid='$uniqueid' $adSQL;"; $stmtA = "INSERT INTO vicidial_closer_log SET lead_id='$insert_lead_id', campaign_id='$channel_group', call_date='$SQLdate', start_epoch='$now_date_epoch', status='QUEUE', phone_code='$phone_code', phone_number='$phone_number', user='VDCL', processed='N', xfercallid='$insert_xfer_id', uniqueid='$uniqueid' $adSQL;";
@@ -1206,8 +1218,8 @@ if ($channel_status < 1)
$aco_sub=0; $aco_sub=0;
$agent_call_order='order by last_call_finish'; $agent_call_order='order by last_call_finish';
if ($CAMP_callorder =~ /overall_user_level/i) {$agent_call_order = 'order by user_level desc,last_call_finish';} if ($CAMP_callorder =~ /overall_user_level/i) {$agent_call_order = 'order by user_level desc,last_call_finish';}
if ($CAMP_callorder =~ /oldest_call_start/i) {$agent_call_order = 'order by last_call_time';} if ($CAMP_callorder =~ /oldest_call_start/i) {$agent_call_order = 'order by vicidial_live_agents.last_call_time';}
if ($CAMP_callorder =~ /oldest_call_finish/i) {$agent_call_order = 'order by last_call_finish';} if ($CAMP_callorder =~ /oldest_call_finish/i) {$agent_call_order = 'order by vicidial_live_agents.last_call_finish';}
if ($CAMP_callorder =~ /random/i) {$agent_call_order = 'order by random_id';} if ($CAMP_callorder =~ /random/i) {$agent_call_order = 'order by random_id';}
if ($CAMP_callorder =~ /campaign_rank/i) {$agent_call_order = 'order by campaign_weight desc,last_call_finish';} if ($CAMP_callorder =~ /campaign_rank/i) {$agent_call_order = 'order by campaign_weight desc,last_call_finish';}
if ($CAMP_callorder =~ /fewest_calls_campaign/i) {$agent_call_order = 'order by vicidial_live_agents.calls_today,vicidial_live_agents.last_call_finish';} if ($CAMP_callorder =~ /fewest_calls_campaign/i) {$agent_call_order = 'order by vicidial_live_agents.calls_today,vicidial_live_agents.last_call_finish';}
@@ -1231,6 +1243,27 @@ $sthArows=$sthA->rows;
} }
$sthA->finish(); $sthA->finish();
################################################################
##### BEGIN Check for Agent Grab of this call
$AGENTgrab=0;
$AGENTuser='';
$stmtA = "SELECT agent_grab FROM vicidial_auto_calls where auto_call_id='$insert_call_id' and agent_grab!='';";
$sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr;
$sthA->execute or die "executing: $stmtA ", $dbhA->errstr;
$sthArows=$sthA->rows;
$dbhP=$dbhA; $mysql_count='02110'; $MEL_aff_rows=$sthArows; &mysql_error_logging;
if ($sthArows > 0)
{
@aryA = $sthA->fetchrow_array;
$AGENTuser = "$aryA[0]";
$AGENTgrab++;
}
$sthA->finish();
##### END Check for Agent Grab of this call
################################################################
################################################################ ################################################################
##### Attempt to send call to an agent on this server only ##### ##### Attempt to send call to an agent on this server only #####
if ( ($agent_search_method =~ /^SO|^LO/) && ($skipLOSO < 1) ) if ( ($agent_search_method =~ /^SO|^LO/) && ($skipLOSO < 1) )
@@ -1250,7 +1283,7 @@ if ( ($agent_search_method =~ /^SO|^LO/) && ($skipLOSO < 1) )
} }
$sthA->finish(); $sthA->finish();
if ($rec_countWAIT < 1) if ( ($rec_countWAIT < 1) || ($AGENTgrab > 0) )
{ {
$qp_countWAIT=0; $qp_countWAIT=0;
### Get count of number of waiting calls in higher priority groups than this call or the same priority with longer wait time ### Get count of number of waiting calls in higher priority groups than this call or the same priority with longer wait time
@@ -1272,7 +1305,7 @@ if ( ($agent_search_method =~ /^SO|^LO/) && ($skipLOSO < 1) )
$qp_groupWAIT_aco=''; $qp_groupWAIT_aco='';
$qp_groupWAIT_aco_SQL=''; $qp_groupWAIT_aco_SQL='';
$qp_groupWAIT_camp_SQL=''; $qp_groupWAIT_camp_SQL='';
if ($qp_countWAIT > 0) if ( ($qp_countWAIT > 0) && ($AGENTgrab < 1) )
{ {
### Get group/campaign ids of calls in higher priority groups than this call or the same priority with longer wait time ### Get group/campaign ids of calls in higher priority groups than this call or the same priority with longer wait time
$stmtA = "SELECT distinct campaign_id FROM vicidial_auto_calls where status = 'LIVE' and server_ip='$VARserver_ip' and lead_id != '$insert_lead_id' and ( (queue_priority > '$queue_priority') or (queue_priority = '$queue_priority' and call_time < \"$SQLdateBEGIN\") );"; $stmtA = "SELECT distinct campaign_id FROM vicidial_auto_calls where status = 'LIVE' and server_ip='$VARserver_ip' and lead_id != '$insert_lead_id' and ( (queue_priority > '$queue_priority') or (queue_priority = '$queue_priority' and call_time < \"$SQLdateBEGIN\") );";
@@ -1303,7 +1336,7 @@ if ( ($agent_search_method =~ /^SO|^LO/) && ($skipLOSO < 1) )
$sthA->finish(); $sthA->finish();
} }
if ($aco_sub>0) if ( ($aco_sub>0) || ($AGENTgrab > 0) )
{ {
$stmtA = "LOCK TABLES vicidial_live_agents WRITE, vicidial_live_inbound_agents WRITE;"; $stmtA = "LOCK TABLES vicidial_live_agents WRITE, vicidial_live_inbound_agents WRITE;";
my $LOCKaffected_rows = $dbhA->do($stmtA); my $LOCKaffected_rows = $dbhA->do($stmtA);
@@ -1316,7 +1349,7 @@ if ( ($agent_search_method =~ /^SO|^LO/) && ($skipLOSO < 1) )
$sthArows=$sthA->rows; $sthArows=$sthA->rows;
$dbhP=$dbhA; $mysql_count='02038'; $MEL_aff_rows=$sthArows; &mysql_error_logging; $dbhP=$dbhA; $mysql_count='02038'; $MEL_aff_rows=$sthArows; &mysql_error_logging;
if ($sthArows > 0) if ($sthArows > 0)
{ {
@aryA = $sthA->fetchrow_array; @aryA = $sthA->fetchrow_array;
$VDADconf_exten = "$aryA[0]"; $VDADconf_exten = "$aryA[0]";
@@ -1325,18 +1358,34 @@ if ( ($agent_search_method =~ /^SO|^LO/) && ($skipLOSO < 1) )
} }
$sthA->finish(); $sthA->finish();
if ($AGENTgrab > 0)
{
$stmtA = "SELECT conf_exten,extension from vicidial_live_agents WHERE user='$AGENTuser';";
if ($AGILOG) {$agi_string = "|$stmtA|"; &agi_output;}
$sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr;
$sthA->execute or die "executing: $stmtA ", $dbhA->errstr;
$sthArows=$sthA->rows;
$dbhP=$dbhA; $mysql_count='02111'; $MEL_aff_rows=$sthArows; &mysql_error_logging;
if ($sthArows > 0) if ($sthArows > 0)
{
@aryA = $sthA->fetchrow_array;
$VDADconf_exten = "$aryA[0]";
$VDADextension = "$aryA[1]";
$VDADuser = $AGENTuser;
}
$sthA->finish();
}
if ($sthArows > 0)
{ {
$stmtA = "UPDATE vicidial_live_agents set status='QUEUE',lead_id='$insert_lead_id',uniqueid='$unique_id', channel='$channel', callerid='$callerid',comments='INBOUND' where user='$VDADuser';"; $stmtA = "UPDATE vicidial_live_agents set status='QUEUE',lead_id='$insert_lead_id',uniqueid='$unique_id', channel='$channel', callerid='$callerid',comments='INBOUND' where user='$VDADuser';";
$Faffected_rows = $dbhA->do($stmtA); $Faffected_rows = $dbhA->do($stmtA);
$dbhP=$dbhA; $mysql_count='02039'; $MEL_aff_rows=$Faffected_rows; &mysql_error_logging; $dbhP=$dbhA; $mysql_count='02039'; $MEL_aff_rows=$Faffected_rows; &mysql_error_logging;
$found_agents=$Faffected_rows; $found_agents=$Faffected_rows;
} }
else else
{ {
$Faffected_rows=0; $Faffected_rows=0;
} }
$stmtA = "UNLOCK TABLES;"; $stmtA = "UNLOCK TABLES;";
$LOCKaffected_rows = $dbhA->do($stmtA); $LOCKaffected_rows = $dbhA->do($stmtA);
$dbhP=$dbhA; $mysql_count='02040'; $MEL_aff_rows=$LOCKaffected_rows; &mysql_error_logging; $dbhP=$dbhA; $mysql_count='02040'; $MEL_aff_rows=$LOCKaffected_rows; &mysql_error_logging;
@@ -1574,7 +1623,7 @@ if ($agent_search_method =~ /^LO|^LB/)
} }
$sthA->finish(); $sthA->finish();
if ($rec_countWAITrem < 1) if ( ($rec_countWAITrem < 1) || ($AGENTgrab > 0) )
{ {
$qp_countWAIT=0; $qp_countWAIT=0;
### Get count of number of waiting calls in higher priority groups than this call or the same priority with longer wait time ### Get count of number of waiting calls in higher priority groups than this call or the same priority with longer wait time
@@ -1596,7 +1645,7 @@ if ($agent_search_method =~ /^LO|^LB/)
$qp_groupWAIT_aco=''; $qp_groupWAIT_aco='';
$qp_groupWAIT_aco_SQL=''; $qp_groupWAIT_aco_SQL='';
$qp_groupWAIT_camp_SQL=''; $qp_groupWAIT_camp_SQL='';
if ($qp_countWAIT > 0) if ( ($qp_countWAIT > 0) && ($AGENTgrab < 1) )
{ {
### Get group/campaign ids of calls in higher priority groups than this call or the same priority with longer wait time ### Get group/campaign ids of calls in higher priority groups than this call or the same priority with longer wait time
$stmtA = "SELECT distinct campaign_id FROM vicidial_auto_calls where status = 'LIVE' and lead_id != '$insert_lead_id' $ADfindSQL and ( (queue_priority > '$queue_priority') or (queue_priority = '$queue_priority' and call_time < \"$SQLdateBEGIN\") );"; $stmtA = "SELECT distinct campaign_id FROM vicidial_auto_calls where status = 'LIVE' and lead_id != '$insert_lead_id' $ADfindSQL and ( (queue_priority > '$queue_priority') or (queue_priority = '$queue_priority' and call_time < \"$SQLdateBEGIN\") );";
@@ -1629,7 +1678,7 @@ if ($agent_search_method =~ /^LO|^LB/)
$sthA->finish(); $sthA->finish();
} }
if ($aco_sub>0) if ( ($aco_sub>0) || ($AGENTgrab > 0) )
{ {
$stmtA = "LOCK TABLES vicidial_live_agents WRITE, vicidial_live_inbound_agents WRITE;"; $stmtA = "LOCK TABLES vicidial_live_agents WRITE, vicidial_live_inbound_agents WRITE;";
my $LOCKaffected_rows = $dbhA->do($stmtA); my $LOCKaffected_rows = $dbhA->do($stmtA);
@@ -1642,7 +1691,7 @@ if ($agent_search_method =~ /^LO|^LB/)
$rec_countCUSTDATA=0; $rec_countCUSTDATA=0;
$dbhP=$dbhA; $mysql_count='02058'; $MEL_aff_rows=$sthArows; &mysql_error_logging; $dbhP=$dbhA; $mysql_count='02058'; $MEL_aff_rows=$sthArows; &mysql_error_logging;
if ($sthArows > 0) if ($sthArows > 0)
{ {
@aryA = $sthA->fetchrow_array; @aryA = $sthA->fetchrow_array;
@@ -1652,16 +1701,33 @@ if ($agent_search_method =~ /^LO|^LB/)
$VDADserver_ip = "$aryA[3]"; $VDADserver_ip = "$aryA[3]";
} }
$sthA->finish(); $sthA->finish();
if ($AGILOG) {$agi_string = "$VDADuser|$stmtA|"; &agi_output;} if ($AGILOG) {$agi_string = "$VDADuser|$stmtA|"; &agi_output;}
if ($AGENTgrab > 0)
{
$stmtA = "SELECT conf_exten,extension from vicidial_live_agents WHERE user='$AGENTuser';";
if ($AGILOG) {$agi_string = "|$stmtA|"; &agi_output;}
$sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr;
$sthA->execute or die "executing: $stmtA ", $dbhA->errstr;
$sthArows=$sthA->rows;
$dbhP=$dbhA; $mysql_count='02112'; $MEL_aff_rows=$sthArows; &mysql_error_logging;
if ($sthArows > 0) if ($sthArows > 0)
{
@aryA = $sthA->fetchrow_array;
$VDADconf_exten = "$aryA[0]";
$VDADextension = "$aryA[1]";
$VDADuser = $AGENTuser;
}
$sthA->finish();
}
if ($sthArows > 0)
{ {
$stmtA = "UPDATE vicidial_live_agents set status='QUEUE',lead_id='$insert_lead_id',uniqueid='$unique_id', channel='$channel', callerid='$callerid', call_server_ip='$VARserver_ip',comments='INBOUND' where user='$VDADuser';"; $stmtA = "UPDATE vicidial_live_agents set status='QUEUE',lead_id='$insert_lead_id',uniqueid='$unique_id', channel='$channel', callerid='$callerid', call_server_ip='$VARserver_ip',comments='INBOUND' where user='$VDADuser';";
$Faffected_rows = $dbhA->do($stmtA); $Faffected_rows = $dbhA->do($stmtA);
$dbhP=$dbhA; $mysql_count='02059'; $MEL_aff_rows=$Faffected_rows; &mysql_error_logging; $dbhP=$dbhA; $mysql_count='02059'; $MEL_aff_rows=$Faffected_rows; &mysql_error_logging;
$found_agents=$Faffected_rows; $found_agents=$Faffected_rows;
} }
else else
{ {
$Faffected_rows=0; $Faffected_rows=0;
} }
+3 -4
View File
@@ -29,6 +29,7 @@
# 90621-1425 - Added tracking group for call menus # 90621-1425 - Added tracking group for call menus
# 90622-2146 - Added 83047777777777 for dynamic agent alert extension # 90622-2146 - Added 83047777777777 for dynamic agent alert extension
# 90630-2259 - Added vicidial_process_triggers functionality # 90630-2259 - Added vicidial_process_triggers functionality
# 90713-0140 - Changed direct dial phone extensions to failover to voicemail forwarder
# #
$DB=0; # Debug flag $DB=0; # Debug flag
@@ -884,8 +885,7 @@ if ( ($active_asterisk_server =~ /Y/) && ($generate_vicidial_conf =~ /Y/) && ($r
$Piax .= "host=dynamic\n"; $Piax .= "host=dynamic\n";
} }
$Pext .= "exten => $dialplan[$i],1,Dial(IAX2/$extension[$i]|$phone_ring_timeout[$i]|)\n"; $Pext .= "exten => $dialplan[$i],1,Dial(IAX2/$extension[$i]|$phone_ring_timeout[$i]|)\n";
$Pext .= "exten => $dialplan[$i],2,Voicemail($voicemail[$i]|u)\n"; $Pext .= "exten => $dialplan[$i],2,Goto(default,85026666666666$voicemail[$i],1)\n";
$Pext .= "exten => $dialplan[$i],3,Hangup\n";
$vm .= "$voicemail[$i] => $voicemail[$i],$extension[$i] Mailbox,$email[$i]\n"; $vm .= "$voicemail[$i] => $voicemail[$i],$extension[$i] Mailbox,$email[$i]\n";
@@ -966,8 +966,7 @@ if ( ($active_asterisk_server =~ /Y/) && ($generate_vicidial_conf =~ /Y/) && ($r
$Psip .= "host=dynamic\n"; $Psip .= "host=dynamic\n";
} }
$Pext .= "exten => $dialplan[$i],1,Dial(SIP/$extension[$i]|$phone_ring_timeout[$i]|)\n"; $Pext .= "exten => $dialplan[$i],1,Dial(SIP/$extension[$i]|$phone_ring_timeout[$i]|)\n";
$Pext .= "exten => $dialplan[$i],2,Voicemail($voicemail[$i]|u)\n"; $Pext .= "exten => $dialplan[$i],2,Goto(default,85026666666666$voicemail[$i],1)\n";
$Pext .= "exten => $dialplan[$i],3,Hangup\n";
$vm .= "$voicemail[$i] => $voicemail[$i],$extension[$i] Mailbox,$email[$i]\n"; $vm .= "$voicemail[$i] => $voicemail[$i],$extension[$i] Mailbox,$email[$i]\n";
@@ -368,6 +368,7 @@ last_update_time TIMESTAMP,
alt_dial VARCHAR(6) default 'NONE', alt_dial VARCHAR(6) default 'NONE',
queue_priority TINYINT(2) default '0', queue_priority TINYINT(2) default '0',
agent_only VARCHAR(20) default '', agent_only VARCHAR(20) default '',
agent_grab VARCHAR(20) default '',
index (uniqueid), index (uniqueid),
index (callerid), index (callerid),
index (call_time), index (call_time),
@@ -656,7 +657,12 @@ survey_fourth_exten VARCHAR(20) default '8300',
drop_lockout_time VARCHAR(6) default '0', drop_lockout_time VARCHAR(6) default '0',
quick_transfer_button ENUM('N','IN_GROUP','PRESET_1','PRESET_2') default 'N', quick_transfer_button ENUM('N','IN_GROUP','PRESET_1','PRESET_2') default 'N',
prepopulate_transfer_preset ENUM('N','PRESET_1','PRESET_2') default 'N', prepopulate_transfer_preset ENUM('N','PRESET_1','PRESET_2') default 'N',
drop_rate_group VARCHAR(20) default 'DISABLED' drop_rate_group VARCHAR(20) default 'DISABLED',
view_calls_in_queue ENUM('NONE','ALL','1','2','3','4','5') default 'NONE',
view_calls_in_queue_launch ENUM('AUTO','MANUAL') default 'MANUAL',
grab_calls_in_queue ENUM('Y','N') default 'N',
call_requeue_button ENUM('Y','N') default 'N',
pause_after_each_call ENUM('Y','N') default 'N'
); );
CREATE TABLE vicidial_lists ( CREATE TABLE vicidial_lists (
@@ -1721,7 +1727,7 @@ CREATE INDEX phone_number on vicidial_closer_log (phone_number);
CREATE INDEX date_user on vicidial_closer_log (call_date,user); CREATE INDEX date_user on vicidial_closer_log (call_date,user);
CREATE INDEX comment_a on live_inbound_log (comment_a); CREATE INDEX comment_a on live_inbound_log (comment_a);
UPDATE system_settings SET db_schema_version='1161'; UPDATE system_settings SET db_schema_version='1162';
GRANT RELOAD ON *.* TO cron@'%'; GRANT RELOAD ON *.* TO cron@'%';
GRANT RELOAD ON *.* TO cron@localhost; GRANT RELOAD ON *.* TO cron@localhost;
@@ -351,3 +351,4 @@ INSERT INTO vicidial_statuses values('SVYVM','Survey sent to Voicemail','N','N',
INSERT INTO vicidial_statuses values('SVYHU','Survey Hungup','N','N','UNDEFINED','N','N','N','N','N'); INSERT INTO vicidial_statuses values('SVYHU','Survey Hungup','N','N','UNDEFINED','N','N','N','N','N');
INSERT INTO vicidial_statuses values('SVYREC','Survey sent to Record','N','N','UNDEFINED','N','N','N','N','N'); INSERT INTO vicidial_statuses values('SVYREC','Survey sent to Record','N','N','UNDEFINED','N','N','N','N','N');
INSERT INTO vicidial_statuses values('QVMAIL','Queue Abandon Voicemail Left','N','N','UNDEFINED','N','N','N','N','N'); INSERT INTO vicidial_statuses values('QVMAIL','Queue Abandon Voicemail Left','N','N','UNDEFINED','N','N','N','N','N');
INSERT INTO vicidial_statuses values('RQXFER','Re-Queue','N','Y','UNDEFINED','N','N','N','N','N');
+10
View File
@@ -291,3 +291,13 @@ ALTER TABLE vicidial_user_groups ADD agent_status_viewable_groups TEXT;
ALTER TABLE vicidial_user_groups ADD agent_status_view_time ENUM('Y','N') default 'N'; ALTER TABLE vicidial_user_groups ADD agent_status_view_time ENUM('Y','N') default 'N';
UPDATE system_settings SET db_schema_version='1161'; UPDATE system_settings SET db_schema_version='1161';
ALTER TABLE vicidial_campaigns ADD view_calls_in_queue ENUM('NONE','ALL','1','2','3','4','5') default 'NONE';
ALTER TABLE vicidial_campaigns ADD view_calls_in_queue_launch ENUM('AUTO','MANUAL') default 'MANUAL';
ALTER TABLE vicidial_campaigns ADD grab_calls_in_queue ENUM('Y','N') default 'N';
ALTER TABLE vicidial_campaigns ADD call_requeue_button ENUM('Y','N') default 'N';
ALTER TABLE vicidial_campaigns ADD pause_after_each_call ENUM('Y','N') default 'N';
ALTER TABLE vicidial_auto_calls ADD agent_grab VARCHAR(20) default '';
UPDATE system_settings SET db_schema_version='1162';
@@ -228,6 +228,16 @@ This is a selectable list of User Groups and user functions to which members of
Agent Status View Time|| Agent Status View Time||
This option defines whether the agent will see the amount of time that users in their agent sidebar have been in their current status. Default is N for no or disabled|| This option defines whether the agent will see the amount of time that users in their agent sidebar have been in their current status. Default is N for no or disabled||
This option allows an agent to disposition a call as CALLBK and choose the date and time at which the lead will be re-activated|| This option allows an agent to disposition a call as CALLBK and choose the date and time at which the lead will be re-activated||
Agent View Calls in Queue||
If set to anything but NONE, agents will be able to see details about the calls that are waiting in queue in their agent screen. If set to a number value, the calls displayed will be limited to the number selected. Default is NONE||
View Calls in Queue Launch||
This setting if set to AUTO will have the Calls in Queue frame show up upon login by the agent into the agent screen. Default is MANUAL||
Agent Grab Calls in Queue||
This option if set to Y will allow the agent to select the call that they want to take from the Calls in Queue display by clicking on it while paused. Agents will only be able to grab inbound calls or transferred calls, not outbound calls. Default is N||
Agent Call Re-Queue Button||
This option if set to Y will add a Re-Queue Customer button to the agent screen, allowing the agent to send the call into an AGENTDIRECT queue that is reserved for the agent only. Default is N||
Agent Pause After Each Call||
This option if set to Y will pause the agent after every call automatically. Default is N||
add-file: user_territories.php add-file: user_territories.php
@@ -241,6 +251,11 @@ You are not allowed to dial into other agent sessions||
QUICK TRANSFER|| QUICK TRANSFER||
Other Agents Status|| Other Agents Status||
Available Agents Transfer|| Available Agents Transfer||
Show Calls In Queue||
Calls In Queue||
Hide Calls In Queue||
Calls in Queue View Disabled for this campaign||
YOU MUST BE PAUSED TO GRAB CALLS IN QUEUE||
############################################################ MANAGER Manual ############################################################ MANAGER Manual
Binary file not shown.

After

Width:  |  Height:  |  Size: 683 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 920 B

+256 -22
View File
@@ -13,7 +13,7 @@
# - $pass # - $pass
# optional variables: # optional variables:
# - $format - ('text','debug') # - $format - ('text','debug')
# - $ACTION - ('regCLOSER','manDiaLnextCALL','manDiaLskip','manDiaLonly','manDiaLlookCALL','manDiaLlogCALL','userLOGout','updateDISPO','VDADpause','VDADready','VDADcheckINCOMING','UpdatEFavoritEs','CalLBacKLisT','CalLBacKCounT','PauseCodeSubmit','LogiNCamPaigns','alt_phone_change','AlertControl','AGENTSview') # - $ACTION - ('regCLOSER','manDiaLnextCALL','manDiaLskip','manDiaLonly','manDiaLlookCALL','manDiaLlogCALL','userLOGout','updateDISPO','VDADpause','VDADready','VDADcheckINCOMING','UpdatEFavoritEs','CalLBacKLisT','CalLBacKCounT','PauseCodeSubmit','LogiNCamPaigns','alt_phone_change','AlertControl','AGENTSview','CALLSINQUEUEview','CALLSINQUEUEgrab')
# - $stage - ('start','finish','lookup','new') # - $stage - ('start','finish','lookup','new')
# - $closer_choice - ('CL_TESTCAMP_L CL_OUT123_L -') # - $closer_choice - ('CL_TESTCAMP_L CL_OUT123_L -')
# - $conf_exten - ('8600011',...) # - $conf_exten - ('8600011',...)
@@ -203,12 +203,13 @@
# 90611-1423 - Fixed agent log and vicidial log bugs # 90611-1423 - Fixed agent log and vicidial log bugs
# 90705-2008 - Added AGENTSview function # 90705-2008 - Added AGENTSview function
# 90706-1431 - Added Agent view transfer selection # 90706-1431 - Added Agent view transfer selection
# 90712-2303 - Added view calls in queue, grab call from queue
# #
$version = '2.2.0-114'; $version = '2.2.0-115';
$build = '90706-1431'; $build = '90712-2303';
$mel=1; # Mysql Error Log enabled = 1 $mel=1; # Mysql Error Log enabled = 1
$mysql_log_count=227; $mysql_log_count=234;
$one_mysql_log=0; $one_mysql_log=0;
require("dbconnect.php"); require("dbconnect.php");
@@ -4251,21 +4252,24 @@ if ( ($ACTION == 'VDADpause') || ($ACTION == 'VDADready') )
$retry_count++; $retry_count++;
} }
$stmt="UPDATE vicidial_live_agents set status='$stage' where user='$user' and server_ip='$server_ip';"; if ($comments != 'NO_STATUS_CHANGE')
if ($format=='debug') {echo "\n<!-- $stmt -->";} {
$rslt=mysql_query($stmt, $link); $stmt="UPDATE vicidial_live_agents set status='$stage' where user='$user' and server_ip='$server_ip';";
if ($mel > 0) {$errno = mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00166',$user,$server_ip,$session_name,$one_mysql_log);} if ($format=='debug') {echo "\n<!-- $stmt -->";}
$retry_count=0; $rslt=mysql_query($stmt, $link);
while ( ($errno > 0) and ($retry_count < 9) ) if ($mel > 0) {$errno = mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00166',$user,$server_ip,$session_name,$one_mysql_log);}
{ $retry_count=0;
$rslt=mysql_query($stmt, $link); while ( ($errno > 0) and ($retry_count < 9) )
$one_mysql_log=1; {
$errno = mysql_error_logging($NOW_TIME,$link,$mel,$stmt,"9166$retry_count",$user,$server_ip,$session_name,$one_mysql_log); $rslt=mysql_query($stmt, $link);
$one_mysql_log=0; $one_mysql_log=1;
$retry_count++; $errno = mysql_error_logging($NOW_TIME,$link,$mel,$stmt,"9166$retry_count",$user,$server_ip,$session_name,$one_mysql_log);
} $one_mysql_log=0;
$affected_rows = mysql_affected_rows($link); $retry_count++;
if ($affected_rows > 0) }
$affected_rows = mysql_affected_rows($link);
}
if ( ($affected_rows > 0) or ($comments == 'NO_STATUS_CHANGE') )
{ {
############################################# #############################################
##### START QUEUEMETRICS LOGGING LOOKUP ##### ##### START QUEUEMETRICS LOGGING LOOKUP #####
@@ -4552,11 +4556,10 @@ if ($ACTION == 'AGENTSview')
if (ereg("CAMPAIGN-AGENTS",$agent_status_viewable_groups)) if (ereg("CAMPAIGN-AGENTS",$agent_status_viewable_groups))
{$AGENTviewSQL = "($AGENTviewSQL or (campaign_id='$campaign'))";} {$AGENTviewSQL = "($AGENTviewSQL or (campaign_id='$campaign'))";}
$andSQL=' and';
$AGENTviewSQL = "and $AGENTviewSQL"; $AGENTviewSQL = "and $AGENTviewSQL";
} }
if ($comments=='AgentXferViewSelect') if ($comments=='AgentXferViewSelect')
{$AGENTviewSQL .= "$andSQL (vla.closer_campaigns LIKE \"%AGENTDIRECT%\")";} {$AGENTviewSQL .= " and (vla.closer_campaigns LIKE \"%AGENTDIRECT%\")";}
echo "<TABLE CELLPADDING=0 CELLSPACING=1>"; echo "<TABLE CELLPADDING=0 CELLSPACING=1>";
@@ -4566,7 +4569,7 @@ if ($ACTION == 'AGENTSview')
if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00227',$VD_login,$server_ip,$session_name,$one_mysql_log);} if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00227',$VD_login,$server_ip,$session_name,$one_mysql_log);}
if ($rslt) {$agents_count = mysql_num_rows($rslt);} if ($rslt) {$agents_count = mysql_num_rows($rslt);}
$loop_count=0; $loop_count=0;
while ($agents_count > $loop_count) while ($agents_count > $loop_count)
{ {
$row=mysql_fetch_row($rslt); $row=mysql_fetch_row($rslt);
$user = $row[0]; $user = $row[0];
@@ -4635,6 +4638,237 @@ if ($ACTION == 'AGENTSview')
} }
################################################################################
### CALLSINQUEUEview - List calls in queue for the bottombar 228
################################################################################
if ($ACTION == 'CALLSINQUEUEview')
{
$stmt="SELECT view_calls_in_queue,grab_calls_in_queue from vicidial_campaigns where campaign_id='$campaign'";
if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");}
$rslt=mysql_query($stmt, $link);
if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00228',$user,$server_ip,$session_name,$one_mysql_log);}
$row=mysql_fetch_row($rslt);
$view_calls_in_queue = $row[0];
$grab_calls_in_queue = $row[1];
if (eregi('NONE',$view_calls_in_queue))
{
echo "Calls in Queue View Disabled for this campaign\n";
exit;
}
else
{
$view_calls_in_queue = ereg_replace('ALL','99', $view_calls_in_queue);
### grab the status and campaign/in-group information for this agent to display
$ADsql='';
$stmt="SELECT status,campaign_id,closer_campaigns from vicidial_live_agents where user='$user' and server_ip='$server_ip';";
if ($DB) {echo "|$stmt|\n";}
$rslt=mysql_query($stmt, $link);
if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00229',$user,$server_ip,$session_name,$one_mysql_log);}
$row=mysql_fetch_row($rslt);
$Alogin=$row[0];
$Acampaign=$row[1];
$AccampSQL=$row[2];
$AccampSQL = ereg_replace(' -','', $AccampSQL);
$AccampSQL = ereg_replace(' ',"','", $AccampSQL);
if (eregi('AGENTDIRECT', $AccampSQL))
{
$AccampSQL = ereg_replace('AGENTDIRECT','', $AccampSQL);
$ADsql = "or ( (campaign_id LIKE \"%AGENTDIRECT%\") and (agent_only='$user') )";
}
### grab the basic data on calls in the queue for this agent
$stmt="SELECT lead_id,campaign_id,phone_number,uniqueid,UNIX_TIMESTAMP(call_time),call_type,auto_call_id from vicidial_auto_calls where status IN('LIVE') and ( (campaign_id='$Acampaign') or (campaign_id IN('$AccampSQL')) $ADsql) order by queue_priority,call_time;";
if ($DB) {echo "|$stmt|\n";}
$rslt=mysql_query($stmt, $link);
if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00230',$user,$server_ip,$session_name,$one_mysql_log);}
if ($rslt) {$calls_count = mysql_num_rows($rslt);}
$loop_count=0;
while ($calls_count > $loop_count)
{
$row=mysql_fetch_row($rslt);
$CQlead_id[$loop_count] = $row[0];
$CQcampaign_id[$loop_count] = $row[1];
$CQphone_number[$loop_count] = $row[2];
$CQuniqueid[$loop_count] = $row[3];
$CQcall_time[$loop_count] = $row[4];
$CQcall_type[$loop_count] = $row[5];
$CQauto_call_id[$loop_count] = $row[6];
$loop_count++;
}
### re-order the calls to always make sure the AGENTDIRECT calls are first
$loop_count=0;
$o=0;
while ($calls_count > $loop_count)
{
if (eregi('AGENTDIRECT', $CQcampaign_id[$loop_count]))
{
$OQlead_id[$o] = $CQlead_id[$loop_count];
$OQcampaign_id[$o] = $CQcampaign_id[$loop_count];
$OQphone_number[$o] = $CQphone_number[$loop_count];
$OQuniqueid[$o] = $CQuniqueid[$loop_count];
$OQcall_time[$o] = $CQcall_time[$loop_count];
$OQcall_type[$o] = $CQcall_type[$loop_count];
$OQauto_call_id[$o] = $CQauto_call_id[$loop_count];
$o++;
}
$loop_count++;
}
$loop_count=0;
while ($calls_count > $loop_count)
{
if (!eregi('AGENTDIRECT', $CQcampaign_id[$loop_count]))
{
$OQlead_id[$o] = $CQlead_id[$loop_count];
$OQcampaign_id[$o] = $CQcampaign_id[$loop_count];
$OQphone_number[$o] = $CQphone_number[$loop_count];
$OQuniqueid[$o] = $CQuniqueid[$loop_count];
$OQcall_time[$o] = $CQcall_time[$loop_count];
$OQcall_type[$o] = $CQcall_type[$loop_count];
$OQauto_call_id[$o] = $CQauto_call_id[$loop_count];
$o++;
}
$loop_count++;
}
echo "<TABLE CELLPADDING=0 CELLSPACING=1 BORDER=0 WIDTH=$stage>";
echo "<TR>";
echo "<TD> &nbsp; </TD>";
echo "<TD BGCOLOR=\"#CCCCCC\"><font style=\"font-size:11px;font-family:sans-serif;\"><B> &nbsp; PHONE &nbsp; </font></TD>";
echo "<TD BGCOLOR=\"#CCCCCC\"><font style=\"font-size:11px;font-family:sans-serif;\"><B> &nbsp; NAME &nbsp; </font></TD>";
echo "<TD BGCOLOR=\"#CCCCCC\"><font style=\"font-size:11px;font-family:sans-serif;\"><B> &nbsp; WAIT &nbsp; </font></TD>";
echo "<TD BGCOLOR=\"#CCCCCC\"><font style=\"font-size:11px;font-family:sans-serif;\"><B> &nbsp; AGENT &nbsp; </font></TD>";
echo "<TD BGCOLOR=\"#CCCCCC\"><font style=\"font-size:11px;font-family:sans-serif;\"> &nbsp; &nbsp; &nbsp; </font></TD>";
echo "<TD BGCOLOR=\"#CCCCCC\"><font style=\"font-size:11px;font-family:sans-serif;\"><B> &nbsp; CALL GROUP &nbsp; </font></TD>";
echo "<TD BGCOLOR=\"#CCCCCC\"><font style=\"font-size:11px;font-family:sans-serif;\"><B> &nbsp; TYPE &nbsp; </font></TD>";
echo "</TR>";
### Print call information and gather more info on the calls as they are printed
$loop_count=0;
while ( ($calls_count > $loop_count) and ($view_calls_in_queue > $loop_count) )
{
$call_time = ($StarTtime - $OQcall_time[$loop_count]);
$Fminutes_M = ($call_time / 60);
$Fminutes_M_int = floor($Fminutes_M);
$Fminutes_M_int = intval("$Fminutes_M_int");
$Fminutes_S = ($Fminutes_M - $Fminutes_M_int);
$Fminutes_S = ($Fminutes_S * 60);
$Fminutes_S = round($Fminutes_S, 0);
if ($Fminutes_S < 10) {$Fminutes_S = "0$Fminutes_S";}
$call_time = "$Fminutes_M_int:$Fminutes_S";
$call_handle_method='';
if ($OQcall_type[$loop_count]=='IN')
{
$stmt="SELECT group_name,group_color from vicidial_inbound_groups where group_id='$OQcampaign_id[$loop_count]';";
$rslt=mysql_query($stmt, $link);
if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00231',$user,$server_ip,$session_name,$one_mysql_log);}
$row=mysql_fetch_row($rslt);
$group_name = $row[0];
$group_color = $row[1];
}
$stmt="SELECT comments,user,first_name,last_name from vicidial_list where lead_id='$OQlead_id[$loop_count]'";
$rslt=mysql_query($stmt, $link);
if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00232',$user,$server_ip,$session_name,$one_mysql_log);}
$row=mysql_fetch_row($rslt);
$comments = $row[0];
$agent = $row[1];
$first_last_name = "$row[2] $row[3]";
$caller_name = $first_last_name;
$stmt="SELECT full_name from vicidial_users where user='$agent'";
$rslt=mysql_query($stmt, $link);
if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00232',$user,$server_ip,$session_name,$one_mysql_log);}
if ($rslt) {$agent_name_count = mysql_num_rows($rslt);}
if ($agent_name_count > 0)
{
$row=mysql_fetch_row($rslt);
$agent_name = $row[0];
}
else
{$agent_name='';}
if (strlen($caller_name)<2)
{$caller_name = $comments;}
if (strlen($caller_name) > 30) {$caller_name = substr("$caller_name", 0, 30);}
if (eregi("0$|2$|4$|6$|8$", $loop_count)) {$Qcolor='bgcolor="#FCFCFC"';}
else{$Qcolor='bgcolor="#ECECEC"';}
if ( (eregi('Y',$grab_calls_in_queue)) and ($OQcall_type[$loop_count]=='IN') )
{
echo "<TR $Qcolor>";
echo "<TD> <a href=\"#\" onclick=\"callinqueuegrab('$OQauto_call_id[$loop_count]');return false;\"><font style=\"font-size: 11px; font-family: sans-serif;\">TAKE CALL</a> &nbsp; </TD>";
echo "<TD><font style=\"font-size: 11px; font-family: sans-serif;\"> &nbsp; $OQphone_number[$loop_count] &nbsp; </font></TD>";
echo "<TD><font style=\"font-size: 11px; font-family: sans-serif;\"> &nbsp; $caller_name &nbsp; </font></TD>";
echo "<TD><font style=\"font-size: 11px; font-family: sans-serif;\"> &nbsp; $call_time &nbsp; </font></TD>";
echo "<TD><font style=\"font-size: 11px; font-family: sans-serif;\"> &nbsp; $agent - $agent_name &nbsp; </font></TD>";
echo "<TD bgcolor=\"$group_color\"><font style=\"font-size: 11px; font-family: sans-serif;\"> &nbsp; &nbsp; &nbsp; </font></TD>";
echo "<TD><font style=\"font-size: 11px; font-family: sans-serif;\"> &nbsp; $OQcampaign_id[$loop_count] - $group_name &nbsp; </font></TD>";
echo "<TD><font style=\"font-size: 11px; font-family: sans-serif;\"> &nbsp; $OQcall_type[$loop_count] &nbsp; </font></TD>";
echo "</TR>";
}
else
{
echo "<TR $Qcolor>";
echo "<TD> &nbsp; </TD>";
echo "<TD><font style=\"font-size: 11px; font-family: sans-serif;\"> &nbsp; $OQphone_number[$loop_count] &nbsp; </font></TD>";
echo "<TD><font style=\"font-size: 11px; font-family: sans-serif;\"> &nbsp; $caller_name &nbsp; </font></TD>";
echo "<TD><font style=\"font-size: 11px; font-family: sans-serif;\"> &nbsp; $call_time &nbsp; </font></TD>";
echo "<TD><font style=\"font-size: 11px; font-family: sans-serif;\"> &nbsp; $agent - $agent_name &nbsp; </font></TD>";
echo "<TD bgcolor=\"$group_color\"><font style=\"font-size: 11px; font-family: sans-serif;\"> &nbsp; &nbsp; &nbsp; </font></TD>";
echo "<TD><font style=\"font-size: 11px; font-family: sans-serif;\"> &nbsp; $OQcampaign_id[$loop_count] - $group_name &nbsp; </font></TD>";
echo "<TD><font style=\"font-size: 11px; font-family: sans-serif;\"> &nbsp; $OQcall_type[$loop_count] &nbsp; </font></TD>";
echo "</TR>";
}
$loop_count++;
}
echo "</TABLE><BR> &nbsp;\n";
}
}
################################################################################
### CALLSINQUEUEgrab - grab a call in queue and reserve it for that agent
################################################################################
if ($ACTION == 'CALLSINQUEUEgrab')
{
$stmt="SELECT view_calls_in_queue,grab_calls_in_queue from vicidial_campaigns where campaign_id='$campaign'";
if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");}
$rslt=mysql_query($stmt, $link);
if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00233',$user,$server_ip,$session_name,$one_mysql_log);}
$row=mysql_fetch_row($rslt);
$view_calls_in_queue = $row[0];
$grab_calls_in_queue = $row[1];
if ( (eregi('NONE',$view_calls_in_queue)) or (eregi('N',$grab_calls_in_queue)) )
{
echo "ERROR: Calls in Queue View Disabled for this campaign\n";
exit;
}
else
{
$stmt="UPDATE vicidial_auto_calls set agent_grab=\"$user\" where auto_call_id='$stage' and agent_grab='' and status='LIVE';";
if ($format=='debug') {echo "\n<!-- $stmt -->";}
$rslt=mysql_query($stmt, $link);
if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00234',$user,$server_ip,$session_name,$one_mysql_log);}
$affected_rows = mysql_affected_rows($link);
if ($affected_rows > 0)
{
echo "SUCCESS: Call $stage grabbed for $user";
exit;
}
else
{
echo "ERROR: Call $stage could not be grabbed for $user\n";
exit;
}
}
}
################################################################################ ################################################################################
### CalLBacKLisT - List the USERONLY callbacks for an agent ### CalLBacKLisT - List the USERONLY callbacks for an agent
################################################################################ ################################################################################
+286 -21
View File
@@ -237,10 +237,11 @@
# 90705-1400 - Added Agent view sidebar option # 90705-1400 - Added Agent view sidebar option
# 90706-1432 - Added Agent view transfer selection # 90706-1432 - Added Agent view transfer selection
# 90709-1649 - Fixed alt-number transfers and dispo variable reset for webform # 90709-1649 - Fixed alt-number transfers and dispo variable reset for webform
# 90712-2304 - Added ADD-ALL group selection, view calls in queue, grab call from queue, requeue button
# #
$version = '2.2.0-215'; $version = '2.2.0-216';
$build = '90709-1649'; $build = '90712-2304';
$mel=1; # Mysql Error Log enabled = 1 $mel=1; # Mysql Error Log enabled = 1
$mysql_log_count=61; $mysql_log_count=61;
$one_mysql_log=0; $one_mysql_log=0;
@@ -399,14 +400,17 @@ $SBwidth = ($MASTERwidth + 331); # 761 - SideBar starting point
$MNwidth = ($MASTERwidth + 330); # 760 - main frame $MNwidth = ($MASTERwidth + 330); # 760 - main frame
$XFwidth = ($MASTERwidth + 320); # 750 - transfer/conference $XFwidth = ($MASTERwidth + 320); # 750 - transfer/conference
$HCwidth = ($MASTERwidth + 310); # 740 - hotkeys and callbacks $HCwidth = ($MASTERwidth + 310); # 740 - hotkeys and callbacks
$CQwidth = ($MASTERwidth + 300); # 730 - calls in queue listings
$AMwidth = ($MASTERwidth + 270); # 700 - agent mute and preset-dial links $AMwidth = ($MASTERwidth + 270); # 700 - agent mute and preset-dial links
$SCwidth = ($MASTERwidth + 230); # 670 - live call seconds counter, sidebar link $SCwidth = ($MASTERwidth + 230); # 670 - live call seconds counter, sidebar link
$SSwidth = ($MASTERwidth + 176); # 606 - scroll script $SSwidth = ($MASTERwidth + 176); # 606 - scroll script
$SDwidth = ($MASTERwidth + 170); # 600 - scroll script, customer data and calls-in-session $SDwidth = ($MASTERwidth + 170); # 600 - scroll script, customer data and calls-in-session
$HKwidth = ($MASTERwidth + 70); # 500 - Hotkeys button $HKwidth = ($MASTERwidth + 70); # 500 - Hotkeys button
$HSwidth = ($MASTERwidth + 1); # 431 - Header spacer $HSwidth = ($MASTERwidth + 1); # 431 - Header spacer
$CLwidth = ($MASTERwidth - 60); # 370 - Calls in queue link
$SLheight = ($MASTERheight + 125); # 425 - SideBar link $CQheight = ($MASTERheight + 140); # 440 - Calls in queue section
$SLheight = ($MASTERheight + 122); # 422 - SideBar link, Calls in queue link
$HKheight = ($MASTERheight + 105); # 405 - HotKey active Button $HKheight = ($MASTERheight + 105); # 405 - HotKey active Button
$AMheight = ($MASTERheight + 100); # 400 - Agent mute and preset dial links $AMheight = ($MASTERheight + 100); # 400 - Agent mute and preset dial links
$MBheight = ($MASTERheight + 65); # 365 - Manual Dial Buttons $MBheight = ($MASTERheight + 65); # 365 - Manual Dial Buttons
@@ -1061,7 +1065,7 @@ $VDloginDISPLAY=0;
$HKstatusnames = substr("$HKstatusnames", 0, -1); $HKstatusnames = substr("$HKstatusnames", 0, -1);
##### grab the campaign settings ##### grab the campaign settings
$stmt="SELECT park_ext,park_file_name,web_form_address,allow_closers,auto_dial_level,dial_timeout,dial_prefix,campaign_cid,campaign_vdad_exten,campaign_rec_exten,campaign_recording,campaign_rec_filename,campaign_script,get_call_launch,am_message_exten,xferconf_a_dtmf,xferconf_a_number,xferconf_b_dtmf,xferconf_b_number,alt_number_dialing,scheduled_callbacks,wrapup_seconds,wrapup_message,closer_campaigns,use_internal_dnc,allcalls_delay,omit_phone_code,agent_pause_codes_active,no_hopper_leads_logins,campaign_allow_inbound,manual_dial_list_id,default_xfer_group,xfer_groups,disable_alter_custphone,display_queue_count,manual_dial_filter,agent_clipboard_copy,use_campaign_dnc,three_way_call_cid,dial_method,three_way_dial_prefix,web_form_target,vtiger_screen_login,agent_allow_group_alias,default_group_alias,quick_transfer_button,prepopulate_transfer_preset FROM vicidial_campaigns where campaign_id = '$VD_campaign';"; $stmt="SELECT park_ext,park_file_name,web_form_address,allow_closers,auto_dial_level,dial_timeout,dial_prefix,campaign_cid,campaign_vdad_exten,campaign_rec_exten,campaign_recording,campaign_rec_filename,campaign_script,get_call_launch,am_message_exten,xferconf_a_dtmf,xferconf_a_number,xferconf_b_dtmf,xferconf_b_number,alt_number_dialing,scheduled_callbacks,wrapup_seconds,wrapup_message,closer_campaigns,use_internal_dnc,allcalls_delay,omit_phone_code,agent_pause_codes_active,no_hopper_leads_logins,campaign_allow_inbound,manual_dial_list_id,default_xfer_group,xfer_groups,disable_alter_custphone,display_queue_count,manual_dial_filter,agent_clipboard_copy,use_campaign_dnc,three_way_call_cid,dial_method,three_way_dial_prefix,web_form_target,vtiger_screen_login,agent_allow_group_alias,default_group_alias,quick_transfer_button,prepopulate_transfer_preset,view_calls_in_queue,view_calls_in_queue_launch,call_requeue_button,pause_after_each_call FROM vicidial_campaigns where campaign_id = '$VD_campaign';";
$rslt=mysql_query($stmt, $link); $rslt=mysql_query($stmt, $link);
if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'01013',$VD_login,$server_ip,$session_name,$one_mysql_log);} if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'01013',$VD_login,$server_ip,$session_name,$one_mysql_log);}
if ($DB) {echo "$stmt\n";} if ($DB) {echo "$stmt\n";}
@@ -1113,6 +1117,29 @@ $VDloginDISPLAY=0;
$default_group_alias = $row[44]; $default_group_alias = $row[44];
$quick_transfer_button = $row[45]; $quick_transfer_button = $row[45];
$prepopulate_transfer_preset = $row[46]; $prepopulate_transfer_preset = $row[46];
$view_calls_in_queue = $row[47];
$view_calls_in_queue_launch = $row[48];
$call_requeue_button = $row[49];
$pause_after_each_call = $row[50];
if (preg_match("/Y/",$call_requeue_button))
{$call_requeue_button=1;}
else
{$call_requeue_button=0;}
if (preg_match("/AUTO/",$view_calls_in_queue_launch))
{$view_calls_in_queue_launch=1;}
else
{$view_calls_in_queue_launch=0;}
if (!preg_match("/NONE/",$view_calls_in_queue))
{$view_calls_in_queue=1;}
else
{$view_calls_in_queue=0;}
if (preg_match("/Y/",$pause_after_each_call))
{$dispo_check_all_pause=1;}
$quick_transfer_button_enabled=0; $quick_transfer_button_enabled=0;
if (preg_match("/IN_GROUP|PRESET_1|PRESET_2/",$quick_transfer_button)) if (preg_match("/IN_GROUP|PRESET_1|PRESET_2/",$quick_transfer_button))
@@ -2453,6 +2480,10 @@ if ($enable_fast_refresh < 1) {echo "\tvar refresh_interval = 1000;\n";}
var quick_transfer_button_enabled = '<?php echo $quick_transfer_button_enabled ?>'; var quick_transfer_button_enabled = '<?php echo $quick_transfer_button_enabled ?>';
var prepopulate_transfer_preset = '<?php echo $prepopulate_transfer_preset ?>'; var prepopulate_transfer_preset = '<?php echo $prepopulate_transfer_preset ?>';
var prepopulate_transfer_preset_enabled = '<?php echo $prepopulate_transfer_preset_enabled ?>'; var prepopulate_transfer_preset_enabled = '<?php echo $prepopulate_transfer_preset_enabled ?>';
var view_calls_in_queue = '<?php echo $view_calls_in_queue ?>';
var view_calls_in_queue_launch = '<?php echo $view_calls_in_queue_launch ?>';
var view_calls_in_queue_active = '<?php echo $view_calls_in_queue_launch ?>';
var call_requeue_button = '<?php echo $call_requeue_button ?>';
var no_empty_session_warnings = '<?php echo $no_empty_session_warnings ?>'; var no_empty_session_warnings = '<?php echo $no_empty_session_warnings ?>';
var DiaLControl_auto_HTML = "<IMG SRC=\"./images/vdc_LB_pause_OFF.gif\" border=0 alt=\" Pause \"><a href=\"#\" onclick=\"AutoDial_ReSume_PauSe('VDADready');\"><IMG SRC=\"./images/vdc_LB_resume.gif\" border=0 alt=\"Resume\"></a>"; var DiaLControl_auto_HTML = "<IMG SRC=\"./images/vdc_LB_pause_OFF.gif\" border=0 alt=\" Pause \"><a href=\"#\" onclick=\"AutoDial_ReSume_PauSe('VDADready');\"><IMG SRC=\"./images/vdc_LB_resume.gif\" border=0 alt=\"Resume\"></a>";
var DiaLControl_auto_HTML_ready = "<a href=\"#\" onclick=\"AutoDial_ReSume_PauSe('VDADpause');\"><IMG SRC=\"./images/vdc_LB_pause.gif\" border=0 alt=\" Pause \"></a><IMG SRC=\"./images/vdc_LB_resume_OFF.gif\" border=0 alt=\"Resume\">"; var DiaLControl_auto_HTML_ready = "<a href=\"#\" onclick=\"AutoDial_ReSume_PauSe('VDADpause');\"><IMG SRC=\"./images/vdc_LB_pause.gif\" border=0 alt=\" Pause \"></a><IMG SRC=\"./images/vdc_LB_resume_OFF.gif\" border=0 alt=\"Resume\">";
@@ -3433,7 +3464,7 @@ if ($enable_fast_refresh < 1) {echo "\tvar refresh_interval = 1000;\n";}
// ################################################################################ // ################################################################################
// Send Redirect command for live call to Manager sends phone name where call is going to // Send Redirect command for live call to Manager sends phone name where call is going to
// Covers the following types: XFER, VMAIL, ENTRY, CONF, PARK, FROMPARK, XfeRLOCAL, XfeRINTERNAL, XfeRBLIND, VfeRVMAIL // Covers the following types: XFER, VMAIL, ENTRY, CONF, PARK, FROMPARK, XfeRLOCAL, XfeRINTERNAL, XfeRBLIND, VfeRVMAIL
function mainxfer_send_redirect(taskvar,taskxferconf,taskserverip,taskdebugnote) function mainxfer_send_redirect(taskvar,taskxferconf,taskserverip,taskdebugnote,taskdispowindow)
{ {
blind_transfer=1; blind_transfer=1;
// conf_dialed=1; // conf_dialed=1;
@@ -3690,7 +3721,7 @@ if ($enable_fast_refresh < 1) {echo "\tvar refresh_interval = 1000;\n";}
document.vicidial_form.callserverip.value = ''; document.vicidial_form.callserverip.value = '';
if( document.images ) { document.images['livecall'].src = image_livecall_OFF.src;} if( document.images ) { document.images['livecall'].src = image_livecall_OFF.src;}
// alert(RedirecTxFEr + "|" + auto_dial_level); // alert(RedirecTxFEr + "|" + auto_dial_level);
dialedcall_send_hangup(); dialedcall_send_hangup(taskdispowindow);
} }
} }
@@ -4245,6 +4276,20 @@ if ($enable_fast_refresh < 1) {echo "\tvar refresh_interval = 1000;\n";}
{document.vicidial_form.xfernumber.value = CalL_XC_b_NuMber;} {document.vicidial_form.xfernumber.value = CalL_XC_b_NuMber;}
} }
if (call_requeue_button > 0)
{
var CloserSelectChoices = document.vicidial_form.CloserSelectList.value;
var regCRB = new RegExp("AGENTDIRECT","ig");
if (CloserSelectChoices.match(regCRB))
{
document.getElementById("ReQueueCall").innerHTML = "<a href=\"#\" onclick=\"call_requeue_launch();return false;\"><IMG SRC=\"./images/vdc_LB_requeue_call.gif\" border=0 alt=\"Re-Queue Call\"></a>";
}
else
{
document.getElementById("ReQueueCall").innerHTML = "<IMG SRC=\"./images/vdc_LB_requeue_call_OFF.gif\" border=0 alt=\"Re-Queue Call\">";
}
}
// Build transfer pull-down list // Build transfer pull-down list
var loop_ct = 0; var loop_ct = 0;
var live_XfeR_HTML = ''; var live_XfeR_HTML = '';
@@ -4900,7 +4945,7 @@ if ($enable_fast_refresh < 1) {echo "\tvar refresh_interval = 1000;\n";}
// ################################################################################ // ################################################################################
// Set the client to READY and start looking for calls (VDADready, VDADpause) // Set the client to READY and start looking for calls (VDADready, VDADpause)
function AutoDial_ReSume_PauSe(taskaction,taskagentlog,taskwrapup) function AutoDial_ReSume_PauSe(taskaction,taskagentlog,taskwrapup,taskstatuschange)
{ {
if (taskaction == 'VDADready') if (taskaction == 'VDADready')
{ {
@@ -4968,7 +5013,7 @@ if ($enable_fast_refresh < 1) {echo "\tvar refresh_interval = 1000;\n";}
} }
if (xmlhttp) if (xmlhttp)
{ {
autoDiaLready_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&ACTION=" + taskaction + "&user=" + user + "&pass=" + pass + "&stage=" + VDRP_stage + "&agent_log_id=" + agent_log_id + "&agent_log=" + taskagentlog + "&wrapup=" + taskwrapup + "&campaign=" + campaign + "&dial_method" + dial_method; autoDiaLready_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&ACTION=" + taskaction + "&user=" + user + "&pass=" + pass + "&stage=" + VDRP_stage + "&agent_log_id=" + agent_log_id + "&agent_log=" + taskagentlog + "&wrapup=" + taskwrapup + "&campaign=" + campaign + "&dial_method" + dial_method + "&comments=" + taskstatuschange;
xmlhttp.open('POST', 'vdc_db_query.php'); xmlhttp.open('POST', 'vdc_db_query.php');
xmlhttp.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=UTF-8'); xmlhttp.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=UTF-8');
xmlhttp.send(autoDiaLready_query); xmlhttp.send(autoDiaLready_query);
@@ -5357,6 +5402,20 @@ if ($enable_fast_refresh < 1) {echo "\tvar refresh_interval = 1000;\n";}
{document.vicidial_form.xfernumber.value = CalL_XC_b_NuMber;} {document.vicidial_form.xfernumber.value = CalL_XC_b_NuMber;}
} }
if (call_requeue_button > 0)
{
var CloserSelectChoices = document.vicidial_form.CloserSelectList.value;
var regCRB = new RegExp("AGENTDIRECT","ig");
if (CloserSelectChoices.match(regCRB))
{
document.getElementById("ReQueueCall").innerHTML = "<a href=\"#\" onclick=\"call_requeue_launch();return false;\"><IMG SRC=\"./images/vdc_LB_requeue_call.gif\" border=0 alt=\"Re-Queue Call\"></a>";
}
else
{
document.getElementById("ReQueueCall").innerHTML = "<IMG SRC=\"./images/vdc_LB_requeue_call_OFF.gif\" border=0 alt=\"Re-Queue Call\">";
}
}
// Build transfer pull-down list // Build transfer pull-down list
var loop_ct = 0; var loop_ct = 0;
var live_XfeR_HTML = ''; var live_XfeR_HTML = '';
@@ -5818,6 +5877,11 @@ if ($enable_fast_refresh < 1) {echo "\tvar refresh_interval = 1000;\n";}
if (quick_transfer_button_enabled > 0) if (quick_transfer_button_enabled > 0)
{document.getElementById("QuickXfer").innerHTML = "<IMG SRC=\"./images/vdc_LB_quickxfer_OFF.gif\" border=0 alt=\"QUICK TRANSFER\">";} {document.getElementById("QuickXfer").innerHTML = "<IMG SRC=\"./images/vdc_LB_quickxfer_OFF.gif\" border=0 alt=\"QUICK TRANSFER\">";}
if (call_requeue_button > 0)
{
document.getElementById("ReQueueCall").innerHTML = "<IMG SRC=\"./images/vdc_LB_requeue_call_OFF.gif\" border=0 alt=\"Re-Queue Call\">";
}
document.vicidial_form.custdatetime.value = ''; document.vicidial_form.custdatetime.value = '';
if (auto_dial_level == 0) if (auto_dial_level == 0)
@@ -6622,7 +6686,7 @@ if ($enable_fast_refresh < 1) {echo "\tvar refresh_interval = 1000;\n";}
{ {
if (VU_agent_choose_ingroups == '1') if (VU_agent_choose_ingroups == '1')
{ {
var live_CSC_HTML = "<table cellpadding=5 cellspacing=5 width=500><tr><td><B>GROUPS NOT SELECTED</B></td><td><B>SELECTED GROUPS</B></td></tr><tr><td bgcolor=\"#99FF99\" height=300 width=240 valign=top><font class=\"log_text\"><span id=CloserSelectAdd>"; var live_CSC_HTML = "<table cellpadding=5 cellspacing=5 width=500><tr><td><B>GROUPS NOT SELECTED</B></td><td><B>SELECTED GROUPS</B></td></tr><tr><td bgcolor=\"#99FF99\" height=300 width=240 valign=top><font class=\"log_text\"><span id=CloserSelectAdd> &nbsp; <a href=\"#\" onclick=\"CloserSelect_change('-----ADD-ALL-----','ADD');return false;\"><B>--- ADD ALL ---</B><BR>";
var loop_ct = 0; var loop_ct = 0;
while (loop_ct < INgroupCOUNT) while (loop_ct < INgroupCOUNT)
{ {
@@ -6650,6 +6714,9 @@ if ($enable_fast_refresh < 1) {echo "\tvar refresh_interval = 1000;\n";}
var CloserSelectListValue = document.vicidial_form.CloserSelectList.value; var CloserSelectListValue = document.vicidial_form.CloserSelectList.value;
var CSCchange = 0; var CSCchange = 0;
var regCS = new RegExp(" "+taskCSgrp+" ","ig"); var regCS = new RegExp(" "+taskCSgrp+" ","ig");
var regCSall = new RegExp("-ALL-----","ig");
var regCSallADD = new RegExp("-----ADD-ALL-----","ig");
var regCSallDELETE = new RegExp("-----DELETE-ALL-----","ig");
if ( (CloserSelectListValue.match(regCS)) && (CloserSelectListValue.length > 3) ) if ( (CloserSelectListValue.match(regCS)) && (CloserSelectListValue.length > 3) )
{ {
if (taskCSchange == 'DELETE') {CSCchange = 1;} if (taskCSchange == 'DELETE') {CSCchange = 1;}
@@ -6658,8 +6725,10 @@ if ($enable_fast_refresh < 1) {echo "\tvar refresh_interval = 1000;\n";}
{ {
if (taskCSchange == 'ADD') {CSCchange = 1;} if (taskCSchange == 'ADD') {CSCchange = 1;}
} }
if (taskCSgrp.match(regCSall))
{CSCchange = 1;}
// alert(taskCSgrp+"|"+taskCSchange+"|"+CloserSelectListValue.length+"|"+CSCchange+"|"+CSCcolumn) // alert(taskCSgrp+"|"+taskCSchange+"|"+CloserSelectListValue.length+"|"+CSCchange+"|"+CSCcolumn+"|"+INgroupCOUNT)
if (CSCchange==1) if (CSCchange==1)
{ {
@@ -6673,8 +6742,8 @@ if ($enable_fast_refresh < 1) {echo "\tvar refresh_interval = 1000;\n";}
var regCSL = new RegExp(" "+VARingroups[loop_ct]+" ","ig"); var regCSL = new RegExp(" "+VARingroups[loop_ct]+" ","ig");
if (CloserSelectListValue.match(regCSL)) {CSCcolumn = 'DELETE';} if (CloserSelectListValue.match(regCSL)) {CSCcolumn = 'DELETE';}
else {CSCcolumn = 'ADD';} else {CSCcolumn = 'ADD';}
if ( (VARingroups[loop_ct] == taskCSgrp) && (taskCSchange == 'DELETE') ) {CSCcolumn = 'ADD';} if ( ( (VARingroups[loop_ct] == taskCSgrp) && (taskCSchange == 'DELETE') ) || (taskCSgrp.match(regCSallDELETE)) ) {CSCcolumn = 'ADD';}
if ( (VARingroups[loop_ct] == taskCSgrp) && (taskCSchange == 'ADD') ) {CSCcolumn = 'DELETE';} if ( ( (VARingroups[loop_ct] == taskCSgrp) && (taskCSchange == 'ADD') ) || (taskCSgrp.match(regCSallADD)) ) {CSCcolumn = 'DELETE';}
if (CSCcolumn == 'DELETE') if (CSCcolumn == 'DELETE')
@@ -6690,8 +6759,8 @@ if ($enable_fast_refresh < 1) {echo "\tvar refresh_interval = 1000;\n";}
} }
document.vicidial_form.CloserSelectList.value = live_CSC_LIST_value; document.vicidial_form.CloserSelectList.value = live_CSC_LIST_value;
document.getElementById("CloserSelectAdd").innerHTML = live_CSC_HTML_ADD; document.getElementById("CloserSelectAdd").innerHTML = " &nbsp; <a href=\"#\" onclick=\"CloserSelect_change('-----ADD-ALL-----','ADD');return false;\"><B>--- ADD ALL ---</B><BR>" + live_CSC_HTML_ADD;
document.getElementById("CloserSelectDelete").innerHTML = live_CSC_HTML_DELETE; document.getElementById("CloserSelectDelete").innerHTML = " &nbsp; <a href=\"#\" onclick=\"CloserSelect_change('-----DELETE-ALL-----','DELETE');return false;\"><B>--- DELETE ALL ---</B><BR>" + live_CSC_HTML_DELETE;
} }
} }
@@ -6708,6 +6777,15 @@ if ($enable_fast_refresh < 1) {echo "\tvar refresh_interval = 1000;\n";}
var CloserSelectChoices = document.vicidial_form.CloserSelectList.value; var CloserSelectChoices = document.vicidial_form.CloserSelectList.value;
if (call_requeue_button > 0)
{
document.getElementById("ReQueueCall").innerHTML = "<IMG SRC=\"./images/vdc_LB_requeue_call_OFF.gif\" border=0 alt=\"Re-Queue Call\">";
}
else
{
document.getElementById("ReQueueCall").innerHTML = "";
}
if (VU_agent_choose_ingroups_DV == "MGRLOCK") if (VU_agent_choose_ingroups_DV == "MGRLOCK")
{CloserSelectChoices = "MGRLOCK";} {CloserSelectChoices = "MGRLOCK";}
@@ -7296,6 +7374,136 @@ function phone_number_format(formatphone) {
} }
// ################################################################################
// Grab the call in queue and bring it into the session
function callinqueuegrab(CQauto_call_id)
{
if (CQauto_call_id > 0)
{
if ( (AutoDialWaiting == 1) || (VD_live_customer_call==1) || (alt_dial_active==1) )
{
alert("YOU MUST BE PAUSED TO GRAB CALLS IN QUEUE");
}
else
{
var xmlhttp=false;
/*@cc_on @*/
/*@if (@_jscript_version >= 5)
// JScript gives us Conditional compilation, we can cope with old IE versions.
// and security blocked creation of the objects.
try {
xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
try {
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
} catch (E) {
xmlhttp = false;
}
}
@end @*/
if (!xmlhttp && typeof XMLHttpRequest!='undefined')
{
xmlhttp = new XMLHttpRequest();
}
if (xmlhttp)
{
RAview_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&ACTION=CALLSINQUEUEgrab&format=text&user=" + user + "&pass=" + pass + "&conf_exten=" + session_id + "&extension=" + extension + "&protocol=" + protocol + "&campaign=" + campaign + "&stage=" + CQauto_call_id;
xmlhttp.open('POST', 'vdc_db_query.php');
xmlhttp.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=UTF-8');
xmlhttp.send(RAview_query);
xmlhttp.onreadystatechange = function()
{
if (xmlhttp.readyState == 4 && xmlhttp.status == 200)
{
var CQgrabresponse = xmlhttp.responseText;
var regCQerror = new RegExp("ERROR","ig");
if (CQgrabresponse.match(regCQerror))
{
alert(CQgrabresponse);
}
else
{
AutoDial_ReSume_PauSe("VDADready",'','','NO_STATUS_CHANGE');
AutoDialWaiting=1;
}
}
}
delete xmlhttp;
}
}
}
}
// ################################################################################
// Refresh the calls in queue bottombar
function refresh_calls_in_queue(CQcount)
{
if (CQcount > 0)
{
if (even > 0)
{
var xmlhttp=false;
/*@cc_on @*/
/*@if (@_jscript_version >= 5)
// JScript gives us Conditional compilation, we can cope with old IE versions.
// and security blocked creation of the objects.
try {
xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
try {
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
} catch (E) {
xmlhttp = false;
}
}
@end @*/
if (!xmlhttp && typeof XMLHttpRequest!='undefined')
{
xmlhttp = new XMLHttpRequest();
}
if (xmlhttp)
{
RAview_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&ACTION=CALLSINQUEUEview&format=text&user=" + user + "&pass=" + pass + "&conf_exten=" + session_id + "&extension=" + extension + "&protocol=" + protocol + "&campaign=" + campaign + "&stage=<?php echo $CQwidth ?>";
xmlhttp.open('POST', 'vdc_db_query.php');
xmlhttp.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=UTF-8');
xmlhttp.send(RAview_query);
xmlhttp.onreadystatechange = function()
{
if (xmlhttp.readyState == 4 && xmlhttp.status == 200)
{
// alert(xmlhttp.responseText);
document.getElementById('callsinqueuelist').innerHTML = xmlhttp.responseText + "\n";
}
}
delete xmlhttp;
}
}
}
}
// ################################################################################
// Open or close the callsinqueue view bottombar
function show_calls_in_queue(CQoperation)
{
if (CQoperation=='SHOW')
{
document.getElementById("callsinqueuelink").innerHTML = "<a href=\"#\" onclick=\"show_calls_in_queue('HIDE');\">Hide Calls In Queue</a>";
view_calls_in_queue_active=1;
showDiv('callsinqueuedisplay');
}
else
{
document.getElementById("callsinqueuelink").innerHTML = "<a href=\"#\" onclick=\"show_calls_in_queue('SHOW');\">Show Calls In Queue</a>";
view_calls_in_queue_active=0;
hideDiv('callsinqueuedisplay');
}
}
// ################################################################################ // ################################################################################
// Open or close the agents view sidebar or xfer frame // Open or close the agents view sidebar or xfer frame
function AgentsViewOpen(AVlocation,AVoperation) function AgentsViewOpen(AVlocation,AVoperation)
@@ -7304,7 +7512,7 @@ function phone_number_format(formatphone) {
{ {
if (AVlocation=='AgentViewSpan') if (AVlocation=='AgentViewSpan')
{ {
document.getElementById("AgentViewLink").innerHTML = "<font class=\"body_text\"><a href=\"#\" onclick=\"AgentsViewOpen('AgentViewSpan','close');return false;\">Agents View -</a></font>"; document.getElementById("AgentViewLink").innerHTML = "<a href=\"#\" onclick=\"AgentsViewOpen('AgentViewSpan','close');return false;\">Agents View -</a>";
agent_status_view_active=1; agent_status_view_active=1;
} }
showDiv(AVlocation); showDiv(AVlocation);
@@ -7313,7 +7521,7 @@ function phone_number_format(formatphone) {
{ {
if (AVlocation=='AgentViewSpan') if (AVlocation=='AgentViewSpan')
{ {
document.getElementById("AgentViewLink").innerHTML = "<font class=\"body_text\"><a href=\"#\" onclick=\"AgentsViewOpen('AgentViewSpan','open');return false;\">Agents View +</a></font>"; document.getElementById("AgentViewLink").innerHTML = "<a href=\"#\" onclick=\"AgentsViewOpen('AgentViewSpan','open');return false;\">Agents View +</a>";
agent_status_view_active=0; agent_status_view_active=0;
} }
hideDiv(AVlocation); hideDiv(AVlocation);
@@ -7348,6 +7556,33 @@ function phone_number_format(formatphone) {
} }
// ################################################################################
// Call ReQueue call back to AGENTDIRECT queue launch
function call_requeue_launch()
{
document.vicidial_form.xfernumber.value = user;
// Build transfer pull-down list
var loop_ct = 0;
var live_XfeR_HTML = '';
var XfeR_SelecT = '';
while (loop_ct < XFgroupCOUNT)
{
if (VARxfergroups[loop_ct] == 'AGENTDIRECT')
{XfeR_SelecT = 'SELECTED ';}
else {XfeR_SelecT = '';}
live_XfeR_HTML = live_XfeR_HTML + "<option " + XfeR_SelecT + "value=\"" + VARxfergroups[loop_ct] + "\">" + VARxfergroups[loop_ct] + " - " + VARxfergroupsnames[loop_ct] + "</option>\n";
loop_ct++;
}
document.getElementById("XfeRGrouPLisT").innerHTML = "<select size=1 name=XfeRGrouP class=\"cust_form\" id=XfeRGrouP>" + live_XfeR_HTML + "</select>";
mainxfer_send_redirect('XfeRLOCAL',lastcustchannel,lastcustserverip,'','NO');
document.vicidial_form.DispoSelection.value = 'RQXFER';
DispoSelect_submit();
}
// ################################################################################ // ################################################################################
// Move the Dispo frame out of the way and change the link to maximize // Move the Dispo frame out of the way and change the link to maximize
function DispoMinimize() function DispoMinimize()
@@ -7569,6 +7804,8 @@ else
hideDiv('GroupAliasSelectBox'); hideDiv('GroupAliasSelectBox');
hideDiv('AgentViewSpan'); hideDiv('AgentViewSpan');
hideDiv('AgentXferViewSpan'); hideDiv('AgentXferViewSpan');
if (view_calls_in_queue_launch != '1')
{hidediv('callsinqueuedisplay');}
if (agentonly_callbacks != '1') if (agentonly_callbacks != '1')
{hideDiv('CallbacksButtons');} {hideDiv('CallbacksButtons');}
// if ( (agentcall_manual != '1') && (starting_dial_level > 0) ) // if ( (agentcall_manual != '1') && (starting_dial_level > 0) )
@@ -7588,6 +7825,8 @@ else
{document.vicidial_form.DiaLAltPhonE.checked=true;} {document.vicidial_form.DiaLAltPhonE.checked=true;}
if (agent_status_view != '1') if (agent_status_view != '1')
{document.getElementById("AgentViewLink").innerHTML = "";} {document.getElementById("AgentViewLink").innerHTML = "";}
if (dispo_check_all_pause == '1')
{document.vicidial_form.DispoSelectStop.checked=true;}
document.vicidial_form.LeadLookuP.checked=true; document.vicidial_form.LeadLookuP.checked=true;
@@ -7698,6 +7937,10 @@ else
{ {
refresh_agents_view('AgentViewStatus',agent_status_view); refresh_agents_view('AgentViewStatus',agent_status_view);
} }
if (view_calls_in_queue_active > 0)
{
refresh_calls_in_queue(view_calls_in_queue);
}
if (xfer_select_agents_active > 0) if (xfer_select_agents_active > 0)
{ {
refresh_agents_view('AgentXferViewSelect',agent_status_view); refresh_agents_view('AgentXferViewSelect',agent_status_view);
@@ -8292,7 +8535,7 @@ echo "</head>\n";
<TR VALIGN=TOP ALIGN=LEFT> <TR VALIGN=TOP ALIGN=LEFT>
<TD ALIGN=LEFT WIDTH=115><A HREF="#" onclick="MainPanelToFront('NO');"><IMG SRC="./images/vdc_tab_vicidial.gif" ALT="MAIN" WIDTH=115 HEIGHT=30 BORDER=0></A></TD> <TD ALIGN=LEFT WIDTH=115><A HREF="#" onclick="MainPanelToFront('NO');"><IMG SRC="./images/vdc_tab_vicidial.gif" ALT="MAIN" WIDTH=115 HEIGHT=30 BORDER=0></A></TD>
<TD ALIGN=LEFT WIDTH=105><A HREF="#" onclick="ScriptPanelToFront();"><IMG SRC="./images/vdc_tab_script.gif" ALT="SCRIPT" WIDTH=105 HEIGHT=30 BORDER=0></A></TD> <TD ALIGN=LEFT WIDTH=105><A HREF="#" onclick="ScriptPanelToFront();"><IMG SRC="./images/vdc_tab_script.gif" ALT="SCRIPT" WIDTH=105 HEIGHT=30 BORDER=0></A></TD>
<TD WIDTH=<?php echo $HSwidth ?> VALIGN=MIDDLE ALIGN=CENTER><font class="body_text"> &nbsp; <span id=status>LIVE</span> &nbsp; &nbsp; session ID: <span id=sessionIDspan></span> &nbsp; &nbsp; <span id=AgentStatusCalls></span></TD> <TD WIDTH=<?php echo $HSwidth ?> VALIGN=MIDDLE ALIGN=CENTER><font class="body_text">&nbsp; <span id=status>LIVE</span>&nbsp; &nbsp;session ID: <span id=sessionIDspan></span>&nbsp; &nbsp;<span id=AgentStatusCalls></span></TD>
<TD WIDTH=109><IMG SRC="./images/agc_live_call_OFF.gif" NAME=livecall ALT="Live Call" WIDTH=109 HEIGHT=30 BORDER=0></TD> <TD WIDTH=109><IMG SRC="./images/agc_live_call_OFF.gif" NAME=livecall ALT="Live Call" WIDTH=109 HEIGHT=30 BORDER=0></TD>
</TR></TABLE> </TR></TABLE>
</span> </span>
@@ -8436,13 +8679,28 @@ Your Status: <span id="AgentStatusStatus"></span> <BR>Calls Dialing: <span id="A
<span style="position:absolute;left:<?php echo $SBwidth ?>px;top:0px;height:500;overflow:scroll;z-index:23;background-color:<?php echo $SIDEBAR_COLOR ?>;" id="AgentViewSpan"><TABLE CELLPADDING=0 CELLSPACING=0 BORDER=0><TR><TD width=5 ROWSPAN=2>&nbsp;</TD><TD ALIGN=CENTER><font class="body_text"> <span style="position:absolute;left:0px;top:<?php echo $CQheight ?>px;width:<?php echo $MNwidth ?>;overflow:scroll;z-index:23;background-color:<?php echo $SIDEBAR_COLOR ?>;" id="callsinqueuedisplay"><TABLE CELLPADDING=0 CELLSPACING=0 BORDER=0><TR><TD width=5 ROWSPAN=2>&nbsp;</TD><TD ALIGN=CENTER><font class="body_text">Calls In Queue: &nbsp; </font></TD></TR><TR><TD ALIGN=CENTER><span id="callsinqueuelist">&nbsp;</span></TD></TR></TABLE></span>
<font class="body_small"><span style="position:absolute;left:<?php echo $CLwidth ?>px;top:<?php echo $SLheight ?>px;z-index:24;" id="callsinqueuelink">
<?php
if ($view_calls_in_queue > 0)
{
if ($view_calls_in_queue_launch > 0)
{echo "<a href=\"#\" onclick=\"show_calls_in_queue('HIDE');\">Hide Calls In Queue</a>\n";}
else
{echo "<a href=\"#\" onclick=\"show_calls_in_queue('SHOW');\">Show Calls In Queue</a>\n";}
}
?>
</span></font>
<span style="position:absolute;left:<?php echo $SBwidth ?>px;top:0px;height:500;overflow:scroll;z-index:25;background-color:<?php echo $SIDEBAR_COLOR ?>;" id="AgentViewSpan"><TABLE CELLPADDING=0 CELLSPACING=0 BORDER=0><TR><TD width=5 ROWSPAN=2>&nbsp;</TD><TD ALIGN=CENTER><font class="body_text">
Other Agents Status: &nbsp; </font></TD></TR><TR><TD ALIGN=CENTER><span id="AgentViewStatus">&nbsp;</span></TD></TR></TABLE></span> Other Agents Status: &nbsp; </font></TD></TR><TR><TD ALIGN=CENTER><span id="AgentViewStatus">&nbsp;</span></TD></TR></TABLE></span>
<span style="position:absolute;left:60px;top:<?php echo $BPheight ?>px;width:400;height:500;overflow:scroll;z-index:24;background-color:<?php echo $SIDEBAR_COLOR ?>;" id="AgentXferViewSpan"><CENTER><font class="body_text"> <span style="position:absolute;left:60px;top:<?php echo $BPheight ?>px;width:400;height:500;overflow:scroll;z-index:26;background-color:<?php echo $SIDEBAR_COLOR ?>;" id="AgentXferViewSpan"><CENTER><font class="body_text">
Available Agents Transfer: <span id="AgentXferViewSelect"></span></CENTER></font></span> Available Agents Transfer: <span id="AgentXferViewSelect"></span></CENTER></font></span>
<span style="position:absolute;left:<?php echo $SCwidth ?>px;top:<?php echo $SLheight ?>px;z-index:25;" id="AgentViewLinkSpan"><TABLE CELLPADDING=0 CELLSPACING=0 BORDER=0 WIDTH=91><TR><TD ALIGN=RIGHT><span id="AgentViewLink"><font class="body_text"><a href="#" onclick="AgentsViewOpen('AgentViewSpan','open');return false;">Agents View +</a></font></span></TD></TR></TABLE></span> <span style="position:absolute;left:<?php echo $SCwidth ?>px;top:<?php echo $SLheight ?>px;z-index:27;" id="AgentViewLinkSpan"><TABLE CELLPADDING=0 CELLSPACING=0 BORDER=0 WIDTH=91><TR><TD ALIGN=RIGHT><font class="body_small"><span id="AgentViewLink"><a href="#" onclick="AgentsViewOpen('AgentViewSpan','open');return false;">Agents View +</a></span></font></TD></TR></TABLE></span>
@@ -8691,7 +8949,9 @@ Available Agents Transfer: <span id="AgentXferViewSelect"></span></CENTER></font
<span style="position:absolute;left:0px;top:<?php echo $HKheight ?>px;z-index:15;" id="MaiNfooterspan"> <span style="position:absolute;left:0px;top:<?php echo $HKheight ?>px;z-index:15;" id="MaiNfooterspan">
<table BGCOLOR="<?php echo $MAIN_COLOR ?>" id="MaiNfooter" width=<?php echo $MNwidth ?>><tr height=32><td height=32><font face="Arial,Helvetica" size=1>Agent web-client version: <?php echo $version ?> &nbsp; &nbsp; BUILD: <?php echo $build ?> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Server: <?php echo $server_ip ?> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;</font><BR> <table BGCOLOR="<?php echo $MAIN_COLOR ?>" id="MaiNfooter" width=<?php echo $MNwidth ?>><tr height=32><td height=32><font face="Arial,Helvetica" size=1>Agent web-client version: <?php echo $version ?> &nbsp; &nbsp; BUILD: <?php echo $build ?> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Server: <?php echo $server_ip ?> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;</font><BR>
<font class="body_small"><span id="busycallsdisplay"><a href="#" onclick="conf_channels_detail('SHOW');">Show conference call channel information</a><BR><BR>&nbsp;</span></font></td><td align=right height=32> <font class="body_small">
<span id="busycallsdisplay"><a href="#" onclick="conf_channels_detail('SHOW');">Show conference call channel information</a>
<BR><BR>&nbsp;</span></font></td><td align=right height=32>
</td></tr> </td></tr>
<tr><td colspan=3><span id="outboundcallsspan"></span></td></tr> <tr><td colspan=3><span id="outboundcallsspan"></span></td></tr>
@@ -8750,6 +9010,11 @@ if ($quick_transfer_button_enabled > 0)
{echo "<span STYLE=\"background-color: $MAIN_COLOR\" id=\"QuickXfer\"><IMG SRC=\"./images/vdc_LB_quickxfer_OFF.gif\" border=0 alt=\"Quick Transfer\"></span><BR>\n";} {echo "<span STYLE=\"background-color: $MAIN_COLOR\" id=\"QuickXfer\"><IMG SRC=\"./images/vdc_LB_quickxfer_OFF.gif\" border=0 alt=\"Quick Transfer\"></span><BR>\n";}
?> ?>
<?php
if ($call_requeue_button > 0)
{echo "<span STYLE=\"background-color: $MAIN_COLOR\" id=\"ReQueueCall\"><IMG SRC=\"./images/vdc_LB_requeue_call_OFF.gif\" border=0 alt=\"Re-Queue Call\"></span><BR>\n";}
?>
<span id="SpacerSpanC"><IMG SRC="./images/blank.gif" width=145 height=16 border=0></span><BR> <span id="SpacerSpanC"><IMG SRC="./images/blank.gif" width=145 height=16 border=0></span><BR>
<span STYLE="background-color: #FFCCFF" id="HangupControl"><IMG SRC="./images/vdc_LB_hangupcustomer_OFF.gif" border=0 alt="Hangup Customer"></span><BR> <span STYLE="background-color: #FFCCFF" id="HangupControl"><IMG SRC="./images/vdc_LB_hangupcustomer_OFF.gif" border=0 alt="Hangup Customer"></span><BR>
<span id="SpacerSpanD"><IMG SRC="./images/blank.gif" width=145 height=16 border=0></span><BR> <span id="SpacerSpanD"><IMG SRC="./images/blank.gif" width=145 height=16 border=0></span><BR>
+63 -6
View File
@@ -1071,6 +1071,16 @@ if (isset($_GET["agent_status_viewable_groups"])) {$agent_status_viewable_grou
elseif (isset($_POST["agent_status_viewable_groups"])) {$agent_status_viewable_groups=$_POST["agent_status_viewable_groups"];} elseif (isset($_POST["agent_status_viewable_groups"])) {$agent_status_viewable_groups=$_POST["agent_status_viewable_groups"];}
if (isset($_GET["agent_status_view_time"])) {$agent_status_view_time=$_GET["agent_status_view_time"];} if (isset($_GET["agent_status_view_time"])) {$agent_status_view_time=$_GET["agent_status_view_time"];}
elseif (isset($_POST["agent_status_view_time"])) {$agent_status_view_time=$_POST["agent_status_view_time"];} elseif (isset($_POST["agent_status_view_time"])) {$agent_status_view_time=$_POST["agent_status_view_time"];}
if (isset($_GET["view_calls_in_queue"])) {$view_calls_in_queue=$_GET["view_calls_in_queue"];}
elseif (isset($_POST["view_calls_in_queue"])) {$view_calls_in_queue=$_POST["view_calls_in_queue"];}
if (isset($_GET["view_calls_in_queue_launch"])) {$view_calls_in_queue_launch=$_GET["view_calls_in_queue_launch"];}
elseif (isset($_POST["view_calls_in_queue_launch"])) {$view_calls_in_queue_launch=$_POST["view_calls_in_queue_launch"];}
if (isset($_GET["grab_calls_in_queue"])) {$grab_calls_in_queue=$_GET["grab_calls_in_queue"];}
elseif (isset($_POST["grab_calls_in_queue"])) {$grab_calls_in_queue=$_POST["grab_calls_in_queue"];}
if (isset($_GET["call_requeue_button"])) {$call_requeue_button=$_GET["call_requeue_button"];}
elseif (isset($_POST["call_requeue_button"])) {$call_requeue_button=$_POST["call_requeue_button"];}
if (isset($_GET["pause_after_each_call"])) {$pause_after_each_call=$_GET["pause_after_each_call"];}
elseif (isset($_POST["pause_after_each_call"])) {$pause_after_each_call=$_POST["pause_after_each_call"];}
if (isset($script_id)) {$script_id= strtoupper($script_id);} if (isset($script_id)) {$script_id= strtoupper($script_id);}
if (isset($lead_filter_id)) {$lead_filter_id = strtoupper($lead_filter_id);} if (isset($lead_filter_id)) {$lead_filter_id = strtoupper($lead_filter_id);}
@@ -1361,6 +1371,11 @@ if ($non_latin < 1)
$survey_fourth_status = ereg_replace("[^0-9a-zA-Z]","",$survey_fourth_status); $survey_fourth_status = ereg_replace("[^0-9a-zA-Z]","",$survey_fourth_status);
$sounds_web_directory = ereg_replace("[^0-9a-zA-Z]","",$sounds_web_directory); $sounds_web_directory = ereg_replace("[^0-9a-zA-Z]","",$sounds_web_directory);
$disable_alter_custphone = ereg_replace("[^0-9a-zA-Z]","",$disable_alter_custphone); $disable_alter_custphone = ereg_replace("[^0-9a-zA-Z]","",$disable_alter_custphone);
$view_calls_in_queue = ereg_replace("[^0-9a-zA-Z]","",$view_calls_in_queue);
$view_calls_in_queue_launch = ereg_replace("[^0-9a-zA-Z]","",$view_calls_in_queue_launch);
$grab_calls_in_queue = ereg_replace("[^0-9a-zA-Z]","",$grab_calls_in_queue);
$call_requeue_button = ereg_replace("[^0-9a-zA-Z]","",$call_requeue_button);
$pause_after_each_call = ereg_replace("[^0-9a-zA-Z]","",$pause_after_each_call);
### DIGITS and Dots ### DIGITS and Dots
$server_ip = ereg_replace("[^\.0-9]","",$server_ip); $server_ip = ereg_replace("[^\.0-9]","",$server_ip);
@@ -1867,11 +1882,12 @@ else
# 90628-0924 - Added Text To Speech(TTS) fields # 90628-0924 - Added Text To Speech(TTS) fields
# 90628-2213 - Added Multi-campaign drop rate groups # 90628-2213 - Added Multi-campaign drop rate groups
# 90705-0926 - Added User Group agent view options # 90705-0926 - Added User Group agent view options
# 90710-1528 - Added Agent view and grab queue calls and every call pause options
# #
# 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 # 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.2.0-204'; $admin_version = '2.2.0-205';
$build = '90705-0926'; $build = '90710-1528';
$STARTtime = date("U"); $STARTtime = date("U");
$SQLdate = date("Y-m-d H:i:s"); $SQLdate = date("Y-m-d H:i:s");
@@ -3730,6 +3746,31 @@ if ($SSqc_features_active > 0)
<BR> <BR>
<B>Default Group Alias -</B> If you have allowed Group Aliases then this is the group alias that is selected first by default when the agent chooses to use a Group Alias for an outbound manual call. Default is NONE or empty. <B>Default Group Alias -</B> If you have allowed Group Aliases then this is the group alias that is selected first by default when the agent chooses to use a Group Alias for an outbound manual call. Default is NONE or empty.
<BR>
<A NAME="vicidial_campaigns-view_calls_in_queue">
<BR>
<B>Agent View Calls in Queue -</B> If set to anything but NONE, agents will be able to see details about the calls that are waiting in queue in their agent screen. If set to a number value, the calls displayed will be limited to the number selected. Default is NONE.
<BR>
<A NAME="vicidial_campaigns-view_calls_in_queue_launch">
<BR>
<B>View Calls in Queue Launch -</B> This setting if set to AUTO will have the Calls in Queue frame show up upon login by the agent into the agent screen. Default is MANUAL.
<BR>
<A NAME="vicidial_campaigns-grab_calls_in_queue">
<BR>
<B>Agent Grab Calls in Queue -</B> This option if set to Y will allow the agent to select the call that they want to take from the Calls in Queue display by clicking on it while paused. Agents will only be able to grab inbound calls or transferred calls, not outbound calls. Default is N.
<BR>
<A NAME="vicidial_campaigns-call_requeue_button">
<BR>
<B>Agent Call Re-Queue Button -</B> This option if set to Y will add a Re-Queue Customer button to the agent screen, allowing the agent to send the call into an AGENTDIRECT queue that is reserved for the agent only. Default is N.
<BR>
<A NAME="vicidial_campaigns-pause_after_each_call">
<BR>
<B>Agent Pause After Each Call -</B> This option if set to Y will pause the agent after every call automatically. Default is N.
@@ -8039,7 +8080,7 @@ if ($ADD==20)
{ {
echo "<br><B>CAMPAIGN COPIED: $campaign_id copied from $source_campaign_id</B>\n"; echo "<br><B>CAMPAIGN COPIED: $campaign_id copied from $source_campaign_id</B>\n";
$stmt="INSERT INTO vicidial_campaigns (campaign_name,campaign_id,active,dial_status_a,dial_status_b,dial_status_c,dial_status_d,dial_status_e,lead_order,park_ext,park_file_name,web_form_address,allow_closers,hopper_level,auto_dial_level,next_agent_call,local_call_time,voicemail_ext,dial_timeout,dial_prefix,campaign_cid,campaign_vdad_exten,campaign_rec_exten,campaign_recording,campaign_rec_filename,campaign_script,get_call_launch,am_message_exten,amd_send_to_vmx,xferconf_a_dtmf,xferconf_a_number,xferconf_b_dtmf,xferconf_b_number,alt_number_dialing,scheduled_callbacks,lead_filter_id,drop_call_seconds,drop_action,safe_harbor_exten,display_dialable_count,wrapup_seconds,wrapup_message,closer_campaigns,use_internal_dnc,allcalls_delay,omit_phone_code,dial_method,available_only_ratio_tally,adaptive_dropped_percentage,adaptive_maximum_level,adaptive_latest_server_time,adaptive_intensity,adaptive_dl_diff_target,concurrent_transfers,auto_alt_dial,auto_alt_dial_statuses,agent_pause_codes_active,campaign_description,campaign_changedate,campaign_stats_refresh,campaign_logindate,dial_statuses,disable_alter_custdata,no_hopper_leads_logins,list_order_mix,campaign_allow_inbound,manual_dial_list_id,default_xfer_group,queue_priority,drop_inbound_group,qc_enabled,qc_statuses,qc_lists,qc_web_form_address,qc_script,survey_first_audio_file,survey_dtmf_digits,survey_ni_digit,survey_opt_in_audio_file,survey_ni_audio_file,survey_method,survey_no_response_action,survey_ni_status,survey_response_digit_map,survey_xfer_exten,survey_camp_record_dir,disable_alter_custphone,display_queue_count,qc_get_record_launch,qc_show_recording,qc_shift_id,manual_dial_filter,agent_clipboard_copy,agent_extended_alt_dial,use_campaign_dnc,three_way_call_cid,three_way_dial_prefix,web_form_target,vtiger_search_category,vtiger_create_call_record,vtiger_create_lead_record,vtiger_screen_login,cpd_amd_action,agent_allow_group_alias,default_group_alias,vtiger_search_dead,vtiger_status_call,survey_third_digit,survey_fourth_digit,survey_third_audio_file,survey_fourth_audio_file,survey_third_status,survey_fourth_status,survey_third_exten,survey_fourth_exten,drop_lockout_time,quick_transfer_button,prepopulate_transfer_preset,drop_rate_group) SELECT \"$campaign_name\",\"$campaign_id\",\"N\",dial_status_a,dial_status_b,dial_status_c,dial_status_d,dial_status_e,lead_order,park_ext,park_file_name,web_form_address,allow_closers,hopper_level,auto_dial_level,next_agent_call,local_call_time,voicemail_ext,dial_timeout,dial_prefix,campaign_cid,campaign_vdad_exten,campaign_rec_exten,campaign_recording,campaign_rec_filename,campaign_script,get_call_launch,am_message_exten,amd_send_to_vmx,xferconf_a_dtmf,xferconf_a_number,xferconf_b_dtmf,xferconf_b_number,alt_number_dialing,scheduled_callbacks,lead_filter_id,drop_call_seconds,drop_action,safe_harbor_exten,display_dialable_count,wrapup_seconds,wrapup_message,closer_campaigns,use_internal_dnc,allcalls_delay,omit_phone_code,dial_method,available_only_ratio_tally,adaptive_dropped_percentage,adaptive_maximum_level,adaptive_latest_server_time,adaptive_intensity,adaptive_dl_diff_target,concurrent_transfers,auto_alt_dial,auto_alt_dial_statuses,agent_pause_codes_active,campaign_description,campaign_changedate,campaign_stats_refresh,campaign_logindate,dial_statuses,disable_alter_custdata,no_hopper_leads_logins,\"DISABLED\",campaign_allow_inbound,manual_dial_list_id,default_xfer_group,queue_priority,drop_inbound_group,qc_enabled,qc_statuses,qc_lists,qc_web_form_address,qc_script,survey_first_audio_file,survey_dtmf_digits,survey_ni_digit,survey_opt_in_audio_file,survey_ni_audio_file,survey_method,survey_no_response_action,survey_ni_status,survey_response_digit_map,survey_xfer_exten,survey_camp_record_dir,disable_alter_custphone,display_queue_count,qc_get_record_launch,qc_show_recording,qc_shift_id,manual_dial_filter,agent_clipboard_copy,agent_extended_alt_dial,use_campaign_dnc,three_way_call_cid,three_way_dial_prefix,web_form_target,vtiger_search_category,vtiger_create_call_record,vtiger_create_lead_record,vtiger_screen_login,cpd_amd_action,agent_allow_group_alias,default_group_alias,vtiger_search_dead,vtiger_status_call,survey_third_digit,survey_fourth_digit,survey_third_audio_file,survey_fourth_audio_file,survey_third_status,survey_fourth_status,survey_third_exten,survey_fourth_exten,drop_lockout_time,quick_transfer_button,prepopulate_transfer_preset,drop_rate_group from vicidial_campaigns where campaign_id='$source_campaign_id';"; $stmt="INSERT INTO vicidial_campaigns (campaign_name,campaign_id,active,dial_status_a,dial_status_b,dial_status_c,dial_status_d,dial_status_e,lead_order,park_ext,park_file_name,web_form_address,allow_closers,hopper_level,auto_dial_level,next_agent_call,local_call_time,voicemail_ext,dial_timeout,dial_prefix,campaign_cid,campaign_vdad_exten,campaign_rec_exten,campaign_recording,campaign_rec_filename,campaign_script,get_call_launch,am_message_exten,amd_send_to_vmx,xferconf_a_dtmf,xferconf_a_number,xferconf_b_dtmf,xferconf_b_number,alt_number_dialing,scheduled_callbacks,lead_filter_id,drop_call_seconds,drop_action,safe_harbor_exten,display_dialable_count,wrapup_seconds,wrapup_message,closer_campaigns,use_internal_dnc,allcalls_delay,omit_phone_code,dial_method,available_only_ratio_tally,adaptive_dropped_percentage,adaptive_maximum_level,adaptive_latest_server_time,adaptive_intensity,adaptive_dl_diff_target,concurrent_transfers,auto_alt_dial,auto_alt_dial_statuses,agent_pause_codes_active,campaign_description,campaign_changedate,campaign_stats_refresh,campaign_logindate,dial_statuses,disable_alter_custdata,no_hopper_leads_logins,list_order_mix,campaign_allow_inbound,manual_dial_list_id,default_xfer_group,queue_priority,drop_inbound_group,qc_enabled,qc_statuses,qc_lists,qc_web_form_address,qc_script,survey_first_audio_file,survey_dtmf_digits,survey_ni_digit,survey_opt_in_audio_file,survey_ni_audio_file,survey_method,survey_no_response_action,survey_ni_status,survey_response_digit_map,survey_xfer_exten,survey_camp_record_dir,disable_alter_custphone,display_queue_count,qc_get_record_launch,qc_show_recording,qc_shift_id,manual_dial_filter,agent_clipboard_copy,agent_extended_alt_dial,use_campaign_dnc,three_way_call_cid,three_way_dial_prefix,web_form_target,vtiger_search_category,vtiger_create_call_record,vtiger_create_lead_record,vtiger_screen_login,cpd_amd_action,agent_allow_group_alias,default_group_alias,vtiger_search_dead,vtiger_status_call,survey_third_digit,survey_fourth_digit,survey_third_audio_file,survey_fourth_audio_file,survey_third_status,survey_fourth_status,survey_third_exten,survey_fourth_exten,drop_lockout_time,quick_transfer_button,prepopulate_transfer_preset,drop_rate_group,view_calls_in_queue,view_calls_in_queue_launch,grab_calls_in_queue,call_requeue_button,pause_after_each_call) SELECT \"$campaign_name\",\"$campaign_id\",\"N\",dial_status_a,dial_status_b,dial_status_c,dial_status_d,dial_status_e,lead_order,park_ext,park_file_name,web_form_address,allow_closers,hopper_level,auto_dial_level,next_agent_call,local_call_time,voicemail_ext,dial_timeout,dial_prefix,campaign_cid,campaign_vdad_exten,campaign_rec_exten,campaign_recording,campaign_rec_filename,campaign_script,get_call_launch,am_message_exten,amd_send_to_vmx,xferconf_a_dtmf,xferconf_a_number,xferconf_b_dtmf,xferconf_b_number,alt_number_dialing,scheduled_callbacks,lead_filter_id,drop_call_seconds,drop_action,safe_harbor_exten,display_dialable_count,wrapup_seconds,wrapup_message,closer_campaigns,use_internal_dnc,allcalls_delay,omit_phone_code,dial_method,available_only_ratio_tally,adaptive_dropped_percentage,adaptive_maximum_level,adaptive_latest_server_time,adaptive_intensity,adaptive_dl_diff_target,concurrent_transfers,auto_alt_dial,auto_alt_dial_statuses,agent_pause_codes_active,campaign_description,campaign_changedate,campaign_stats_refresh,campaign_logindate,dial_statuses,disable_alter_custdata,no_hopper_leads_logins,\"DISABLED\",campaign_allow_inbound,manual_dial_list_id,default_xfer_group,queue_priority,drop_inbound_group,qc_enabled,qc_statuses,qc_lists,qc_web_form_address,qc_script,survey_first_audio_file,survey_dtmf_digits,survey_ni_digit,survey_opt_in_audio_file,survey_ni_audio_file,survey_method,survey_no_response_action,survey_ni_status,survey_response_digit_map,survey_xfer_exten,survey_camp_record_dir,disable_alter_custphone,display_queue_count,qc_get_record_launch,qc_show_recording,qc_shift_id,manual_dial_filter,agent_clipboard_copy,agent_extended_alt_dial,use_campaign_dnc,three_way_call_cid,three_way_dial_prefix,web_form_target,vtiger_search_category,vtiger_create_call_record,vtiger_create_lead_record,vtiger_screen_login,cpd_amd_action,agent_allow_group_alias,default_group_alias,vtiger_search_dead,vtiger_status_call,survey_third_digit,survey_fourth_digit,survey_third_audio_file,survey_fourth_audio_file,survey_third_status,survey_fourth_status,survey_third_exten,survey_fourth_exten,drop_lockout_time,quick_transfer_button,prepopulate_transfer_preset,drop_rate_group,view_calls_in_queue,view_calls_in_queue_launch,grab_calls_in_queue,call_requeue_button,pause_after_each_call from vicidial_campaigns where campaign_id='$source_campaign_id';";
$rslt=mysql_query($stmt, $link); $rslt=mysql_query($stmt, $link);
$stmtA="INSERT INTO vicidial_campaign_stats (campaign_id) values('$campaign_id');"; $stmtA="INSERT INTO vicidial_campaign_stats (campaign_id) values('$campaign_id');";
@@ -10522,7 +10563,7 @@ if ($ADD==41)
if ( (!ereg("DISABLED",$list_order_mix)) and ($hopper_level < 100) ) if ( (!ereg("DISABLED",$list_order_mix)) and ($hopper_level < 100) )
{$hopper_level='100';} {$hopper_level='100';}
$stmtA="UPDATE vicidial_campaigns set campaign_name='$campaign_name',active='$active',dial_status_a='$dial_status_a',dial_status_b='$dial_status_b',dial_status_c='$dial_status_c',dial_status_d='$dial_status_d',dial_status_e='$dial_status_e',lead_order='$lead_order',allow_closers='$allow_closers',hopper_level='$hopper_level', $adlSQL next_agent_call='$next_agent_call', local_call_time='$local_call_time', voicemail_ext='$voicemail_ext', dial_timeout='$dial_timeout', dial_prefix='$dial_prefix', campaign_cid='$campaign_cid', campaign_vdad_exten='$campaign_vdad_exten', web_form_address='" . mysql_real_escape_string($web_form_address) . "', park_ext='$park_ext', park_file_name='$park_file_name', campaign_rec_exten='$campaign_rec_exten', campaign_recording='$campaign_recording', campaign_rec_filename='$campaign_rec_filename', campaign_script='$script_id', get_call_launch='$get_call_launch', am_message_exten='$am_message_exten', amd_send_to_vmx='$amd_send_to_vmx', xferconf_a_dtmf='$xferconf_a_dtmf',xferconf_a_number='$xferconf_a_number',xferconf_b_dtmf='$xferconf_b_dtmf',xferconf_b_number='$xferconf_b_number',lead_filter_id='$lead_filter_id',alt_number_dialing='$alt_number_dialing',scheduled_callbacks='$scheduled_callbacks',drop_action='$drop_action',drop_call_seconds='$drop_call_seconds',safe_harbor_exten='$safe_harbor_exten',wrapup_seconds='$wrapup_seconds',wrapup_message='$wrapup_message',closer_campaigns='$groups_value',use_internal_dnc='$use_internal_dnc',allcalls_delay='$allcalls_delay',omit_phone_code='$omit_phone_code',dial_method='$dial_method',available_only_ratio_tally='$available_only_ratio_tally',adaptive_dropped_percentage='$adaptive_dropped_percentage',adaptive_maximum_level='$adaptive_maximum_level',adaptive_latest_server_time='$adaptive_latest_server_time',adaptive_intensity='$adaptive_intensity',adaptive_dl_diff_target='$adaptive_dl_diff_target',concurrent_transfers='$concurrent_transfers',auto_alt_dial='$auto_alt_dial',agent_pause_codes_active='$agent_pause_codes_active',campaign_description='$campaign_description',campaign_changedate='$SQLdate',campaign_stats_refresh='$campaign_stats_refresh',disable_alter_custdata='$disable_alter_custdata',no_hopper_leads_logins='$no_hopper_leads_logins',list_order_mix='$list_order_mix',campaign_allow_inbound='$campaign_allow_inbound',manual_dial_list_id='$manual_dial_list_id',default_xfer_group='$default_xfer_group',xfer_groups='$XFERgroups_value',queue_priority='$queue_priority',drop_inbound_group='$drop_inbound_group',disable_alter_custphone='$disable_alter_custphone',display_queue_count='$display_queue_count',manual_dial_filter='$manual_dial_filter',agent_clipboard_copy='$agent_clipboard_copy',agent_extended_alt_dial='$agent_extended_alt_dial',use_campaign_dnc='$use_campaign_dnc',three_way_call_cid='$three_way_call_cid',three_way_dial_prefix='$three_way_dial_prefix',web_form_target='$web_form_target',vtiger_search_category='$vtiger_search_category',vtiger_create_call_record='$vtiger_create_call_record',vtiger_create_lead_record='$vtiger_create_lead_record',vtiger_screen_login='$vtiger_screen_login',cpd_amd_action='$cpd_amd_action',agent_allow_group_alias='$agent_allow_group_alias',default_group_alias='$default_group_alias',vtiger_search_dead='$vtiger_search_dead',vtiger_status_call='$vtiger_status_call',drop_lockout_time='$drop_lockout_time',quick_transfer_button='$quick_transfer_button',prepopulate_transfer_preset='$prepopulate_transfer_preset',drop_rate_group='$drop_rate_group' where campaign_id='$campaign_id';"; $stmtA="UPDATE vicidial_campaigns set campaign_name='$campaign_name',active='$active',dial_status_a='$dial_status_a',dial_status_b='$dial_status_b',dial_status_c='$dial_status_c',dial_status_d='$dial_status_d',dial_status_e='$dial_status_e',lead_order='$lead_order',allow_closers='$allow_closers',hopper_level='$hopper_level', $adlSQL next_agent_call='$next_agent_call', local_call_time='$local_call_time', voicemail_ext='$voicemail_ext', dial_timeout='$dial_timeout', dial_prefix='$dial_prefix', campaign_cid='$campaign_cid', campaign_vdad_exten='$campaign_vdad_exten', web_form_address='" . mysql_real_escape_string($web_form_address) . "', park_ext='$park_ext', park_file_name='$park_file_name', campaign_rec_exten='$campaign_rec_exten', campaign_recording='$campaign_recording', campaign_rec_filename='$campaign_rec_filename', campaign_script='$script_id', get_call_launch='$get_call_launch', am_message_exten='$am_message_exten', amd_send_to_vmx='$amd_send_to_vmx', xferconf_a_dtmf='$xferconf_a_dtmf',xferconf_a_number='$xferconf_a_number',xferconf_b_dtmf='$xferconf_b_dtmf',xferconf_b_number='$xferconf_b_number',lead_filter_id='$lead_filter_id',alt_number_dialing='$alt_number_dialing',scheduled_callbacks='$scheduled_callbacks',drop_action='$drop_action',drop_call_seconds='$drop_call_seconds',safe_harbor_exten='$safe_harbor_exten',wrapup_seconds='$wrapup_seconds',wrapup_message='$wrapup_message',closer_campaigns='$groups_value',use_internal_dnc='$use_internal_dnc',allcalls_delay='$allcalls_delay',omit_phone_code='$omit_phone_code',dial_method='$dial_method',available_only_ratio_tally='$available_only_ratio_tally',adaptive_dropped_percentage='$adaptive_dropped_percentage',adaptive_maximum_level='$adaptive_maximum_level',adaptive_latest_server_time='$adaptive_latest_server_time',adaptive_intensity='$adaptive_intensity',adaptive_dl_diff_target='$adaptive_dl_diff_target',concurrent_transfers='$concurrent_transfers',auto_alt_dial='$auto_alt_dial',agent_pause_codes_active='$agent_pause_codes_active',campaign_description='$campaign_description',campaign_changedate='$SQLdate',campaign_stats_refresh='$campaign_stats_refresh',disable_alter_custdata='$disable_alter_custdata',no_hopper_leads_logins='$no_hopper_leads_logins',list_order_mix='$list_order_mix',campaign_allow_inbound='$campaign_allow_inbound',manual_dial_list_id='$manual_dial_list_id',default_xfer_group='$default_xfer_group',xfer_groups='$XFERgroups_value',queue_priority='$queue_priority',drop_inbound_group='$drop_inbound_group',disable_alter_custphone='$disable_alter_custphone',display_queue_count='$display_queue_count',manual_dial_filter='$manual_dial_filter',agent_clipboard_copy='$agent_clipboard_copy',agent_extended_alt_dial='$agent_extended_alt_dial',use_campaign_dnc='$use_campaign_dnc',three_way_call_cid='$three_way_call_cid',three_way_dial_prefix='$three_way_dial_prefix',web_form_target='$web_form_target',vtiger_search_category='$vtiger_search_category',vtiger_create_call_record='$vtiger_create_call_record',vtiger_create_lead_record='$vtiger_create_lead_record',vtiger_screen_login='$vtiger_screen_login',cpd_amd_action='$cpd_amd_action',agent_allow_group_alias='$agent_allow_group_alias',default_group_alias='$default_group_alias',vtiger_search_dead='$vtiger_search_dead',vtiger_status_call='$vtiger_status_call',drop_lockout_time='$drop_lockout_time',quick_transfer_button='$quick_transfer_button',prepopulate_transfer_preset='$prepopulate_transfer_preset',drop_rate_group='$drop_rate_group',view_calls_in_queue='$view_calls_in_queue',view_calls_in_queue_launch='$view_calls_in_queue_launch',grab_calls_in_queue='$grab_calls_in_queue',call_requeue_button='$call_requeue_button',pause_after_each_call='$pause_after_each_call' where campaign_id='$campaign_id';";
$rslt=mysql_query($stmtA, $link); $rslt=mysql_query($stmtA, $link);
if ($reset_hopper == 'Y') if ($reset_hopper == 'Y')
@@ -14817,6 +14858,12 @@ if ($ADD==31)
$quick_transfer_button = $row[117]; $quick_transfer_button = $row[117];
$prepopulate_transfer_preset = $row[118]; $prepopulate_transfer_preset = $row[118];
$drop_rate_group = $row[119]; $drop_rate_group = $row[119];
$view_calls_in_queue = $row[120];
$view_calls_in_queue_launch = $row[121];
$grab_calls_in_queue = $row[122];
$call_requeue_button = $row[123];
$pause_after_each_call = $row[124];
if (ereg("DISABLED",$list_order_mix)) if (ereg("DISABLED",$list_order_mix))
{$DEFlistDISABLE = ''; $DEFstatusDISABLED=0;} {$DEFlistDISABLE = ''; $DEFstatusDISABLED=0;}
@@ -15443,6 +15490,16 @@ if ($ADD==31)
} }
echo "<tr bgcolor=#B6D3FC><td align=right>Agent Display Queue Count: </td><td align=left><select size=1 name=display_queue_count><option>Y</option><option>N</option><option SELECTED>$display_queue_count</option></select>$NWB#vicidial_campaigns-display_queue_count$NWE</td></tr>\n"; echo "<tr bgcolor=#B6D3FC><td align=right>Agent Display Queue Count: </td><td align=left><select size=1 name=display_queue_count><option>Y</option><option>N</option><option SELECTED>$display_queue_count</option></select>$NWB#vicidial_campaigns-display_queue_count$NWE</td></tr>\n";
echo "<tr bgcolor=#B6D3FC><td align=right>Agent View Calls in Queue: </td><td align=left><select size=1 name=view_calls_in_queue><option>NONE</option><option>ALL</option><option>1</option><option>2</option><option>3</option><option>4</option><option>5</option><option SELECTED>$view_calls_in_queue</option></select>$NWB#vicidial_campaigns-view_calls_in_queue$NWE</td></tr>\n";
echo "<tr bgcolor=#B6D3FC><td align=right>View Calls in Queue Launch: </td><td align=left><select size=1 name=view_calls_in_queue_launch><option>AUTO</option><option>MANUAL</option><option SELECTED>$view_calls_in_queue_launch</option></select>$NWB#vicidial_campaigns-view_calls_in_queue_launch$NWE</td></tr>\n";
echo "<tr bgcolor=#B6D3FC><td align=right>Agent Grab Calls in Queue: </td><td align=left><select size=1 name=grab_calls_in_queue><option>Y</option><option>N</option><option SELECTED>$grab_calls_in_queue</option></select>$NWB#vicidial_campaigns-grab_calls_in_queue$NWE</td></tr>\n";
echo "<tr bgcolor=#B6D3FC><td align=right>Agent Call Re-Queue Button: </td><td align=left><select size=1 name=call_requeue_button><option>Y</option><option>N</option><option SELECTED>$call_requeue_button</option></select>$NWB#vicidial_campaigns-call_requeue_button$NWE</td></tr>\n";
echo "<tr bgcolor=#B6D3FC><td align=right>Agent Pause After Each Call: </td><td align=left><select size=1 name=pause_after_each_call><option>Y</option><option>N</option><option SELECTED>$pause_after_each_call</option></select>$NWB#vicidial_campaigns-pause_after_each_call$NWE</td></tr>\n";
echo "<tr bgcolor=#B6D3FC><td align=right>Manual Dial List ID: </td><td align=left><input type=text name=manual_dial_list_id size=15 maxlength=12 value=\"$manual_dial_list_id\">$NWB#vicidial_campaigns-manual_dial_list_id$NWE</td></tr>\n"; echo "<tr bgcolor=#B6D3FC><td align=right>Manual Dial List ID: </td><td align=left><input type=text name=manual_dial_list_id size=15 maxlength=12 value=\"$manual_dial_list_id\">$NWB#vicidial_campaigns-manual_dial_list_id$NWE</td></tr>\n";
echo "<tr bgcolor=#B6D3FC><td align=right>Manual Dial Filter: </td><td align=left><select size=1 name=manual_dial_filter><option>NONE</option><option>DNC_ONLY</option><option>CAMPLISTS_ONLY</option><option>DNC_AND_CAMPLISTS</option><option SELECTED>$manual_dial_filter</option></select>$NWB#vicidial_campaigns-manual_dial_filter$NWE</td></tr>\n"; echo "<tr bgcolor=#B6D3FC><td align=right>Manual Dial Filter: </td><td align=left><select size=1 name=manual_dial_filter><option>NONE</option><option>DNC_ONLY</option><option>CAMPLISTS_ONLY</option><option>DNC_AND_CAMPLISTS</option><option SELECTED>$manual_dial_filter</option></select>$NWB#vicidial_campaigns-manual_dial_filter$NWE</td></tr>\n";
@@ -15531,8 +15588,8 @@ if ($ADD==31)
echo "</td></tr>\n"; echo "</td></tr>\n";
} }
echo "<tr bgcolor=#B6D3FC><td align=center colspan=2><input type=submit name=SUBMIT value=SUBMIT></td></tr>\n"; echo "<tr bgcolor=#B6D3FC><td align=center colspan=2><input type=submit name=SUBMIT value=SUBMIT></td></tr>\n";
echo "</TABLE></center></FORM>\n"; echo "</TABLE></center></FORM>\n";
echo "<center>\n"; echo "<center>\n";