Added amd_status_map system setting and campaign setting
git-svn-id: svn://192.168.202.10@4004 3d104415-ff17-0410-8863-d5cf3c621b8a
This commit is contained in:
@@ -74,10 +74,11 @@
|
|||||||
# 251006-0903 - If recording_dtmf_muting enabled, force use of MixMonitor for recording
|
# 251006-0903 - If recording_dtmf_muting enabled, force use of MixMonitor for recording
|
||||||
# 260129-1443 - Added code to reinsert missing vicidial_auto_calls record
|
# 260129-1443 - Added code to reinsert missing vicidial_auto_calls record
|
||||||
# 260527-0902 - Updates for ViciAMD
|
# 260527-0902 - Updates for ViciAMD
|
||||||
|
# 260620-1430 - Added amd_status_map feature
|
||||||
#
|
#
|
||||||
|
|
||||||
$script = 'VD_amd.agi';
|
$script = 'VD_amd.agi';
|
||||||
$build = '260527-0902';
|
$build = '260620-1430';
|
||||||
|
|
||||||
$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
|
||||||
@@ -152,7 +153,7 @@ $dbhA = DBI->connect("DBI:mysql:$VARDB_database:$VARDB_server:$VARDB_port", "$VA
|
|||||||
|
|
||||||
#############################################
|
#############################################
|
||||||
##### Gather system_settings #####
|
##### Gather system_settings #####
|
||||||
$stmtA = "SELECT sip_event_logging,call_quota_lead_ranking,recording_dtmf_muting,recording_dtmf_detection FROM system_settings;";
|
$stmtA = "SELECT sip_event_logging,call_quota_lead_ranking,recording_dtmf_muting,recording_dtmf_detection,amd_status_map FROM system_settings;";
|
||||||
$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;
|
||||||
@@ -163,6 +164,7 @@ if ($sthArows > 0)
|
|||||||
$SScall_quota_lead_ranking = $aryA[1];
|
$SScall_quota_lead_ranking = $aryA[1];
|
||||||
$SSrecording_dtmf_muting = $aryA[2];
|
$SSrecording_dtmf_muting = $aryA[2];
|
||||||
$SSrecording_dtmf_detection = $aryA[3];
|
$SSrecording_dtmf_detection = $aryA[3];
|
||||||
|
$SSamd_status_map = $aryA[4];
|
||||||
}
|
}
|
||||||
$sthA->finish();
|
$sthA->finish();
|
||||||
###########################################
|
###########################################
|
||||||
@@ -273,6 +275,7 @@ if ($AGILOG) {$agi_string = "AGI Variables: |$unique_id|$channel|$extension|$typ
|
|||||||
$VDADcampaign='';
|
$VDADcampaign='';
|
||||||
$VDADphone='';
|
$VDADphone='';
|
||||||
$VDADphone_code='';
|
$VDADphone_code='';
|
||||||
|
$ACTIVEamd_status_map = $SSamd_status_map;
|
||||||
|
|
||||||
$callerid =~ s/\"//gi;
|
$callerid =~ s/\"//gi;
|
||||||
$callerid =~ s/ .*//gi;
|
$callerid =~ s/ .*//gi;
|
||||||
@@ -297,6 +300,12 @@ $AMDSTATUS = $AGI->get_variable(AMDSTATUS);
|
|||||||
$AMDCAUSE = $AGI->get_variable(AMDCAUSE);
|
$AMDCAUSE = $AGI->get_variable(AMDCAUSE);
|
||||||
$AMDSTATS = $AGI->get_variable(AMDSTATS);
|
$AMDSTATS = $AGI->get_variable(AMDSTATS);
|
||||||
$AMDMINLEN = $AGI->get_variable(AMDMINLEN);
|
$AMDMINLEN = $AGI->get_variable(AMDMINLEN);
|
||||||
|
# sanitize dialplan variables
|
||||||
|
$AMDSTATUS =~ s/\'|\"|\\\\|\\\|\\|\\;|\\\;|\;|;|\r|\n//gi;
|
||||||
|
$AMDCAUSE =~ s/\'|\"|\\\\|\\\|\\|\\;|\\\;|\;|;|\r|\n//gi;
|
||||||
|
$AMDSTATS =~ s/\'|\"|\\\\|\\\|\\|\\;|\\\;|\;|;|\r|\n//gi;
|
||||||
|
$AMDMINLEN =~ s/\'|\"|\\\\|\\\|\\|\\;|\\\;|\;|;|\r|\n//gi;
|
||||||
|
|
||||||
$AMDRESPONSE = $AMDCAUSE;
|
$AMDRESPONSE = $AMDCAUSE;
|
||||||
$AMDRESPONSE =~ s/-.*//gi;
|
$AMDRESPONSE =~ s/-.*//gi;
|
||||||
$run_time = $AMDSTATS;
|
$run_time = $AMDSTATS;
|
||||||
@@ -411,7 +420,14 @@ $NOAUDIODATA_hangup_enabled=0;
|
|||||||
$FAX_hangup_enabled=0;
|
$FAX_hangup_enabled=0;
|
||||||
$FAS_hangup_enabled=0;
|
$FAS_hangup_enabled=0;
|
||||||
$VL_status_updates=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;";
|
$amd_status_map_CONFIRMED='';
|
||||||
|
$KEEP_AL_AM_STATUSES_enabled=0;
|
||||||
|
$statusAA='AA';
|
||||||
|
$statusAL='AL';
|
||||||
|
$statusAM='AM';
|
||||||
|
$statusAMDXFR='AMDXFR';
|
||||||
|
|
||||||
|
$stmtA = "SELECT amd_agent_route_options,manual_vm_status_updates,amd_status_map 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;
|
||||||
@@ -421,10 +437,71 @@ 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];
|
$manual_vm_status_updates = $aryA[1];
|
||||||
|
$amd_status_map = $aryA[2];
|
||||||
$sthA->finish();
|
$sthA->finish();
|
||||||
}
|
}
|
||||||
if ( ($manual_vm_status_updates =~ /DISABLED/i) && ($calleridname =~ /^M|^Y|^DC/) )
|
if ( ($manual_vm_status_updates =~ /DISABLED/i) && ($calleridname =~ /^M|^Y|^DC/) )
|
||||||
{$VL_status_updates=0;}
|
{$VL_status_updates=0;}
|
||||||
|
if ( ($amd_status_map !~ /^DISABLED$/i) && (length($amd_status_map) > 0) )
|
||||||
|
{$ACTIVEamd_status_map = $amd_status_map;}
|
||||||
|
if ( ($ACTIVEamd_status_map !~ /^DISABLED$/i) && (length($ACTIVEamd_status_map) > 0) )
|
||||||
|
{
|
||||||
|
$stmtA = "SELECT container_entry FROM vicidial_settings_containers where container_id='$ACTIVEamd_status_map' limit 1;";
|
||||||
|
$sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr;
|
||||||
|
$sthA->execute or die "executing: $stmtA ", $dbhA->errstr;
|
||||||
|
$sthArowsVSC=$sthA->rows;
|
||||||
|
if ($AGILOG) {$agi_string = "$sthArowsVSC|$stmtA|"; &agi_output;}
|
||||||
|
if ($sthArowsVSC > 0)
|
||||||
|
{
|
||||||
|
@aryA = $sthA->fetchrow_array;
|
||||||
|
$AMDcontainer_entry = $aryA[0];
|
||||||
|
$sthA->finish();
|
||||||
|
}
|
||||||
|
if (length($AMDcontainer_entry) > 3)
|
||||||
|
{
|
||||||
|
@AMDcontainer_lines = split(/\n/,$AMDcontainer_entry);
|
||||||
|
$c=0;
|
||||||
|
foreach(@AMDcontainer_lines)
|
||||||
|
{
|
||||||
|
$AMDcontainer_lines[$c] =~ s/;.*|\r|\t| //gi;
|
||||||
|
if ( (length($AMDcontainer_lines[$c]) > 3) && ($AMDcontainer_lines[$c] =~ /,/) && ($AMDcontainer_lines[$c] =~ /=>/) )
|
||||||
|
{
|
||||||
|
@AMDmap = split(/=>/,$AMDcontainer_lines[$c]);
|
||||||
|
@AMDline = split(/,/,$AMDmap[0]);
|
||||||
|
|
||||||
|
# check for wildcard for amdstatus first
|
||||||
|
if ( ($AMDline[0] =~ /^$AMDSTATUS$/i) && ($AMDline[1] =~ /^\*$/i) )
|
||||||
|
{
|
||||||
|
$amd_status_map_CONFIRMED = $AMDmap[1];
|
||||||
|
if ($AGILOG) {$agi_string = "AMD status map WILDCARD MATCH: $c|$amd_status_map_CONFIRMED| $AMDline[0]($AMDSTATUS)|$AMDline[1]($AMDRESPONSE)|"; &agi_output;}
|
||||||
|
}
|
||||||
|
|
||||||
|
# check for both amdstatus and amdcause
|
||||||
|
if ( ($AMDline[0] =~ /^$AMDSTATUS$/i) && ($AMDline[1] =~ /^$AMDRESPONSE$/i) )
|
||||||
|
{
|
||||||
|
$amd_status_map_CONFIRMED = $AMDmap[1];
|
||||||
|
if ($AGILOG) {$agi_string = "AMD status map EXACT MATCH: $c|$amd_status_map_CONFIRMED| $AMDline[0]($AMDSTATUS)|$AMDline[1]($AMDRESPONSE)|"; &agi_output;}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($AMDcontainer_lines[$c] =~ /KEEP-AL-AM-STATUSES/)
|
||||||
|
{
|
||||||
|
$KEEP_AL_AM_STATUSES_enabled++;
|
||||||
|
}
|
||||||
|
$c++;
|
||||||
|
}
|
||||||
|
if (length($amd_status_map_CONFIRMED) > 0)
|
||||||
|
{
|
||||||
|
$statusAA = $amd_status_map_CONFIRMED;
|
||||||
|
if ($KEEP_AL_AM_STATUSES_enabled < 1)
|
||||||
|
{
|
||||||
|
$statusAL = $amd_status_map_CONFIRMED;
|
||||||
|
$statusAM = $amd_status_map_CONFIRMED;
|
||||||
|
$statusAMDXFR = $amd_status_map_CONFIRMED;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if ($amd_agent_route_options =~ /ENABLED/i)
|
if ($amd_agent_route_options =~ /ENABLED/i)
|
||||||
{
|
{
|
||||||
@@ -520,7 +597,7 @@ else
|
|||||||
if ($AMDSTATUS !~ /CPD/)
|
if ($AMDSTATUS !~ /CPD/)
|
||||||
{
|
{
|
||||||
########## 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='$statusAA' 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)
|
if ($VL_status_updates > 0)
|
||||||
{
|
{
|
||||||
@@ -584,14 +661,14 @@ else
|
|||||||
{
|
{
|
||||||
if ($AGILOG) {$agi_string = "no VDL record found: $uniqueid $calleridname $VD_lead_id $uniqueid"; &agi_output;}
|
if ($AGILOG) {$agi_string = "no VDL record found: $uniqueid $calleridname $VD_lead_id $uniqueid"; &agi_output;}
|
||||||
$end_epoch = ($now_date_epoch + 3);
|
$end_epoch = ($now_date_epoch + 3);
|
||||||
$stmtA = "INSERT INTO vicidial_log (uniqueid,lead_id,campaign_id,call_date,start_epoch,status,phone_code,phone_number,user,processed,length_in_sec,end_epoch,list_id,called_count) values('$uniqueid','$VD_lead_id','$VD_campaign_id','$now_date','$now_date_epoch','AA','$VD_phone_code','$VD_phone_number','VDAD','N','3','$end_epoch','$VD_list_id','$VD_called_count')";
|
$stmtA = "INSERT INTO vicidial_log (uniqueid,lead_id,campaign_id,call_date,start_epoch,status,phone_code,phone_number,user,processed,length_in_sec,end_epoch,list_id,called_count) values('$uniqueid','$VD_lead_id','$VD_campaign_id','$now_date','$now_date_epoch','$statusAA','$VD_phone_code','$VD_phone_number','VDAD','N','3','$end_epoch','$VD_list_id','$VD_called_count')";
|
||||||
if ($AGILOG) {$agi_string = "|$stmtA|"; &agi_output;}
|
if ($AGILOG) {$agi_string = "|$stmtA|"; &agi_output;}
|
||||||
$affected_rows = $dbhA->do($stmtA);
|
$affected_rows = $dbhA->do($stmtA);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
$VD_seconds = ($now_date_epoch - $VD_start_epoch);
|
$VD_seconds = ($now_date_epoch - $VD_start_epoch);
|
||||||
$stmtA = "UPDATE vicidial_log set status='AA',end_epoch='$now_date_epoch',length_in_sec='$VD_seconds',list_id='$VD_list_id',called_count='$VD_called_count' where uniqueid='$uniqueid' and lead_id='$VD_lead_id' order by call_date desc limit 1;";
|
$stmtA = "UPDATE vicidial_log set status='$statusAA',end_epoch='$now_date_epoch',length_in_sec='$VD_seconds',list_id='$VD_list_id',called_count='$VD_called_count' where uniqueid='$uniqueid' and lead_id='$VD_lead_id' order by call_date desc limit 1;";
|
||||||
if ($AGILOG) {$agi_string = "|$stmtA|"; &agi_output;}
|
if ($AGILOG) {$agi_string = "|$stmtA|"; &agi_output;}
|
||||||
$affected_rows = $dbhA->do($stmtA);
|
$affected_rows = $dbhA->do($stmtA);
|
||||||
if ($AGILOG) {$agi_string = "-- VDAD vicidial_log update: |$affected_rows|$uniqueid|$DB_called_count|$VD_called_count|"; &agi_output;}
|
if ($AGILOG) {$agi_string = "-- VDAD vicidial_log update: |$affected_rows|$uniqueid|$DB_called_count|$VD_called_count|"; &agi_output;}
|
||||||
@@ -664,7 +741,7 @@ else
|
|||||||
|
|
||||||
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 = $statusAA;
|
||||||
&call_quota_logging;
|
&call_quota_logging;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -880,6 +957,8 @@ else
|
|||||||
{$hangup_status='FAXHU';}
|
{$hangup_status='FAXHU';}
|
||||||
if ( ($AMDRESPONSE =~ /^FAS/) && ($FAS_hangup_enabled > 0) )
|
if ( ($AMDRESPONSE =~ /^FAS/) && ($FAS_hangup_enabled > 0) )
|
||||||
{$hangup_status='FASHU';}
|
{$hangup_status='FASHU';}
|
||||||
|
if (length($amd_status_map_CONFIRMED) > 0)
|
||||||
|
{$hangup_status = $amd_status_map_CONFIRMED;}
|
||||||
### If No Audio or a Fax or a False Answer, let's update lead, log and hangup.
|
### If No Audio or a Fax or a False Answer, let's update lead, log and hangup.
|
||||||
$stmtA = "UPDATE vicidial_log set status='$hangup_status' where uniqueid='$uniqueid' and lead_id='$VD_lead_id' order by call_date desc limit 1;";
|
$stmtA = "UPDATE vicidial_log set status='$hangup_status' where uniqueid='$uniqueid' and lead_id='$VD_lead_id' order by call_date desc limit 1;";
|
||||||
if ($AGILOG) {$agi_string = "|$stmtA|"; &agi_output;}
|
if ($AGILOG) {$agi_string = "|$stmtA|"; &agi_output;}
|
||||||
@@ -909,7 +988,7 @@ else
|
|||||||
|
|
||||||
if ( ( ($DB_amd_send_to_vmx =~ /Y/) || ($force_playback =~ /YES/) ) && (length($DB_am_message_exten) > 0) )
|
if ( ( ($DB_amd_send_to_vmx =~ /Y/) || ($force_playback =~ /YES/) ) && (length($DB_am_message_exten) > 0) )
|
||||||
{
|
{
|
||||||
$msg_status='AM';
|
$msg_status = $statusAM;
|
||||||
if ($AMDCAUSE =~ /^Unknown|\?\?\?/i)
|
if ($AMDCAUSE =~ /^Unknown|\?\?\?/i)
|
||||||
{$msg_status='UNKAM';}
|
{$msg_status='UNKAM';}
|
||||||
|
|
||||||
@@ -1708,17 +1787,17 @@ else
|
|||||||
}
|
}
|
||||||
if (length($DROPexten)>0)
|
if (length($DROPexten)>0)
|
||||||
{
|
{
|
||||||
$stmtA = "UPDATE vicidial_log set status='AMDXFR' where uniqueid='$uniqueid' and lead_id='$VD_lead_id' order by call_date desc limit 1;";
|
$stmtA = "UPDATE vicidial_log set status='$statusAMDXFR' where uniqueid='$uniqueid' and lead_id='$VD_lead_id' order by call_date desc limit 1;";
|
||||||
if ($AGILOG) {$agi_string = "|$stmtA|"; &agi_output;}
|
if ($AGILOG) {$agi_string = "|$stmtA|"; &agi_output;}
|
||||||
$affected_rows = $dbhA->do($stmtA);
|
$affected_rows = $dbhA->do($stmtA);
|
||||||
if ($AGILOG) {$agi_string = "-- VDAD vicidial_log AMDXFR update: |$affected_rows|$uniqueid|"; &agi_output;}
|
if ($AGILOG) {$agi_string = "-- VDAD vicidial_log AMDXFR update: |$affected_rows|$uniqueid|$statusAMDXFR|"; &agi_output;}
|
||||||
|
|
||||||
$stmtA = "UPDATE vicidial_list set status='AMDXFR' where lead_id='$VD_lead_id';";
|
$stmtA = "UPDATE vicidial_list set status='$statusAMDXFR' 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)
|
if ($VL_status_updates > 0)
|
||||||
{
|
{
|
||||||
$affected_rows = $dbhA->do($stmtA);
|
$affected_rows = $dbhA->do($stmtA);
|
||||||
if ($AGILOG) {$agi_string = "-- VDAD vicidial_list AMDXFR update: |$affected_rows|$uniqueid"; &agi_output;}
|
if ($AGILOG) {$agi_string = "-- VDAD vicidial_list AMDXFR update: |$affected_rows|$uniqueid|$statusAMDXFR"; &agi_output;}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@@ -1727,10 +1806,10 @@ else
|
|||||||
|
|
||||||
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) )
|
||||||
{
|
{
|
||||||
$stmtA = "UPDATE vicidial_lead_call_quota_counts set status='AMDXFR' where lead_id='$VD_lead_id';";
|
$stmtA = "UPDATE vicidial_lead_call_quota_counts set status='$statusAMDXFR' 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);
|
$affected_rows = $dbhA->do($stmtA);
|
||||||
if ($AGILOG) {$agi_string = "-- VDAD vicidial_lead_call_quota_counts AMDXFR update: |$affected_rows|$uniqueid|"; &agi_output;}
|
if ($AGILOG) {$agi_string = "-- VDAD vicidial_lead_call_quota_counts AMDXFR update: |$affected_rows|$uniqueid|$statusAMDXFR|"; &agi_output;}
|
||||||
}
|
}
|
||||||
|
|
||||||
$AGI->stream_file('sip-silence');
|
$AGI->stream_file('sip-silence');
|
||||||
@@ -1771,7 +1850,7 @@ else
|
|||||||
else
|
else
|
||||||
{$AGI->stream_file("$DB_am_message_exten");}
|
{$AGI->stream_file("$DB_am_message_exten");}
|
||||||
|
|
||||||
$last_status='AL';
|
$last_status = $statusAL;
|
||||||
if ($AMDCAUSE =~ /^Unknown|\?\?\?/i)
|
if ($AMDCAUSE =~ /^Unknown|\?\?\?/i)
|
||||||
{$last_status='UNKAL';}
|
{$last_status='UNKAL';}
|
||||||
$stmtA = "UPDATE vicidial_log set status='$last_status' where uniqueid='$uniqueid' and lead_id='$VD_lead_id' order by call_date desc limit 1;";
|
$stmtA = "UPDATE vicidial_log set status='$last_status' where uniqueid='$uniqueid' and lead_id='$VD_lead_id' order by call_date desc limit 1;";
|
||||||
|
|||||||
@@ -89,3 +89,11 @@ FAXHU - Fax AMD Auto Hangup
|
|||||||
FASHU - False Answer AMD Auto Hangup
|
FASHU - False Answer AMD Auto Hangup
|
||||||
GVM - Generic Voicemail Message
|
GVM - Generic Voicemail Message
|
||||||
PVM - Personalized Voicemail Message
|
PVM - Personalized Voicemail Message
|
||||||
|
VAMCS - AMD CallScreeen
|
||||||
|
VAMFAS - AMD False Answer Signal
|
||||||
|
VAMFIS - AMD FAS Silence
|
||||||
|
VAMRNG - AMD FAS Ringing
|
||||||
|
VAMFAX - AMD Fax Machine
|
||||||
|
VAMSIT - AMD SIT Tones
|
||||||
|
VAMMAC - AMD Answering Machine
|
||||||
|
VAMNS - AMD Not Sure
|
||||||
|
|||||||
@@ -49,10 +49,10 @@ sig_min_dist FLOAT DEFAULT 0, ADD sig_match_ms FLOAT DEFAULT 0;
|
|||||||
ALTER TABLE vicidial_vca_log_archive ADD sig_id VARCHAR(36) DEFAULT '',
|
ALTER TABLE vicidial_vca_log_archive ADD sig_id VARCHAR(36) DEFAULT '',
|
||||||
ADD sig_min_dist FLOAT DEFAULT 0, ADD sig_match_ms FLOAT DEFAULT 0;
|
ADD sig_min_dist FLOAT DEFAULT 0, ADD sig_match_ms FLOAT DEFAULT 0;
|
||||||
|
|
||||||
ALTER TABLE vicidial_vca_log RENAME column sig_id to voice_sig_id
|
ALTER TABLE vicidial_vca_log RENAME column sig_id to voice_sig_id;
|
||||||
ALTER TABLE vicidial_vca_log RENAME column sig_min_dist to voice_min_dist;
|
ALTER TABLE vicidial_vca_log RENAME column sig_min_dist to voice_min_dist;
|
||||||
ALTER TABLE vicidial_vca_log RENAME column sig_match_ms to voice_match_ms;
|
ALTER TABLE vicidial_vca_log RENAME column sig_match_ms to voice_match_ms;
|
||||||
ALTER TABLE vicidial_vca_log_archive RENAME column sig_id to voice_sig_id
|
ALTER TABLE vicidial_vca_log_archive RENAME column sig_id to voice_sig_id;
|
||||||
ALTER TABLE vicidial_vca_log_archive RENAME column sig_match_ms to voice_match_ms;
|
ALTER TABLE vicidial_vca_log_archive RENAME column sig_match_ms to voice_match_ms;
|
||||||
ALTER TABLE vicidial_vca_log_archive RENAME column sig_min_dist to voice_min_dist;
|
ALTER TABLE vicidial_vca_log_archive RENAME column sig_min_dist to voice_min_dist;
|
||||||
ALTER TABLE vicidial_vca_log ADD column audio_sig_id VARCHAR(36) default '';
|
ALTER TABLE vicidial_vca_log ADD column audio_sig_id VARCHAR(36) default '';
|
||||||
@@ -63,3 +63,5 @@ ALTER TABLE vicidial_vca_log_archive ADD column audio_sig_id VARCHAR(36) default
|
|||||||
ALTER TABLE vicidial_vca_log_archive ADD column audio_min_dist FLOAT default 0;
|
ALTER TABLE vicidial_vca_log_archive ADD column audio_min_dist FLOAT default 0;
|
||||||
ALTER TABLE vicidial_vca_log_archive ADD column audio_match_ms FLOAT default 0;
|
ALTER TABLE vicidial_vca_log_archive ADD column audio_match_ms FLOAT default 0;
|
||||||
ALTER TABLE vicidial_vca_log_archive ADD column sig_match_type VARCHAR(10) default '';
|
ALTER TABLE vicidial_vca_log_archive ADD column sig_match_type VARCHAR(10) default '';
|
||||||
|
|
||||||
|
INSERT INTO vicidial_settings_containers(container_id,container_notes,container_type,user_group,container_entry,modify_stamp) VALUES('Default_ViciAMD_status_map','Default ViciAMD status map','AMD_STATUS_MAP','---ALL---','CALLSCREEN,* => VAMCS\nCALLSCREEN,PATTERN => VAMCS\nCALLSCREEN,SIGNATURE => VAMCS\nFAS,* => VAMFAS\nFAS,INITIALSILENCE => VAMFIS\nFAS,RINGING => VAMRNG\nFAS,SIGNATURE => VAMFAS\nFAX,* => VAMFAX\nFAX,ANS_SIG => VAMFAX\nFAX,CNG_SIG => VAMFAX\nHUMAN,* => VAMMAN\nHUMAN,HUMAN => VAMMAN\nINTERCEPT,* => VAMSIT\nINTERCEPT,SIGNATURE => VAMSIT\nINTERCEPT,SITTONES => VAMSIT\nMACHINE,* => VAMMAC\nMACHINE,MAXWORDS => VAMMAC\nMACHINE,PATTERN => VAMMAC\nMACHINE,SIGNATURE => VAMMAC\nNOTSURE,* => VAMNS\nNOTSURE,HANGUP => VAMNS\nNOTSURE,HIGHCOMPRESS => VAMNS\nNOTSURE,LOWCONFIDENCE => VAMNS\nNOTSURE,LOWSCORE => VAMNS\nNOTSURE,NOTHUMAN => VAMNS\nNOTSURE,NOTSURE => VAMNS',NOW());
|
||||||
|
|||||||
@@ -1147,7 +1147,8 @@ stereo_recording_agent ENUM('NEVER','ONDEMAND','ALLCALLS','ALLFORCE') default 'A
|
|||||||
call_count_limit_restrict VARCHAR(30) default 'DISABLED',
|
call_count_limit_restrict VARCHAR(30) default 'DISABLED',
|
||||||
adaptive_percentmax_percentage TINYINT(2) UNSIGNED default '50',
|
adaptive_percentmax_percentage TINYINT(2) UNSIGNED default '50',
|
||||||
hangup_again_link ENUM('DISABLED','ENABLED') default 'ENABLED',
|
hangup_again_link ENUM('DISABLED','ENABLED') default 'ENABLED',
|
||||||
amd_agent_display ENUM('ENABLED','DISABLED') default 'DISABLED'
|
amd_agent_display ENUM('ENABLED','DISABLED') default 'DISABLED',
|
||||||
|
amd_status_map VARCHAR(40) default 'DISABLED'
|
||||||
) ENGINE=MyISAM;
|
) ENGINE=MyISAM;
|
||||||
|
|
||||||
CREATE TABLE vicidial_lists (
|
CREATE TABLE vicidial_lists (
|
||||||
@@ -2084,7 +2085,8 @@ stereo_parallel_recording ENUM('0','1','2','3','4','5','6') default '0',
|
|||||||
db_crashed_tables_check ENUM('0','1','2','3','4','5','6') default '1',
|
db_crashed_tables_check ENUM('0','1','2','3','4','5','6') default '1',
|
||||||
xfer_min_container VARCHAR(40) default '',
|
xfer_min_container VARCHAR(40) default '',
|
||||||
max_inbound_auto_reenable ENUM('0','1','2','3','4','5','6') default '1',
|
max_inbound_auto_reenable ENUM('0','1','2','3','4','5','6') default '1',
|
||||||
viciamd_enabled ENUM('0','1','2','3','4','5','6') default '0'
|
viciamd_enabled ENUM('0','1','2','3','4','5','6') default '0',
|
||||||
|
amd_status_map VARCHAR(40) default 'DISABLED'
|
||||||
) ENGINE=MyISAM;
|
) ENGINE=MyISAM;
|
||||||
|
|
||||||
CREATE TABLE vicidial_campaigns_list_mix (
|
CREATE TABLE vicidial_campaigns_list_mix (
|
||||||
@@ -5881,6 +5883,14 @@ INSERT INTO vicidial_statuses (status,status_name,selectable,human_answered,cate
|
|||||||
INSERT INTO vicidial_statuses (status,status_name) VALUES ('ADAIR', 'Dead Air Auto');
|
INSERT INTO vicidial_statuses (status,status_name) VALUES ('ADAIR', 'Dead Air Auto');
|
||||||
INSERT INTO vicidial_statuses (status,status_name) VALUES ('FAXHU', 'Fax Auto Hangup');
|
INSERT INTO vicidial_statuses (status,status_name) VALUES ('FAXHU', 'Fax Auto Hangup');
|
||||||
INSERT INTO vicidial_statuses (status,status_name) VALUES ('FASHU', 'False Answer Auto Hangup');
|
INSERT INTO vicidial_statuses (status,status_name) VALUES ('FASHU', 'False Answer Auto Hangup');
|
||||||
|
INSERT INTO vicidial_statuses (status,status_name,selectable,human_answered,category,sale,dnc,customer_contact,not_interested,unworkable,scheduled_callback,completed,answering_machine) values('VAMCS','AMD CallScreeen','N','N','UNDEFINED','N','N','N','N','N','N','N','N');
|
||||||
|
INSERT INTO vicidial_statuses (status,status_name,selectable,human_answered,category,sale,dnc,customer_contact,not_interested,unworkable,scheduled_callback,completed,answering_machine) values('VAMFAS','AMD False Answer Signal','N','N','UNDEFINED','N','N','N','N','N','N','N','N');
|
||||||
|
INSERT INTO vicidial_statuses (status,status_name,selectable,human_answered,category,sale,dnc,customer_contact,not_interested,unworkable,scheduled_callback,completed,answering_machine) values('VAMFIS','AMD FAS Silence','N','N','UNDEFINED','N','N','N','N','N','N','N','N');
|
||||||
|
INSERT INTO vicidial_statuses (status,status_name,selectable,human_answered,category,sale,dnc,customer_contact,not_interested,unworkable,scheduled_callback,completed,answering_machine) values('VAMRNG','AMD FAS Ringing','N','N','UNDEFINED','N','N','N','N','N','N','N','N');
|
||||||
|
INSERT INTO vicidial_statuses (status,status_name,selectable,human_answered,category,sale,dnc,customer_contact,not_interested,unworkable,scheduled_callback,completed,answering_machine) values('VAMFAX','AMD Fax Machine','N','N','UNDEFINED','N','N','N','N','N','N','N','N');
|
||||||
|
INSERT INTO vicidial_statuses (status,status_name,selectable,human_answered,category,sale,dnc,customer_contact,not_interested,unworkable,scheduled_callback,completed,answering_machine) values('VAMSIT','AMD SIT Tones','N','N','UNDEFINED','N','N','N','N','N','N','N','N');
|
||||||
|
INSERT INTO vicidial_statuses (status,status_name,selectable,human_answered,category,sale,dnc,customer_contact,not_interested,unworkable,scheduled_callback,completed,answering_machine) values('VAMMAC','AMD Answering Machine','N','N','UNDEFINED','N','N','N','N','N','N','N','Y');
|
||||||
|
INSERT INTO vicidial_statuses (status,status_name,selectable,human_answered,category,sale,dnc,customer_contact,not_interested,unworkable,scheduled_callback,completed,answering_machine) values('VAMNS','AMD Not Sure','N','N','UNDEFINED','N','N','N','N','N','N','N','N');
|
||||||
|
|
||||||
INSERT INTO vicidial_qc_codes (code,code_name,qc_result_type) VALUES ('QCPASS','PASS','PASS');
|
INSERT INTO vicidial_qc_codes (code,code_name,qc_result_type) VALUES ('QCPASS','PASS','PASS');
|
||||||
INSERT INTO vicidial_qc_codes (code,code_name,qc_result_type) VALUES ('QCFAIL','FAIL','FAIL');
|
INSERT INTO vicidial_qc_codes (code,code_name,qc_result_type) VALUES ('QCFAIL','FAIL','FAIL');
|
||||||
@@ -5909,6 +5919,7 @@ INSERT INTO vicidial_settings_containers(container_id,container_notes,container_
|
|||||||
INSERT INTO vicidial_settings_containers(container_id,container_notes,container_type,user_group,container_entry) VALUES ('FAILED_DIAL_MESSAGE_OVERRIDE','Failed Dial Message Override','OTHER','---ALL---',"Unable to complete the call at this time.\nPlease try again later.");
|
INSERT INTO vicidial_settings_containers(container_id,container_notes,container_type,user_group,container_entry) VALUES ('FAILED_DIAL_MESSAGE_OVERRIDE','Failed Dial Message Override','OTHER','---ALL---',"Unable to complete the call at this time.\nPlease try again later.");
|
||||||
INSERT INTO vicidial_settings_containers(container_id,container_notes,container_type,user_group,container_entry) VALUES ('LISTLOADER_AUTO_MAPPING', 'Contains aliases for auto-mapping fields in listloader', 'OTHER', '---ALL---', '; Use this to auto-map fields in the listloader when you attempt to load\r\n; a file. This will populate the \'File data\' dropdown menus \r\n; You may define additional aliases by adding them to the below list.\r\n; They must be of the form \"alias => vicidial_field\". One per line.\r\n; The \"vicidial_field\" value must match the name of a column in the\r\n; vicidial_list table\r\n\r\n\'phone\' => \'phonenumber\'\r\n\'phoneno\' => \'phonenumber\'\r\n\'phone1\' => \'phonenumber\'\r\n\'primaryphone\' => \'phonenumber\'\r\n\'mainphone\' => \'phonenumber\'\r\n\'telephone\' => \'phonenumber\'\r\n\'tel\' => \'phonenumber\'\r\n\'cell\' => \'phonenumber\'\r\n\'cellphone\' => \'phonenumber\'\r\n\'mobile\' => \'phonenumber\'\r\n\'mobilephone\' => \'phonenumber\'\r\n\'workphone\' => \'phonenumber\'\r\n\'homephone\' => \'phonenumber\'\r\n\'fname\' => \'firstname\'\r\n\'first\' => \'firstname\'\r\n\'givenname\' => \'firstname\'\r\n\'lname\' => \'lastname\'\r\n\'last\' => \'lastname\'\r\n\'surname\' => \'lastname\'\r\n\'familyname\' => \'lastname\'\r\n\'mi\' => \'middleinitial\'\r\n\'middle\' => \'middleinitial\'\r\n\'middlename\' => \'middleinitial\'\r\n\'minit\' => \'middleinitial\'\r\n\'addr\' => \'address1\'\r\n\'addr1\' => \'address1\'\r\n\'street\' => \'address1\'\r\n\'streetaddress\' => \'address1\'\r\n\'address\' => \'address1\'\r\n\'addr2\' => \'address2\'\r\n\'street2\' => \'address2\'\r\n\'suite\' => \'address2\'\r\n\'apt\' => \'address2\'\r\n\'apartment\' => \'address2\'\r\n\'unit\' => \'address2\'\r\n\'addr3\' => \'address3\'\r\n\'zip\' => \'postalcode\'\r\n\'zipcode\' => \'postalcode\'\r\n\'postcode\' => \'postalcode\'\r\n\'postalzip\' => \'postalcode\'\r\n\'st\' => \'state\'\r\n\'stateprovince\' => \'state\'\r\n\'region\' => \'state\'\r\n\'prov\' => \'province\'\r\n\'country\' => \'countrycode\'\r\n\'countrycd\' => \'countrycode\'\r\n\'cc\' => \'countrycode\'\r\n\'sex\' => \'gender\'\r\n\'dob\' => \'dateofbirth\'\r\n\'birthday\' => \'dateofbirth\'\r\n\'birthdate\' => \'dateofbirth\'\r\n\'birth\' => \'dateofbirth\'\r\n\'altphone\' => \'altphone\'\r\n\'phone2\' => \'altphone\'\r\n\'secondaryphone\' => \'altphone\'\r\n\'otherphone\' => \'altphone\'\r\n\'alternatephone\' => \'altphone\'\r\n\'emailaddress\' => \'email\'\r\n\'emailaddr\' => \'email\'\r\n\'mail\' => \'email\'\r\n\'note\' => \'comments\'\r\n\'notes\' => \'comments\'\r\n\'comment\' => \'comments\'\r\n\'remark\' => \'comments\'\r\n\'remarks\' => \'comments\'\r\n\'description\' => \'comments\'\r\n\'vendorcode\' => \'vendorleadcode\'\r\n\'vendorid\' => \'vendorleadcode\'\r\n\'vendorleadid\' => \'vendorleadcode\'\r\n\'leadcode\' => \'vendorleadcode\'\r\n\'externalid\' => \'vendorleadcode\'\r\n\'sourcecode\' => \'sourceid\'\r\n\'source\' => \'sourceid\'\r\n\'leadsource\' => \'sourceid\'\r\n\'listid\' => \'listid\'\r\n\'list\' => \'listid\'\r\n\'phonecode\' => \'phonecode\'\r\n\'dialcode\' => \'phonecode\'\r\n\'countrydialing\' => \'phonecode\'\r\n\'prefix\' => \'title\'\r\n\'salutation\' => \'title\'\r\n\'mr\' => \'title\'\r\n\'securityphrase\' => \'securityphrase\'\r\n\'security\' => \'securityphrase\'\r\n\'pin\' => \'securityphrase\'\r\n\'password\' => \'securityphrase\'\r\n\'priority\' => \'rank\'\r\n\'score\' => \'rank\'\r\n\'weight\' => \'rank\'\r\n\'agent\' => \'owner\'\r\n\'assignedto\' => \'owner\'\r\n\'rep\' => \'owner\'\r\n\'town\' => \'city\'\r\n\r\n\r\n; This is the minimum required score that the header field must return\r\n; when processed with the Levenshtein distance algorithm. Default is 70.\r\n; If you wish to raise or lower it, uncomment the below line and change the \r\n; score value to whatever you wish\r\n; minimum_required_score => 70\r\n');
|
INSERT INTO vicidial_settings_containers(container_id,container_notes,container_type,user_group,container_entry) VALUES ('LISTLOADER_AUTO_MAPPING', 'Contains aliases for auto-mapping fields in listloader', 'OTHER', '---ALL---', '; Use this to auto-map fields in the listloader when you attempt to load\r\n; a file. This will populate the \'File data\' dropdown menus \r\n; You may define additional aliases by adding them to the below list.\r\n; They must be of the form \"alias => vicidial_field\". One per line.\r\n; The \"vicidial_field\" value must match the name of a column in the\r\n; vicidial_list table\r\n\r\n\'phone\' => \'phonenumber\'\r\n\'phoneno\' => \'phonenumber\'\r\n\'phone1\' => \'phonenumber\'\r\n\'primaryphone\' => \'phonenumber\'\r\n\'mainphone\' => \'phonenumber\'\r\n\'telephone\' => \'phonenumber\'\r\n\'tel\' => \'phonenumber\'\r\n\'cell\' => \'phonenumber\'\r\n\'cellphone\' => \'phonenumber\'\r\n\'mobile\' => \'phonenumber\'\r\n\'mobilephone\' => \'phonenumber\'\r\n\'workphone\' => \'phonenumber\'\r\n\'homephone\' => \'phonenumber\'\r\n\'fname\' => \'firstname\'\r\n\'first\' => \'firstname\'\r\n\'givenname\' => \'firstname\'\r\n\'lname\' => \'lastname\'\r\n\'last\' => \'lastname\'\r\n\'surname\' => \'lastname\'\r\n\'familyname\' => \'lastname\'\r\n\'mi\' => \'middleinitial\'\r\n\'middle\' => \'middleinitial\'\r\n\'middlename\' => \'middleinitial\'\r\n\'minit\' => \'middleinitial\'\r\n\'addr\' => \'address1\'\r\n\'addr1\' => \'address1\'\r\n\'street\' => \'address1\'\r\n\'streetaddress\' => \'address1\'\r\n\'address\' => \'address1\'\r\n\'addr2\' => \'address2\'\r\n\'street2\' => \'address2\'\r\n\'suite\' => \'address2\'\r\n\'apt\' => \'address2\'\r\n\'apartment\' => \'address2\'\r\n\'unit\' => \'address2\'\r\n\'addr3\' => \'address3\'\r\n\'zip\' => \'postalcode\'\r\n\'zipcode\' => \'postalcode\'\r\n\'postcode\' => \'postalcode\'\r\n\'postalzip\' => \'postalcode\'\r\n\'st\' => \'state\'\r\n\'stateprovince\' => \'state\'\r\n\'region\' => \'state\'\r\n\'prov\' => \'province\'\r\n\'country\' => \'countrycode\'\r\n\'countrycd\' => \'countrycode\'\r\n\'cc\' => \'countrycode\'\r\n\'sex\' => \'gender\'\r\n\'dob\' => \'dateofbirth\'\r\n\'birthday\' => \'dateofbirth\'\r\n\'birthdate\' => \'dateofbirth\'\r\n\'birth\' => \'dateofbirth\'\r\n\'altphone\' => \'altphone\'\r\n\'phone2\' => \'altphone\'\r\n\'secondaryphone\' => \'altphone\'\r\n\'otherphone\' => \'altphone\'\r\n\'alternatephone\' => \'altphone\'\r\n\'emailaddress\' => \'email\'\r\n\'emailaddr\' => \'email\'\r\n\'mail\' => \'email\'\r\n\'note\' => \'comments\'\r\n\'notes\' => \'comments\'\r\n\'comment\' => \'comments\'\r\n\'remark\' => \'comments\'\r\n\'remarks\' => \'comments\'\r\n\'description\' => \'comments\'\r\n\'vendorcode\' => \'vendorleadcode\'\r\n\'vendorid\' => \'vendorleadcode\'\r\n\'vendorleadid\' => \'vendorleadcode\'\r\n\'leadcode\' => \'vendorleadcode\'\r\n\'externalid\' => \'vendorleadcode\'\r\n\'sourcecode\' => \'sourceid\'\r\n\'source\' => \'sourceid\'\r\n\'leadsource\' => \'sourceid\'\r\n\'listid\' => \'listid\'\r\n\'list\' => \'listid\'\r\n\'phonecode\' => \'phonecode\'\r\n\'dialcode\' => \'phonecode\'\r\n\'countrydialing\' => \'phonecode\'\r\n\'prefix\' => \'title\'\r\n\'salutation\' => \'title\'\r\n\'mr\' => \'title\'\r\n\'securityphrase\' => \'securityphrase\'\r\n\'security\' => \'securityphrase\'\r\n\'pin\' => \'securityphrase\'\r\n\'password\' => \'securityphrase\'\r\n\'priority\' => \'rank\'\r\n\'score\' => \'rank\'\r\n\'weight\' => \'rank\'\r\n\'agent\' => \'owner\'\r\n\'assignedto\' => \'owner\'\r\n\'rep\' => \'owner\'\r\n\'town\' => \'city\'\r\n\r\n\r\n; This is the minimum required score that the header field must return\r\n; when processed with the Levenshtein distance algorithm. Default is 70.\r\n; If you wish to raise or lower it, uncomment the below line and change the \r\n; score value to whatever you wish\r\n; minimum_required_score => 70\r\n');
|
||||||
INSERT INTO vicidial_settings_containers(container_id,container_notes,container_type,user_group,container_entry,modify_stamp) VALUES('VAMD_SETTINGS_NEW_TEMPLATE','Settings for ViciAMD Template for Campaigns','OTHER','---ALL---','# When doing audio signature analysis of the received audio VAMD compares\r\n# it to a database of known audio signatures. This comparison results in a\r\n# mathematical -distance- value between 0 and 1. 0 is a perfect match. 1 \r\n# is a perfect mismatch. The audio_match_dist is the maximum value that is\r\n# considered a match. Anything above that is not a match. Setting this\r\n# higher will weed out more automated messages but at a cost of a higher\r\n# false positive rate. Default is 0.2\r\naudio_match_dist = 0.2\r\n\r\n\r\n# When doing voice signature analysis of the received audio VAMD compares\r\n# it to a database of known voice signatures. This comparison results in a\r\n# mathematical -distance- value between 0 and 1. 0 is a perfect match. 1 \r\n# is a perfect mismatch. The voice_match_dist is the maximum value that is\r\n# considered a match. Anything above that is not a match. Setting this\r\n# higher will weed out more automated message but at a cost of a higher\r\n# false positive rate. Default is 0.2\r\nvoice_match_dist = 0.2\r\n\r\n\r\n# If no other result fits, a confidence check is done on the speech \r\n# recognition results. If that check is less than this threshold VAMD\r\n# statuses the call as NOTSURE,LOWCONFIDENCE. If it is higher than this\r\n# threshold VAMD statuses the call as NOTSURE,LOWSCORE.\r\n# Value ranges from 0 to 1\r\nmin_word_confidence = 0.1\r\n\r\n\r\n# The threshold above which sound is detected initially. \r\n# Value ranges is from 1 to 32,767\r\ninit_silence_threshold = 4000\r\n\r\n\r\n# The threshold above which sound is detected after the initial silence.\r\n# Value ranges is from 1 to 32,767\r\nsilence_threshold = 2000\r\n\r\n\r\n# The maximum initial silence in milliseconds. Any longer than this and the call will be statused as NOTSURE,INITIALSILENCE\r\nmax_init_sil_ms = 3000\r\n\r\n\r\n# The maximum length of audio collection in milliseconds before audio\r\n# processing of the data is forced. This triggers if no silence was \r\n# detected after the initial silence.\r\nmax_detection_ms = 5000\r\n\r\n\r\n# The minimum time spent collecting audio in ms. Audio processing cannot be\r\n# triggered until after this cutoff.\r\nmin_detection_ms = 3000\r\n\r\n\r\n# The maximum length of silence in milliseconds after the initial silence \r\n# before the customer greeting is assumed over and audio processing will\r\n# begin.\r\nmax_silence_ms = 800\r\n\r\n\r\n# If the total amount sound detected is less than this number of \r\n# milliseconds it is assumed that whatever is on the line is not a person\r\nmin_sound_ms = 150\r\n\r\n\r\n# The maximum number of words before the call is considered an answering \r\n# machine\r\nmax_words = 4\r\n\r\n\r\nphrase_dict = b2b-phrases.ini',NOW());
|
INSERT INTO vicidial_settings_containers(container_id,container_notes,container_type,user_group,container_entry,modify_stamp) VALUES('VAMD_SETTINGS_NEW_TEMPLATE','Settings for ViciAMD Template for Campaigns','OTHER','---ALL---','# When doing audio signature analysis of the received audio VAMD compares\r\n# it to a database of known audio signatures. This comparison results in a\r\n# mathematical -distance- value between 0 and 1. 0 is a perfect match. 1 \r\n# is a perfect mismatch. The audio_match_dist is the maximum value that is\r\n# considered a match. Anything above that is not a match. Setting this\r\n# higher will weed out more automated messages but at a cost of a higher\r\n# false positive rate. Default is 0.2\r\naudio_match_dist = 0.2\r\n\r\n\r\n# When doing voice signature analysis of the received audio VAMD compares\r\n# it to a database of known voice signatures. This comparison results in a\r\n# mathematical -distance- value between 0 and 1. 0 is a perfect match. 1 \r\n# is a perfect mismatch. The voice_match_dist is the maximum value that is\r\n# considered a match. Anything above that is not a match. Setting this\r\n# higher will weed out more automated message but at a cost of a higher\r\n# false positive rate. Default is 0.2\r\nvoice_match_dist = 0.2\r\n\r\n\r\n# If no other result fits, a confidence check is done on the speech \r\n# recognition results. If that check is less than this threshold VAMD\r\n# statuses the call as NOTSURE,LOWCONFIDENCE. If it is higher than this\r\n# threshold VAMD statuses the call as NOTSURE,LOWSCORE.\r\n# Value ranges from 0 to 1\r\nmin_word_confidence = 0.1\r\n\r\n\r\n# The threshold above which sound is detected initially. \r\n# Value ranges is from 1 to 32,767\r\ninit_silence_threshold = 4000\r\n\r\n\r\n# The threshold above which sound is detected after the initial silence.\r\n# Value ranges is from 1 to 32,767\r\nsilence_threshold = 2000\r\n\r\n\r\n# The maximum initial silence in milliseconds. Any longer than this and the call will be statused as NOTSURE,INITIALSILENCE\r\nmax_init_sil_ms = 3000\r\n\r\n\r\n# The maximum length of audio collection in milliseconds before audio\r\n# processing of the data is forced. This triggers if no silence was \r\n# detected after the initial silence.\r\nmax_detection_ms = 5000\r\n\r\n\r\n# The minimum time spent collecting audio in ms. Audio processing cannot be\r\n# triggered until after this cutoff.\r\nmin_detection_ms = 3000\r\n\r\n\r\n# The maximum length of silence in milliseconds after the initial silence \r\n# before the customer greeting is assumed over and audio processing will\r\n# begin.\r\nmax_silence_ms = 800\r\n\r\n\r\n# If the total amount sound detected is less than this number of \r\n# milliseconds it is assumed that whatever is on the line is not a person\r\nmin_sound_ms = 150\r\n\r\n\r\n# The maximum number of words before the call is considered an answering \r\n# machine\r\nmax_words = 4\r\n\r\n\r\nphrase_dict = b2b-phrases.ini',NOW());
|
||||||
|
INSERT INTO vicidial_settings_containers(container_id,container_notes,container_type,user_group,container_entry,modify_stamp) VALUES('Default_AMD_status_map','Default AMD status map','AMD_STATUS_MAP','---ALL---','MACHINE,* => VAMMAC\nMACHINE,MAXWORDS => VAMMAC\nNOTSURE,* => VAMNS\nNOTSURE,HANGUP => VAMNS\nNOTSURE,LOWCONFIDENCE => VAMNS',NOW());
|
||||||
|
|
||||||
INSERT INTO `wallboard_widgets` VALUES ('queues_widget_1','AGENTS_AND_QUEUES','queues','','TEXT',5,'N',1,'Queue Information','','',NULL,'','',NULL,2),('queues_widget_0','AGENTS_AND_QUEUES','queues','','LOGO',2,'N',1,NULL,'','',NULL,'','',NULL,1),('queues_widget_2','AGENTS_AND_QUEUES','queues','SLA Level %','SLA_LEVEL_PCT',1,'N',1,NULL,'','>60',NULL,'','',NULL,3),('queues_widget_3','AGENTS_AND_QUEUES','queues','Outbound calls','LIVE_QUEUE_INFO',1,'N',1,'','201201','','','','','yellow_alarm,|red_alarm,',4),('queues_widget_4','AGENTS_AND_QUEUES','queues','USA Ded Inbound','LIVE_QUEUE_INFO',1,'N',1,'','ALL_IN','','','','','yellow_alarm,|red_alarm,',5),('queues_widget_5','AGENTS_AND_QUEUES','queues','MLA Ded Inbound','LIVE_QUEUE_INFO',1,'N',1,'','514911','','','','','yellow_alarm,|red_alarm,',6),('queues_widget_6','AGENTS_AND_QUEUES','queues','N Waiting Calls','N_WAITING_CALLS',1,'N',1,NULL,'','',NULL,'','',NULL,7),('queues_widget_7','AGENTS_AND_QUEUES','queues','Offered Calls','OFFERED_CALLS',1,'N',1,NULL,'','',NULL,'','',NULL,8),('queues_widget_8','AGENTS_AND_QUEUES','queues','Answered Calls','ANSWERED_CALLS',1,'N',1,NULL,'','',NULL,'','',NULL,9),('queues_widget_9','AGENTS_AND_QUEUES','queues','Lost Calls','LOST_CALLS',1,'N',1,NULL,'','',NULL,'','',NULL,10),('queues_widget_10','AGENTS_AND_QUEUES','queues','Longest Wait','LONGEST_WAIT',1,'N',1,NULL,'','',NULL,'','',NULL,11),('queues_widget_11','AGENTS_AND_QUEUES','queues','Live Queues','LIVE_QUEUES',1,'Y',1,NULL,'','',NULL,'','',NULL,12),('queues_widget_12','AGENTS_AND_QUEUES','queues','Live Calls','LIVE_CALLS',1,'Y',2,NULL,'','',NULL,'','',NULL,13),('agent_widget_0','AGENTS_AND_QUEUES','agents','','LOGO',2,'N',1,NULL,'','',NULL,'','',NULL,1),('agent_widget_1','AGENTS_AND_QUEUES','agents','N Waiting Calls','N_WAITING_CALLS',1,'N',1,NULL,'','',NULL,'','',NULL,2),('agent_widget_2','AGENTS_AND_QUEUES','agents','Agents Ready','AGENTS_READY',1,'N',1,NULL,'','',NULL,'','',NULL,3),('agent_widget_3','AGENTS_AND_QUEUES','agents','Agents On Call','N_AGENTS_ON_CALL',1,'N',1,NULL,'','',NULL,'','',NULL,4),('agent_widget_4','AGENTS_AND_QUEUES','agents','N Answered Calls','N_ANSWERED_CALLS',1,'N',1,NULL,'','',NULL,'','',NULL,5),('agent_widget_5','AGENTS_AND_QUEUES','agents','Clock','CLOCK',1,'N',1,NULL,'','',NULL,'','',NULL,6),('agent_widget_6','AGENTS_AND_QUEUES','agents','Live Agents','LIVE_AGENTS',1,'Y',3,NULL,'','',NULL,'','',NULL,7);
|
INSERT INTO `wallboard_widgets` VALUES ('queues_widget_1','AGENTS_AND_QUEUES','queues','','TEXT',5,'N',1,'Queue Information','','',NULL,'','',NULL,2),('queues_widget_0','AGENTS_AND_QUEUES','queues','','LOGO',2,'N',1,NULL,'','',NULL,'','',NULL,1),('queues_widget_2','AGENTS_AND_QUEUES','queues','SLA Level %','SLA_LEVEL_PCT',1,'N',1,NULL,'','>60',NULL,'','',NULL,3),('queues_widget_3','AGENTS_AND_QUEUES','queues','Outbound calls','LIVE_QUEUE_INFO',1,'N',1,'','201201','','','','','yellow_alarm,|red_alarm,',4),('queues_widget_4','AGENTS_AND_QUEUES','queues','USA Ded Inbound','LIVE_QUEUE_INFO',1,'N',1,'','ALL_IN','','','','','yellow_alarm,|red_alarm,',5),('queues_widget_5','AGENTS_AND_QUEUES','queues','MLA Ded Inbound','LIVE_QUEUE_INFO',1,'N',1,'','514911','','','','','yellow_alarm,|red_alarm,',6),('queues_widget_6','AGENTS_AND_QUEUES','queues','N Waiting Calls','N_WAITING_CALLS',1,'N',1,NULL,'','',NULL,'','',NULL,7),('queues_widget_7','AGENTS_AND_QUEUES','queues','Offered Calls','OFFERED_CALLS',1,'N',1,NULL,'','',NULL,'','',NULL,8),('queues_widget_8','AGENTS_AND_QUEUES','queues','Answered Calls','ANSWERED_CALLS',1,'N',1,NULL,'','',NULL,'','',NULL,9),('queues_widget_9','AGENTS_AND_QUEUES','queues','Lost Calls','LOST_CALLS',1,'N',1,NULL,'','',NULL,'','',NULL,10),('queues_widget_10','AGENTS_AND_QUEUES','queues','Longest Wait','LONGEST_WAIT',1,'N',1,NULL,'','',NULL,'','',NULL,11),('queues_widget_11','AGENTS_AND_QUEUES','queues','Live Queues','LIVE_QUEUES',1,'Y',1,NULL,'','',NULL,'','',NULL,12),('queues_widget_12','AGENTS_AND_QUEUES','queues','Live Calls','LIVE_CALLS',1,'Y',2,NULL,'','',NULL,'','',NULL,13),('agent_widget_0','AGENTS_AND_QUEUES','agents','','LOGO',2,'N',1,NULL,'','',NULL,'','',NULL,1),('agent_widget_1','AGENTS_AND_QUEUES','agents','N Waiting Calls','N_WAITING_CALLS',1,'N',1,NULL,'','',NULL,'','',NULL,2),('agent_widget_2','AGENTS_AND_QUEUES','agents','Agents Ready','AGENTS_READY',1,'N',1,NULL,'','',NULL,'','',NULL,3),('agent_widget_3','AGENTS_AND_QUEUES','agents','Agents On Call','N_AGENTS_ON_CALL',1,'N',1,NULL,'','',NULL,'','',NULL,4),('agent_widget_4','AGENTS_AND_QUEUES','agents','N Answered Calls','N_ANSWERED_CALLS',1,'N',1,NULL,'','',NULL,'','',NULL,5),('agent_widget_5','AGENTS_AND_QUEUES','agents','Clock','CLOCK',1,'N',1,NULL,'','',NULL,'','',NULL,6),('agent_widget_6','AGENTS_AND_QUEUES','agents','Live Agents','LIVE_AGENTS',1,'Y',3,NULL,'','',NULL,'','',NULL,7);
|
||||||
|
|
||||||
@@ -5916,4 +5927,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='1743',db_schema_update_date=NOW(),reload_timestamp=NOW();
|
UPDATE system_settings SET db_schema_version='1744',db_schema_update_date=NOW(),reload_timestamp=NOW();
|
||||||
|
|||||||
@@ -3113,3 +3113,11 @@ ALTER TABLE system_settings ADD viciamd_enabled ENUM('0','1','2','3','4','5','6'
|
|||||||
INSERT INTO vicidial_settings_containers(container_id,container_notes,container_type,user_group,container_entry,modify_stamp) VALUES('VAMD_SETTINGS_NEW_TEMPLATE','Settings for ViciAMD Template for Campaigns','OTHER','---ALL---','# When doing audio signature analysis of the received audio VAMD compares\r\n# it to a database of known audio signatures. This comparison results in a\r\n# mathematical -distance- value between 0 and 1. 0 is a perfect match. 1 \r\n# is a perfect mismatch. The audio_match_dist is the maximum value that is\r\n# considered a match. Anything above that is not a match. Setting this\r\n# higher will weed out more automated messages but at a cost of a higher\r\n# false positive rate. Default is 0.2\r\naudio_match_dist = 0.2\r\n\r\n\r\n# When doing voice signature analysis of the received audio VAMD compares\r\n# it to a database of known voice signatures. This comparison results in a\r\n# mathematical -distance- value between 0 and 1. 0 is a perfect match. 1 \r\n# is a perfect mismatch. The voice_match_dist is the maximum value that is\r\n# considered a match. Anything above that is not a match. Setting this\r\n# higher will weed out more automated message but at a cost of a higher\r\n# false positive rate. Default is 0.2\r\nvoice_match_dist = 0.2\r\n\r\n\r\n# If no other result fits, a confidence check is done on the speech \r\n# recognition results. If that check is less than this threshold VAMD\r\n# statuses the call as NOTSURE,LOWCONFIDENCE. If it is higher than this\r\n# threshold VAMD statuses the call as NOTSURE,LOWSCORE.\r\n# Value ranges from 0 to 1\r\nmin_word_confidence = 0.1\r\n\r\n\r\n# The threshold above which sound is detected initially. \r\n# Value ranges is from 1 to 32,767\r\ninit_silence_threshold = 4000\r\n\r\n\r\n# The threshold above which sound is detected after the initial silence.\r\n# Value ranges is from 1 to 32,767\r\nsilence_threshold = 2000\r\n\r\n\r\n# The maximum initial silence in milliseconds. Any longer than this and the call will be statused as NOTSURE,INITIALSILENCE\r\nmax_init_sil_ms = 3000\r\n\r\n\r\n# The maximum length of audio collection in milliseconds before audio\r\n# processing of the data is forced. This triggers if no silence was \r\n# detected after the initial silence.\r\nmax_detection_ms = 5000\r\n\r\n\r\n# The minimum time spent collecting audio in ms. Audio processing cannot be\r\n# triggered until after this cutoff.\r\nmin_detection_ms = 3000\r\n\r\n\r\n# The maximum length of silence in milliseconds after the initial silence \r\n# before the customer greeting is assumed over and audio processing will\r\n# begin.\r\nmax_silence_ms = 800\r\n\r\n\r\n# If the total amount sound detected is less than this number of \r\n# milliseconds it is assumed that whatever is on the line is not a person\r\nmin_sound_ms = 150\r\n\r\n\r\n# The maximum number of words before the call is considered an answering \r\n# machine\r\nmax_words = 4\r\n\r\n\r\nphrase_dict = b2b-phrases.ini',NOW());
|
INSERT INTO vicidial_settings_containers(container_id,container_notes,container_type,user_group,container_entry,modify_stamp) VALUES('VAMD_SETTINGS_NEW_TEMPLATE','Settings for ViciAMD Template for Campaigns','OTHER','---ALL---','# When doing audio signature analysis of the received audio VAMD compares\r\n# it to a database of known audio signatures. This comparison results in a\r\n# mathematical -distance- value between 0 and 1. 0 is a perfect match. 1 \r\n# is a perfect mismatch. The audio_match_dist is the maximum value that is\r\n# considered a match. Anything above that is not a match. Setting this\r\n# higher will weed out more automated messages but at a cost of a higher\r\n# false positive rate. Default is 0.2\r\naudio_match_dist = 0.2\r\n\r\n\r\n# When doing voice signature analysis of the received audio VAMD compares\r\n# it to a database of known voice signatures. This comparison results in a\r\n# mathematical -distance- value between 0 and 1. 0 is a perfect match. 1 \r\n# is a perfect mismatch. The voice_match_dist is the maximum value that is\r\n# considered a match. Anything above that is not a match. Setting this\r\n# higher will weed out more automated message but at a cost of a higher\r\n# false positive rate. Default is 0.2\r\nvoice_match_dist = 0.2\r\n\r\n\r\n# If no other result fits, a confidence check is done on the speech \r\n# recognition results. If that check is less than this threshold VAMD\r\n# statuses the call as NOTSURE,LOWCONFIDENCE. If it is higher than this\r\n# threshold VAMD statuses the call as NOTSURE,LOWSCORE.\r\n# Value ranges from 0 to 1\r\nmin_word_confidence = 0.1\r\n\r\n\r\n# The threshold above which sound is detected initially. \r\n# Value ranges is from 1 to 32,767\r\ninit_silence_threshold = 4000\r\n\r\n\r\n# The threshold above which sound is detected after the initial silence.\r\n# Value ranges is from 1 to 32,767\r\nsilence_threshold = 2000\r\n\r\n\r\n# The maximum initial silence in milliseconds. Any longer than this and the call will be statused as NOTSURE,INITIALSILENCE\r\nmax_init_sil_ms = 3000\r\n\r\n\r\n# The maximum length of audio collection in milliseconds before audio\r\n# processing of the data is forced. This triggers if no silence was \r\n# detected after the initial silence.\r\nmax_detection_ms = 5000\r\n\r\n\r\n# The minimum time spent collecting audio in ms. Audio processing cannot be\r\n# triggered until after this cutoff.\r\nmin_detection_ms = 3000\r\n\r\n\r\n# The maximum length of silence in milliseconds after the initial silence \r\n# before the customer greeting is assumed over and audio processing will\r\n# begin.\r\nmax_silence_ms = 800\r\n\r\n\r\n# If the total amount sound detected is less than this number of \r\n# milliseconds it is assumed that whatever is on the line is not a person\r\nmin_sound_ms = 150\r\n\r\n\r\n# The maximum number of words before the call is considered an answering \r\n# machine\r\nmax_words = 4\r\n\r\n\r\nphrase_dict = b2b-phrases.ini',NOW());
|
||||||
|
|
||||||
UPDATE system_settings SET db_schema_version='1743',db_schema_update_date=NOW() where db_schema_version < 1743;
|
UPDATE system_settings SET db_schema_version='1743',db_schema_update_date=NOW() where db_schema_version < 1743;
|
||||||
|
|
||||||
|
ALTER TABLE system_settings ADD amd_status_map VARCHAR(40) default 'DISABLED';
|
||||||
|
|
||||||
|
ALTER TABLE vicidial_campaigns ADD amd_status_map VARCHAR(40) default 'DISABLED';
|
||||||
|
|
||||||
|
INSERT INTO vicidial_settings_containers(container_id,container_notes,container_type,user_group,container_entry,modify_stamp) VALUES('Default_AMD_status_map2','Default AMD status map','AMD_STATUS_MAP','---ALL---','MACHINE,* => VAMMAC\nMACHINE,MAXWORDS => VAMMAC\nNOTSURE,* => VAMNS\nNOTSURE,HANGUP => VAMNS\nNOTSURE,LOWCONFIDENCE => VAMNS',NOW());
|
||||||
|
|
||||||
|
UPDATE system_settings SET db_schema_version='1744',db_schema_update_date=NOW() where db_schema_version < 1744;
|
||||||
|
|||||||
File diff suppressed because one or more lines are too long
@@ -1,4 +1,4 @@
|
|||||||
# version: 20260528124401
|
# version: 20260620163401
|
||||||
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, unless the User Password Minimum Length system setting is enabled, which will require a longer password. 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, unless the User Password Minimum Length system setting is enabled, which will require a longer password. 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>
|
||||||
@@ -204,6 +204,8 @@ campaigns-amd_type AMD Type <QXZ>This setting allows you to define the type of A
|
|||||||
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>
|
||||||
campaigns-amd_agent_route_options AMD Agent Route Options <QXZ>If enabled and you are using Asterisk AMD, this setting will allow you to define the AMD statuses and responses for calls going through AMD that will be sent to agents, overriding the default which sends all HUMAN and NOTSURE status calls to agents. To see the AMD statuses and responses for the calls that have been logged on your system, go to the AMD Log Report on the Admin Utilities page. The PENDING option for this setting will allow you to click on this option to go to the Modify Settings Container page to edit the settings without making them active yet. Default is DISABLED. There is also a special option you can enable in this settings container, NOAUDIODATA-Hangup-ENABLED, which will enable the immediate hangup of calls that have no audio data when they reach the AMD routing script. There are also FAX-Hangup-ENABLED and FAS-Hangup-ENABLED options to perform immediate hangups for FAX and FAS detected calls. The Settings Container for these options allow for multiple lines of settings, with each line containing one AMD status-response pair each separated by a comma. For example:</QXZ><BR>HUMAN,HUMAN<BR>NOTSURE,TOOLONG<BR>
|
campaigns-amd_agent_route_options AMD Agent Route Options <QXZ>If enabled and you are using Asterisk AMD, this setting will allow you to define the AMD statuses and responses for calls going through AMD that will be sent to agents, overriding the default which sends all HUMAN and NOTSURE status calls to agents. To see the AMD statuses and responses for the calls that have been logged on your system, go to the AMD Log Report on the Admin Utilities page. The PENDING option for this setting will allow you to click on this option to go to the Modify Settings Container page to edit the settings without making them active yet. Default is DISABLED. There is also a special option you can enable in this settings container, NOAUDIODATA-Hangup-ENABLED, which will enable the immediate hangup of calls that have no audio data when they reach the AMD routing script. There are also FAX-Hangup-ENABLED and FAS-Hangup-ENABLED options to perform immediate hangups for FAX and FAS detected calls. The Settings Container for these options allow for multiple lines of settings, with each line containing one AMD status-response pair each separated by a comma. For example:</QXZ><BR>HUMAN,HUMAN<BR>NOTSURE,TOOLONG<BR>
|
||||||
campaigns-amd_agent_display ViciAMD Agent Display <QXZ>If enabled, and you are using the ViciAMD AMD-Type, then this feature will show the AMDSTATUS, AMDCAUSE and the transcribed customer side of the beginning of the outbound phone call to the agent on the agent screen as soon as the call is routed to the agent. Default is DISABLED.</QXZ>
|
campaigns-amd_agent_display ViciAMD Agent Display <QXZ>If enabled, and you are using the ViciAMD AMD-Type, then this feature will show the AMDSTATUS, AMDCAUSE and the transcribed customer side of the beginning of the outbound phone call to the agent on the agent screen as soon as the call is routed to the agent. Default is DISABLED.</QXZ>
|
||||||
|
campaigns-amd_status_map AMD Status Map <QXZ>If your campaign is using AMD, and this setting is set to a valid AMD_STATUS_MAP Settings Container, then the status used for AMD-flagged calls that do not go to an agent will use the statuses defined for each AMD-status and AMD-cause as defined in the selected settings container. You can also set a default status to be used for an AMD-status overall if you do not have an AMD-cause defined for that AMD-status. If this setting is not active, then the system will default to using the System Settings AMD Status Map, if one is set. Default is DISABLED. Here is an example of what the settings container should look like:<br>MACHINE,* => VAMMAC<br>MACHINE,MAXWORDS => VAMMAC<br>NOTSURE,* => VAMNS<br>NOTSURE,HANGUP => VAMNS<br>NOTSURE,LOWCONFIDENCE => VAMNS
|
||||||
|
</QXZ>
|
||||||
campaigns-cpd_amd_action CPD AMD Action <QXZ>If you are using the Sangoma ParaXip Call Progress Detection software then you will want to enable this setting either setting it to DISPO which will disposition the call as AA and hang it up if the call is being processed and has not been sent to an agent yet or MESSAGE which will send the call to the defined Answering Machine Message for this campaign. Default is DISABLED. Setting this to INGROUP will send an answering machine to an inbound group. Setting this to CALLMENU will send an answering machine to a Call Menu in the system.</QXZ>
|
campaigns-cpd_amd_action CPD AMD Action <QXZ>If you are using the Sangoma ParaXip Call Progress Detection software then you will want to enable this setting either setting it to DISPO which will disposition the call as AA and hang it up if the call is being processed and has not been sent to an agent yet or MESSAGE which will send the call to the defined Answering Machine Message for this campaign. Default is DISABLED. Setting this to INGROUP will send an answering machine to an inbound group. Setting this to CALLMENU will send an answering machine to a Call Menu in the system.</QXZ>
|
||||||
campaigns-cpd_unknown_action CPD Unknown Action <QXZ>If you are using the Sangoma ParaXip Call Progress Detection software and you want to send calls that have an Unknown result to a destination other than an agent, then you will want to enable this setting either setting it to DISPO which will disposition the call as AA and hang it up if the call is being processed and has not been sent to an agent yet or MESSAGE which will send the call to the defined Answering Machine Message for this campaign. Default is DISABLED. Setting this to INGROUP will send an answering machine to an inbound group. Setting this to CALLMENU will send an answering machine to a Call Menu in the system.</QXZ>
|
campaigns-cpd_unknown_action CPD Unknown Action <QXZ>If you are using the Sangoma ParaXip Call Progress Detection software and you want to send calls that have an Unknown result to a destination other than an agent, then you will want to enable this setting either setting it to DISPO which will disposition the call as AA and hang it up if the call is being processed and has not been sent to an agent yet or MESSAGE which will send the call to the defined Answering Machine Message for this campaign. Default is DISABLED. Setting this to INGROUP will send an answering machine to an inbound group. Setting this to CALLMENU will send an answering machine to a Call Menu in the system.</QXZ>
|
||||||
campaigns-amd_inbound_group AMD Inbound Group <QXZ>If CPD AMD Action is set to INGROUP, then this is the Inbound Group that the call will be sent to if an answering machine is detected.</QXZ>
|
campaigns-amd_inbound_group AMD Inbound Group <QXZ>If CPD AMD Action is set to INGROUP, then this is the Inbound Group that the call will be sent to if an answering machine is detected.</QXZ>
|
||||||
@@ -1189,6 +1191,7 @@ settings-manual_dial_phone_strip Manual Dial Phone Prefix Strip <QXZ>If not DISA
|
|||||||
settings-agent_man_dial_filter Agent Manual Dialstring Filter <QXZ>This setting allows you to filter characters from the agent screen manual dial dialstrings before calls are placed. This works by using the following character combinations to denote what to filter out of the dialstring:<br>DO - Digits only, filter out everything that is not a digit<br>DPO - Digits and plus sign only, filter out everything that is not a digit or a plus sign<br>DLO - Digits and letters only, filter out everything that is not a digit or letter<br>DLPO - Digits and letters and plus sign only, filter out everything that is not a digit or letter or a plus sign<br>L1 - Remove leading 1, remove the digit 1 from the beginning of the dialstring<br>L0 - Remove leading 0, remove the digit 1 from the beginning of the dialstring<br>R10 - Only dial the right 10 characters from the dialstring<br>NOTE: You can use a combination of the above filters together, separated by dashes, for example: DO-L1 for Digits-only and remove leading 1. Default is blank for disabled.</QXZ>
|
settings-agent_man_dial_filter Agent Manual Dialstring Filter <QXZ>This setting allows you to filter characters from the agent screen manual dial dialstrings before calls are placed. This works by using the following character combinations to denote what to filter out of the dialstring:<br>DO - Digits only, filter out everything that is not a digit<br>DPO - Digits and plus sign only, filter out everything that is not a digit or a plus sign<br>DLO - Digits and letters only, filter out everything that is not a digit or letter<br>DLPO - Digits and letters and plus sign only, filter out everything that is not a digit or letter or a plus sign<br>L1 - Remove leading 1, remove the digit 1 from the beginning of the dialstring<br>L0 - Remove leading 0, remove the digit 1 from the beginning of the dialstring<br>R10 - Only dial the right 10 characters from the dialstring<br>NOTE: You can use a combination of the above filters together, separated by dashes, for example: DO-L1 for Digits-only and remove leading 1. Default is blank for disabled.</QXZ>
|
||||||
settings-agent_3way_dial_filter Agent 3-Way Dialstring Filter <QXZ>This setting allows you to filter characters from the agent screen 3-way dial dialstrings before calls are placed. This works by using the following character combinations to denote what to filter out of the 3-way call dialstring:<br>DO - Digits only, filter out everything that is not a digit<br>DPO - Digits and plus sign only, filter out everything that is not a digit or a plus sign<br>DLO - Digits and letters only, filter out everything that is not a digit or letter<br>DLPO - Digits and letters and plus sign only, filter out everything that is not a digit or letter or a plus sign<br>L1 - Remove leading 1, remove the digit 1 from the beginning of the dialstring<br>L0 - Remove leading 0, remove the digit 1 from the beginning of the dialstring<br>R10 - Only dial the right 10 characters from the dialstring<br>NOTE: You can use a combination of the above filters together, separated by dashes, for example: DO-L1 for Digits-only and remove leading 1. Default is blank for disabled.</QXZ>
|
settings-agent_3way_dial_filter Agent 3-Way Dialstring Filter <QXZ>This setting allows you to filter characters from the agent screen 3-way dial dialstrings before calls are placed. This works by using the following character combinations to denote what to filter out of the 3-way call dialstring:<br>DO - Digits only, filter out everything that is not a digit<br>DPO - Digits and plus sign only, filter out everything that is not a digit or a plus sign<br>DLO - Digits and letters only, filter out everything that is not a digit or letter<br>DLPO - Digits and letters and plus sign only, filter out everything that is not a digit or letter or a plus sign<br>L1 - Remove leading 1, remove the digit 1 from the beginning of the dialstring<br>L0 - Remove leading 0, remove the digit 1 from the beginning of the dialstring<br>R10 - Only dial the right 10 characters from the dialstring<br>NOTE: You can use a combination of the above filters together, separated by dashes, for example: DO-L1 for Digits-only and remove leading 1. Default is blank for disabled.</QXZ>
|
||||||
settings-xfer_min_container Transfer Talk Minimum Container <QXZ>If Allow Closers is enabled on a campaign, and one of the In-Groups that agents are sending calls to has its Transfer Talk Minimum features enabled, then this XFER_TALK_MIN_MESSAGE type container can be used to override the default message the agent receives when they attempt to transfer a call to an In-Group before it has reached its talk time minimum. This agent alert message can use the following variables: --A--group_id--B--, --A--group_name--B--, --A--talk_sec_minimum--B--. The default for this option is blank for disabled, and the default message the agent would receive is: <br><i>This transfer In-Group has a minimum talk-time threshold of X seconds. You cannot transfer to this In-Group until your talk time reaches that length.</i></QXZ>
|
settings-xfer_min_container Transfer Talk Minimum Container <QXZ>If Allow Closers is enabled on a campaign, and one of the In-Groups that agents are sending calls to has its Transfer Talk Minimum features enabled, then this XFER_TALK_MIN_MESSAGE type container can be used to override the default message the agent receives when they attempt to transfer a call to an In-Group before it has reached its talk time minimum. This agent alert message can use the following variables: --A--group_id--B--, --A--group_name--B--, --A--talk_sec_minimum--B--. The default for this option is blank for disabled, and the default message the agent would receive is: <br><i>This transfer In-Group has a minimum talk-time threshold of X seconds. You cannot transfer to this In-Group until your talk time reaches that length.</i></QXZ>
|
||||||
|
settings-amd_status_map AMD Status Map <QXZ>If a campaign is using AMD, and this setting is set to a valid AMD_STATUS_MAP Settings Container and the campaign does not have its own AMD Status Map defined, then the status used for AMD-flagged calls that do not go to an agent will use the statuses defined for each AMD-status and AMD-cause as defined in the selected settings container. You can also set a default status to be used for an AMD-status overall if you do not have an AMD-cause defined for that AMD-status. If this container is not defined in the system or campaign, then the system will default to using AA, AM and AL as the AMD statuses. Default is DISABLED. Here is an example of what the settings container should look like:<br>MACHINE,* => VAMMAC<br>MACHINE,MAXWORDS => VAMMAC<br>NOTSURE,* => VAMNS<br>NOTSURE,HANGUP => VAMNS<br>NOTSURE,LOWCONFIDENCE => VAMNS
|
||||||
settings-allow_custom_dialplan Allow Custom Dialplan Entries <QXZ>This option allows you to enter custom dialplan lines into Call Menus, Servers and System Settings. Default is 0 for inactive.</QXZ>
|
settings-allow_custom_dialplan Allow Custom Dialplan Entries <QXZ>This option allows you to enter custom dialplan lines into Call Menus, Servers and System Settings. Default is 0 for inactive.</QXZ>
|
||||||
settings-pllb_grouping_limit PLLB Grouping Limit <QXZ>Phone Login Load Balancing Grouping Limit. If PLLB Grouping is set to CASCADING at the campaign level then this setting will determine the number of agents acceptable on each server across all campaigns. Default is 100.</QXZ>
|
settings-pllb_grouping_limit PLLB Grouping Limit <QXZ>Phone Login Load Balancing Grouping Limit. If PLLB Grouping is set to CASCADING at the campaign level then this setting will determine the number of agents acceptable on each server across all campaigns. Default is 100.</QXZ>
|
||||||
settings-generate_cross_server_exten Generate Cross-Server Phone Extensions <QXZ>This option if set to 1 will generate dialplan entries for every phone on a multi-server system. Default is 0 for inactive.</QXZ>
|
settings-generate_cross_server_exten Generate Cross-Server Phone Extensions <QXZ>This option if set to 1 will generate dialplan entries for every phone on a multi-server system. Default is 0 for inactive.</QXZ>
|
||||||
|
|||||||
Reference in New Issue
Block a user