From 8382c16e49709e9bff07930305bf388f2287a64a Mon Sep 17 00:00:00 2001 From: mattf Date: Sat, 27 Dec 2014 15:16:10 +0000 Subject: [PATCH] Trigger sounds update on voicemail server when phone record is updated in admin.php Changed ADMIN_keepalive_ALL.pl to clear out old unavail voicemail greetings before copying custom greeting git-svn-id: svn://192.168.202.10@2229 3d104415-ff17-0410-8863-d5cf3c621b8a --- bin/ADMIN_keepalive_ALL.pl | 51 +++++++++++++++++++++++++++++++++++--- www/vicidial/admin.php | 7 +++--- 2 files changed, 52 insertions(+), 6 deletions(-) diff --git a/bin/ADMIN_keepalive_ALL.pl b/bin/ADMIN_keepalive_ALL.pl index 803cd2db..7884e5cd 100644 --- a/bin/ADMIN_keepalive_ALL.pl +++ b/bin/ADMIN_keepalive_ALL.pl @@ -96,9 +96,10 @@ # 140619-1001 - Added new ASTplay loop IAX trunk # 141113-1555 - Changed FILL process screen from ASTVDautoFILL to ASTVDadFILL for easier admin # 141125-1710 - Added gather_stats_flag for audio sync script launch on voicemail server +# 141227-0957 - Changed to clear out old unavail voicemail greetings before copying custom greeting # -$build = '141125-1710'; +$build = '141227-0957'; $DB=0; # Debug flag @@ -1517,21 +1518,43 @@ if ( ($active_voicemail_server =~ /$server_ip/) && ((length($active_voicemail_se $gsm='.gsm'; $wav='.wav'; $audio_file_copied=0; + $vm_dir_created=0; + $vm_greet_wav_exists=0; + $vm_greet_gsm_exists=0; if ( !-e ("/var/spool/asterisk/voicemail/default/$VG_voicemail_id")) { `mkdir /var/spool/asterisk/voicemail/default/$VG_voicemail_id`; if ($DB) {print "voicemail directory created: /var/spool/asterisk/voicemail/default/$VG_voicemail_id/\n";} + $vm_dir_created++; } if ( -e ("/var/lib/asterisk/sounds/$VG_voicemail_greeting$wav")) + { + $vm_greet_wav_exists++; + } + if ( -e ("/var/lib/asterisk/sounds/$VG_voicemail_greeting$gsm")) + { + $vm_greet_gsm_exists++; + } + + if ( ($vm_dir_created < 1) && ( ($vm_greet_wav_exists > 0) || ($vm_greet_gsm_exists > 0) ) ) + { + `rm -f /var/spool/asterisk/voicemail/default/$VG_voicemail_id/unavail.wav`; + `rm -f /var/spool/asterisk/voicemail/default/$VG_voicemail_id/unavail.WAV`; + `rm -f /var/spool/asterisk/voicemail/default/$VG_voicemail_id/unavail.gsm`; + if ($DB) {print "cleared old voicemail greetings: $VG_voicemail_id\n";} + } + + if ($vm_greet_wav_exists > 0) { `cp /var/lib/asterisk/sounds/$VG_voicemail_greeting$wav /var/spool/asterisk/voicemail/default/$VG_voicemail_id/unavail$wav`; $audio_file_copied++; } - if ( -e ("/var/lib/asterisk/sounds/$VG_voicemail_greeting$gsm")) + if ($vm_greet_gsm_exists > 0) { `cp /var/lib/asterisk/sounds/$VG_voicemail_greeting$gsm /var/spool/asterisk/voicemail/default/$VG_voicemail_id/unavail$gsm`; $audio_file_copied++; } + if ($audio_file_copied < 1) {if ($DB) {print "no voicemail greeting copied: $VG_voicemail_id|$VG_voicemail_greeting\n";}} if ($DBX>0) {print "Custom Voicemail Greeting: $VG_voicemail_id|$VG_voicemail_greeting|$audio_file_copied\n";} @@ -1554,21 +1577,43 @@ if ( ($active_voicemail_server =~ /$server_ip/) && ((length($active_voicemail_se $gsm='.gsm'; $wav='.wav'; $audio_file_copied=0; + $vm_dir_created=0; + $vm_greet_wav_exists=0; + $vm_greet_gsm_exists=0; if ( !-e ("/var/spool/asterisk/voicemail/default/$VG_voicemail_id")) { `mkdir /var/spool/asterisk/voicemail/default/$VG_voicemail_id`; if ($DB) {print "voicemail directory created: /var/spool/asterisk/voicemail/default/$VG_voicemail_id/\n";} + $vm_dir_created++; } if ( -e ("/var/lib/asterisk/sounds/$VG_voicemail_greeting$wav")) + { + $vm_greet_wav_exists++; + } + if ( -e ("/var/lib/asterisk/sounds/$VG_voicemail_greeting$gsm")) + { + $vm_greet_gsm_exists++; + } + + if ( ($vm_dir_created < 1) && ( ($vm_greet_wav_exists > 0) || ($vm_greet_gsm_exists > 0) ) ) + { + `rm -f /var/spool/asterisk/voicemail/default/$VG_voicemail_id/unavail.wav`; + `rm -f /var/spool/asterisk/voicemail/default/$VG_voicemail_id/unavail.WAV`; + `rm -f /var/spool/asterisk/voicemail/default/$VG_voicemail_id/unavail.gsm`; + if ($DB) {print "cleared old voicemail greetings: $VG_voicemail_id\n";} + } + + if ($vm_greet_wav_exists > 0) { `cp /var/lib/asterisk/sounds/$VG_voicemail_greeting$wav /var/spool/asterisk/voicemail/default/$VG_voicemail_id/unavail$wav`; $audio_file_copied++; } - if ( -e ("/var/lib/asterisk/sounds/$VG_voicemail_greeting$gsm")) + if ($vm_greet_gsm_exists > 0) { `cp /var/lib/asterisk/sounds/$VG_voicemail_greeting$gsm /var/spool/asterisk/voicemail/default/$VG_voicemail_id/unavail$gsm`; $audio_file_copied++; } + if ($audio_file_copied < 1) {if ($DB) {print "no voicemail greeting copied: $VG_voicemail_id|$VG_voicemail_greeting\n";}} if ($DBX>0) {print "Custom Voicemail Greeting: $VG_voicemail_id|$VG_voicemail_greeting|$audio_file_copied\n";} diff --git a/www/vicidial/admin.php b/www/vicidial/admin.php index 7eb19e45..f0b872d1 100644 --- a/www/vicidial/admin.php +++ b/www/vicidial/admin.php @@ -3412,12 +3412,13 @@ else # 141204-0559 - Fixed Contacts alt-db issue, Added user modify_languages user option and enable_languages system option # 141211-1639 - Added cpd_unknown_action campaign option and na_call_url lists option # 141212-0930 - Added selected_language,user_choose_language user options and language_method system option +# 141227-1008 - Trigger sounds update on voicemail server when phone record is updated # # make sure you have added a user to the vicidial_users MySQL table with at least user_level 9 to access this page the first time -$admin_version = '2.10-461a'; -$build = '141212-0930'; +$admin_version = '2.10-462a'; +$build = '141227-1008'; $STARTtime = date("U"); $SQLdate = date("Y-m-d H:i:s"); @@ -14139,7 +14140,7 @@ if ($ADD==41111111111) $stmtA="UPDATE servers SET rebuild_conf_files='Y' where generate_vicidial_conf='Y' and active_asterisk_server='Y' and server_ip='$server_ip';"; $rslt=mysql_to_mysqli($stmtA, $link); - $stmtB="UPDATE servers SET rebuild_conf_files='Y' where generate_vicidial_conf='Y' and active_asterisk_server='Y' and server_ip='$SSactive_voicemail_server';"; + $stmtB="UPDATE servers SET rebuild_conf_files='Y',sounds_update='Y' where generate_vicidial_conf='Y' and active_asterisk_server='Y' and server_ip='$SSactive_voicemail_server';"; $rslt=mysql_to_mysqli($stmtB, $link); ### LOG INSERTION Admin Log Table ###