Added ability to limit the number of voicemail messages played to a single lead per day, as a campaign setting.
git-svn-id: svn://192.168.202.10@3183 3d104415-ff17-0410-8863-d5cf3c621b8a
This commit is contained in:
@@ -461,6 +461,9 @@ OTHER CHANGES:
|
||||
128. Added ability to play multiple audio prompts for outbound survey campaigns
|
||||
and to use DYN for lead field wildcards defined as audio prompts.
|
||||
|
||||
129. Added ability to limit the number of voicemail messages played to a single
|
||||
lead per day, as a campaign setting.
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
+47
-4
@@ -21,7 +21,7 @@
|
||||
# exten => _8320*.,1,AGI(VD_amd.agi,${EXTEN}-----YES)
|
||||
# exten => _8320*.,2,Hangup
|
||||
#
|
||||
# Copyright (C) 2019 Matt Florell <vicidial@gmail.com> LICENSE: AGPLv2
|
||||
# Copyright (C) 2020 Matt Florell <vicidial@gmail.com> LICENSE: AGPLv2
|
||||
#
|
||||
# changes:
|
||||
# 60206-1434 - first build
|
||||
@@ -58,6 +58,7 @@
|
||||
# 190720-1007 - Added Call Quota logging
|
||||
# 191017-1051 - Added option for multiple prompts in DYN messages
|
||||
# 191029-1243 - Added code for agent-selected message override
|
||||
# 200102-0823 - Added vmm_daily_limit campaign setting
|
||||
#
|
||||
|
||||
$script = 'VD_amd.agi';
|
||||
@@ -78,6 +79,7 @@ if ($sec < 10) {$sec = "0$sec";}
|
||||
$now_date_epoch = time();
|
||||
$now_date = "$year-$mon-$mday $hour:$min:$sec";
|
||||
$file_day = "$year$mon$mday";
|
||||
$SQL_day = "$year-$mon-$mday";
|
||||
|
||||
# default path to astguiclient configuration file:
|
||||
$PATHconf = '/etc/astguiclient.conf';
|
||||
@@ -451,7 +453,7 @@ else
|
||||
|
||||
$selected_campaign='';
|
||||
### Grab vmail forward message values from the database
|
||||
$stmtA = "SELECT am_message_exten,amd_send_to_vmx,waitforsilence_options,survey_recording,campaign_rec_filename,cpd_amd_action,amd_inbound_group,amd_callmenu,cpd_unknown_action,campaign_id,am_message_wildcards,call_quota_lead_ranking FROM vicidial_campaigns where campaign_id = '$VD_campaign_id' limit 1;";
|
||||
$stmtA = "SELECT am_message_exten,amd_send_to_vmx,waitforsilence_options,survey_recording,campaign_rec_filename,cpd_amd_action,amd_inbound_group,amd_callmenu,cpd_unknown_action,campaign_id,am_message_wildcards,call_quota_lead_ranking,vmm_daily_limit FROM vicidial_campaigns where campaign_id = '$VD_campaign_id' limit 1;";
|
||||
if ($AGILOG) {$agi_string = "|$stmtA|"; &agi_output;}
|
||||
$sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr;
|
||||
$sthA->execute or die "executing: $stmtA ", $dbhA->errstr;
|
||||
@@ -471,6 +473,7 @@ else
|
||||
$selected_campaign = $aryA[9];
|
||||
$am_message_wildcards = $aryA[10];
|
||||
$VD_call_quota_lead_ranking = $aryA[11];
|
||||
$vmm_daily_limit = $aryA[12];
|
||||
$sthA->finish();
|
||||
}
|
||||
else
|
||||
@@ -478,7 +481,7 @@ else
|
||||
$sthA->finish();
|
||||
### Grab vmail forward message values from the database
|
||||
$SQL_group_id=$VD_campaign_id; $SQL_group_id =~ s/_/\\_/gi;
|
||||
$stmtA = "SELECT am_message_exten,amd_send_to_vmx,waitforsilence_options,survey_recording,campaign_rec_filename,cpd_amd_action,amd_inbound_group,amd_callmenu,cpd_unknown_action,campaign_id,am_message_wildcards FROM vicidial_campaigns where closer_campaigns LIKE \"% $SQL_group_id %\" order by campaign_id limit 1;";
|
||||
$stmtA = "SELECT am_message_exten,amd_send_to_vmx,waitforsilence_options,survey_recording,campaign_rec_filename,cpd_amd_action,amd_inbound_group,amd_callmenu,cpd_unknown_action,campaign_id,am_message_wildcards,vmm_daily_limit FROM vicidial_campaigns where closer_campaigns LIKE \"% $SQL_group_id %\" order by campaign_id limit 1;";
|
||||
if ($AGILOG) {$agi_string = "|$stmtA|"; &agi_output;}
|
||||
$sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr;
|
||||
$sthA->execute or die "executing: $stmtA ", $dbhA->errstr;
|
||||
@@ -498,6 +501,7 @@ else
|
||||
$selected_campaign = $aryA[9];
|
||||
$am_message_wildcards = $aryA[10];
|
||||
$VD_call_quota_lead_ranking = 'DISABLED';
|
||||
$vmm_daily_limit = $aryA[12];
|
||||
$sthA->finish();
|
||||
if ($AGILOG) {$agi_string = "-- Inbound call, settings gathered from: |$selected_campaign|$DB_am_message_exten|$DB_amd_send_to_vmx|$waitforsilence_options"; &agi_output;}
|
||||
}
|
||||
@@ -511,6 +515,24 @@ else
|
||||
&call_quota_logging;
|
||||
}
|
||||
|
||||
$vmm_daily_count=0;
|
||||
$vmm_daily_played=0;
|
||||
if ($vmm_daily_limit > 0)
|
||||
{
|
||||
$stmtA = "SELECT vmm_count,vmm_played FROM vicidial_vmm_counts where lead_id = '$VD_lead_id' and call_date='$SQL_day';";
|
||||
$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;
|
||||
$vmm_daily_count = $aryA[0];
|
||||
$vmm_daily_played = $aryA[1];
|
||||
$sthA->finish();
|
||||
}
|
||||
if ($AGILOG) {$agi_string = "VVMM counts: $vmm_daily_count|$vmm_daily_played|$VD_lead_id|$SQL_day|"; &agi_output;}
|
||||
}
|
||||
|
||||
### if not a CPD message, log to the extended log
|
||||
if ($AMDSTATUS !~ /CPD/)
|
||||
{
|
||||
@@ -650,7 +672,18 @@ else
|
||||
}
|
||||
$sthA->finish();
|
||||
|
||||
if ($AGILOG) {$agi_string = "-- AMD campaign values: |$VD_campaign_id|$DB_am_message_exten|$DB_amd_send_to_vmx|"; &agi_output;}
|
||||
if ($AGILOG) {$agi_string = "-- AMD campaign values: |$VD_campaign_id|$DB_am_message_exten|$DB_amd_send_to_vmx|$vmm_daily_limit|"; &agi_output;}
|
||||
|
||||
### if campaign daily limit is set and the number of logged times today has been reached, then hangup call
|
||||
if ( ($vmm_daily_limit > 0) && ($vmm_daily_count >= $vmm_daily_limit) )
|
||||
{
|
||||
if ($AGILOG) {$agi_string = "-- AMD VMM Limit Reached, exiting: ($vmm_daily_count >= $vmm_daily_limit) $callerid ($vmm_daily_played)"; &agi_output;}
|
||||
$dbhA->disconnect();
|
||||
|
||||
$AGI->hangup($channel);
|
||||
|
||||
exit;
|
||||
}
|
||||
|
||||
if ( ( ($DB_amd_send_to_vmx =~ /Y/) || ($force_playback =~ /YES/) ) && (length($DB_am_message_exten) > 0) )
|
||||
{
|
||||
@@ -668,6 +701,11 @@ else
|
||||
$affected_rows = $dbhA->do($stmtA);
|
||||
if ($AGILOG) {$agi_string = "-- VDAD vicidial_list AM update: |$affected_rows|$uniqueid|"; &agi_output;}
|
||||
|
||||
$stmtA = "INSERT IGNORE INTO vicidial_vmm_counts set vmm_count='1', lead_id='$VD_lead_id', call_date='$SQL_day' ON DUPLICATE KEY UPDATE vmm_count=(vmm_count + 1);";
|
||||
if ($AGILOG) {$agi_string = "|$stmtA|"; &agi_output;}
|
||||
$affected_rows = $dbhA->do($stmtA);
|
||||
if ($AGILOG) {$agi_string = "-- VVMM vicidial_vmm_counts update: |$affected_rows|$VD_lead_id|$SQL_day|"; &agi_output;}
|
||||
|
||||
if ( ($SScall_quota_lead_ranking > 0) && ($VD_call_quota_lead_ranking !~ /^DISABLED$/i) )
|
||||
{
|
||||
$stmtA = "UPDATE vicidial_lead_call_quota_counts set status='$msg_status' where lead_id='$VD_lead_id';";
|
||||
@@ -1323,6 +1361,11 @@ else
|
||||
$affected_rows = $dbhA->do($stmtA);
|
||||
if ($AGILOG) {$agi_string = "-- VDAD vicidial_list AL update: |$affected_rows|$uniqueid|"; &agi_output;}
|
||||
|
||||
$stmtA = "UPDATE vicidial_vmm_counts set vmm_played=(vmm_played + 1) where lead_id='$VD_lead_id' and call_date='$SQL_day';";
|
||||
if ($AGILOG) {$agi_string = "|$stmtA|"; &agi_output;}
|
||||
$affected_rows = $dbhA->do($stmtA);
|
||||
if ($AGILOG) {$agi_string = "-- VVMM vicidial_vmm_counts update: |$affected_rows|$VD_lead_id|$SQL_day|"; &agi_output;}
|
||||
|
||||
if ( ($SScall_quota_lead_ranking > 0) && ($VD_call_quota_lead_ranking !~ /^DISABLED$/i) )
|
||||
{
|
||||
$stmtA = "UPDATE vicidial_lead_call_quota_counts set status='$last_status' where lead_id='$VD_lead_id';";
|
||||
|
||||
@@ -20,7 +20,7 @@
|
||||
# Based on perl scripts in ViciDial from Matt Florell and post:
|
||||
# http://www.vicidial.org/VICIDIALforum/viewtopic.php?p=22506&sid=ca5347cffa6f6382f56ce3db9fb3d068#22506
|
||||
#
|
||||
# Copyright (C) 2019 I. Taushanov, Matt Florell <vicidial@gmail.com> LICENSE: AGPLv2
|
||||
# Copyright (C) 2020 I. Taushanov, Matt Florell <vicidial@gmail.com> LICENSE: AGPLv2
|
||||
#
|
||||
# CHANGES
|
||||
# 90615-1701 - First version
|
||||
@@ -57,6 +57,7 @@
|
||||
# 190318-1541 - Added vicidial_amd_log archiving
|
||||
# 190531-0841 - Added vicidial_log_extended_sip archiving
|
||||
# 190926-0005 - Added vicidial_sip_action_log archiving
|
||||
# 200102-0846 - Added vicidial_vmm_counts archiving
|
||||
#
|
||||
|
||||
$CALC_TEST=0;
|
||||
@@ -259,6 +260,7 @@ if ($daily > 0)
|
||||
if ($RMmin < 10) {$RMmin = "0$RMmin";}
|
||||
if ($RMsec < 10) {$RMsec = "0$RMsec";}
|
||||
$del_time = "$RMyear-$RMmon-$RMmday $RMhour:$RMmin:$RMsec";
|
||||
$del_date = "$RMyear-$RMmon-$RMmday";
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -272,6 +274,7 @@ else
|
||||
if ($RMmin < 10) {$RMmin = "0$RMmin";}
|
||||
if ($RMsec < 10) {$RMsec = "0$RMsec";}
|
||||
$del_time = "$RMyear-$RMmon-$RMmday $RMhour:$RMmin:$RMsec";
|
||||
$del_date = "$RMyear-$RMmon-$RMmday";
|
||||
}
|
||||
if ($recording_log_archive > 0)
|
||||
{
|
||||
@@ -319,7 +322,7 @@ if (!$Q) {print "This program is designed to put all records from call_log, vic
|
||||
if (!$Q) {print "server_performance, vicidial_agent_log, vicidial_carrier_log, \n";}
|
||||
if (!$Q) {print "vicidial_call_notes, vicidial_lead_search_log and others into relevant\n";}
|
||||
if (!$Q) {print "_archive tables and delete records in original tables older than\n";}
|
||||
if (!$Q) {print "$CLIdays days ( $del_time|$del_epoch ) from current date \n\n";}
|
||||
if (!$Q) {print "$CLIdays days ( $del_time [$del_date]|$del_epoch ) from current date \n\n";}
|
||||
if ( (!$Q) && ($recording_log_archive > 0) ) {print "REC $RECORDINGdays days ( $RECdel_time|$RECdel_epoch ) from current date \n\n";}
|
||||
if ( (!$Q) && ($did_log_archive > 0) ) {print "DID $diddays days ( $DIDdel_time|$DIDdel_epoch ) from current date \n\n";}
|
||||
if ( (!$Q) && ($cpd_log_purge > 0) ) {print "CPD $CPDdays days ( $CPDdel_time|$CPDdel_epoch ) from current date \n\n";}
|
||||
@@ -2257,6 +2260,59 @@ if (!$T)
|
||||
}
|
||||
|
||||
|
||||
##### vicidial_vmm_counts
|
||||
$stmtA = "SELECT count(*) from vicidial_vmm_counts;";
|
||||
$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;
|
||||
$vicidial_vmm_counts_count = $aryA[0];
|
||||
}
|
||||
$sthA->finish();
|
||||
|
||||
$stmtA = "SELECT count(*) from vicidial_vmm_counts_archive;";
|
||||
$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;
|
||||
$vicidial_vmm_counts_archive_count = $aryA[0];
|
||||
}
|
||||
$sthA->finish();
|
||||
|
||||
if (!$Q) {print "\nProcessing vicidial_vmm_counts table... ($vicidial_vmm_counts_count|$vicidial_vmm_counts_archive_count)\n";}
|
||||
$stmtA = "INSERT IGNORE INTO vicidial_vmm_counts_archive SELECT * from vicidial_vmm_counts;";
|
||||
$sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr;
|
||||
$sthA->execute or die "executing: $stmtA ", $dbhA->errstr;
|
||||
|
||||
$sthArows = $sthA->rows;
|
||||
if (!$Q) {print "$sthArows rows inserted into vicidial_vmm_counts_archive table \n";}
|
||||
|
||||
$rv = $sthA->err();
|
||||
if (!$rv)
|
||||
{
|
||||
if ($wipe_all > 0)
|
||||
{$stmtA = "DELETE FROM vicidial_vmm_counts;";}
|
||||
else
|
||||
{$stmtA = "DELETE FROM vicidial_vmm_counts WHERE call_date < '$del_date';";}
|
||||
$sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr;
|
||||
$sthA->execute or die "executing: $stmtA ", $dbhA->errstr;
|
||||
$sthArows = $sthA->rows;
|
||||
if (!$Q) {print "$sthArows rows deleted from vicidial_vmm_counts table \n";}
|
||||
|
||||
$stmtA = "optimize table vicidial_vmm_counts;";
|
||||
$sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr;
|
||||
$sthA->execute or die "executing: $stmtA ", $dbhA->errstr;
|
||||
|
||||
$stmtA = "optimize table vicidial_vmm_counts_archive;";
|
||||
$sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr;
|
||||
$sthA->execute or die "executing: $stmtA ", $dbhA->errstr;
|
||||
}
|
||||
|
||||
|
||||
##### server_performance
|
||||
$stmtA = "SELECT count(*) from server_performance;";
|
||||
$sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr;
|
||||
|
||||
@@ -1036,7 +1036,8 @@ campaign_script_two VARCHAR(20) default '',
|
||||
leave_vm_no_dispo ENUM('ENABLED','DISABLED') default 'DISABLED',
|
||||
leave_vm_message_group_id VARCHAR(40) default '---NONE---',
|
||||
dial_timeout_lead_container VARCHAR(40) default 'DISABLED',
|
||||
amd_type ENUM('AMD','CPD','KHOMP') default 'AMD'
|
||||
amd_type ENUM('AMD','CPD','KHOMP') default 'AMD',
|
||||
vmm_daily_limit TINYINT(3) UNSIGNED default '0'
|
||||
) ENGINE=MyISAM;
|
||||
|
||||
CREATE TABLE vicidial_lists (
|
||||
@@ -4245,6 +4246,15 @@ index (call_date),
|
||||
index (lead_id)
|
||||
) ENGINE=MyISAM;
|
||||
|
||||
CREATE TABLE vicidial_vmm_counts (
|
||||
call_date DATE,
|
||||
lead_id INT(9) UNSIGNED,
|
||||
vmm_count SMALLINT(5) UNSIGNED default '0',
|
||||
vmm_played SMALLINT(5) UNSIGNED default '0',
|
||||
index (call_date),
|
||||
index (lead_id)
|
||||
) ENGINE=MyISAM;
|
||||
|
||||
|
||||
ALTER TABLE vicidial_email_list MODIFY message text character set utf8;
|
||||
|
||||
@@ -4383,6 +4393,7 @@ CREATE INDEX date_user on vicidial_closer_log (call_date,user);
|
||||
CREATE INDEX comment_a on live_inbound_log (comment_a);
|
||||
CREATE UNIQUE INDEX vicidial_campaign_statuses_key on vicidial_campaign_statuses(status, campaign_id);
|
||||
CREATE INDEX vlecc on vicidial_log_extended (caller_code);
|
||||
CREATE UNIQUE INDEX vvmmcount on vicidial_vmm_counts (lead_id,call_date);
|
||||
|
||||
CREATE INDEX vlali on vicidial_live_agents (lead_id);
|
||||
CREATE INDEX vlaus on vicidial_live_agents (user);
|
||||
@@ -4490,6 +4501,8 @@ ALTER TABLE vicidial_sip_event_log_6 MODIFY sip_event_id INT(9) UNSIGNED NOT NUL
|
||||
CREATE TABLE vicidial_sip_action_log_archive LIKE vicidial_sip_action_log;
|
||||
CREATE UNIQUE INDEX vlesa on vicidial_sip_action_log_archive (caller_code,call_date);
|
||||
|
||||
CREATE TABLE vicidial_vmm_counts_archive LIKE vicidial_vmm_counts;
|
||||
|
||||
GRANT RELOAD ON *.* TO cron@'%';
|
||||
GRANT RELOAD ON *.* TO cron@localhost;
|
||||
|
||||
@@ -4570,4 +4583,4 @@ INSERT INTO vicidial_settings_containers(container_id,container_notes,container_
|
||||
|
||||
UPDATE system_settings set vdc_agent_api_active='1';
|
||||
|
||||
UPDATE system_settings SET db_schema_version='1582',db_schema_update_date=NOW(),reload_timestamp=NOW();
|
||||
UPDATE system_settings SET db_schema_version='1583',db_schema_update_date=NOW(),reload_timestamp=NOW();
|
||||
|
||||
@@ -1131,3 +1131,20 @@ ALTER TABLE vicidial_campaigns MODIFY survey_third_audio_file TEXT;
|
||||
ALTER TABLE vicidial_campaigns MODIFY survey_fourth_audio_file TEXT;
|
||||
|
||||
UPDATE system_settings SET db_schema_version='1582',db_schema_update_date=NOW() where db_schema_version < 1582;
|
||||
|
||||
ALTER TABLE vicidial_campaigns ADD vmm_daily_limit TINYINT(3) UNSIGNED default '0';
|
||||
|
||||
CREATE TABLE vicidial_vmm_counts (
|
||||
call_date DATE,
|
||||
lead_id INT(9) UNSIGNED,
|
||||
vmm_count SMALLINT(5) UNSIGNED default '0',
|
||||
vmm_played SMALLINT(5) UNSIGNED default '0',
|
||||
index (call_date),
|
||||
index (lead_id)
|
||||
) ENGINE=MyISAM;
|
||||
|
||||
CREATE UNIQUE INDEX vvmmcount on vicidial_vmm_counts (lead_id,call_date);
|
||||
|
||||
CREATE TABLE vicidial_vmm_counts_archive LIKE vicidial_vmm_counts;
|
||||
|
||||
UPDATE system_settings SET db_schema_version='1583',db_schema_update_date=NOW() where db_schema_version < 1583;
|
||||
|
||||
+14
-5
File diff suppressed because one or more lines are too long
@@ -1,4 +1,4 @@
|
||||
# version: 20191213093301
|
||||
# version: 20191230095501
|
||||
users-user User ID <QXZ>This field is where you put the users ID number, can be up to 8 digits in length, Must be at least 2 characters in length.</QXZ>
|
||||
users-pass Password <QXZ>This field is where you put the users password. Must be at least 2 characters in length. A medium strength user password will be at least 10 characters in length, and a strong user password will be at least 20 characters in length and have letters as well as at least one number. It is recommended that you use a longer password if possible, stringing together several unrelated words with no spaces, and a number somewhere in the string. The maximum size of a password is 100 characters.</QXZ>
|
||||
users-force_change_password Force Change Password <QXZ>If this option is set to Y then the user will be prompted to change their password the next time they log in to the administration webpage. Default is N.</QXZ>
|
||||
@@ -164,6 +164,7 @@ campaigns-dial_timeout Dial Timeout <QXZ>If defined, calls that would normally h
|
||||
campaigns-dial_timeout_lead_container Dial Timeout Lead Container <QXZ>This option allows you to select a Settings Container of the DIAL_TIMEOUTS type that will allow you to override the campaign dial timeouts on a per lead basis using a lead field value defined in the container. You can enable manual dialing and auto dialing overrides separately by defining which lead field is to be looked at for a dial timeout key value. If you wanted to use the -comments- lead field for manual dial timeouts, you would define manual_dial_field => comments. If you wanted to use the -comments- lead field for auto dial timeouts, you would define auto_dial_field => comments. after either or both of these are defined, you will need to define the key and value pairs for the dial timeouts. For example, if a key of -A- in the comments field should trigger a 50 second dial timeout override for the lead, you would define A => 50. You can define multiple key and value pairs in the settings container. Lead field names should be in lower case letters only. You must define the Lead Field Name above any Field Values that you define. Field value matching is case sensitive. We recommend not matching to field values that have spaces or special characters in them.</QXZ>
|
||||
campaigns-campaign_vdad_exten Routing Extension <QXZ>This field allows for a custom outbound routing extension. This allows you to use different call handling methods depending upon how you want to route calls through your outbound campaign. Formerly called Campaign VDAD extension.</QXZ><BR>- <QXZ>8364 - same as 8368</QXZ><BR>- <QXZ>8365 - Will send the call only to an agent on the same server as the call is placed on</QXZ><BR>- <QXZ>8366 - Used for press-1, broadcast and survey campaigns</QXZ><BR>- <QXZ>8367 - Will try to first send the call to an agent on the local server, then it will look on other servers</QXZ><BR>- <QXZ>8368 - DEFAULT - Will send the call to the next available agent no matter what server they are on</QXZ><BR>- <QXZ>8369 - Used for Answering Machine Detection after that, same behavior as 8368</QXZ><BR>- <QXZ>8373 - Used for Answering Machine Detection after that same behavior as 8366</QXZ><BR>- <QXZ>8374 - Used for press-1, broadcast and survey campaigns with Cepstral Text-to-speech</QXZ><BR>- <QXZ>8375 - Used for Answering Machine Detection then press-1, broadcast and survey campaigns with Cepstral Text-to-speech</QXZ>
|
||||
campaigns-am_message_exten Answering Machine Message <QXZ>This field is for entering the prompt to play when the agent gets an answering machine and clicks on the Answering Machine Message button in the transfer conference frame. You must set this to either an audio file in the audio store or a TTS prompt if TTS is enabled on your system. You can also use lead fields to generate audio filenames using the DYN flag, for instance using DYN--A--user--B-- for agent 1234 would look for a file named 1234.wav in your audio store to play.</QXZ>
|
||||
campaigns-vmm_daily_limit Voicemail Message Daily Limit <QXZ>This option allows you to limit the number of times a voicemail message plays to a lead for a single day. After the defined limit is reached, the call will be hung up instead of playing a message. If this feature is active then it will be in effect for all calls sent to play a voicemail message, even if an agent manually sends a call to a VM message. The default is 0, for disabled.</QXZ>
|
||||
campaigns-waitforsilence_options WaitForSilence Options <QXZ>If Wait For Silence is desired on calls that are detected as Answering Machines then this field has those options. There are three settings separated by a comma, the first option is how long to detect silence in milliseconds, the second option is for how many times to detect that before playing the message, the third is the maximum number of seconds to wait before timing out and playing the message. Default is EMPTY for disabled. A standard value for this would be wait for 2 seconds of silence twice: 2000,2,30</QXZ>
|
||||
campaigns-am_message_wildcards AM Message Wildcards <QXZ>This option, if enabled, allows you to go to the AM Message Wildcard administration page where you can define wildcards that can match data in a default lead field and can play a different message based upon the data in a specific lead. Default is N for disabled.</QXZ>
|
||||
campaigns-amd_type AMD Type <QXZ>This setting allows you to define the type of Answering Machine Detection that should be used when routing answered outbound calls. The default is AMD, for the built-in AMD application. You should only change this setting if you have one of the listed third-party AMD solutions installed on your system and you have confirmed the proper Routing Extension to use with your system administrator.</QXZ>
|
||||
|
||||
Reference in New Issue
Block a user