Added Timer Action for Dx_DIAL_QUIET options and timer_rebeep.agi script to allow for periodic beep in agent session required by some organizations to make customers aware of a recorded line

git-svn-id: svn://192.168.202.10@1767 3d104415-ff17-0410-8863-d5cf3c621b8a
This commit is contained in:
mattf
2011-12-28 01:05:22 +00:00
parent b1157bbb54
commit 1c1792e9db
8 changed files with 352 additions and 25 deletions
+4
View File
@@ -786,6 +786,10 @@ OTHER CHANGES:
generated from the logs in real-time on the back end, they are not generated from the logs in real-time on the back end, they are not
recalculated every time the screen loads as with most other reports. recalculated every time the screen loads as with most other reports.
180. Added Timer Action for Dx_DIAL_QUIET options and timer_rebeep.agi script to
allow for periodic beep in agent session required by some organizations
to make customers aware of a recorded line.
+1 -1
View File
@@ -1176,7 +1176,7 @@ else
$stmtA = "INSERT INTO vicidial_daily_max_stats SET stats_date='$YMD',update_time=NOW(),max_inbound='$incalls_count',campaign_id='$channel_group',stats_type='INGROUP',stats_flag='OPEN';"; $stmtA = "INSERT INTO vicidial_daily_max_stats SET stats_date='$YMD',update_time=NOW(),max_inbound='$incalls_count',campaign_id='$channel_group',stats_type='INGROUP',stats_flag='OPEN';";
$affected_rows = $dbhA->do($stmtA); $affected_rows = $dbhA->do($stmtA);
$dbhP=$dbhA; $mysql_count='02195'; $MEL_aff_rows=$sthArows; &mysql_error_logging; $dbhP=$dbhA; $mysql_count='02195'; $MEL_aff_rows=$sthArows; &mysql_error_logging;
if ($AGILOG) {$agi_string = "DAILY STATS INSERT $channel_group|$affected_rows|$stmtA|\n"; &agi_output;} if ($AGILOG) {$agi_string = "DAILY STATS INSERT $channel_group|$affected_rows|$stmtA|"; &agi_output;}
} }
+5 -5
View File
@@ -2298,7 +2298,6 @@ while ($drop_timer <= $DROP_TIME)
$AGENTDIRECT_user_ids=''; $AGENTDIRECT_user_ids='';
### find number of outbound calls waiting in line in front of this call ### find number of outbound calls waiting in line in front of this call
$stmtA = "SELECT count(*) FROM vicidial_auto_calls where status = 'LIVE' and lead_id != '$CIDlead_id' and campaign_id = '$VDADcampaign' and call_time < \"$VDADcall_time\";"; $stmtA = "SELECT count(*) FROM vicidial_auto_calls where status = 'LIVE' and lead_id != '$CIDlead_id' and campaign_id = '$VDADcampaign' and call_time < \"$VDADcall_time\";";
if ($AGILOG) {$agi_string = "|$stmtA|"; &agi_output;}
$sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr;
$sthA->execute or die "executing: $stmtA ", $dbhA->errstr; $sthA->execute or die "executing: $stmtA ", $dbhA->errstr;
$sthArows=$sthA->rows; $sthArows=$sthA->rows;
@@ -2309,12 +2308,12 @@ while ($drop_timer <= $DROP_TIME)
$rec_countWAITremOUT = $aryA[0]; $rec_countWAITremOUT = $aryA[0];
} }
$sthA->finish(); $sthA->finish();
if ($AGILOG) {$agi_string = "$rec_countWAITremOUT|$stmtA|"; &agi_output;}
if (length($closer_campaigns) > 3) if (length($closer_campaigns) > 3)
{ {
### find number of inbound calls waiting in line in front of this call ### find number of inbound calls waiting in line in front of this call
$stmtA = "SELECT count(*) FROM vicidial_auto_calls where status = 'LIVE' and ( (queue_priority > '$VDADqueue_priority') and (call_type='IN') and (campaign_id IN($closer_campaigns)) );"; $stmtA = "SELECT count(*) FROM vicidial_auto_calls where ( (status = 'LIVE') and ( (queue_priority > $VDADqueue_priority) and (call_type='IN') and (campaign_id IN($closer_campaigns)) ) );";
if ($AGILOG) {$agi_string = "|$stmtA|"; &agi_output;}
$sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr;
$sthA->execute or die "executing: $stmtA ", $dbhA->errstr; $sthA->execute or die "executing: $stmtA ", $dbhA->errstr;
$sthArows=$sthA->rows; $sthArows=$sthA->rows;
@@ -2326,6 +2325,7 @@ while ($drop_timer <= $DROP_TIME)
$rec_countWAITremINallowed = $aryA[0]; $rec_countWAITremINallowed = $aryA[0];
} }
$sthA->finish(); $sthA->finish();
if ($AGILOG) {$agi_string = "$rec_countWAITremIN|$stmtA|"; &agi_output;}
} }
### if there are inbound calls waiting, see if any READY agents are able to take them ### if there are inbound calls waiting, see if any READY agents are able to take them
@@ -2384,8 +2384,7 @@ while ($drop_timer <= $DROP_TIME)
} }
### find number of inbound calls from in-groups that READY agents are able to take calls from are waiting in line in front of this call ### find number of inbound calls from in-groups that READY agents are able to take calls from are waiting in line in front of this call
$stmtA = "SELECT count(*) FROM vicidial_auto_calls where status = 'LIVE' and ( ( (queue_priority > '$VDADqueue_priority') and (call_type='IN') and (campaign_id IN($READY_agent_closer_camps)) ) $AGENTDIRECT_user_ids );"; $stmtA = "SELECT count(*) FROM vicidial_auto_calls where ( (status = 'LIVE') and ( ( (queue_priority > $VDADqueue_priority) and (call_type='IN') and (campaign_id IN($READY_agent_closer_camps)) ) ) $AGENTDIRECT_user_ids );";
if ($AGILOG) {$agi_string = "|$stmtA|"; &agi_output;}
$sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr;
$sthA->execute or die "executing: $stmtA ", $dbhA->errstr; $sthA->execute or die "executing: $stmtA ", $dbhA->errstr;
$sthArows=$sthA->rows; $sthArows=$sthA->rows;
@@ -2396,6 +2395,7 @@ while ($drop_timer <= $DROP_TIME)
$rec_countWAITremIN = $aryA[0]; $rec_countWAITremIN = $aryA[0];
} }
$sthA->finish(); $sthA->finish();
if ($AGILOG) {$agi_string = "$rec_countWAITremIN|$stmtA|"; &agi_output;}
} }
} }
+282
View File
@@ -0,0 +1,282 @@
#!/usr/bin/perl
#
# timer_rebeep.agi
#
# This script is designed to be launched from the in-group/campaign timer
# setting to set another trigger event for the next X seconds. Often used for
# calls that need to have a periodic beep signifying that the call is being
# recorded
#
# Just add the following to the System Settings Custom Dialplan Entry
# and set rebuild conf=Y
# exten => 8399,1,Answer
# exten => 8399,n,Wait(1)
# exten => 8399,n,Playback(beep)
# exten => 8399,n,AGI(timer_rebeep.agi,20---D1_DIAL_QUIET)
# exten => 8399,n,Hangup
#
# ; Below are the parameters needed for the script to be run properly
# ; 1. seconds delay before next trigger goes
# ; 2. timer action to launch
#
# Then set the in-groups/campaigns that you want to have this enabled
# "Timer Action" = D1_DIAL_QUIET
# "Timer Action Seconds" = 20
# "Transfer Conf Number 1" = 8399
#
# Copyright (C) 2011 Matt Florell <vicidial@gmail.com> LICENSE: AGPLv2
#
# CHANGELOG
# 111227-1418 - First build
#
$US='_';
&get_time_now;
$start_epoch = $now_date_epoch;
$script = 'timer_rebeep.agi';
$now_date_epoch = time();
$now_date = "$year-$mon-$mday $hour:$min:$sec";
$now_day = "$year-$mon-$mday";
($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime(time);
$year = ($year + 1900);
$mon++;
if ($mon < 10) {$mon = "0$mon";}
if ($mday < 10) {$mday = "0$mday";}
if ($hour < 10) {$Fhour = "0$hour";}
if ($min < 10) {$min = "0$min";}
if ($sec < 10) {$sec = "0$sec";}
$US='_';
# default path to astguiclient configuration file:
$PATHconf = '/etc/astguiclient.conf';
open(conf, "$PATHconf") || die "can't open $PATHconf: $!\n";
@conf = <conf>;
close(conf);
$i=0;
foreach(@conf)
{
$line = $conf[$i];
$line =~ s/ |>|\n|\r|\t|\#.*|;.*//gi;
if ( ($line =~ /^PATHlogs/) && ($CLIlogs < 1) )
{$PATHlogs = $line; $PATHlogs =~ s/.*=//gi;}
if ( ($line =~ /^PATHagi/) && ($CLIagi < 1) )
{$PATHagi = $line; $PATHagi =~ s/.*=//gi;}
if ( ($line =~ /^PATHsounds/) && ($CLIsounds < 1) )
{$PATHsounds = $line; $PATHsounds =~ s/.*=//gi;}
if ( ($line =~ /^PATHmonitor/) && ($CLImonitor < 1) )
{$PATHmonitor = $line; $PATHmonitor =~ s/.*=//gi;}
if ( ($line =~ /^VARserver_ip/) && ($CLIserver_ip < 1) )
{$VARserver_ip = $line; $VARserver_ip =~ s/.*=//gi;}
if ( ($line =~ /^VARDB_server/) && ($CLIDB_server < 1) )
{$VARDB_server = $line; $VARDB_server =~ s/.*=//gi;}
if ( ($line =~ /^VARDB_database/) && ($CLIDB_database < 1) )
{$VARDB_database = $line; $VARDB_database =~ s/.*=//gi;}
if ( ($line =~ /^VARDB_user/) && ($CLIDB_user < 1) )
{$VARDB_user = $line; $VARDB_user =~ s/.*=//gi;}
if ( ($line =~ /^VARDB_pass/) && ($CLIDB_pass < 1) )
{$VARDB_pass = $line; $VARDB_pass =~ s/.*=//gi;}
if ( ($line =~ /^VARDB_port/) && ($CLIDB_port < 1) )
{$VARDB_port = $line; $VARDB_port =~ s/.*=//gi;}
$i++;
}
if (!$VARDB_port) {$VARDB_port='3306';}
if (!$AGILOGfile) {$AGILOGfile = "$PATHlogs/rebeep.$year-$mon-$mday";}
use DBI;
use Asterisk::AGI;
$AGI = new Asterisk::AGI;
$dbhA = DBI->connect("DBI:mysql:$VARDB_database:$VARDB_server:$VARDB_port", "$VARDB_user", "$VARDB_pass")
or die "Couldn't connect to database: " . DBI->errstr;
# defaults:
$AGILOG = 2;
$seconds_delay = '20';
$timer_action = 'D1_DIAL_QUIET';
### begin parsing run-time options ###
if (length($ARGV[0])>1)
{
if ($AGILOG) {$agi_string = "Perl Environment Dump:"; &agi_output;}
$i=0;
while ($#ARGV >= $i)
{
$args = "$args $ARGV[$i]";
if ($AGILOG) {$agi_string = "$i|$ARGV[$i]"; &agi_output;}
$i++;
}
### list of command-line array arguments:
@ARGV_vars = split(/---/, $ARGV[0]);
if (length($ARGV_vars[0]) > 0) {$seconds_delay = $ARGV_vars[0];}
if (length($ARGV_vars[1]) > 0) {$timer_action = $ARGV_vars[1];}
}
$|=1;
while(<STDIN>)
{
chomp;
last unless length($_);
if ($V)
{
if (/^agi_(\w+)\:\s+(.*)$/)
{
$AGI{$1} = $2;
}
}
if (/^agi_context\:\s+(.*)$/) {$context = $1;}
if (/^agi_priority\:\s+(.*)$/) {$priority = $1;}
if (/^agi_uniqueid\:\s+(.*)$/) {$unique_id = $1; $uniqueid = $1;}
if (/^agi_channel\:\s+(.*)$/) {$channel = $1;}
if (/^agi_callerid\:\s+(.*)$/) {$callerid = $1;}
if (/^agi_calleridname\:\s+(.*)$/) {$calleridname = $1;}
if (/^agi_extension\:\s+(.*)$/) {$extension = $1;}
}
if ( ($callerid =~ /\".*\"/) && ( (!$calleridname) or ($calleridname =~ /unknown/) ) )
{
$calleridname = $callerid;
$calleridname =~ s/\<\d\d\d\d\d\d\d\d\d\d\>//gi;
$calleridname =~ s/\"|\" //gi;
}
$callerid =~ s/\D//gi;
$calleridname =~ s/unknown//gi;
if ( (!$callerid) or ($callerid =~ /unknown/) )
{$callerid = $calleridname;}
$phone_number=$callerid;
### Grab vicidial_manager record
$man_id='';
$stmtA = "SELECT man_id,entry_date,cmd_line_d,server_ip FROM vicidial_manager where callerid='$calleridname' order by man_id desc limit 1;";
$sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr;
$sthA->execute or die "executing: $stmtA ", $dbhA->errstr;
$sthArows=$sthA->rows;
if ($sthArows > 0)
{
@aryA = $sthA->fetchrow_array;
$man_id = $aryA[0];
$entry_date = $aryA[1];
$EXTsession = $aryA[2];
$EXTsession =~ s/Exten: //gi;
while (length($EXTsession) > 7) {$EXTsession =~ s/^.//gi;}
$EXTserver_ip = $aryA[3];
}
$sthA->finish();
$AGI->stream_file('sip-silence');
$AGI->stream_file('sip-silence');
$AGI->stream_file('sip-silence');
if (length($man_id) > 0)
{
$stmtA = "SELECT user,UNIX_TIMESTAMP(last_call_time) FROM vicidial_live_agents where server_ip='$EXTserver_ip' and conf_exten='$EXTsession' order by last_update_time desc limit 1;";
$sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr;
$sthA->execute or die "executing: $stmtA ", $dbhA->errstr;
$sthArows=$sthA->rows;
if ($sthArows > 0)
{
@aryA = $sthA->fetchrow_array;
$user = $aryA[0];
$last_call_time = $aryA[1];
$call_length = ($now_date_epoch - $last_call_time);
$next_length = ($call_length + $seconds_delay - 4);
$sthA->finish();
### update the agent live record for the next timer trigger
$stmtA="UPDATE vicidial_live_agents set external_timer_action='$timer_action',external_timer_action_message='',external_timer_action_seconds='$next_length' where user='$user' and conf_exten='$EXTsession' and server_ip='$EXTserver_ip';";
$affected_rows = $dbhA->do($stmtA);
print STDERR "|$affected_rows|$man_id|$entry_date|$timer_action|$next_length|$EXTserver_ip|$EXTsession|$stmtA|\n";
}
else
{
$sthA->finish();
print STDERR "|ERROR|$man_id|$entry_date|$timer_action|$seconds_delay|$EXTserver_ip|$EXTsession|\n";
}
}
else
{
print STDERR "|ERROR|$man_id|$entry_date|$timer_action|$seconds_delay|$EXTserver_ip|$EXTsession|\n";
}
$dbhA->disconnect();
exit;
#######################
##### Subroutines #####
sub get_time_now #get the current date and time and epoch for logging call lengths and datetimes
{
($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime(time);
$year = ($year + 1900);
$mon++;
if ($mon < 10) {$mon = "0$mon";}
if ($mday < 10) {$mday = "0$mday";}
if ($hour < 10) {$Fhour = "0$hour";}
if ($min < 10) {$min = "0$min";}
if ($sec < 10) {$sec = "0$sec";}
$now_date_epoch = time();
$now_date = "$year-$mon-$mday $hour:$min:$sec";
$filedate = "$year$mon$mday$hour$min$sec";
}
sub checkresult {
my ($res) = @_;
my $retval;
$tests++;
chomp $res;
if ($res =~ /^200/) {
$res =~ /result=(-?\d+)/;
if (!length($1)) {
print STDERR "FAIL ($res)\n";
$fail++;
} else {
print STDERR "PASS ($1)\n";
$pass++;
}
} else {
print STDERR "FAIL (unexpected result '$res')\n";
$fail++;
}
}
sub agi_output
{
if ($AGILOG >=2)
{
### open the log file for writing ###
open(Lout, ">>$AGILOGfile")
|| die "Can't open $AGILOGfile: $!\n";
print Lout "$now_date|$script|$agi_string\n";
close(Lout);
}
### send to STDERR writing ###
if ( ($AGILOG == '1') || ($AGILOG == '3') )
{print STDERR "$now_date|$script|$agi_string\n";}
$agi_string='';
}
sub leading_zero($)
{
$_ = $_[0];
s/^(\d)$/0$1/;
s/^(\d\d)$/0$1/;
return $_;
} # End of the leading_zero() routine.
@@ -777,7 +777,7 @@ agent_select_territories ENUM('Y','N') default 'N',
campaign_calldate DATETIME, campaign_calldate DATETIME,
crm_popup_login ENUM('Y','N') default 'N', crm_popup_login ENUM('Y','N') default 'N',
crm_login_address TEXT, crm_login_address TEXT,
timer_action ENUM('NONE','WEBFORM','WEBFORM2','D1_DIAL','D2_DIAL','D3_DIAL','D4_DIAL','D5_DIAL','MESSAGE_ONLY','HANGUP','CALLMENU','EXTENSION','IN_GROUP') default 'NONE', timer_action VARCHAR(20) default 'NONE',
timer_action_message VARCHAR(255) default '', timer_action_message VARCHAR(255) default '',
timer_action_seconds MEDIUMINT(7) default '-1', timer_action_seconds MEDIUMINT(7) default '-1',
start_call_url TEXT, start_call_url TEXT,
@@ -997,7 +997,7 @@ no_agent_no_queue ENUM('N','Y','NO_PAUSED') default 'N',
no_agent_action ENUM('CALLMENU','INGROUP','DID','MESSAGE','EXTENSION','VOICEMAIL') default 'MESSAGE', no_agent_action ENUM('CALLMENU','INGROUP','DID','MESSAGE','EXTENSION','VOICEMAIL') default 'MESSAGE',
no_agent_action_value VARCHAR(255) default 'nbdy-avail-to-take-call|vm-goodbye', no_agent_action_value VARCHAR(255) default 'nbdy-avail-to-take-call|vm-goodbye',
web_form_address_two TEXT, web_form_address_two TEXT,
timer_action ENUM('NONE','WEBFORM','WEBFORM2','D1_DIAL','D2_DIAL','D3_DIAL','D4_DIAL','D5_DIAL','MESSAGE_ONLY','HANGUP','CALLMENU','EXTENSION','IN_GROUP') default 'NONE', timer_action VARCHAR(20) default 'NONE',
timer_action_message VARCHAR(255) default '', timer_action_message VARCHAR(255) default '',
timer_action_seconds MEDIUMINT(7) default '-1', timer_action_seconds MEDIUMINT(7) default '-1',
start_call_url TEXT, start_call_url TEXT,
@@ -2777,7 +2777,7 @@ CREATE TABLE vicidial_log_noanswer_archive LIKE vicidial_log_noanswer;
CREATE TABLE vicidial_did_agent_log_archive LIKE vicidial_did_agent_log; CREATE TABLE vicidial_did_agent_log_archive LIKE vicidial_did_agent_log;
CREATE UNIQUE INDEX vdala on vicidial_did_agent_log_archive (uniqueid,call_date,did_route); CREATE UNIQUE INDEX vdala on vicidial_did_agent_log_archive (uniqueid,call_date,did_route);
UPDATE system_settings SET db_schema_version='1311',db_schema_update_date=NOW(); UPDATE system_settings SET db_schema_version='1312',db_schema_update_date=NOW();
GRANT RELOAD ON *.* TO cron@'%'; GRANT RELOAD ON *.* TO cron@'%';
GRANT RELOAD ON *.* TO cron@localhost; GRANT RELOAD ON *.* TO cron@localhost;
+4
View File
@@ -1239,3 +1239,7 @@ index (campaign_id)
UPDATE system_settings SET db_schema_version='1311',db_schema_update_date=NOW() where db_schema_version < 1311; UPDATE system_settings SET db_schema_version='1311',db_schema_update_date=NOW() where db_schema_version < 1311;
ALTER TABLE vicidial_campaigns MODIFY timer_action VARCHAR(20) default 'NONE';
ALTER TABLE vicidial_inbound_groups MODIFY timer_action VARCHAR(20) default 'NONE';
UPDATE system_settings SET db_schema_version='1312',db_schema_update_date=NOW() where db_schema_version < 1312;
+48 -12
View File
@@ -372,10 +372,11 @@
# 111024-1237 - Added callback_list_calltime option # 111024-1237 - Added callback_list_calltime option
# 111114-0039 - Added scheduled callback and qm-dispo-code fields to API # 111114-0039 - Added scheduled callback and qm-dispo-code fields to API
# 111202-1444 - Added grade-random next-agent-call options # 111202-1444 - Added grade-random next-agent-call options
# 111227-1940 - Added Timer Action for Dx_DIAL_QUIET options
# #
$version = '2.4-339c'; $version = '2.4-340c';
$build = '111202-1444'; $build = '111227-1940';
$mel=1; # Mysql Error Log enabled = 1 $mel=1; # Mysql Error Log enabled = 1
$mysql_log_count=75; $mysql_log_count=75;
$one_mysql_log=0; $one_mysql_log=0;
@@ -9248,32 +9249,47 @@ function set_length(SLnumber,SLlength_goal,SLdirection)
document.vicidial_form.xfername.value = 'D5'; document.vicidial_form.xfername.value = 'D5';
} }
function DtMf_PreSet_a_DiaL() function DtMf_PreSet_a_DiaL(taskquiet)
{ {
document.vicidial_form.conf_dtmf.value = CalL_XC_a_Dtmf; document.vicidial_form.conf_dtmf.value = CalL_XC_a_Dtmf;
document.vicidial_form.xfernumber.value = CalL_XC_a_NuMber; document.vicidial_form.xfernumber.value = CalL_XC_a_NuMber;
basic_originate_call(CalL_XC_a_NuMber,'NO','YES',session_id,'YES','','1','0'); var session_id_dial = session_id;
if (taskquiet == 'YES')
{session_id_dial = '7' + session_id};
basic_originate_call(CalL_XC_a_NuMber,'NO','YES',session_id_dial,'YES','','1','0');
} }
function DtMf_PreSet_b_DiaL() function DtMf_PreSet_b_DiaL(taskquiet)
{ {
document.vicidial_form.conf_dtmf.value = CalL_XC_b_Dtmf; document.vicidial_form.conf_dtmf.value = CalL_XC_b_Dtmf;
document.vicidial_form.xfernumber.value = CalL_XC_b_NuMber; document.vicidial_form.xfernumber.value = CalL_XC_b_NuMber;
basic_originate_call(CalL_XC_b_NuMber,'NO','YES',session_id,'YES','','1','0'); var session_id_dial = session_id;
if (taskquiet == 'YES')
{session_id_dial = '7' + session_id};
basic_originate_call(CalL_XC_b_NuMber,'NO','YES',session_id_dial,'YES','','1','0');
} }
function DtMf_PreSet_c_DiaL() function DtMf_PreSet_c_DiaL(taskquiet)
{ {
document.vicidial_form.xfernumber.value = CalL_XC_c_NuMber; document.vicidial_form.xfernumber.value = CalL_XC_c_NuMber;
basic_originate_call(CalL_XC_c_NuMber,'NO','YES',session_id,'YES','','1','0'); var session_id_dial = session_id;
if (taskquiet == 'YES')
{session_id_dial = '7' + session_id};
basic_originate_call(CalL_XC_c_NuMber,'NO','YES',session_id_dial,'YES','','1','0');
} }
function DtMf_PreSet_d_DiaL() function DtMf_PreSet_d_DiaL(taskquiet)
{ {
document.vicidial_form.xfernumber.value = CalL_XC_d_NuMber; document.vicidial_form.xfernumber.value = CalL_XC_d_NuMber;
basic_originate_call(CalL_XC_d_NuMber,'NO','YES',session_id,'YES','','1','0'); var session_id_dial = session_id;
if (taskquiet == 'YES')
{session_id_dial = '7' + session_id};
basic_originate_call(CalL_XC_d_NuMber,'NO','YES',session_id_dial,'YES','','1','0');
} }
function DtMf_PreSet_e_DiaL() function DtMf_PreSet_e_DiaL(taskquiet)
{ {
document.vicidial_form.xfernumber.value = CalL_XC_e_NuMber; document.vicidial_form.xfernumber.value = CalL_XC_e_NuMber;
basic_originate_call(CalL_XC_e_NuMber,'NO','YES',session_id,'YES','','1','0'); var session_id_dial = session_id;
if (taskquiet == 'YES')
{session_id_dial = '7' + session_id};
basic_originate_call(CalL_XC_e_NuMber,'NO','YES',session_id_dial,'YES','','1','0');
} }
function hangup_timer_xfer() function hangup_timer_xfer()
{ {
@@ -11595,6 +11611,26 @@ function phone_number_format(formatphone) {
{ {
DtMf_PreSet_e_DiaL(); DtMf_PreSet_e_DiaL();
} }
if (timer_action == 'D1_DIAL_QUIET')
{
DtMf_PreSet_a_DiaL('YES');
}
if (timer_action == 'D2_DIAL_QUIET')
{
DtMf_PreSet_b_DiaL('YES');
}
if (timer_action == 'D3_DIAL_QUIET')
{
DtMf_PreSet_c_DiaL('YES');
}
if (timer_action == 'D4_DIAL_QUIET')
{
DtMf_PreSet_d_DiaL('YES');
}
if (timer_action == 'D5_DIAL_QUIET')
{
DtMf_PreSet_e_DiaL('YES');
}
if ( (timer_action == 'HANGUP') && (VD_live_customer_call==1) ) if ( (timer_action == 'HANGUP') && (VD_live_customer_call==1) )
{ {
hangup_timer_xfer(); hangup_timer_xfer();
+5 -4
View File
@@ -3021,12 +3021,13 @@ else
# 111122-1333 - Added Inbound Daily Report # 111122-1333 - Added Inbound Daily Report
# 111201-0939 - Added graded-random next-agent-call option # 111201-0939 - Added graded-random next-agent-call option
# 111223-0043 - Added max stats displays for in-groups and , fixed several ereg issues # 111223-0043 - Added max stats displays for in-groups and , fixed several ereg issues
# 111227-1938 - Added Timer Action for Dx_DIAL_QUIET 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.4-351a'; $admin_version = '2.4-352a';
$build = '111223-0043'; $build = '111227-1938';
$STARTtime = date("U"); $STARTtime = date("U");
$SQLdate = date("Y-m-d H:i:s"); $SQLdate = date("Y-m-d H:i:s");
@@ -21190,7 +21191,7 @@ if ($ADD==31)
echo "<tr bgcolor=#B6D3FC><td align=right>Park Call IVR AGI: </td><td align=left><input type=text name=ivr_park_call_agi size=80 maxlength=1000 value=\"$ivr_park_call_agi\">$NWB#vicidial_campaigns-ivr_park_call_agi$NWE</td></tr>\n"; echo "<tr bgcolor=#B6D3FC><td align=right>Park Call IVR AGI: </td><td align=left><input type=text name=ivr_park_call_agi size=80 maxlength=1000 value=\"$ivr_park_call_agi\">$NWB#vicidial_campaigns-ivr_park_call_agi$NWE</td></tr>\n";
echo "<tr bgcolor=#8EBCFD><td align=right>Timer Action: </td><td align=left><select size=1 name=timer_action><option selected>NONE</option><option>D1_DIAL</option><option>D2_DIAL</option><option>D3_DIAL</option><option>D4_DIAL</option><option>D5_DIAL</option><option>MESSAGE_ONLY</option><option>WEBFORM</option>$eswHTML<option>HANGUP</option><option>CALLMENU</option><option>EXTENSION</option><option>IN_GROUP</option><option selected>$timer_action</option></select>$NWB#vicidial_campaigns-timer_action$NWE</td></tr>\n"; echo "<tr bgcolor=#8EBCFD><td align=right>Timer Action: </td><td align=left><select size=1 name=timer_action><option selected>NONE</option><option>D1_DIAL</option><option>D2_DIAL</option><option>D3_DIAL</option><option>D4_DIAL</option><option>D5_DIAL</option><option>D1_DIAL_QUIET</option><option>D2_DIAL_QUIET</option><option>D3_DIAL_QUIET</option><option>D4_DIAL_QUIET</option><option>D5_DIAL_QUIET</option><option>MESSAGE_ONLY</option><option>WEBFORM</option>$eswHTML<option>HANGUP</option><option>CALLMENU</option><option>EXTENSION</option><option>IN_GROUP</option><option selected>$timer_action</option></select>$NWB#vicidial_campaigns-timer_action$NWE</td></tr>\n";
echo "<tr bgcolor=#8EBCFD><td align=right>Timer Action Message: </td><td align=left><input type=text name=timer_action_message size=50 maxlength=255 value=\"$timer_action_message\">$NWB#vicidial_campaigns-timer_action_message$NWE</td></tr>\n"; echo "<tr bgcolor=#8EBCFD><td align=right>Timer Action Message: </td><td align=left><input type=text name=timer_action_message size=50 maxlength=255 value=\"$timer_action_message\">$NWB#vicidial_campaigns-timer_action_message$NWE</td></tr>\n";
@@ -24924,7 +24925,7 @@ if ($ADD==3111)
echo "<tr bgcolor=#B6D3FC><td align=right>Transfer-Conf Number 5: </td><td align=left><input type=text name=xferconf_e_number size=20 maxlength=50 value=\"$xferconf_e_number\">$NWB#vicidial_inbound_groups-xferconf_a_dtmf$NWE</td></tr>\n"; echo "<tr bgcolor=#B6D3FC><td align=right>Transfer-Conf Number 5: </td><td align=left><input type=text name=xferconf_e_number size=20 maxlength=50 value=\"$xferconf_e_number\">$NWB#vicidial_inbound_groups-xferconf_a_dtmf$NWE</td></tr>\n";
echo "<tr bgcolor=#B6D3FC><td align=right>Timer Action: </td><td align=left><select size=1 name=timer_action><option selected>NONE</option><option>D1_DIAL</option><option>D2_DIAL</option><option>D3_DIAL</option><option>D4_DIAL</option><option>D5_DIAL</option><option>MESSAGE_ONLY</option><option>WEBFORM</option>$eswHTML<option>HANGUP</option><option>CALLMENU</option><option>EXTENSION</option><option>IN_GROUP</option><option selected>$timer_action</option></select>$NWB#vicidial_inbound_groups-timer_action$NWE</td></tr>\n"; echo "<tr bgcolor=#B6D3FC><td align=right>Timer Action: </td><td align=left><select size=1 name=timer_action><option selected>NONE</option><option>D1_DIAL</option><option>D2_DIAL</option><option>D3_DIAL</option><option>D4_DIAL</option><option>D5_DIAL</option><option>D1_DIAL_QUIET</option><option>D2_DIAL_QUIET</option><option>D3_DIAL_QUIET</option><option>D4_DIAL_QUIET</option><option>D5_DIAL_QUIET</option><option>MESSAGE_ONLY</option><option>WEBFORM</option>$eswHTML<option>HANGUP</option><option>CALLMENU</option><option>EXTENSION</option><option>IN_GROUP</option><option selected>$timer_action</option></select>$NWB#vicidial_inbound_groups-timer_action$NWE</td></tr>\n";
echo "<tr bgcolor=#B6D3FC><td align=right>Timer Action Message: </td><td align=left><input type=text name=timer_action_message size=50 maxlength=255 value=\"$timer_action_message\">$NWB#vicidial_inbound_groups-timer_action_message$NWE</td></tr>\n"; echo "<tr bgcolor=#B6D3FC><td align=right>Timer Action Message: </td><td align=left><input type=text name=timer_action_message size=50 maxlength=255 value=\"$timer_action_message\">$NWB#vicidial_inbound_groups-timer_action_message$NWE</td></tr>\n";