Updated VCA files

Updated documentation, small changes for a couple scripts

git-svn-id: svn://192.168.202.10@4012 3d104415-ff17-0410-8863-d5cf3c621b8a
This commit is contained in:
mattf
2026-08-15 20:46:26 +00:00
parent b3adedcf78
commit d6fe19bf0f
8 changed files with 40 additions and 32 deletions
+1 -1
View File
@@ -592,7 +592,7 @@ if (length($report_id) > 1)
$sthA->finish();
$file_extension = $html;
if ($location =~ /call_report_export|lead_report_export|call_report_export_carrier|list_download/)
if ($location =~ /call_report_export|lead_report_export|call_report_export_carrier|list_download|callerID_log_report/)
{$file_extension = '.txt'}
else
{
+2 -1
View File
@@ -1,4 +1,4 @@
CALLER ID NAME CODES DOC Started: 2013-07-15 Updated: 2025-09-08
CALLER ID NAME CODES DOC Started: 2013-07-15 Updated: 2026-08-15
This document is meant for reference only, and it does not contain all CID name codes possible, but more will be added over time.
@@ -24,6 +24,7 @@ XLvdc - Agent Local Closer or ReQueue Call (XLvdcW13739431946666) [epoch + user.
XBvdc - Agent blind transfer (XBvdcW14528875091001100110011001) [epoch + user...]
AGMON - Remote Agent Monitor (AGMON715224918000001)
HLvdcW - Hangup of customer call from agent screen (HLvdcW1475524272tluc)
HXagcW - Hangup of 3-way call from agent screen (HXvdcW17867277801849)
CH123456 - Hangup of all non-agent channels in meetme session(CH12345614755246080)
SH1234567 - Stop recording on customer channel(SH12345671475524608)
ULGC - Hangup of lone channel in left 3way session (ULGC0010420221616133)
@@ -1,10 +1,11 @@
<?php
# AST_VCA_log_report.php
#
# Copyright (C) 2025 Joe Johnson, Matt Florell <vicidial@gmail.com> LICENSE: AGPLv2
# Copyright (C) 2026 Joe Johnson, Matt Florell <vicidial@gmail.com> LICENSE: AGPLv2
#
# CHANGES
# 190329-1852 - First build, based on AST_carrier_log_report.php
# 250329-1852 - First build, based on AST_carrier_log_report.php
# 260815-1602 - Added last_X_mins option
#
$startMS = microtime();
@@ -35,6 +36,9 @@ if (isset($_GET["amd_status"])) {$amd_status=$_GET["amd_status"];}
elseif (isset($_POST["amd_status"])) {$amd_status=$_POST["amd_status"];}
if (isset($_GET["amd_cause"])) {$amd_cause=$_GET["amd_cause"];}
elseif (isset($_POST["amd_cause"])) {$amd_cause=$_POST["amd_cause"];}
if (isset($_GET["last_X_mins"])) {$last_X_mins=$_GET["last_X_mins"];}
elseif (isset($_POST["last_X_mins"])) {$last_X_mins=$_POST["last_X_mins"];}
else {$last_X_mins=0;}
if (isset($_GET["file_download"])) {$file_download=$_GET["file_download"];}
elseif (isset($_POST["file_download"])) {$file_download=$_POST["file_download"];}
else {$file_download=0;}
@@ -56,16 +60,24 @@ if (isset($_GET["rpt_output_type"])) {$rpt_output_type=$_GET["rpt_output_type"
$START_TIME=date("U");
$NOW_DATE = date("Y-m-d");
$last_X_mins = preg_replace('/[^0-9]/', '', $last_X_mins);
if (!is_array($server_ip)) {$server_ip = array();}
if (!is_array($amd_status)) {$amd_status = array();}
if (!is_array($agent_status)) {$agent_status = array();}
if (!is_array($amd_cause)) {$amd_cause = array();}
if (!isset($query_date)) {$query_date = $NOW_DATE;}
if (!isset($query_date) || $last_X_mins>0) {$query_date = $NOW_DATE;}
if (strlen($query_date_D) < 6) {$query_date_D = "00:00:00";}
if (strlen($query_date_T) < 6) {$query_date_T = "23:59:59";}
if (!isset($lower_limit)) {$lower_limit=1;}
if (!isset($upper_limit)) {$upper_limit=1000;}
if ($last_X_mins>0)
{
$query_date_T=date("H:i:s");
$query_date_D=date("H:i:s", time()-(60*$last_X_mins));
}
#############################################
@@ -270,9 +282,7 @@ if ( (strlen($slave_db_server)>5) and (preg_match("/$report_name/",$reports_use_
$MAIN.="<!-- Using slave server $slave_db_server $db_source -->\n";
}
# $master_amd_status_array=array("HANGUP", "HUMAN", "MACHINE", "NOTSURE");
# $master_amd_cause_array=array("HUMAN", "INITIALSILENCE", "LONGGREETING", "MAXWORDLENGTH", "MAXWORDS", "NOAUDIODATA", "TOOLONG");
$master_amd_status_array=array("FAS", "FAX", "HUMAN", "INTERCEPT", "MACHINE", "NOTSURE");
$master_amd_status_array=array("FAS", "FAX", "HUMAN", "INTERCEPT", "MACHINE", "NOTSURE","CALLSCREEN");
$master_amd_cause_array=array("ANS_SIG", "CNG_SIG", "CNG_ANS_SIG", "CONERROR", "HUMAN", "INITIALSILENCE", "LOWCONFIDENCE", "LOWSCORE", "MAXWORDS", "NOTHUMAN", "PATTERN", "RINGING", "SITTONES", "SOUNDTOOSHORT", "SIGNATURE","NOAUDIODATA");
$amd_statuses_to_print=count($master_amd_status_array);
@@ -526,6 +536,8 @@ $MAIN.="<BR><BR><INPUT TYPE=TEXT NAME=query_date_D SIZE=9 MAXLENGTH=8 VALUE=\"$q
$MAIN.="<BR> "._QXZ("to")." <BR><INPUT TYPE=TEXT NAME=query_date_T SIZE=9 MAXLENGTH=8 VALUE=\"$query_date_T\">";
$MAIN.="<BR><BR>or last <input type='text' name='last_X_mins' id='last_X_mins' size=3 maxlength=3 value='$last_X_mins'> minutes";
$MAIN.="</TD><TD ROWSPAN=2 VALIGN=TOP>"._QXZ("Server IP").":<BR/>\n";
$MAIN.="<SELECT SIZE=5 NAME=server_ip[] multiple>\n";
if (preg_match('/\-\-ALL\-\-/',$server_ip_string))
@@ -32,6 +32,13 @@ CREATE TABLE `vicidial_vca_log` (
`vca_server_host` varchar(100) DEFAULT NULL,
`vca_server_port` smallint(5) unsigned DEFAULT 0,
`gpu_id` smallint(6) DEFAULT NULL,
`voice_sig_id` varchar(36) DEFAULT '',
`voice_min_dist` float DEFAULT 0,
`voice_match_ms` float DEFAULT 0,
`audio_sig_id` varchar(36) DEFAULT '',
`audio_min_dist` float DEFAULT 0,
`audio_match_ms` float DEFAULT 0,
`sig_match_type` varchar(10) DEFAULT '',
PRIMARY KEY (`vca_log_id`),
KEY `channel` (`channel`),
KEY `analysis_date` (`analysis_date`),
@@ -39,29 +46,12 @@ CREATE TABLE `vicidial_vca_log` (
KEY `amd_status` (`amd_status`),
KEY `amd_cause` (`amd_cause`),
KEY `text` (`text`)
) ENGINE=MyISAM AUTO_INCREMENT=164460 DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_unicode_ci;
) ENGINE=MyISAM;
CREATE TABLE vicidial_vca_log_archive LIKE vicidial_vca_log;
ALTER TABLE vicidial_vca_log_archive MODIFY vca_log_id INT(9) UNSIGNED NOT NULL;
ALTER TABLE vicidial_vca_log ADD sig_id VARCHAR(36) DEFAULT '', ADD
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 '',
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_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_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_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_min_dist FLOAT default 0;
ALTER TABLE vicidial_vca_log ADD column audio_match_ms FLOAT default 0;
ALTER TABLE vicidial_vca_log ADD column sig_match_type VARCHAR(10) default '';
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_match_ms FLOAT default 0;
ALTER TABLE vicidial_vca_log_archive ADD column sig_match_type VARCHAR(10) default '';
INSERT INTO `vicidial_music_on_hold` VALUES ('vca-moh','VCA AMD background silence','Y','N','N','---ALL---');
INSERT INTO `vicidial_music_on_hold_files` VALUES ('6s-silence','vca-moh',1);
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());
@@ -5918,8 +5918,9 @@ 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 ('VICIDIAL_TIMEOFF_SETTINGS','Settings for time-off admin utility','OTHER','---ALL---','; Comma-delimited time-off codes - MANDATORY, must have at least one defined. \r\n; Default is \'VAC\' for vacation\r\ntimeoff_types => VAC\r\n\r\n; optional, if set to \'1\' will show all viewable agents, even ones with no \r\n; time off for month. Default is 0\r\ndisplay_all_agents => 0\r\n\r\n; optional, used to filter users displayed, in addition to user_group \r\n; permissions\r\nuser_filter_SQL => \r\n\r\n; optional, uses columns from vicidial_users table. Defaults to \r\n; full_name asc, user asc if commented out or non-existent\r\n; sort_SQL => full_name asc, user asc\r\n\r\n; include custom coding for misc download coding where \"custom_download\" \r\n; marked in agent_timeoff_script.php - DO NOT USE WITHOUT CODING KNOWLEDGE\r\n; set to \'1\' to activate\r\ncustom_download => 0');
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,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 = b2c-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 vicidial_settings_containers(container_id,container_notes,container_type,user_group,container_entry,modify_stamp) VALUES('FAST_AGI_SERVER_CONFIG','Config for the FastAGI server','OTHER','---ALL---','{\r\n \"server\": {\r\n \"host\": \"0.0.0.0\",\r\n \"port\": 4573,\r\n \"min_servers\": 50,\r\n \"max_servers\": 200,\r\n \"min_spare_servers\": 2,\r\n \"max_spare_servers\": 10,\r\n \"check_for_spawn\": 2,\r\n \"check_for_waiting\": 10,\r\n \"max_requests\": 1000,\r\n \"background\": 1,\r\n \"log_file\": \"/var/log/astguiclient/FastAGI-server.log\"\r\n },\r\n \"routes\": {\r\n \"/VDAD_ALL_outbound\": \"AGIHandlers::VDAD_ALL_outbound\",\r\n \"/VDAD_ALL_inbound\": \"AGIHandlers::VDAD_ALL_inbound\",\r\n \"/VD_amd\": \"AGIHandlers::VD_amd\"\r\n },\r\n \"module_settings\": {\r\n \"AGIHandlers::VDAD_ALL_outbound\": {},\r\n \"AGIHandlers::VDAD_ALL_inbound\": {},\r\n \"AGIHandlers::VD_amd\": {}\r\n }\r\n}',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);
@@ -5927,4 +5928,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 db_schema_version='1744',db_schema_update_date=NOW(),reload_timestamp=NOW();
UPDATE system_settings SET db_schema_version='1745',db_schema_update_date=NOW(),reload_timestamp=NOW();
+5 -1
View File
@@ -3110,7 +3110,7 @@ ALTER TABLE vicidial_campaigns ADD amd_agent_display ENUM('ENABLED','DISABLED')
ALTER TABLE system_settings ADD viciamd_enabled ENUM('0','1','2','3','4','5','6') default '0';
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 = b2c-phrases.ini',NOW());
UPDATE system_settings SET db_schema_version='1743',db_schema_update_date=NOW() where db_schema_version < 1743;
@@ -3121,3 +3121,7 @@ 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;
INSERT INTO vicidial_settings_containers(container_id,container_notes,container_type,user_group,container_entry,modify_stamp) VALUES('FAST_AGI_SERVER_CONFIG','Config for the FastAGI server','OTHER','---ALL---','{\r\n \"server\": {\r\n \"host\": \"0.0.0.0\",\r\n \"port\": 4573,\r\n \"min_servers\": 50,\r\n \"max_servers\": 200,\r\n \"min_spare_servers\": 2,\r\n \"max_spare_servers\": 10,\r\n \"check_for_spawn\": 2,\r\n \"check_for_waiting\": 10,\r\n \"max_requests\": 1000,\r\n \"background\": 1,\r\n \"log_file\": \"/var/log/astguiclient/FastAGI-server.log\"\r\n },\r\n \"routes\": {\r\n \"/VDAD_ALL_outbound\": \"AGIHandlers::VDAD_ALL_outbound\",\r\n \"/VDAD_ALL_inbound\": \"AGIHandlers::VDAD_ALL_inbound\",\r\n \"/VD_amd\": \"AGIHandlers::VD_amd\"\r\n },\r\n \"module_settings\": {\r\n \"AGIHandlers::VDAD_ALL_outbound\": {},\r\n \"AGIHandlers::VDAD_ALL_inbound\": {},\r\n \"AGIHandlers::VD_amd\": {}\r\n }\r\n}',NOW());
UPDATE system_settings SET db_schema_version='1745',db_schema_update_date=NOW() where db_schema_version < 1745;
Binary file not shown.
Binary file not shown.

After

Width:  |  Height:  |  Size: 2.1 KiB