Added In-Group options for Estimated Hold Time Minimum, which can replace the "15 seconds" minimum accouncement with an announcement of your choosing
Added a campaign option for Manual Preview Dial, to enable or disable that manual dial option, as well as allowing or disallowing for the SKIP lead option. Added two new recording filename variable options: VENDORLEADCODE, LEADID Raised limits on several agent interface lists(statuses, ingroups,etc...) git-svn-id: svn://192.168.202.10@1535 3d104415-ff17-0410-8863-d5cf3c621b8a
This commit is contained in:
@@ -356,6 +356,16 @@ OTHER CHANGES:
|
|||||||
them when they are finished. Optional in-group redirect if customer
|
them when they are finished. Optional in-group redirect if customer
|
||||||
does not enter valid input. See example park_call_IVR_example.agi script
|
does not enter valid input. See example park_call_IVR_example.agi script
|
||||||
|
|
||||||
|
78. Added In-Group options for Estimated Hold Time Minimum, which can replace
|
||||||
|
the "15 seconds" minimum accouncement with an announcement of your
|
||||||
|
choosing
|
||||||
|
|
||||||
|
79. Added a campaign option for Manual Preview Dial, to enable or disable that
|
||||||
|
manual dial option, as well as allowing or disallowing for the SKIP
|
||||||
|
lead option.
|
||||||
|
|
||||||
|
80. Added two new recording filename variable options: VENDORLEADCODE, LEADID
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -142,6 +142,7 @@
|
|||||||
# 100830-1445 - Allow the changing of the queue priority of a call while the call is in queue
|
# 100830-1445 - Allow the changing of the queue priority of a call while the call is in queue
|
||||||
# 100903-0041 - Changed lead_id max length to 10 digits
|
# 100903-0041 - Changed lead_id max length to 10 digits
|
||||||
# 100929-1201 - Added add_lead_url feature
|
# 100929-1201 - Added add_lead_url feature
|
||||||
|
# 101008-0410 - Added option for alternate Minimum Hold Time Message
|
||||||
#
|
#
|
||||||
|
|
||||||
$script = 'agi-VDAD_ALL_inbound.agi';
|
$script = 'agi-VDAD_ALL_inbound.agi';
|
||||||
@@ -583,7 +584,7 @@ $sthA->finish();
|
|||||||
|
|
||||||
### Grab inbound groups values from the database
|
### Grab inbound groups values from the database
|
||||||
$cbc=0;
|
$cbc=0;
|
||||||
$stmtA = "SELECT call_time_id,after_hours_action,after_hours_message_filename,after_hours_exten,after_hours_voicemail,welcome_message_filename,moh_context,onhold_prompt_filename,prompt_interval,agent_alert_exten,agent_alert_delay,drop_call_seconds,drop_action,drop_exten,next_agent_call,voicemail_ext,queue_priority,drop_inbound_group,afterhours_xfer_group,play_place_in_line,play_estimate_hold_time,hold_time_option,hold_time_option_seconds,hold_time_option_exten,hold_time_option_voicemail,hold_time_option_xfer_group,hold_time_option_callback_filename,hold_time_option_callback_list_id,hold_recall_xfer_group,no_delay_call_route,play_welcome_message,no_agent_no_queue,no_agent_action,no_agent_action_value,extension_appended_cidname,uniqueid_status_display,uniqueid_status_prefix,hold_time_option_minimum,hold_time_option_press_filename,hold_time_option_callmenu,onhold_prompt_no_block,onhold_prompt_seconds,hold_time_option_no_block,hold_time_option_prompt_seconds,hold_time_second_option,hold_time_third_option,wait_hold_option_priority,wait_time_option,wait_time_second_option,wait_time_third_option,wait_time_option_seconds,wait_time_option_exten,wait_time_option_voicemail,wait_time_option_xfer_group,wait_time_option_callmenu,wait_time_option_callback_filename,wait_time_option_callback_list_id,wait_time_option_press_filename,wait_time_option_no_block,wait_time_option_prompt_seconds,active,calculate_estimated_hold_seconds,add_lead_url FROM vicidial_inbound_groups where group_id = '$channel_group';";
|
$stmtA = "SELECT call_time_id,after_hours_action,after_hours_message_filename,after_hours_exten,after_hours_voicemail,welcome_message_filename,moh_context,onhold_prompt_filename,prompt_interval,agent_alert_exten,agent_alert_delay,drop_call_seconds,drop_action,drop_exten,next_agent_call,voicemail_ext,queue_priority,drop_inbound_group,afterhours_xfer_group,play_place_in_line,play_estimate_hold_time,hold_time_option,hold_time_option_seconds,hold_time_option_exten,hold_time_option_voicemail,hold_time_option_xfer_group,hold_time_option_callback_filename,hold_time_option_callback_list_id,hold_recall_xfer_group,no_delay_call_route,play_welcome_message,no_agent_no_queue,no_agent_action,no_agent_action_value,extension_appended_cidname,uniqueid_status_display,uniqueid_status_prefix,hold_time_option_minimum,hold_time_option_press_filename,hold_time_option_callmenu,onhold_prompt_no_block,onhold_prompt_seconds,hold_time_option_no_block,hold_time_option_prompt_seconds,hold_time_second_option,hold_time_third_option,wait_hold_option_priority,wait_time_option,wait_time_second_option,wait_time_third_option,wait_time_option_seconds,wait_time_option_exten,wait_time_option_voicemail,wait_time_option_xfer_group,wait_time_option_callmenu,wait_time_option_callback_filename,wait_time_option_callback_list_id,wait_time_option_press_filename,wait_time_option_no_block,wait_time_option_prompt_seconds,active,calculate_estimated_hold_seconds,add_lead_url,eht_minimum_prompt_filename,eht_minimum_prompt_no_block,eht_minimum_prompt_seconds FROM vicidial_inbound_groups where group_id = '$channel_group';";
|
||||||
$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;
|
||||||
@@ -661,6 +662,9 @@ if ($sthArows > 0)
|
|||||||
$ingroup_active = $aryA[60];
|
$ingroup_active = $aryA[60];
|
||||||
$calculate_estimated_hold_seconds = $aryA[61];
|
$calculate_estimated_hold_seconds = $aryA[61];
|
||||||
$add_lead_url = $aryA[62];
|
$add_lead_url = $aryA[62];
|
||||||
|
$eht_minimum_prompt_filename = $aryA[63];
|
||||||
|
$eht_minimum_prompt_no_block = $aryA[64];
|
||||||
|
$eht_minimum_prompt_seconds = $aryA[65];
|
||||||
|
|
||||||
$custom_call_id='';
|
$custom_call_id='';
|
||||||
if ($uniqueid_status_display =~ /ENABLED/)
|
if ($uniqueid_status_display =~ /ENABLED/)
|
||||||
@@ -3113,20 +3117,93 @@ while ( ($drop_timer <= $DROP_TIME) && ($wait_in_queue > 0) )
|
|||||||
$AGI->stream_file('queue-youarenext'); # you are next in line
|
$AGI->stream_file('queue-youarenext'); # you are next in line
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
$AGI->stream_file('queue-holdtime'); # the estimated hold time is currently
|
if ( ($holdtime_estimate_sec_diff <= 10) && (length($eht_minimum_prompt_filename)>0) )
|
||||||
if ($holdtime_estimate > 0)
|
|
||||||
{
|
{
|
||||||
$AGI->say_number("$holdtime_estimate");
|
$now_date_epoch = time();
|
||||||
$AGI->stream_file('queue-minutes'); # minutes
|
$no_block_SQL = '';
|
||||||
|
|
||||||
|
### if No-Block is enabled, then set the call time to right now
|
||||||
|
if ($eht_minimum_prompt_no_block =~ /Y/)
|
||||||
|
{
|
||||||
|
$NBDtarget = $now_date_epoch;
|
||||||
|
($NBsec,$NBmin,$NBhour,$NBmday,$NBmon,$NByear,$NBwday,$NByday,$NBisdst) = localtime($NBDtarget);
|
||||||
|
$NByear = ($NByear + 1900);
|
||||||
|
$NBmon++;
|
||||||
|
if ($NBmon < 10) {$NBmon = "0$NBmon";}
|
||||||
|
if ($NBmday < 10) {$NBmday = "0$NBmday";}
|
||||||
|
if ($NBhour < 10) {$NBhour = "0$NBhour";}
|
||||||
|
if ($NBmin < 10) {$NBmin = "0$NBmin";}
|
||||||
|
if ($NBsec < 10) {$NBsec = "0$NBsec";}
|
||||||
|
$NB_SQLdate = "$NByear-$NBmon-$NBmday $NBhour:$NBmin:$NBsec";
|
||||||
|
$no_block_SQL = ",call_time='$NB_SQLdate'";
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($eht_minimum_prompt_seconds < 0) {$eht_minimum_prompt_seconds=0;}
|
||||||
|
if ($eht_minimum_prompt_seconds > 1000) {$eht_minimum_prompt_seconds=1000;}
|
||||||
|
$FDtarget = ($now_date_epoch + $eht_minimum_prompt_seconds);
|
||||||
|
($Fsec,$Fmin,$Fhour,$Fmday,$Fmon,$Fyear,$Fwday,$Fyday,$Fisdst) = localtime($FDtarget);
|
||||||
|
$Fyear = ($Fyear + 1900);
|
||||||
|
$Fmon++;
|
||||||
|
if ($Fmon < 10) {$Fmon = "0$Fmon";}
|
||||||
|
if ($Fmday < 10) {$Fmday = "0$Fmday";}
|
||||||
|
if ($Fhour < 10) {$Fhour = "0$Fhour";}
|
||||||
|
if ($Fmin < 10) {$Fmin = "0$Fmin";}
|
||||||
|
if ($Fsec < 10) {$Fsec = "0$Fsec";}
|
||||||
|
$FDtsSQLdate = "$Fyear$Fmon$Fmday$Fhour$Fmin$Fsec";
|
||||||
|
|
||||||
|
$stmtA = "UPDATE vicidial_auto_calls set last_update_time='$FDtsSQLdate' $no_block_SQL where callerid='$callerid' order by call_time desc limit 1;";
|
||||||
|
$affected_rows = $dbhA->do($stmtA);
|
||||||
|
$dbhP=$dbhA; $mysql_count='02XXX'; $MEL_aff_rows=$affected_rows; &mysql_error_logging;
|
||||||
|
if ($AGILOG) {$agi_string = "-- VDAC posttime record: |$affected_rows|$FDtsSQLdate|$callerid|$no_block_SQL|EHTM"; &agi_output;}
|
||||||
|
|
||||||
|
if ( (length($eht_minimum_prompt_filename) > 0) && ($eht_minimum_prompt_filename !~ /---NONE---/) )
|
||||||
|
{
|
||||||
|
$AGI->stream_file('sip-silence'); # stop music-on-hold process
|
||||||
|
$AGI->stream_file('sip-silence'); # stop music-on-hold process
|
||||||
|
$AGI->stream_file('sip-silence'); # stop music-on-hold process
|
||||||
|
if ($eht_minimum_prompt_filename =~ /\|/)
|
||||||
|
{
|
||||||
|
@eht_minimum_prompt_filename_array = split(/\|/,$eht_minimum_prompt_filename);
|
||||||
|
$w=0;
|
||||||
|
foreach(@eht_minimum_prompt_filename_array)
|
||||||
|
{
|
||||||
|
if (length($eht_minimum_prompt_filename_array[$w])>0)
|
||||||
|
{
|
||||||
|
$AGI->stream_file("$eht_minimum_prompt_filename_array[$w]");
|
||||||
|
}
|
||||||
|
$w++;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{$AGI->stream_file("$eht_minimum_prompt_filename");}
|
||||||
|
}
|
||||||
|
|
||||||
|
### if No-Block is enabled, then set the call time back to original call time
|
||||||
|
if ($eht_minimum_prompt_no_block =~ /Y/)
|
||||||
|
{
|
||||||
|
$stmtA = "UPDATE vicidial_auto_calls set call_time='$ORIGINAL_call_time' where callerid='$callerid' order by call_time desc limit 1;";
|
||||||
|
$affected_rows = $dbhA->do($stmtA);
|
||||||
|
$dbhP=$dbhA; $mysql_count='02XXX'; $MEL_aff_rows=$affected_rows; &mysql_error_logging;
|
||||||
|
if ($AGILOG) {$agi_string = "-- No-Block Prompt Set: |$affected_rows|$ORIGINAL_call_time|$callerid|EHTM"; &agi_output;}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
if ($holdtime_estimate < 2)
|
else
|
||||||
{
|
{
|
||||||
$roundto = 5; # sensible values 5, 10, 15, ( 20, 30)
|
$AGI->stream_file('queue-holdtime'); # the estimated hold time is currently
|
||||||
$rounded_time = $holdtime_estimate_sec_diff - ( $holdtime_estimate_sec_diff % $roundto ) + $roundto;
|
if ($holdtime_estimate > 0)
|
||||||
$rounded_time = ($rounded_time - ($holdtime_estimate * 60) );
|
{
|
||||||
$AGI->say_number("$rounded_time");
|
$AGI->say_number("$holdtime_estimate");
|
||||||
$AGI->stream_file('queue-seconds'); # seconds
|
$AGI->stream_file('queue-minutes'); # minutes
|
||||||
|
}
|
||||||
|
if ($holdtime_estimate < 2)
|
||||||
|
{
|
||||||
|
$roundto = 5; # sensible values 5, 10, 15, ( 20, 30)
|
||||||
|
$rounded_time = $holdtime_estimate_sec_diff - ( $holdtime_estimate_sec_diff % $roundto ) + $roundto;
|
||||||
|
$rounded_time = ($rounded_time - ($holdtime_estimate * 60) );
|
||||||
|
$AGI->say_number("$rounded_time");
|
||||||
|
$AGI->stream_file('queue-seconds'); # seconds
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -767,7 +767,8 @@ customer_3way_hangup_logging ENUM('DISABLED','ENABLED') default 'ENABLED',
|
|||||||
customer_3way_hangup_seconds SMALLINT(5) UNSIGNED default '5',
|
customer_3way_hangup_seconds SMALLINT(5) UNSIGNED default '5',
|
||||||
customer_3way_hangup_action ENUM('NONE','DISPO') default 'NONE',
|
customer_3way_hangup_action ENUM('NONE','DISPO') default 'NONE',
|
||||||
ivr_park_call ENUM('DISABLED','ENABLED','ENABLED_PARK_ONLY','ENABLED_BUTTON_HIDDEN') default 'DISABLED',
|
ivr_park_call ENUM('DISABLED','ENABLED','ENABLED_PARK_ONLY','ENABLED_BUTTON_HIDDEN') default 'DISABLED',
|
||||||
ivr_park_call_agi TEXT
|
ivr_park_call_agi TEXT,
|
||||||
|
manual_preview_dial ENUM('DISABLED','PREVIEW_AND_SKIP','PREVIEW_ONLY') default 'PREVIEW_AND_SKIP'
|
||||||
);
|
);
|
||||||
|
|
||||||
CREATE TABLE vicidial_lists (
|
CREATE TABLE vicidial_lists (
|
||||||
@@ -946,7 +947,10 @@ wait_time_option_no_block ENUM('N','Y') default 'N',
|
|||||||
wait_time_option_prompt_seconds SMALLINT(5) default '10',
|
wait_time_option_prompt_seconds SMALLINT(5) default '10',
|
||||||
timer_action_destination VARCHAR(30) default '',
|
timer_action_destination VARCHAR(30) default '',
|
||||||
calculate_estimated_hold_seconds SMALLINT(5) UNSIGNED default '0',
|
calculate_estimated_hold_seconds SMALLINT(5) UNSIGNED default '0',
|
||||||
add_lead_url TEXT
|
add_lead_url TEXT,
|
||||||
|
eht_minimum_prompt_filename VARCHAR(255) default '',
|
||||||
|
eht_minimum_prompt_no_block ENUM('N','Y') default 'N',
|
||||||
|
eht_minimum_prompt_seconds SMALLINT(5) default '10'
|
||||||
);
|
);
|
||||||
|
|
||||||
CREATE TABLE vicidial_stations (
|
CREATE TABLE vicidial_stations (
|
||||||
@@ -2370,7 +2374,7 @@ ALTER TABLE vicidial_agent_log_archive MODIFY agent_log_id INT(9) UNSIGNED NOT N
|
|||||||
|
|
||||||
CREATE TABLE vicidial_carrier_log_archive LIKE vicidial_carrier_log;
|
CREATE TABLE vicidial_carrier_log_archive LIKE vicidial_carrier_log;
|
||||||
|
|
||||||
UPDATE system_settings SET db_schema_version='1248',db_schema_update_date=NOW();
|
UPDATE system_settings SET db_schema_version='1249',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;
|
||||||
|
|||||||
@@ -564,3 +564,11 @@ ALTER TABLE vicidial_campaigns ADD ivr_park_call ENUM('DISABLED','ENABLED','ENAB
|
|||||||
ALTER TABLE vicidial_campaigns ADD ivr_park_call_agi TEXT;
|
ALTER TABLE vicidial_campaigns ADD ivr_park_call_agi TEXT;
|
||||||
|
|
||||||
UPDATE system_settings SET db_schema_version='1248',db_schema_update_date=NOW();
|
UPDATE system_settings SET db_schema_version='1248',db_schema_update_date=NOW();
|
||||||
|
|
||||||
|
ALTER TABLE vicidial_campaigns ADD manual_preview_dial ENUM('DISABLED','PREVIEW_AND_SKIP','PREVIEW_ONLY') default 'PREVIEW_AND_SKIP';
|
||||||
|
|
||||||
|
ALTER TABLE vicidial_inbound_groups ADD eht_minimum_prompt_filename VARCHAR(255) default '';
|
||||||
|
ALTER TABLE vicidial_inbound_groups ADD eht_minimum_prompt_no_block ENUM('N','Y') default 'N';
|
||||||
|
ALTER TABLE vicidial_inbound_groups ADD eht_minimum_prompt_seconds SMALLINT(5) default '10';
|
||||||
|
|
||||||
|
UPDATE system_settings SET db_schema_version='1249',db_schema_update_date=NOW();
|
||||||
|
|||||||
@@ -451,6 +451,16 @@ Park Call IVR||
|
|||||||
This option will allow an agent to park a call with a separate IVR PARK CALL button on their agent interface if this is ENABLED or ENABLED_PARK_ONLY. The ENABLED_PARK_ONLY option will allow the agent to send the call to park but not click to retrieve the call like the ENABLED option. The ENABLED_BUTTON_HIDDEN option allows the function through the API only. Default is DISABLED||
|
This option will allow an agent to park a call with a separate IVR PARK CALL button on their agent interface if this is ENABLED or ENABLED_PARK_ONLY. The ENABLED_PARK_ONLY option will allow the agent to send the call to park but not click to retrieve the call like the ENABLED option. The ENABLED_BUTTON_HIDDEN option allows the function through the API only. Default is DISABLED||
|
||||||
Park Call IVR AGI||
|
Park Call IVR AGI||
|
||||||
If the Park Call IVR field is not DISABLED, then this field is used as the AGI application string that the customer is sent to. This is a setting that should be set by your administrator if possible||
|
If the Park Call IVR field is not DISABLED, then this field is used as the AGI application string that the customer is sent to. This is a setting that should be set by your administrator if possible||
|
||||||
|
Manual Preview Dial||
|
||||||
|
This allows the agent in manual dial mode to see the lead information when they click Dial Next Number before they actively dial the phone call. There is an optional link to SKIP the lead and move on to the next one if selected. Default is PREVIEW_AND_SKIP||
|
||||||
|
Estimated Hold Time Minimum Filename||
|
||||||
|
If the Estimated Hold Time is active and it is calculated to be at or below the minimum of 15 seconds, then this prompt file will be played instead of the default announcement. Default is Empty for inactive||
|
||||||
|
Estimated Hold Time Minimum Prompt No Block||
|
||||||
|
If Estimated Hold Time is active and the Estimated Hold Time Minimum Filename field above is filled-in, then this option to allow calls in line behind a call where the prompt is playing to go to an agent if one becomes available while the message is playing. While the prompt is playing to a customer they cannot be sent to an agent. Default is N||
|
||||||
|
Estimated Hold Time Minimum Prompt Seconds||
|
||||||
|
This field needs to be set to the number of seconds that the Estimated Hold Time Minimum Filename prompt plays for. Default is 10||
|
||||||
|
This field allows you to customize the name of the recording when Campaign recording is ONDEMAND or ALLCALLS. The allowed variables are||
|
||||||
|
The default is FULLDATE_AGENT and would look like this 20051020-103108_6666. Another example is CAMPAIGN_TINYDATE_CUSTPHONE which would look like this||
|
||||||
|
|
||||||
|
|
||||||
AST_LISTS_campaign_stats.php
|
AST_LISTS_campaign_stats.php
|
||||||
|
|||||||
@@ -315,10 +315,12 @@
|
|||||||
# 100912-1304 - Changed Dispo screen phone number display to dialed_number
|
# 100912-1304 - Changed Dispo screen phone number display to dialed_number
|
||||||
# 100927-1616 - Added custom fields ability to web forms and optimized related code
|
# 100927-1616 - Added custom fields ability to web forms and optimized related code
|
||||||
# 101004-1322 - Added "IVR Park Call" button in agent interface
|
# 101004-1322 - Added "IVR Park Call" button in agent interface
|
||||||
|
# 101006-1358 - Raised limits on several dynamic items from the database
|
||||||
|
# 101008-0356 - Added manual_preview_dial and two new variables for recording filenames
|
||||||
#
|
#
|
||||||
|
|
||||||
$version = '2.4-293';
|
$version = '2.4-295';
|
||||||
$build = '101004-1322';
|
$build = '101008-0356';
|
||||||
$mel=1; # Mysql Error Log enabled = 1
|
$mel=1; # Mysql Error Log enabled = 1
|
||||||
$mysql_log_count=68;
|
$mysql_log_count=68;
|
||||||
$one_mysql_log=0;
|
$one_mysql_log=0;
|
||||||
@@ -1195,7 +1197,7 @@ else
|
|||||||
$VARstatuses='';
|
$VARstatuses='';
|
||||||
$VARstatusnames='';
|
$VARstatusnames='';
|
||||||
##### grab the statuses that can be used for dispositioning by an agent
|
##### grab the statuses that can be used for dispositioning by an agent
|
||||||
$stmt="SELECT status,status_name FROM vicidial_statuses WHERE $selectableSQL status != 'NEW' order by status limit 50;";
|
$stmt="SELECT status,status_name FROM vicidial_statuses WHERE $selectableSQL status != 'NEW' order by status limit 300;";
|
||||||
$rslt=mysql_query($stmt, $link);
|
$rslt=mysql_query($stmt, $link);
|
||||||
if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'01010',$VD_login,$server_ip,$session_name,$one_mysql_log);}
|
if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'01010',$VD_login,$server_ip,$session_name,$one_mysql_log);}
|
||||||
if ($DB) {echo "$stmt\n";}
|
if ($DB) {echo "$stmt\n";}
|
||||||
@@ -1212,7 +1214,7 @@ else
|
|||||||
}
|
}
|
||||||
|
|
||||||
##### grab the campaign-specific statuses that can be used for dispositioning by an agent
|
##### grab the campaign-specific statuses that can be used for dispositioning by an agent
|
||||||
$stmt="SELECT status,status_name FROM vicidial_campaign_statuses WHERE $selectableSQL status != 'NEW' and campaign_id='$VD_campaign' order by status limit 80;";
|
$stmt="SELECT status,status_name FROM vicidial_campaign_statuses WHERE $selectableSQL status != 'NEW' and campaign_id='$VD_campaign' order by status limit 300;";
|
||||||
$rslt=mysql_query($stmt, $link);
|
$rslt=mysql_query($stmt, $link);
|
||||||
if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'01011',$VD_login,$server_ip,$session_name,$one_mysql_log);}
|
if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'01011',$VD_login,$server_ip,$session_name,$one_mysql_log);}
|
||||||
if ($DB) {echo "$stmt\n";}
|
if ($DB) {echo "$stmt\n";}
|
||||||
@@ -1264,7 +1266,7 @@ else
|
|||||||
$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,view_calls_in_queue,view_calls_in_queue_launch,call_requeue_button,pause_after_each_call,no_hopper_dialing,agent_dial_owner_only,agent_display_dialable_leads,web_form_address_two,agent_select_territories,crm_popup_login,crm_login_address,timer_action,timer_action_message,timer_action_seconds,start_call_url,dispo_call_url,xferconf_c_number,xferconf_d_number,xferconf_e_number,use_custom_cid,scheduled_callbacks_alert,scheduled_callbacks_count,manual_dial_override,blind_monitor_warning,blind_monitor_message,blind_monitor_filename,timer_action_destination,enable_xfer_presets,hide_xfer_number_to_dial,manual_dial_prefix,customer_3way_hangup_logging,customer_3way_hangup_seconds,customer_3way_hangup_action,ivr_park_call 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,no_hopper_dialing,agent_dial_owner_only,agent_display_dialable_leads,web_form_address_two,agent_select_territories,crm_popup_login,crm_login_address,timer_action,timer_action_message,timer_action_seconds,start_call_url,dispo_call_url,xferconf_c_number,xferconf_d_number,xferconf_e_number,use_custom_cid,scheduled_callbacks_alert,scheduled_callbacks_count,manual_dial_override,blind_monitor_warning,blind_monitor_message,blind_monitor_filename,timer_action_destination,enable_xfer_presets,hide_xfer_number_to_dial,manual_dial_prefix,customer_3way_hangup_logging,customer_3way_hangup_seconds,customer_3way_hangup_action,ivr_park_call,manual_preview_dial 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";}
|
||||||
@@ -1350,8 +1352,11 @@ else
|
|||||||
$customer_3way_hangup_seconds = $row[78];
|
$customer_3way_hangup_seconds = $row[78];
|
||||||
$customer_3way_hangup_action = $row[79];
|
$customer_3way_hangup_action = $row[79];
|
||||||
$ivr_park_call = $row[80];
|
$ivr_park_call = $row[80];
|
||||||
|
$manual_preview_dial = $row[81];
|
||||||
|
|
||||||
|
|
||||||
|
if ($manual_preview_dial == 'DISABLED')
|
||||||
|
{$manual_dial_preview = 0;}
|
||||||
if ($manual_dial_override == 'ALLOW_ALL')
|
if ($manual_dial_override == 'ALLOW_ALL')
|
||||||
{$agentcall_manual = 1;}
|
{$agentcall_manual = 1;}
|
||||||
if ($manual_dial_override == 'DISABLE_ALL')
|
if ($manual_dial_override == 'DISABLE_ALL')
|
||||||
@@ -1510,7 +1515,7 @@ else
|
|||||||
if ( (ereg('Y',$agent_pause_codes_active)) or (ereg('FORCE',$agent_pause_codes_active)) )
|
if ( (ereg('Y',$agent_pause_codes_active)) or (ereg('FORCE',$agent_pause_codes_active)) )
|
||||||
{
|
{
|
||||||
##### grab the pause codes for this campaign
|
##### grab the pause codes for this campaign
|
||||||
$stmt="SELECT pause_code,pause_code_name FROM vicidial_pause_codes WHERE campaign_id='$VD_campaign' order by pause_code limit 50;";
|
$stmt="SELECT pause_code,pause_code_name FROM vicidial_pause_codes WHERE campaign_id='$VD_campaign' order by pause_code limit 100;";
|
||||||
$rslt=mysql_query($stmt, $link);
|
$rslt=mysql_query($stmt, $link);
|
||||||
if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'01014',$VD_login,$server_ip,$session_name,$one_mysql_log);}
|
if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'01014',$VD_login,$server_ip,$session_name,$one_mysql_log);}
|
||||||
if ($DB) {echo "$stmt\n";}
|
if ($DB) {echo "$stmt\n";}
|
||||||
@@ -1536,7 +1541,7 @@ else
|
|||||||
if ( ($campaign_allow_inbound == 'Y') and ($dial_method != 'MANUAL') )
|
if ( ($campaign_allow_inbound == 'Y') and ($dial_method != 'MANUAL') )
|
||||||
{
|
{
|
||||||
$VARingroups='';
|
$VARingroups='';
|
||||||
$stmt="select group_id from vicidial_inbound_groups where active = 'Y' and group_id IN($closer_campaigns) order by group_id limit 600;";
|
$stmt="select group_id from vicidial_inbound_groups where active = 'Y' and group_id IN($closer_campaigns) order by group_id limit 800;";
|
||||||
$rslt=mysql_query($stmt, $link);
|
$rslt=mysql_query($stmt, $link);
|
||||||
if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'01015',$VD_login,$server_ip,$session_name,$one_mysql_log);}
|
if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'01015',$VD_login,$server_ip,$session_name,$one_mysql_log);}
|
||||||
if ($DB) {echo "$stmt\n";}
|
if ($DB) {echo "$stmt\n";}
|
||||||
@@ -1583,7 +1588,7 @@ else
|
|||||||
if ($allow_closers == 'Y')
|
if ($allow_closers == 'Y')
|
||||||
{
|
{
|
||||||
$VARxfergroups='';
|
$VARxfergroups='';
|
||||||
$stmt="select group_id,group_name from vicidial_inbound_groups where active = 'Y' and group_id IN($xfer_groups) order by group_id limit 600;";
|
$stmt="select group_id,group_name from vicidial_inbound_groups where active = 'Y' and group_id IN($xfer_groups) order by group_id limit 800;";
|
||||||
$rslt=mysql_query($stmt, $link);
|
$rslt=mysql_query($stmt, $link);
|
||||||
if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'01016',$VD_login,$server_ip,$session_name,$one_mysql_log);}
|
if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'01016',$VD_login,$server_ip,$session_name,$one_mysql_log);}
|
||||||
if ($DB) {echo "$stmt\n";}
|
if ($DB) {echo "$stmt\n";}
|
||||||
@@ -2928,6 +2933,7 @@ if ($enable_fast_refresh < 1) {echo "\tvar refresh_interval = 1000;\n";}
|
|||||||
var agentonly_callbacks = '<?php echo $agentonly_callbacks ?>';
|
var agentonly_callbacks = '<?php echo $agentonly_callbacks ?>';
|
||||||
var agentcall_manual = '<?php echo $agentcall_manual ?>';
|
var agentcall_manual = '<?php echo $agentcall_manual ?>';
|
||||||
var manual_dial_preview = '<?php echo $manual_dial_preview ?>';
|
var manual_dial_preview = '<?php echo $manual_dial_preview ?>';
|
||||||
|
var manual_preview_dial = '<?php echo $manual_preview_dial ?>';
|
||||||
var starting_alt_phone_dialing = '<?php echo $alt_phone_dialing ?>';
|
var starting_alt_phone_dialing = '<?php echo $alt_phone_dialing ?>';
|
||||||
var alt_phone_dialing = '<?php echo $alt_phone_dialing ?>';
|
var alt_phone_dialing = '<?php echo $alt_phone_dialing ?>';
|
||||||
var DefaulTAlTDiaL = '<?php echo $DefaulTAlTDiaL ?>';
|
var DefaulTAlTDiaL = '<?php echo $DefaulTAlTDiaL ?>';
|
||||||
@@ -4249,15 +4255,22 @@ if ($enable_fast_refresh < 1) {echo "\tvar refresh_interval = 1000;\n";}
|
|||||||
{
|
{
|
||||||
if (taskconfrectype == 'MonitorConf')
|
if (taskconfrectype == 'MonitorConf')
|
||||||
{
|
{
|
||||||
|
var REGrecCLEANvlc = new RegExp(" ","g");
|
||||||
|
var recVendorLeadCode = document.vicidial_form.vendor_lead_code.value;
|
||||||
|
recVendorLeadCode = recVendorLeadCode.replace(REGrecCLEANvlc, '');
|
||||||
|
var recLeadID = document.vicidial_form.lead_id.value;
|
||||||
|
|
||||||
// var campaign_recording = '<?php echo $campaign_recording ?>';
|
// var campaign_recording = '<?php echo $campaign_recording ?>';
|
||||||
// var campaign_rec_filename = '<?php echo $campaign_rec_filename ?>';
|
// var campaign_rec_filename = '<?php echo $campaign_rec_filename ?>';
|
||||||
// CAMPAIGN CUSTPHONE FULLDATE TINYDATE EPOCH AGENT
|
// CAMPAIGN CUSTPHONE FULLDATE TINYDATE EPOCH AGENT VENDORLEADCODE LEADID
|
||||||
var REGrecCAMPAIGN = new RegExp("CAMPAIGN","g");
|
var REGrecCAMPAIGN = new RegExp("CAMPAIGN","g");
|
||||||
var REGrecCUSTPHONE = new RegExp("CUSTPHONE","g");
|
var REGrecCUSTPHONE = new RegExp("CUSTPHONE","g");
|
||||||
var REGrecFULLDATE = new RegExp("FULLDATE","g");
|
var REGrecFULLDATE = new RegExp("FULLDATE","g");
|
||||||
var REGrecTINYDATE = new RegExp("TINYDATE","g");
|
var REGrecTINYDATE = new RegExp("TINYDATE","g");
|
||||||
var REGrecEPOCH = new RegExp("EPOCH","g");
|
var REGrecEPOCH = new RegExp("EPOCH","g");
|
||||||
var REGrecAGENT = new RegExp("AGENT","g");
|
var REGrecAGENT = new RegExp("AGENT","g");
|
||||||
|
var REGrecVENDORLEADCODE = new RegExp("VENDORLEADCODE","g");
|
||||||
|
var REGrecLEADID = new RegExp("LEADID","g");
|
||||||
filename = LIVE_campaign_rec_filename;
|
filename = LIVE_campaign_rec_filename;
|
||||||
filename = filename.replace(REGrecCAMPAIGN, campaign);
|
filename = filename.replace(REGrecCAMPAIGN, campaign);
|
||||||
filename = filename.replace(REGrecCUSTPHONE, lead_dial_number);
|
filename = filename.replace(REGrecCUSTPHONE, lead_dial_number);
|
||||||
@@ -4265,6 +4278,8 @@ if ($enable_fast_refresh < 1) {echo "\tvar refresh_interval = 1000;\n";}
|
|||||||
filename = filename.replace(REGrecTINYDATE, tinydate);
|
filename = filename.replace(REGrecTINYDATE, tinydate);
|
||||||
filename = filename.replace(REGrecEPOCH, epoch_sec);
|
filename = filename.replace(REGrecEPOCH, epoch_sec);
|
||||||
filename = filename.replace(REGrecAGENT, user);
|
filename = filename.replace(REGrecAGENT, user);
|
||||||
|
filename = filename.replace(REGrecVENDORLEADCODE, recVendorLeadCode);
|
||||||
|
filename = filename.replace(REGrecLEADID, recLeadID);
|
||||||
// filename = filedate + "_" + user_abb;
|
// filename = filedate + "_" + user_abb;
|
||||||
var query_recording_exten = recording_exten;
|
var query_recording_exten = recording_exten;
|
||||||
var channelrec = "Local/" + conf_silent_prefix + '' + taskconfrec + "@" + ext_context;
|
var channelrec = "Local/" + conf_silent_prefix + '' + taskconfrec + "@" + ext_context;
|
||||||
@@ -5642,6 +5657,10 @@ if ($enable_fast_refresh < 1) {echo "\tvar refresh_interval = 1000;\n";}
|
|||||||
reselect_preview_dial = 1;
|
reselect_preview_dial = 1;
|
||||||
var man_preview = 'YES';
|
var man_preview = 'YES';
|
||||||
var man_status = "Preview the Lead then <a href=\"#\" onclick=\"ManualDialOnly()\"><font class=\"preview_text\"> DIAL LEAD</font></a> or <a href=\"#\" onclick=\"ManualDialSkip()\"><font class=\"preview_text\">SKIP LEAD</font></a>";
|
var man_status = "Preview the Lead then <a href=\"#\" onclick=\"ManualDialOnly()\"><font class=\"preview_text\"> DIAL LEAD</font></a> or <a href=\"#\" onclick=\"ManualDialSkip()\"><font class=\"preview_text\">SKIP LEAD</font></a>";
|
||||||
|
if (manual_preview_dial=='PREVIEW_ONLY')
|
||||||
|
{
|
||||||
|
var man_status = "Preview the Lead then <a href=\"#\" onclick=\"ManualDialOnly()\"><font class=\"preview_text\"> DIAL LEAD</font></a>";
|
||||||
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
|||||||
File diff suppressed because one or more lines are too long
Reference in New Issue
Block a user