Added manual_vm_status_updates campaign option

git-svn-id: svn://192.168.202.10@3745 3d104415-ff17-0410-8863-d5cf3c621b8a
This commit is contained in:
mattf
2023-07-27 01:42:03 +00:00
parent 8745ebd5c0
commit 9d85bb73fe
5 changed files with 90 additions and 25 deletions
+68 -16
View File
@@ -64,10 +64,11 @@
# 200424-1839 - Added STC(settings-container) and LTT(lead temp table) message playback options # 200424-1839 - Added STC(settings-container) and LTT(lead temp table) message playback options
# 220411-0833 - Added FHG(file-http-get) message playback option to download file from website # 220411-0833 - Added FHG(file-http-get) message playback option to download file from website
# 230412-1023 - Added Code to dispo NOAUDIODATA as ADAIR (Dead Air Auto) with Settings Container option, Issue #1459 # 230412-1023 - Added Code to dispo NOAUDIODATA as ADAIR (Dead Air Auto) with Settings Container option, Issue #1459
# 230726-0932 - Added manual_vm_status_updates campaign option
# #
$script = 'VD_amd.agi'; $script = 'VD_amd.agi';
$build = '230412-1023'; $build = '230726-0932';
$A = 1; # set to 1 for AMD output messages mode $A = 1; # set to 1 for AMD output messages mode
$AMD_LOG = 3; # set to 1 for logfile and 2 forDB log, 3 for both $AMD_LOG = 3; # set to 1 for logfile and 2 forDB log, 3 for both
@@ -345,7 +346,8 @@ $amd_agent_route_options='';
$AMDcontainer_entry=''; $AMDcontainer_entry='';
$AMD_agent_send=0; $AMD_agent_send=0;
$NOAUDIODATA_hangup_enabled=0; $NOAUDIODATA_hangup_enabled=0;
$stmtA = "SELECT amd_agent_route_options FROM vicidial_campaigns where campaign_id='$VD_campaign_id' limit 1;"; $VL_status_updates=1;
$stmtA = "SELECT amd_agent_route_options,manual_vm_status_updates FROM vicidial_campaigns where campaign_id='$VD_campaign_id' limit 1;";
$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;
@@ -354,8 +356,11 @@ if ($sthArows > 0)
{ {
@aryA = $sthA->fetchrow_array; @aryA = $sthA->fetchrow_array;
$amd_agent_route_options = $aryA[0]; $amd_agent_route_options = $aryA[0];
$manual_vm_status_updates = $aryA[1];
$sthA->finish(); $sthA->finish();
} }
if ( ($manual_vm_status_updates =~ /DISABLED/i) && ($calleridname =~ /^M|^Y|^DC/) )
{$VL_status_updates=0;}
if ($amd_agent_route_options =~ /ENABLED/i) if ($amd_agent_route_options =~ /ENABLED/i)
{ {
@@ -445,8 +450,15 @@ else
########## UPDATE vicidial_list ########## ########## UPDATE vicidial_list ##########
$stmtA = "UPDATE vicidial_list set status='AA' where lead_id = '$VD_lead_id';"; $stmtA = "UPDATE vicidial_list set status='AA' where lead_id = '$VD_lead_id';";
if ($AGILOG) {$agi_string = "|$stmtA|"; &agi_output;} if ($AGILOG) {$agi_string = "|$stmtA|"; &agi_output;}
if ($VL_status_updates > 0)
{
$affected_rows = $dbhA->do($stmtA); $affected_rows = $dbhA->do($stmtA);
if ($AGILOG) {$agi_string = "-- VDAD vicidial_list update: |$affected_rows|$VD_lead_id"; &agi_output;} if ($AGILOG) {$agi_string = "-- VDAD vicidial_list update: |$affected_rows|$VD_lead_id"; &agi_output;}
}
else
{
if ($AGILOG) {$agi_string = "-- VDAD vicidial_list update DISABLED: |$calleridname|$VD_lead_id|$VL_status_updates|$manual_vm_status_updates|"; &agi_output;}
}
} }
### find list_id for this lead ### find list_id for this lead
@@ -515,7 +527,7 @@ else
$selected_campaign=''; $selected_campaign='';
### Grab vmail forward message values from the database ### 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,vmm_daily_limit 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,manual_vm_status_updates FROM vicidial_campaigns where campaign_id = '$VD_campaign_id' limit 1;";
if ($AGILOG) {$agi_string = "|$stmtA|"; &agi_output;} 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;
@@ -536,6 +548,7 @@ else
$am_message_wildcards = $aryA[10]; $am_message_wildcards = $aryA[10];
$VD_call_quota_lead_ranking = $aryA[11]; $VD_call_quota_lead_ranking = $aryA[11];
$vmm_daily_limit = $aryA[12]; $vmm_daily_limit = $aryA[12];
$manual_vm_status_updates = $aryA[13];
$sthA->finish(); $sthA->finish();
} }
else else
@@ -543,7 +556,7 @@ else
$sthA->finish(); $sthA->finish();
### Grab vmail forward message values from the database ### Grab vmail forward message values from the database
$SQL_group_id=$VD_campaign_id; $SQL_group_id =~ s/_/\\_/gi; $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,vmm_daily_limit FROM vicidial_campaigns where closer_campaigns LIKE \"% $SQL_group_id %\" order by active,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,manual_vm_status_updates FROM vicidial_campaigns where closer_campaigns LIKE \"% $SQL_group_id %\" order by active,campaign_id limit 1;";
if ($AGILOG) {$agi_string = "|$stmtA|"; &agi_output;} 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;
@@ -564,6 +577,7 @@ else
$am_message_wildcards = $aryA[10]; $am_message_wildcards = $aryA[10];
$VD_call_quota_lead_ranking = 'DISABLED'; $VD_call_quota_lead_ranking = 'DISABLED';
$vmm_daily_limit = $aryA[12]; $vmm_daily_limit = $aryA[12];
$manual_vm_status_updates = $aryA[13];
$sthA->finish(); $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;} if ($AGILOG) {$agi_string = "-- Inbound call, settings gathered from: |$selected_campaign|$DB_am_message_exten|$DB_amd_send_to_vmx|$waitforsilence_options"; &agi_output;}
} }
@@ -571,6 +585,9 @@ else
{$sthA->finish();} {$sthA->finish();}
} }
if ( ($manual_vm_status_updates =~ /DISABLED/i) && ($calleridname =~ /^M|^Y|^DC/) )
{$VL_status_updates=0;}
if ( ($SScall_quota_lead_ranking > 0) && ($VD_call_quota_lead_ranking !~ /^DISABLED$/i) ) if ( ($SScall_quota_lead_ranking > 0) && ($VD_call_quota_lead_ranking !~ /^DISABLED$/i) )
{ {
$temp_status = 'AA'; $temp_status = 'AA';
@@ -758,9 +775,16 @@ else
$stmtA = "UPDATE vicidial_list set status='ADAIR' where lead_id='$VD_lead_id';"; $stmtA = "UPDATE vicidial_list set status='ADAIR' where lead_id='$VD_lead_id';";
if ($AGILOG) {$agi_string = "|$stmtA|"; &agi_output;} if ($AGILOG) {$agi_string = "|$stmtA|"; &agi_output;}
$affected_rows = $dbhA->do($stmtA); if ($VL_status_updates > 0)
if ($AGILOG) {$agi_string = "-- VDAD vicidial_list ADAIR update: |$affected_rows|$uniqueid|"; &agi_output;} {
$affected_rows = $dbhA->do($stmtA);
if ($AGILOG) {$agi_string = "-- VDAD vicidial_list ADAIR update: |$affected_rows|$uniqueid"; &agi_output;}
}
else
{
if ($AGILOG) {$agi_string = "-- VDAD vicidial_list ADAIR update DISABLED: |$calleridname|$uniqueid|$VL_status_updates|$manual_vm_status_updates|"; &agi_output;}
}
$dbhA->disconnect(); $dbhA->disconnect();
$AGI->hangup($channel); $AGI->hangup($channel);
@@ -781,8 +805,15 @@ else
$stmtA = "UPDATE vicidial_list set status='$msg_status' where lead_id='$VD_lead_id';"; $stmtA = "UPDATE vicidial_list set status='$msg_status' where lead_id='$VD_lead_id';";
if ($AGILOG) {$agi_string = "|$stmtA|"; &agi_output;} if ($AGILOG) {$agi_string = "|$stmtA|"; &agi_output;}
$affected_rows = $dbhA->do($stmtA); if ($VL_status_updates > 0)
if ($AGILOG) {$agi_string = "-- VDAD vicidial_list AM update: |$affected_rows|$uniqueid|"; &agi_output;} {
$affected_rows = $dbhA->do($stmtA);
if ($AGILOG) {$agi_string = "-- VDAD vicidial_list AM update: |$affected_rows|$uniqueid"; &agi_output;}
}
else
{
if ($AGILOG) {$agi_string = "-- VDAD vicidial_list AM update DISABLED: |$calleridname|$uniqueid|$VL_status_updates|$manual_vm_status_updates|"; &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);"; $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;} if ($AGILOG) {$agi_string = "|$stmtA|"; &agi_output;}
@@ -1506,8 +1537,15 @@ else
$stmtA = "UPDATE vicidial_list set status='UNKXFR' where lead_id='$VD_lead_id';"; $stmtA = "UPDATE vicidial_list set status='UNKXFR' where lead_id='$VD_lead_id';";
if ($AGILOG) {$agi_string = "|$stmtA|"; &agi_output;} if ($AGILOG) {$agi_string = "|$stmtA|"; &agi_output;}
$affected_rows = $dbhA->do($stmtA); if ($VL_status_updates > 0)
if ($AGILOG) {$agi_string = "-- VDAD vicidial_list UNKXFR update: |$affected_rows|$uniqueid|"; &agi_output;} {
$affected_rows = $dbhA->do($stmtA);
if ($AGILOG) {$agi_string = "-- VDAD vicidial_list UNKXFR update: |$affected_rows|$uniqueid"; &agi_output;}
}
else
{
if ($AGILOG) {$agi_string = "-- VDAD vicidial_list UNKXFR update DISABLED: |$calleridname|$uniqueid|$VL_status_updates|$manual_vm_status_updates|"; &agi_output;}
}
if ( ($SScall_quota_lead_ranking > 0) && ($VD_call_quota_lead_ranking !~ /^DISABLED$/i) ) if ( ($SScall_quota_lead_ranking > 0) && ($VD_call_quota_lead_ranking !~ /^DISABLED$/i) )
{ {
@@ -1560,8 +1598,15 @@ else
$stmtA = "UPDATE vicidial_list set status='AMDXFR' where lead_id='$VD_lead_id';"; $stmtA = "UPDATE vicidial_list set status='AMDXFR' where lead_id='$VD_lead_id';";
if ($AGILOG) {$agi_string = "|$stmtA|"; &agi_output;} if ($AGILOG) {$agi_string = "|$stmtA|"; &agi_output;}
$affected_rows = $dbhA->do($stmtA); if ($VL_status_updates > 0)
if ($AGILOG) {$agi_string = "-- VDAD vicidial_list AMDXFR update: |$affected_rows|$uniqueid|"; &agi_output;} {
$affected_rows = $dbhA->do($stmtA);
if ($AGILOG) {$agi_string = "-- VDAD vicidial_list AMDXFR update: |$affected_rows|$uniqueid"; &agi_output;}
}
else
{
if ($AGILOG) {$agi_string = "-- VDAD vicidial_list AMDXFR update DISABLED: |$calleridname|$uniqueid|$VL_status_updates|$manual_vm_status_updates|"; &agi_output;}
}
if ( ($SScall_quota_lead_ranking > 0) && ($VD_call_quota_lead_ranking !~ /^DISABLED$/i) ) if ( ($SScall_quota_lead_ranking > 0) && ($VD_call_quota_lead_ranking !~ /^DISABLED$/i) )
{ {
@@ -1619,8 +1664,15 @@ else
$stmtA = "UPDATE vicidial_list set status='$last_status' where lead_id='$VD_lead_id';"; $stmtA = "UPDATE vicidial_list set status='$last_status' where lead_id='$VD_lead_id';";
if ($AGILOG) {$agi_string = "|$stmtA|"; &agi_output;} if ($AGILOG) {$agi_string = "|$stmtA|"; &agi_output;}
$affected_rows = $dbhA->do($stmtA); if ($VL_status_updates > 0)
if ($AGILOG) {$agi_string = "-- VDAD vicidial_list AL update: |$affected_rows|$uniqueid|"; &agi_output;} {
$affected_rows = $dbhA->do($stmtA);
if ($AGILOG) {$agi_string = "-- VDAD vicidial_list AL update: |$affected_rows|$uniqueid"; &agi_output;}
}
else
{
if ($AGILOG) {$agi_string = "-- VDAD vicidial_list AL update DISABLED: |$calleridname|$uniqueid|$VL_status_updates|$manual_vm_status_updates|"; &agi_output;}
}
$stmtA = "UPDATE vicidial_vmm_counts set vmm_played=(vmm_played + 1) where lead_id='$VD_lead_id' and call_date='$SQL_day';"; $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;} if ($AGILOG) {$agi_string = "|$stmtA|"; &agi_output;}
@@ -1117,7 +1117,8 @@ custom_two TEXT,
custom_three TEXT, custom_three TEXT,
custom_four TEXT, custom_four TEXT,
custom_five TEXT, custom_five TEXT,
dead_stop_recording ENUM('DISABLED','ALL_CALLS','OUTBOUND_ONLY','INBOUND_ONLY','AUTODIAL_ONLY','MANUAL_ONLY') default 'DISABLED' dead_stop_recording ENUM('DISABLED','ALL_CALLS','OUTBOUND_ONLY','INBOUND_ONLY','AUTODIAL_ONLY','MANUAL_ONLY') default 'DISABLED',
manual_vm_status_updates ENUM('ENABLED','DISABLED') default 'ENABLED'
) ENGINE=MyISAM; ) ENGINE=MyISAM;
CREATE TABLE vicidial_lists ( CREATE TABLE vicidial_lists (
@@ -5427,4 +5428,4 @@ INSERT INTO `wallboard_reports` VALUES ('AGENTS_AND_QUEUES','Agents and Queues',
UPDATE system_settings set vdc_agent_api_active='1'; UPDATE system_settings set vdc_agent_api_active='1';
UPDATE system_settings SET db_schema_version='1690',db_schema_update_date=NOW(),reload_timestamp=NOW(); UPDATE system_settings SET db_schema_version='1691',db_schema_update_date=NOW(),reload_timestamp=NOW();
+4
View File
@@ -2388,3 +2388,7 @@ UPDATE system_settings SET db_schema_version='1689',db_schema_update_date=NOW()
ALTER TABLE vicidial_campaigns ADD dead_stop_recording ENUM('DISABLED','ALL_CALLS','OUTBOUND_ONLY','INBOUND_ONLY','AUTODIAL_ONLY','MANUAL_ONLY') default 'DISABLED'; ALTER TABLE vicidial_campaigns ADD dead_stop_recording ENUM('DISABLED','ALL_CALLS','OUTBOUND_ONLY','INBOUND_ONLY','AUTODIAL_ONLY','MANUAL_ONLY') default 'DISABLED';
UPDATE system_settings SET db_schema_version='1690',db_schema_update_date=NOW() where db_schema_version < 1690; UPDATE system_settings SET db_schema_version='1690',db_schema_update_date=NOW() where db_schema_version < 1690;
ALTER TABLE vicidial_campaigns ADD manual_vm_status_updates ENUM('ENABLED','DISABLED') default 'ENABLED';
UPDATE system_settings SET db_schema_version='1691',db_schema_update_date=NOW() where db_schema_version < 1691;
File diff suppressed because one or more lines are too long
@@ -1,4 +1,4 @@
# version: 20230623102601 # version: 20230726092801
users-user User ID <QXZ>This field is where you put the users ID number, can be up to 20 digits in length, Must be at least 2 characters in length. We strongly recommend not reusing user accounts for different users, for reporting accuracy. To disable a user account, set the Active option to -N-.</QXZ> users-user User ID <QXZ>This field is where you put the users ID number, can be up to 20 digits in length, Must be at least 2 characters in length. We strongly recommend not reusing user accounts for different users, for reporting accuracy. To disable a user account, set the Active option to -N-.</QXZ>
users-pass Password <QXZ>This field is where you put the users password. Must be at least 2 characters in length. Only letters and numbers are allowed in user passwords. 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-pass Password <QXZ>This field is where you put the users password. Must be at least 2 characters in length. Only letters and numbers are allowed in user passwords. 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 or the agent screen. Default is N.</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 or the agent screen. Default is N.</QXZ>
@@ -192,6 +192,7 @@ campaigns-agent_search_method Agent Search Method Override <QXZ>This setting wil
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. If you need more space to build your message with files, you can put them into a Settings Container and the use STC and then the container ID to use that settings container as your answering machine message. Another advanced option is LTT, if you have custom programming on your system to construct answering maching messages on a per-call basis. If you will be using the Agent API function vm_message, you will want to put LTTagent in this field. Another advanced option is to use a prefix of FHG along with a URL to pull an audio file from a webserver, preferrably a local webserver. This FHG option can be used with a Text-to-Speech service to play recording generated on a per-call basis, possibly from a custom agent script. Here is an example using this prefix, FHGhttp//127.0.0.1/agc/tts/--A--lead_id--B--_TTS.wav</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. If you need more space to build your message with files, you can put them into a Settings Container and the use STC and then the container ID to use that settings container as your answering machine message. Another advanced option is LTT, if you have custom programming on your system to construct answering maching messages on a per-call basis. If you will be using the Agent API function vm_message, you will want to put LTTagent in this field. Another advanced option is to use a prefix of FHG along with a URL to pull an audio file from a webserver, preferrably a local webserver. This FHG option can be used with a Text-to-Speech service to play recording generated on a per-call basis, possibly from a custom agent script. Here is an example using this prefix, FHGhttp//127.0.0.1/agc/tts/--A--lead_id--B--_TTS.wav</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-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-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-manual_vm_status_updates Manual VM Status Updates <QXZ>If enabled, this will enable the standard Answering Machine Messages status updates that exist for auto-dialed calls for manual dialed calls as well. Default is ENABLED.</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-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> 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>
campaigns-amd_send_to_vmx AMD send to Action <QXZ>This option allows you to define whether a call is sent to the Answering Machine Message or CPD AMD Action when an answering machine is detected, or if it is hung up. If this is set to N, then the call will be hung up as soon as it is determined to be an answering machine. Default is N.</QXZ> campaigns-amd_send_to_vmx AMD send to Action <QXZ>This option allows you to define whether a call is sent to the Answering Machine Message or CPD AMD Action when an answering machine is detected, or if it is hung up. If this is set to N, then the call will be hung up as soon as it is determined to be an answering machine. Default is N.</QXZ>