Switched Server Performance report to Graph.js from ploticus, converted to HTML

Rare bug fix for Stereo Recordings
Changed install.pl to use Asterisk 18.X as default

git-svn-id: svn://192.168.202.10@3947 3d104415-ff17-0410-8863-d5cf3c621b8a
This commit is contained in:
mattf
2025-10-02 01:57:46 +00:00
parent 9f4e8ba9f0
commit 08ecd147a2
8 changed files with 680 additions and 738 deletions
+25 -30
View File
@@ -267,6 +267,7 @@
# 250325-1724 - Fix for possible daily_limit issue
# 250825-1824 - Added stereo_recording code
# 250924-2147 - Added code for deprecation of "Monitor" application after Asterisk 20
# 251001-1836 - Fix for rare Stereo recording filename issue
#
$script = 'agi-VDAD_ALL_inbound.agi';
@@ -3404,21 +3405,7 @@ while ( ($drop_timer <= $DROP_TIME) && ($wait_in_queue > 0) && ($MCdrop_override
$sthA->finish();
# get date/time
($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime(time);
$year = ($year + 1900);
$Tyear = ($year - 2000);
$mon++;
if ($mon < 10) {$mon = "0$mon";}
if ($mday < 10) {$mday = "0$mday";}
if ($hour < 10) {$hour = "0$hour";}
if ($min < 10) {$min = "0$min";}
if ($sec < 10) {$sec = "0$sec";}
$now_date_epoch = time();
$now_date = "$year-$mon-$mday $hour:$min:$sec";
$recdate = "$year$mon$mday-$hour$min$sec";
$tinydate = "$Tyear$mon$mday$hour$min$sec";
&get_date_time;
$campaign_rec_filename =~ s/CAMPAIGN/$log_campaign/gi;
$campaign_rec_filename =~ s/INGROUP/$channel_group/gi;
$campaign_rec_filename =~ s/CUSTPHONE/$phone_number/gi;
@@ -3483,6 +3470,7 @@ while ( ($drop_timer <= $DROP_TIME) && ($wait_in_queue > 0) && ($MCdrop_override
### BEGIN stereo call recording for ALLCALLS/ALLFORCE and for all parallel stereo recording in-groups ###
if ( ($stereo_recording =~ /CUSTOMER|BOTH/i) && ($conf_engine eq "CONFBRIDGE") && ($SSstereo_recording > 0) )
{
&get_date_time;
$stereo_rec_filename =~ s/CAMPAIGN/$log_campaign/gi;
$stereo_rec_filename =~ s/INGROUP/$channel_group/gi;
$stereo_rec_filename =~ s/CUSTPHONE/$phone_number/gi;
@@ -5003,21 +4991,7 @@ while ( ($drop_timer <= $DROP_TIME) && ($wait_in_queue > 0) && ($MCdrop_override
$sthA->finish();
# get date/time
($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime(time);
$year = ($year + 1900);
$Tyear = ($year - 2000);
$mon++;
if ($mon < 10) {$mon = "0$mon";}
if ($mday < 10) {$mday = "0$mday";}
if ($hour < 10) {$hour = "0$hour";}
if ($min < 10) {$min = "0$min";}
if ($sec < 10) {$sec = "0$sec";}
$now_date_epoch = time();
$now_date = "$year-$mon-$mday $hour:$min:$sec";
$recdate = "$year$mon$mday-$hour$min$sec";
$tinydate = "$Tyear$mon$mday$hour$min$sec";
&get_date_time;
$campaign_rec_filename =~ s/CAMPAIGN/$log_campaign/gi;
$campaign_rec_filename =~ s/INGROUP/$channel_group/gi;
$campaign_rec_filename =~ s/CUSTPHONE/$phone_number/gi;
@@ -5089,6 +5063,7 @@ while ( ($drop_timer <= $DROP_TIME) && ($wait_in_queue > 0) && ($MCdrop_override
### BEGIN stereo call recording for ALLCALLS/ALLFORCE and for all parallel stereo recording in-groups ###
if ( ($stereo_recording =~ /CUSTOMER|BOTH/i) && ($conf_engine eq "CONFBRIDGE") && ($SSstereo_recording > 0) )
{
&get_date_time;
$stereo_rec_filename =~ s/CAMPAIGN/$log_campaign/gi;
$stereo_rec_filename =~ s/INGROUP/$channel_group/gi;
$stereo_rec_filename =~ s/CUSTPHONE/$phone_number/gi;
@@ -10405,6 +10380,26 @@ sub parse_asterisk_version
}
sub get_date_time
{
# get date/time, for recording filenames
($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime(time);
$year = ($year + 1900);
$Tyear = ($year - 2000);
$mon++;
if ($mon < 10) {$mon = "0$mon";}
if ($mday < 10) {$mday = "0$mday";}
if ($hour < 10) {$hour = "0$hour";}
if ($min < 10) {$min = "0$min";}
if ($sec < 10) {$sec = "0$sec";}
$now_date_epoch = time();
$now_date = "$year-$mon-$mday $hour:$min:$sec";
$recdate = "$year$mon$mday-$hour$min$sec";
$tinydate = "$Tyear$mon$mday$hour$min$sec";
}
sub trigger_transfer_process
{
# $DS='--';
+30 -75
View File
@@ -134,6 +134,7 @@
# 241020-1928 - Added khomp campaign settings options
# 250827-1556 - Added stereo_recording code
# 250924-2150 - Added code for deprecation of "Monitor" application after Asterisk 20
# 251001-1837 - Fix for rare Stereo recording filename issue
#
$script = 'agi-VDAD_ALL_outbound.agi';
@@ -1178,21 +1179,7 @@ if ($VDACaffected_rows > 0)
$sthA->finish();
# get date/time
($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime(time);
$year = ($year + 1900);
$Tyear = ($year - 2000);
$mon++;
if ($mon < 10) {$mon = "0$mon";}
if ($mday < 10) {$mday = "0$mday";}
if ($hour < 10) {$hour = "0$hour";}
if ($min < 10) {$min = "0$min";}
if ($sec < 10) {$sec = "0$sec";}
$now_date_epoch = time();
$now_date = "$year-$mon-$mday $hour:$min:$sec";
$recdate = "$year$mon$mday-$hour$min$sec";
$tinydate = "$Tyear$mon$mday$hour$min$sec";
&get_date_time;
$campaign_rec_filename =~ s/CAMPAIGN/$VDADcampaign/gi;
$campaign_rec_filename =~ s/INGROUP/$VDADcampaign/gi;
$campaign_rec_filename =~ s/CUSTPHONE/$VDADphone/gi;
@@ -3197,21 +3184,7 @@ while ($drop_timer <= $DROP_TIME)
$sthA->finish();
# get date/time
($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime(time);
$year = ($year + 1900);
$Tyear = ($year - 2000);
$mon++;
if ($mon < 10) {$mon = "0$mon";}
if ($mday < 10) {$mday = "0$mday";}
if ($hour < 10) {$hour = "0$hour";}
if ($min < 10) {$min = "0$min";}
if ($sec < 10) {$sec = "0$sec";}
$now_date_epoch = time();
$now_date = "$year-$mon-$mday $hour:$min:$sec";
$recdate = "$year$mon$mday-$hour$min$sec";
$tinydate = "$Tyear$mon$mday$hour$min$sec";
&get_date_time;
$campaign_rec_filename =~ s/CAMPAIGN/$VDADcampaign/gi;
$campaign_rec_filename =~ s/CUSTPHONE/$VDADphone/gi;
$campaign_rec_filename =~ s/FULLDATE/$recdate/gi;
@@ -3286,6 +3259,7 @@ while ($drop_timer <= $DROP_TIME)
### BEGIN stereo call recording for ALLCALLS/ALLFORCE and for all parallel stereo recording campaigns for remote agents ###
if ( ($stereo_recording =~ /CUSTOMER|BOTH/i) && ($conf_engine eq "CONFBRIDGE") && ($SSstereo_recording > 0) )
{
&get_date_time;
$stereo_rec_filename =~ s/CAMPAIGN/$VDADcampaign/gi;
$stereo_rec_filename =~ s/INGROUP/$VDADcampaign/gi;
$stereo_rec_filename =~ s/CUSTPHONE/$VDADphone/gi;
@@ -3637,21 +3611,7 @@ while ($drop_timer <= $DROP_TIME)
$sthA->finish();
# get date/time
($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime(time);
$year = ($year + 1900);
$Tyear = ($year - 2000);
$mon++;
if ($mon < 10) {$mon = "0$mon";}
if ($mday < 10) {$mday = "0$mday";}
if ($hour < 10) {$hour = "0$hour";}
if ($min < 10) {$min = "0$min";}
if ($sec < 10) {$sec = "0$sec";}
$now_date_epoch = time();
$now_date = "$year-$mon-$mday $hour:$min:$sec";
$recdate = "$year$mon$mday-$hour$min$sec";
$tinydate = "$Tyear$mon$mday$hour$min$sec";
&get_date_time;
$campaign_rec_filename =~ s/CAMPAIGN/$VDADcampaign/gi;
$campaign_rec_filename =~ s/CUSTPHONE/$VDADphone/gi;
$campaign_rec_filename =~ s/FULLDATE/$recdate/gi;
@@ -3717,6 +3677,7 @@ while ($drop_timer <= $DROP_TIME)
### BEGIN stereo call recording for ALLCALLS/ALLFORCE and for all parallel stereo recording campaigns ###
if ( ($stereo_recording =~ /CUSTOMER|BOTH/i) && ($conf_engine eq "CONFBRIDGE") && ($SSstereo_recording > 0) )
{
&get_date_time;
$stereo_rec_filename =~ s/CAMPAIGN/$VDADcampaign/gi;
$stereo_rec_filename =~ s/INGROUP/$VDADcampaign/gi;
$stereo_rec_filename =~ s/CUSTPHONE/$VDADphone/gi;
@@ -4619,21 +4580,7 @@ while ($drop_timer <= $DROP_TIME)
$sthA->finish();
# get date/time
($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime(time);
$year = ($year + 1900);
$Tyear = ($year - 2000);
$mon++;
if ($mon < 10) {$mon = "0$mon";}
if ($mday < 10) {$mday = "0$mday";}
if ($hour < 10) {$hour = "0$hour";}
if ($min < 10) {$min = "0$min";}
if ($sec < 10) {$sec = "0$sec";}
$now_date_epoch = time();
$now_date = "$year-$mon-$mday $hour:$min:$sec";
$recdate = "$year$mon$mday-$hour$min$sec";
$tinydate = "$Tyear$mon$mday$hour$min$sec";
&get_date_time;
$campaign_rec_filename =~ s/CAMPAIGN/$VDADcampaign/gi;
$campaign_rec_filename =~ s/CUSTPHONE/$VDADphone/gi;
$campaign_rec_filename =~ s/FULLDATE/$recdate/gi;
@@ -4707,6 +4654,7 @@ while ($drop_timer <= $DROP_TIME)
### BEGIN stereo call recording for ALLCALLS/ALLFORCE and for all parallel stereo recording campaigns for remote agents ###
if ( ($stereo_recording =~ /CUSTOMER|BOTH/i) && ($conf_engine eq "CONFBRIDGE") && ($SSstereo_recording > 0) )
{
&get_date_time;
$stereo_rec_filename =~ s/CAMPAIGN/$VDADcampaign/gi;
$stereo_rec_filename =~ s/INGROUP/$VDADcampaign/gi;
$stereo_rec_filename =~ s/CUSTPHONE/$VDADphone/gi;
@@ -5058,21 +5006,7 @@ while ($drop_timer <= $DROP_TIME)
$sthA->finish();
# get date/time
($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime(time);
$year = ($year + 1900);
$Tyear = ($year - 2000);
$mon++;
if ($mon < 10) {$mon = "0$mon";}
if ($mday < 10) {$mday = "0$mday";}
if ($hour < 10) {$hour = "0$hour";}
if ($min < 10) {$min = "0$min";}
if ($sec < 10) {$sec = "0$sec";}
$now_date_epoch = time();
$now_date = "$year-$mon-$mday $hour:$min:$sec";
$recdate = "$year$mon$mday-$hour$min$sec";
$tinydate = "$Tyear$mon$mday$hour$min$sec";
&get_date_time;
$campaign_rec_filename =~ s/CAMPAIGN/$VDADcampaign/gi;
$campaign_rec_filename =~ s/CUSTPHONE/$VDADphone/gi;
$campaign_rec_filename =~ s/FULLDATE/$recdate/gi;
@@ -5136,6 +5070,7 @@ while ($drop_timer <= $DROP_TIME)
### BEGIN stereo call recording for ALLCALLS/ALLFORCE and for all parallel stereo recording campaigns ###
if ( ($stereo_recording =~ /CUSTOMER|BOTH/i) && ($conf_engine eq "CONFBRIDGE") && ($SSstereo_recording > 0) )
{
&get_date_time;
$stereo_rec_filename =~ s/CAMPAIGN/$VDADcampaign/gi;
$stereo_rec_filename =~ s/INGROUP/$VDADcampaign/gi;
$stereo_rec_filename =~ s/CUSTPHONE/$VDADphone/gi;
@@ -6632,6 +6567,26 @@ sub tts_num_var_test
}
sub get_date_time
{
# get date/time, for recording filenames
($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime(time);
$year = ($year + 1900);
$Tyear = ($year - 2000);
$mon++;
if ($mon < 10) {$mon = "0$mon";}
if ($mday < 10) {$mday = "0$mday";}
if ($hour < 10) {$hour = "0$hour";}
if ($min < 10) {$min = "0$min";}
if ($sec < 10) {$sec = "0$sec";}
$now_date_epoch = time();
$now_date = "$year-$mon-$mday $hour:$min:$sec";
$recdate = "$year$mon$mday-$hour$min$sec";
$tinydate = "$Tyear$mon$mday$hour$min$sec";
}
sub trigger_transfer_process
{
# $DS='--';
@@ -1,7 +1,7 @@
VICIDIAL STEREO CALL RECORDINGS Started: 2025-06-18 Updated: 2025-09-25
VICIDIAL STEREO CALL RECORDINGS Started: 2025-06-18 Updated: 2025-10-01
TO USE THESE FEATURES, YOU WILL NEED TO HAVE ALL SERVERS IN YOUR CLUSTER USING SVN/TRUNK REVISION 3945(2025-09-25) CODE OR HIGHER!!!
TO USE THESE FEATURES, YOU WILL NEED TO HAVE ALL SERVERS IN YOUR CLUSTER USING SVN/TRUNK REVISION 3947(2025-10-01) CODE OR HIGHER!!!
This project was designed to allow for additional stereo recording of phone calls at the agent and server levels directly on VICIdial Asterisk servers, with the customer always on one channel(the Right channel) and the agent and all other parties on the other channel(the Left channel). If you are looking for the VICI Gateway Recording Server documentation, please see the GATEWAY_RECORDING_SERVER.txt document.
@@ -944,7 +944,7 @@ realtime_agent_time_stats ENUM('DISABLED','WAIT_CUST_ACW','WAIT_CUST_ACW_PAUSE',
use_auto_hopper ENUM('Y','N') default 'Y',
auto_hopper_multi VARCHAR(6) default '1',
auto_hopper_level MEDIUMINT(8) UNSIGNED default '0',
auto_trim_hopper ENUM('Y','N') default 'Y',
auto_trim_hopper ENUM('Y','N') default 'N',
api_manual_dial ENUM('STANDARD','QUEUE','QUEUE_AND_AUTOCALL') default 'STANDARD',
manual_dial_call_time_check ENUM('DISABLED','ENABLED') default 'DISABLED',
display_leads_count ENUM('Y','N') default 'N',
+2 -1
View File
@@ -97,7 +97,7 @@ $VARCS_port = '3306';
# default keepalive processes:
$VARactive_keepalives = '1234568';
# default Asterisk version:
$VARasterisk_version = '16.X';
$VARasterisk_version = '18.X';
# default recording FTP archive variables:
$VARFTP_host = '10.0.0.4';
$VARFTP_user = 'cron';
@@ -2099,6 +2099,7 @@ else
print " 11.X\n";
print " 13.X\n";
print " 16.X\n";
print " 18.X\n";
print "Enter asterisk version or press enter for default: [$VARasterisk_version] ";
$PROMPTasterisk_version = <STDIN>;
chomp($PROMPTasterisk_version);
File diff suppressed because it is too large Load Diff