From 9f45ef3bbff8fc690ac90a93fb63b1e6994acc85 Mon Sep 17 00:00:00 2001 From: mattf Date: Mon, 9 Mar 2015 07:25:15 +0000 Subject: [PATCH] Added System Settings to allow custom prompts on agent login and when an agent leaves a 3way call in the agent screen. Added ability to use url encoded web form addresses in non-agent API add_list and update_list functions. git-svn-id: svn://192.168.202.10@2296 3d104415-ff17-0410-8863-d5cf3c621b8a --- agc_2-X/trunk/UPGRADE | 5 +- agc_2-X/trunk/bin/ADMIN_keepalive_ALL.pl | 37 ++++++++++- agc_2-X/trunk/bin/AST_update.pl | 8 ++- agc_2-X/trunk/docs/NON-AGENT_API.txt | 7 ++- .../trunk/extras/MySQL_AST_CREATE_tables.sql | 6 +- agc_2-X/trunk/extras/upgrade_2.12 | 5 ++ .../trunk/sounds/conf-onlyperson-original.gsm | Bin 0 -> 5544 bytes .../trunk/sounds/conf-onlyperson-original.wav | Bin 0 -> 48550 bytes agc_2-X/trunk/sounds/transfer-successful.gsm | Bin 0 -> 3036 bytes agc_2-X/trunk/sounds/transfer-successful.wav | Bin 0 -> 32118 bytes agc_2-X/trunk/www/agc/manager_send.php | 29 +++++---- agc_2-X/trunk/www/agc/vicidial.php | 58 ++++++++++-------- agc_2-X/trunk/www/vicidial/admin.php | 35 ++++++++--- agc_2-X/trunk/www/vicidial/help.php | 11 ++++ agc_2-X/trunk/www/vicidial/non_agent_api.php | 47 ++++++++++++-- 15 files changed, 188 insertions(+), 60 deletions(-) create mode 100644 agc_2-X/trunk/sounds/conf-onlyperson-original.gsm create mode 100644 agc_2-X/trunk/sounds/conf-onlyperson-original.wav create mode 100644 agc_2-X/trunk/sounds/transfer-successful.gsm create mode 100644 agc_2-X/trunk/sounds/transfer-successful.wav diff --git a/agc_2-X/trunk/UPGRADE b/agc_2-X/trunk/UPGRADE index 293a4476..f80394fc 100644 --- a/agc_2-X/trunk/UPGRADE +++ b/agc_2-X/trunk/UPGRADE @@ -55,8 +55,9 @@ REQUIRED STEPS!!! OTHER CHANGES: -1. No new changes yet - +1. Added System Settings to allow custom prompts on agent login and when an + agent leaves a 3way call in the agent screen. Must Have Asterisk 1.8+ + for it to work. diff --git a/agc_2-X/trunk/bin/ADMIN_keepalive_ALL.pl b/agc_2-X/trunk/bin/ADMIN_keepalive_ALL.pl index 9f466153..02bfa5b0 100644 --- a/agc_2-X/trunk/bin/ADMIN_keepalive_ALL.pl +++ b/agc_2-X/trunk/bin/ADMIN_keepalive_ALL.pl @@ -1,6 +1,6 @@ #!/usr/bin/perl # -# ADMIN_keepalive_ALL.pl version 2.10 +# ADMIN_keepalive_ALL.pl version 2.12 # # Designed to keep the astGUIclient processes alive and check every minute # Replaces all other ADMIN_keepalive scripts @@ -98,9 +98,10 @@ # 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 # 150112-2018 - Added flag to delete voicemail greeting when changed from an audio file to empty +# 150307-1738 - Added custom meetme enter sounds(only works with Asterisk 1.8) # -$build = '150112-2018'; +$build = '150307-1738'; $DB=0; # Debug flag @@ -1292,7 +1293,7 @@ if ($timeclock_end_of_day_NOW > 0) ################################################################################ ##### Get the settings from system_settings ##### -$stmtA = "SELECT sounds_central_control_active,active_voicemail_server,custom_dialplan_entry,default_codecs,generate_cross_server_exten,voicemail_timezones,default_voicemail_timezone,call_menu_qualify_enabled,allow_voicemail_greeting,reload_timestamp FROM system_settings;"; +$stmtA = "SELECT sounds_central_control_active,active_voicemail_server,custom_dialplan_entry,default_codecs,generate_cross_server_exten,voicemail_timezones,default_voicemail_timezone,call_menu_qualify_enabled,allow_voicemail_greeting,reload_timestamp,meetme_enter_login_filename,meetme_enter_leave3way_filename FROM system_settings;"; # print "$stmtA\n"; $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; @@ -1310,6 +1311,8 @@ if ($sthArows > 0) $SScall_menu_qualify_enabled = $aryA[7]; $SSallow_voicemail_greeting = $aryA[8]; $SSreload_timestamp = $aryA[9]; + $meetme_enter_login_filename = $aryA[10]; + $meetme_enter_leave3way_filename = $aryA[11]; } $sthA->finish(); if ($DBXXX > 0) {print "SYSTEM SETTINGS: $sounds_central_control_active|$active_voicemail_server|$SScustom_dialplan_entry|$SSdefault_codecs\n";} @@ -2398,6 +2401,33 @@ if ( ($active_asterisk_server =~ /Y/) && ($generate_vicidial_conf =~ /Y/) && ($r } + ##### BEGIN Generate custom meetme entries if set ##### + $meetme_custom_ext=''; + if ( (length($meetme_enter_login_filename) > 0) || (length($meetme_enter_leave3way_filename) > 0) ) + { + if (length($meetme_enter_login_filename) < 1) {$meetme_enter_login_filename='sip-silence';} + if (length($meetme_enter_leave3way_filename) < 1) {$meetme_enter_leave3way_filename='sip-silence';} + + $meetme_custom_ext .= '[meetme-enter-login]'; + $meetme_custom_ext .= "\n; meetme entry for Vicidial agent logging in, Asterisk 1.8+ compatible only\n"; + $meetme_custom_ext .= "exten => _8600XXX,1,Meetme(\${EXTEN},FG($meetme_enter_login_filename))\n"; + $meetme_custom_ext .= "exten => _8600XXX,n,Hangup()\n"; + $meetme_custom_ext .= "\n"; + $meetme_custom_ext .= 'exten => h,1,AGI(agi://127.0.0.1:4577/call_log--HVcauses--PRI-----NODEBUG-----${HANGUPCAUSE}-----${DIALSTATUS}-----${DIALEDTIME}-----${ANSWEREDTIME})'; + $meetme_custom_ext .= "\n\n"; + $meetme_custom_ext .= '[meetme-enter-leave3way]'; + $meetme_custom_ext .= "\n; meetme entry for Vicidial agent leaving 3way call, Asterisk 1.8+ compatible only\n"; + $meetme_custom_ext .= "exten => _8600XXX,1,Meetme(\${EXTEN},FG($meetme_enter_leave3way_filename))\n"; + $meetme_custom_ext .= "exten => _8600XXX,n,Hangup()\n"; + $meetme_custom_ext .= "\n"; + $meetme_custom_ext .= 'exten => h,1,AGI(agi://127.0.0.1:4577/call_log--HVcauses--PRI-----NODEBUG-----${HANGUPCAUSE}-----${DIALSTATUS}-----${DIALEDTIME}-----${ANSWEREDTIME})'; + $meetme_custom_ext .= "\n\n"; + + if ($DBX>0) {print "Custom Meetme login and leave3way entries generated: |$meetme_enter_login_filename|$meetme_enter_leave3way_filename|\n";} + } + ##### END Generate custom meetme entries if set ##### + + ##### BEGIN Generate the Call Menu entries ##### $stmtA = "SELECT menu_id,menu_name,menu_prompt,menu_timeout,menu_timeout_prompt,menu_invalid_prompt,menu_repeat,menu_time_check,call_time_id,track_in_vdac,custom_dialplan_entry,tracking_group,dtmf_log,dtmf_field,qualify_sql FROM vicidial_call_menu order by menu_id;"; # print "$stmtA\n"; @@ -3091,6 +3121,7 @@ if ( ($active_asterisk_server =~ /Y/) && ($generate_vicidial_conf =~ /Y/) && ($r print ext "; WARNING- THIS FILE IS AUTO-GENERATED BY VICIDIAL, ANY EDITS YOU MAKE WILL BE LOST\n"; print ext "$ext\n"; + print ext "$meetme_custom_ext\n"; print ext "$call_menu_ext\n"; print ext "\n"; if (length($SScustom_dialplan_entry)>5) diff --git a/agc_2-X/trunk/bin/AST_update.pl b/agc_2-X/trunk/bin/AST_update.pl index f6cacf8e..bde5a479 100644 --- a/agc_2-X/trunk/bin/AST_update.pl +++ b/agc_2-X/trunk/bin/AST_update.pl @@ -1,6 +1,6 @@ #!/usr/bin/perl # -# AST_update.pl version 2.10 +# AST_update.pl version 2.12 # # DESCRIPTION: # uses the Asterisk Manager interface and DBD::MySQL to update the live_channels @@ -27,7 +27,7 @@ # # It is recommended that you run this program on each local Asterisk machine # -# Copyright (C) 2014 Matt Florell LICENSE: AGPLv2 +# Copyright (C) 2015 Matt Florell LICENSE: AGPLv2 # # version changes: # 41228-1659 - modified to compensate for manager output response hiccups @@ -63,9 +63,10 @@ # 140510-0119 - Small formatting and asterisk version changes # 141113-1601 - Added concurrency check # 141124-2309 - Fixed Fhour variable bug +# 150308-0911 - Added filter for agent sessions in new meetme-enter contexts # -$build = '141124-2309'; +$build = '150308-0911'; # constants $SYSPERF=0; # system performance logging to MySQL server_performance table every 5 seconds @@ -868,6 +869,7 @@ while($one_day_interval > 0) } if ($DBX) {print "EXcount: $EXcount\n";} if (length($list_chan_12[6])<2) {$list_chan_12[6] = 'SIP/ring';} + if ($list_chan_12[1] =~ /^meetme-enter/) {$list_chan_12[6] =~ s/\(.*//gi;} $list_channels[$c] = "$list_chan_12[0] $list_chan_12[6]"; } $list_SIP[$c] = $list_channels[$c]; diff --git a/agc_2-X/trunk/docs/NON-AGENT_API.txt b/agc_2-X/trunk/docs/NON-AGENT_API.txt index 003d4fb2..ae316af7 100644 --- a/agc_2-X/trunk/docs/NON-AGENT_API.txt +++ b/agc_2-X/trunk/docs/NON-AGENT_API.txt @@ -1,4 +1,4 @@ -NON-AGENT API DOCUMENT Started: 2008-07-24 Updated: 2015-01-23 +NON-AGENT API DOCUMENT Started: 2008-07-24 Updated: 2015-03-09 This document describes the functions of an API(Application Programming Interface) for all functions NOT directly relating to the VICIDIAL Agent screen. @@ -98,6 +98,8 @@ Changes: 140617-2029 - Added vicidial_users wrapup_seconds_override option 140812-0939 - Added phone_number and vendor_lead_code to agent_status function output 150123-1611 - Fixed issue with list local call times and add_lead +150217-1404 - archive deleted callbacks to vicidial_callbacks_archive table +150309-0250 - Added ability to use urlencoded web form addresses API Functions use the 'function' variable @@ -1109,6 +1111,8 @@ web_form_address - 6-100 characters web_form_address_two - 6-100 characters reset_time - 4-100 characters, must be in valid 4-digit groups of 24-hour time (i.e. 0900-1700-2359) expiration_date - 10 characters, must be in valid date format YYYY-MM-DD (i.e. 2012-11-25) +NOTES: + - for the web form addresses, you can URL encode them to include standard URL special characters Example URL strings for API calls: @@ -1161,6 +1165,7 @@ expiration_date - 10 characters, must be in valid date format YYYY-MM-DD (i.e. 2 NOTES: - in order to set a field to empty('') set it equal to --BLANK--, i.e. "&drop_inbound_group=--BLANK--" - please use no special characters like apostrophes, quotes or amphersands + - for the web form addresses, you can URL encode them to include standard URL special characters Example URL strings for API calls: diff --git a/agc_2-X/trunk/extras/MySQL_AST_CREATE_tables.sql b/agc_2-X/trunk/extras/MySQL_AST_CREATE_tables.sql index 51fa4eca..9e36ca5b 100644 --- a/agc_2-X/trunk/extras/MySQL_AST_CREATE_tables.sql +++ b/agc_2-X/trunk/extras/MySQL_AST_CREATE_tables.sql @@ -1582,7 +1582,9 @@ callback_time_24hour ENUM('0','1') default '0', active_modules TEXT, allow_chats ENUM('0','1') default '0', enable_languages ENUM('0','1') default '0', -language_method VARCHAR(20) default 'DISABLED' +language_method VARCHAR(20) default 'DISABLED', +meetme_enter_login_filename VARCHAR(255) default '', +meetme_enter_leave3way_filename VARCHAR(255) default '' ) ENGINE=MyISAM; CREATE TABLE vicidial_campaigns_list_mix ( @@ -3370,4 +3372,4 @@ UPDATE vicidial_configuration set value='1766' where name='qc_database_version'; UPDATE system_settings set vdc_agent_api_active='1'; -UPDATE system_settings SET db_schema_version='1405',db_schema_update_date=NOW(),reload_timestamp=NOW(); +UPDATE system_settings SET db_schema_version='1406',db_schema_update_date=NOW(),reload_timestamp=NOW(); diff --git a/agc_2-X/trunk/extras/upgrade_2.12 b/agc_2-X/trunk/extras/upgrade_2.12 index 4f5d012e..b14b052c 100644 --- a/agc_2-X/trunk/extras/upgrade_2.12 +++ b/agc_2-X/trunk/extras/upgrade_2.12 @@ -1,3 +1,8 @@ UPDATE system_settings SET db_schema_version='1404',version='2.11rc1tk',db_schema_update_date=NOW() where db_schema_version < 1404; UPDATE system_settings SET db_schema_version='1405',version='2.12b0.5',db_schema_update_date=NOW() where db_schema_version < 1405; + +ALTER TABLE system_settings ADD meetme_enter_login_filename VARCHAR(255) default ''; +ALTER TABLE system_settings ADD meetme_enter_leave3way_filename VARCHAR(255) default ''; + +UPDATE system_settings SET db_schema_version='1406',db_schema_update_date=NOW() where db_schema_version < 1406; diff --git a/agc_2-X/trunk/sounds/conf-onlyperson-original.gsm b/agc_2-X/trunk/sounds/conf-onlyperson-original.gsm new file mode 100644 index 0000000000000000000000000000000000000000..52eb6dbb9fa2a2c75b47601fdb850844e77f3ebf GIT binary patch literal 5544 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 literal 0 HcmV?d00001 diff --git a/agc_2-X/trunk/sounds/transfer-successful.gsm b/agc_2-X/trunk/sounds/transfer-successful.gsm new file mode 100644 index 0000000000000000000000000000000000000000..63e001e0ddd506c209ff98fb2f5ae413d24c3922 GIT binary patch literal 3036 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 O;I0MkTHs&M0{;L5+@n+g literal 0 HcmV?d00001 diff --git a/agc_2-X/trunk/www/agc/manager_send.php b/agc_2-X/trunk/www/agc/manager_send.php index 9645c0b4..fe240e62 100644 --- a/agc_2-X/trunk/www/agc/manager_send.php +++ b/agc_2-X/trunk/www/agc/manager_send.php @@ -1,7 +1,7 @@ LICENSE: AGPLv2 +# Copyright (C) 2015 Matt Florell LICENSE: AGPLv2 # # This script is designed purely to insert records into the vicidial_manager table to signal Actions to an asterisk server # This script depends on the server_ip being sent and also needs to have a valid user/pass from the vicidial_users table @@ -123,10 +123,11 @@ # 141118-1101 - Formatting changes for QXZ output # 141128-0851 - Code cleanup for QXZ functions # 141216-2107 - Added language settings lookups and user/pass variable standardization +# 150307-1837 - Added leave 3way custom sound context # -$version = '2.10-70'; -$build = '141216-2107'; +$version = '2.12-71'; +$build = '150307-1837'; $mel=1; # Mysql Error Log enabled = 1 $mysql_log_count=129; $one_mysql_log=0; @@ -262,7 +263,7 @@ if ($sl_ct > 0) $VUselected_language = $row[0]; } -$stmt = "SELECT use_non_latin,allow_sipsak_messages,enable_languages,language_method FROM system_settings;"; +$stmt = "SELECT use_non_latin,allow_sipsak_messages,enable_languages,language_method,meetme_enter_login_filename,meetme_enter_leave3way_filename FROM system_settings;"; $rslt=mysql_to_mysqli($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02001',$user,$server_ip,$session_name,$one_mysql_log);} if ($DB) {echo "$stmt\n";} @@ -270,10 +271,12 @@ $qm_conf_ct = mysqli_num_rows($rslt); if ($qm_conf_ct > 0) { $row=mysqli_fetch_row($rslt); - $non_latin = $row[0]; - $allow_sipsak_messages = $row[1]; - $SSenable_languages = $row[2]; - $SSlanguage_method = $row[3]; + $non_latin = $row[0]; + $allow_sipsak_messages = $row[1]; + $SSenable_languages = $row[2]; + $SSlanguage_method = $row[3]; + $meetme_enter_login_filename = $row[4]; + $meetme_enter_leave3way_filename = $row[5]; } ##### END SETTINGS LOOKUP ##### ########################################### @@ -284,6 +287,10 @@ if ($non_latin < 1) $secondS = preg_replace("/[^0-9]/","",$secondS); } +$threeway_context = $ext_context; +if (strlen($meetme_enter_leave3way_filename) > 0) + {$threeway_context = 'meetme-enter-leave3way';} + $auth=0; $auth_message = user_authorization($user,$pass,'',0,1,0); if ($auth_message == 'GOOD') @@ -1540,7 +1547,7 @@ if ($ACTION=="RedirectXtraCXNeW") if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmtE,'02033',$user,$server_ip,$session_name,$one_mysql_log);} $queryCID = "CXAR24$NOWnum"; - $stmtF="INSERT INTO vicidial_manager values('','','$NOW_TIME','NEW','N','$server_ip','','Redirect','$queryCID','Channel: $agentchannel','Context: $ext_context','Exten: $exten','Priority: 1','CallerID: $queryCID','','','','','');"; + $stmtF="INSERT INTO vicidial_manager values('','','$NOW_TIME','NEW','N','$server_ip','','Redirect','$queryCID','Channel: $agentchannel','Context: $threeway_context','Exten: $exten','Priority: 1','CallerID: $queryCID','','','','','');"; if ($format=='debug') {echo "\n";} $rslt=mysql_to_mysqli($stmtF, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmtF,'02034',$user,$server_ip,$session_name,$one_mysql_log);} @@ -1758,7 +1765,7 @@ if ($ACTION=="RedirectXtraNeW") if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02049',$user,$server_ip,$session_name,$one_mysql_log);} $queryCID = "CXAR23$NOWnum"; - $stmtB="INSERT INTO vicidial_manager values('','','$NOW_TIME','NEW','N','$server_ip','','Redirect','$queryCID','Channel: $agentchannel','Context: $ext_context','Exten: $exten','Priority: 1','CallerID: $queryCID','','','','','');"; + $stmtB="INSERT INTO vicidial_manager values('','','$NOW_TIME','NEW','N','$server_ip','','Redirect','$queryCID','Channel: $agentchannel','Context: $threeway_context','Exten: $exten','Priority: 1','CallerID: $queryCID','','','','','');"; if ($format=='debug') {echo "\n";} $rslt=mysql_to_mysqli($stmtB, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02050',$user,$server_ip,$session_name,$one_mysql_log);} diff --git a/agc_2-X/trunk/www/agc/vicidial.php b/agc_2-X/trunk/www/agc/vicidial.php index 584b8b15..4817aa26 100644 --- a/agc_2-X/trunk/www/agc/vicidial.php +++ b/agc_2-X/trunk/www/agc/vicidial.php @@ -481,10 +481,11 @@ # 150218-1356 - Fixes for QXZ enclosed in single-quotes # 150220-1533 - Fix for leave page confirmation after logout and QXZ fixes # 150302-0950 - Release of 2.11 stable branch and raising trunk to 2.12 +# 150309-0315 - Added custom agent login prompt option # -$version = '2.12-453c'; -$build = '150302-0950'; +$version = '2.12-454c'; +$build = '150309-0315'; $mel=1; # Mysql Error Log enabled = 1 $mysql_log_count=85; $one_mysql_log=0; @@ -581,7 +582,7 @@ if ($sl_ct > 0) ############################################# ##### START SYSTEM_SETTINGS LOOKUP ##### -$stmt = "SELECT use_non_latin,vdc_header_date_format,vdc_customer_date_format,vdc_header_phone_format,webroot_writable,timeclock_end_of_day,vtiger_url,enable_vtiger_integration,outbound_autodial_active,enable_second_webform,user_territories_active,static_agent_url,custom_fields_enabled,pllb_grouping_limit,qc_features_active,allow_emails,callback_time_24hour,enable_languages,language_method FROM system_settings;"; +$stmt = "SELECT use_non_latin,vdc_header_date_format,vdc_customer_date_format,vdc_header_phone_format,webroot_writable,timeclock_end_of_day,vtiger_url,enable_vtiger_integration,outbound_autodial_active,enable_second_webform,user_territories_active,static_agent_url,custom_fields_enabled,pllb_grouping_limit,qc_features_active,allow_emails,callback_time_24hour,enable_languages,language_method,meetme_enter_login_filename,meetme_enter_leave3way_filename FROM system_settings;"; $rslt=mysql_to_mysqli($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'01001',$VD_login,$server_ip,$session_name,$one_mysql_log);} if ($DB) {echo "$stmt\n";} @@ -589,25 +590,27 @@ $qm_conf_ct = mysqli_num_rows($rslt); if ($qm_conf_ct > 0) { $row=mysqli_fetch_row($rslt); - $non_latin = $row[0]; - $vdc_header_date_format = $row[1]; - $vdc_customer_date_format = $row[2]; - $vdc_header_phone_format = $row[3]; - $WeBRooTWritablE = $row[4]; - $timeclock_end_of_day = $row[5]; - $vtiger_url = $row[6]; - $enable_vtiger_integration = $row[7]; - $outbound_autodial_active = $row[8]; - $enable_second_webform = $row[9]; - $user_territories_active = $row[10]; - $static_agent_url = $row[11]; - $custom_fields_enabled = $row[12]; - $SSpllb_grouping_limit = $row[13]; - $qc_enabled = $row[14]; - $email_enabled = $row[15]; - $callback_time_24hour = $row[16]; - $SSenable_languages = $row[17]; - $SSlanguage_method = $row[18]; + $non_latin = $row[0]; + $vdc_header_date_format = $row[1]; + $vdc_customer_date_format = $row[2]; + $vdc_header_phone_format = $row[3]; + $WeBRooTWritablE = $row[4]; + $timeclock_end_of_day = $row[5]; + $vtiger_url = $row[6]; + $enable_vtiger_integration = $row[7]; + $outbound_autodial_active = $row[8]; + $enable_second_webform = $row[9]; + $user_territories_active = $row[10]; + $static_agent_url = $row[11]; + $custom_fields_enabled = $row[12]; + $SSpllb_grouping_limit = $row[13]; + $qc_enabled = $row[14]; + $email_enabled = $row[15]; + $callback_time_24hour = $row[16]; + $SSenable_languages = $row[17]; + $SSlanguage_method = $row[18]; + $meetme_enter_login_filename = $row[19]; + $meetme_enter_leave3way_filename = $row[20]; } else { @@ -2578,6 +2581,10 @@ else $on_hook_agent=$row[78]; $webphone_auto_answer=$row[79]; + $login_context = $ext_context; + if (strlen($meetme_enter_login_filename) > 0) + {$login_context = 'meetme-enter-login';} + $no_empty_session_warnings=0; if ( ($phone_login == 'nophone') or ($on_hook_agent == 'Y') ) { @@ -2881,8 +2888,8 @@ else if ($on_hook_agent == 'Y') {$TEMP_SIP_user_DiaL = 'Local/8300@default';} ### insert a NEW record to the vicidial_manager table to be processed - $agent_login_data="||$NOW_TIME|NEW|N|$server_ip||Originate|$SIqueryCID|Channel: $TEMP_SIP_user_DiaL|Context: $ext_context|Exten: $session_id|Priority: 1|Callerid: \"$SIqueryCID\" <$campaign_cid>|||||"; - $agent_login_stmt="INSERT INTO vicidial_manager values('','','$NOW_TIME','NEW','N','$server_ip','','Originate','$SIqueryCID','Channel: $TEMP_SIP_user_DiaL','Context: $ext_context','Exten: $session_id','Priority: 1','Callerid: \"$SIqueryCID\" <$campaign_cid>','','','','','');"; + $agent_login_data="||$NOW_TIME|NEW|N|$server_ip||Originate|$SIqueryCID|Channel: $TEMP_SIP_user_DiaL|Context: $login_context|Exten: $session_id|Priority: 1|Callerid: \"$SIqueryCID\" <$campaign_cid>|||||"; + $agent_login_stmt="INSERT INTO vicidial_manager values('','','$NOW_TIME','NEW','N','$server_ip','','Originate','$SIqueryCID','Channel: $TEMP_SIP_user_DiaL','Context: $login_context','Exten: $session_id','Priority: 1','Callerid: \"$SIqueryCID\" <$campaign_cid>','','','','','');"; if ( ($is_webphone != 'Y') and ($is_webphone != 'Y_API_LAUNCH') ) { if ($DB) {echo "$agent_login_stmt\n";} @@ -3639,6 +3646,7 @@ $CCAL_OUT .= ""; var extension_xfer = ''; var dialplan_number = ''; var ext_context = ''; + var login_context = ''; var protocol = ''; var agentchannel = ''; var local_gmt =''; @@ -11694,7 +11702,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) } if (xmlhttp) { - VMCoriginate_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=OriginateVDRelogin&format=text&channel=" + originatevalue + "&queryCID=" + queryCID + "&exten=" + session_id + "&ext_context=" + ext_context + "&ext_priority=1" + "&extension=" + extension + "&protocol=" + protocol + "&phone_ip=" + phone_ip + "&enable_sipsak_messages=" + enable_sipsak_messages + "&allow_sipsak_messages=" + allow_sipsak_messages + "&campaign=" + campaign + "&outbound_cid=" + campaign_cid; + VMCoriginate_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=OriginateVDRelogin&format=text&channel=" + originatevalue + "&queryCID=" + queryCID + "&exten=" + session_id + "&ext_context=" + login_context + "&ext_priority=1" + "&extension=" + extension + "&protocol=" + protocol + "&phone_ip=" + phone_ip + "&enable_sipsak_messages=" + enable_sipsak_messages + "&allow_sipsak_messages=" + allow_sipsak_messages + "&campaign=" + campaign + "&outbound_cid=" + campaign_cid; xmlhttp.open('POST', 'manager_send.php'); xmlhttp.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=UTF-8'); xmlhttp.send(VMCoriginate_query); diff --git a/agc_2-X/trunk/www/vicidial/admin.php b/agc_2-X/trunk/www/vicidial/admin.php index 19a22104..145a2d12 100644 --- a/agc_2-X/trunk/www/vicidial/admin.php +++ b/agc_2-X/trunk/www/vicidial/admin.php @@ -1898,6 +1898,10 @@ if (isset($_GET["ignore_group_on_search"])) {$ignore_group_on_search=$_GET["i elseif (isset($_POST["ignore_group_on_search"])) {$ignore_group_on_search=$_POST["ignore_group_on_search"];} if (isset($_GET["manual_dial_search_filter"])) {$manual_dial_search_filter=$_GET["manual_dial_search_filter"];} elseif (isset($_POST["manual_dial_search_filter"])) {$manual_dial_search_filter=$_POST["manual_dial_search_filter"];} +if (isset($_GET["meetme_enter_login_filename"])) {$meetme_enter_login_filename=$_GET["meetme_enter_login_filename"];} + elseif (isset($_POST["meetme_enter_login_filename"])) {$meetme_enter_login_filename=$_POST["meetme_enter_login_filename"];} +if (isset($_GET["meetme_enter_leave3way_filename"])) {$meetme_enter_leave3way_filename=$_GET["meetme_enter_leave3way_filename"];} + elseif (isset($_POST["meetme_enter_leave3way_filename"])) {$meetme_enter_leave3way_filename=$_POST["meetme_enter_leave3way_filename"];} if (isset($script_id)) {$script_id= strtoupper($script_id);} @@ -1912,7 +1916,7 @@ if (strlen($dial_status) > 0) ############################################# ##### START SYSTEM_SETTINGS LOOKUP ##### -$stmt = "SELECT use_non_latin,enable_queuemetrics_logging,enable_vtiger_integration,qc_features_active,outbound_autodial_active,sounds_central_control_active,enable_second_webform,user_territories_active,custom_fields_enabled,admin_web_directory,webphone_url,first_login_trigger,hosted_settings,default_phone_registration_password,default_phone_login_password,default_server_password,test_campaign_calls,active_voicemail_server,voicemail_timezones,default_voicemail_timezone,default_local_gmt,campaign_cid_areacodes_enabled,pllb_grouping_limit,did_ra_extensions_enabled,expanded_list_stats,contacts_enabled,alt_log_server_ip,alt_log_dbname,alt_log_login,alt_log_pass,tables_use_alt_log_db,call_menu_qualify_enabled,admin_list_counts,allow_voicemail_greeting,svn_revision,allow_emails,level_8_disable_add,pass_key,pass_hash_enabled,disable_auto_dial,country_code_list_stats,frozen_server_call_clear,active_modules,enable_languages,language_method FROM system_settings;"; +$stmt = "SELECT use_non_latin,enable_queuemetrics_logging,enable_vtiger_integration,qc_features_active,outbound_autodial_active,sounds_central_control_active,enable_second_webform,user_territories_active,custom_fields_enabled,admin_web_directory,webphone_url,first_login_trigger,hosted_settings,default_phone_registration_password,default_phone_login_password,default_server_password,test_campaign_calls,active_voicemail_server,voicemail_timezones,default_voicemail_timezone,default_local_gmt,campaign_cid_areacodes_enabled,pllb_grouping_limit,did_ra_extensions_enabled,expanded_list_stats,contacts_enabled,alt_log_server_ip,alt_log_dbname,alt_log_login,alt_log_pass,tables_use_alt_log_db,call_menu_qualify_enabled,admin_list_counts,allow_voicemail_greeting,svn_revision,allow_emails,level_8_disable_add,pass_key,pass_hash_enabled,disable_auto_dial,country_code_list_stats,frozen_server_call_clear,active_modules,enable_languages,language_method,meetme_enter_login_filename,meetme_enter_leave3way_filename FROM system_settings;"; $rslt=mysql_to_mysqli($stmt, $link); if ($DB) {echo "$stmt\n";} $qm_conf_ct = mysqli_num_rows($rslt); @@ -1964,6 +1968,8 @@ if ($qm_conf_ct > 0) $SSactive_modules = $row[42]; $SSenable_languages = $row[43]; $SSlanguage_method = $row[44]; + $SSmeetme_enter_login_filename = $row[45]; + $SSmeetme_enter_leave3way_filename = $row[46]; } ##### END SETTINGS LOOKUP ##### ########################################### @@ -2708,6 +2714,8 @@ if ($non_latin < 1) $safe_harbor_audio_field = preg_replace('/[^-\/\|\._0-9a-zA-Z]/','',$safe_harbor_audio_field); $voicemail_greeting = preg_replace('/[^-\/\|\._0-9a-zA-Z]/','',$voicemail_greeting); $old_voicemail_greeting = preg_replace('/[^-\/\|\._0-9a-zA-Z]/','',$old_voicemail_greeting); + $meetme_enter_login_filename = preg_replace('/[^-\/\|\._0-9a-zA-Z]/','',$meetme_enter_login_filename); + $meetme_enter_leave3way_filename = preg_replace('/[^-\/\|\._0-9a-zA-Z]/','',$meetme_enter_leave3way_filename); ### ALPHA-NUMERIC and underscore and dash and slash and dot and comma $menu_prompt = preg_replace('/[^-\/\|\,\._0-9a-zA-Z]/','',$menu_prompt); @@ -3438,12 +3446,13 @@ else # 150217-0702 - Added Show VM on Summary Screen option for phones and voicemail boxes # 150218-0924 - Added link to callbacks bulk move, also now we will archive deleted callbacks # 150302-0951 - Release of 2.11 stable branch and raising trunk to 2.12 +# 150307-1914 - Added login and leave3way custom sounds system settings options # # 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.12-477a'; -$build = '150302-0951'; +$admin_version = '2.12-478a'; +$build = '150307-1914'; $STARTtime = date("U"); $SQLdate = date("Y-m-d H:i:s"); @@ -14857,20 +14866,23 @@ if ($ADD==411111111111111) $custom_dialplanSQL=''; if ($LOGmodify_custom_dialplans > 0) {$custom_dialplanSQL = ",custom_dialplan_entry='$custom_dialplan_entry'";} - $stmt="UPDATE system_settings set use_non_latin='$use_non_latin',webroot_writable='$webroot_writable',enable_queuemetrics_logging='$enable_queuemetrics_logging',queuemetrics_server_ip='$queuemetrics_server_ip',queuemetrics_dbname='$queuemetrics_dbname',queuemetrics_login='$queuemetrics_login',queuemetrics_pass='$queuemetrics_pass',queuemetrics_url='$queuemetrics_url',queuemetrics_log_id='$queuemetrics_log_id',queuemetrics_eq_prepend='$queuemetrics_eq_prepend',vicidial_agent_disable='$vicidial_agent_disable',allow_sipsak_messages='$allow_sipsak_messages',admin_home_url='$admin_home_url',enable_agc_xfer_log='$enable_agc_xfer_log',timeclock_end_of_day='$timeclock_end_of_day',vdc_header_date_format='$vdc_header_date_format',vdc_customer_date_format='$vdc_customer_date_format',vdc_header_phone_format='$vdc_header_phone_format',vdc_agent_api_active='$vdc_agent_api_active',enable_vtiger_integration='$enable_vtiger_integration',vtiger_server_ip='$vtiger_server_ip',vtiger_dbname='$vtiger_dbname',vtiger_login='$vtiger_login',vtiger_pass='$vtiger_pass',vtiger_url='$vtiger_url',qc_features_active='$qc_features_active',outbound_autodial_active='$outbound_autodial_active',outbound_calls_per_second='$outbound_calls_per_second',enable_tts_integration='$enable_tts_integration',agentonly_callback_campaign_lock='$agentonly_callback_campaign_lock',sounds_central_control_active='$sounds_central_control_active',sounds_web_server='$sounds_web_server',sounds_web_directory='$sounds_web_directory',active_voicemail_server='$active_voicemail_server',auto_dial_limit='$auto_dial_limit',user_territories_active='$user_territories_active',allow_custom_dialplan='$allow_custom_dialplan',enable_second_webform='$enable_second_webform',default_webphone='$default_webphone',default_external_server_ip='$default_external_server_ip',webphone_url='" . mysqli_real_escape_string($link, $webphone_url) . "',enable_agc_dispo_log='$enable_agc_dispo_log',queuemetrics_loginout='$queuemetrics_loginout',callcard_enabled='$callcard_enabled',queuemetrics_callstatus='$queuemetrics_callstatus',default_codecs='$default_codecs',admin_web_directory='$admin_web_directory',label_title='$label_title',label_first_name='$label_first_name',label_middle_initial='$label_middle_initial',label_last_name='$label_last_name',label_address1='$label_address1',label_address2='$label_address2',label_address3='$label_address3',label_city='$label_city',label_state='$label_state',label_province='$label_province',label_postal_code='$label_postal_code',label_vendor_lead_code='$label_vendor_lead_code',label_gender='$label_gender',label_phone_number='$label_phone_number',label_phone_code='$label_phone_code',label_alt_phone='$label_alt_phone',label_security_phrase='$label_security_phrase',label_email='$label_email',label_comments='$label_comments',custom_fields_enabled='$custom_fields_enabled',slave_db_server='$slave_db_server',reports_use_slave_db='$reports_use_slave_db',webphone_systemkey='$webphone_systemkey',first_login_trigger='$first_login_trigger',default_phone_registration_password='$default_phone_registration_password',default_phone_login_password='$default_phone_login_password',default_server_password='$default_server_password',admin_modify_refresh='$admin_modify_refresh',nocache_admin='$nocache_admin',generate_cross_server_exten='$generate_cross_server_exten',queuemetrics_addmember_enabled='$queuemetrics_addmember_enabled',queuemetrics_dispo_pause='$queuemetrics_dispo_pause',label_hide_field_logs='$label_hide_field_logs',queuemetrics_pe_phone_append='$queuemetrics_pe_phone_append',test_campaign_calls='$test_campaign_calls',agents_calls_reset='$agents_calls_reset',default_voicemail_timezone='$default_voicemail_timezone',default_local_gmt='$default_local_gmt',noanswer_log='$noanswer_log',alt_log_server_ip='$alt_log_server_ip',alt_log_dbname='$alt_log_dbname',alt_log_login='$alt_log_login',alt_log_pass='$alt_log_pass',tables_use_alt_log_db='$tables_use_alt_log_db',did_agent_log='$did_agent_log',campaign_cid_areacodes_enabled='$campaign_cid_areacodes_enabled',pllb_grouping_limit='$pllb_grouping_limit',did_ra_extensions_enabled='$did_ra_extensions_enabled',expanded_list_stats='$expanded_list_stats',contacts_enabled='$contacts_enabled',call_menu_qualify_enabled='$call_menu_qualify_enabled',admin_list_counts='$admin_list_counts',allow_voicemail_greeting='$allow_voicemail_greeting',queuemetrics_socket='$queuemetrics_socket',queuemetrics_socket_url='$queuemetrics_socket_url',enhanced_disconnect_logging='$enhanced_disconnect_logging',allow_emails='$allow_emails',level_8_disable_add='$level_8_disable_add',queuemetrics_record_hold='$queuemetrics_record_hold',country_code_list_stats='$country_code_list_stats',queuemetrics_pause_type='$queuemetrics_pause_type',frozen_server_call_clear='$frozen_server_call_clear',callback_time_24hour='$callback_time_24hour',enable_languages='$enable_languages',language_method='$language_method'$custom_dialplanSQL;"; + $stmt="UPDATE system_settings set use_non_latin='$use_non_latin',webroot_writable='$webroot_writable',enable_queuemetrics_logging='$enable_queuemetrics_logging',queuemetrics_server_ip='$queuemetrics_server_ip',queuemetrics_dbname='$queuemetrics_dbname',queuemetrics_login='$queuemetrics_login',queuemetrics_pass='$queuemetrics_pass',queuemetrics_url='$queuemetrics_url',queuemetrics_log_id='$queuemetrics_log_id',queuemetrics_eq_prepend='$queuemetrics_eq_prepend',vicidial_agent_disable='$vicidial_agent_disable',allow_sipsak_messages='$allow_sipsak_messages',admin_home_url='$admin_home_url',enable_agc_xfer_log='$enable_agc_xfer_log',timeclock_end_of_day='$timeclock_end_of_day',vdc_header_date_format='$vdc_header_date_format',vdc_customer_date_format='$vdc_customer_date_format',vdc_header_phone_format='$vdc_header_phone_format',vdc_agent_api_active='$vdc_agent_api_active',enable_vtiger_integration='$enable_vtiger_integration',vtiger_server_ip='$vtiger_server_ip',vtiger_dbname='$vtiger_dbname',vtiger_login='$vtiger_login',vtiger_pass='$vtiger_pass',vtiger_url='$vtiger_url',qc_features_active='$qc_features_active',outbound_autodial_active='$outbound_autodial_active',outbound_calls_per_second='$outbound_calls_per_second',enable_tts_integration='$enable_tts_integration',agentonly_callback_campaign_lock='$agentonly_callback_campaign_lock',sounds_central_control_active='$sounds_central_control_active',sounds_web_server='$sounds_web_server',sounds_web_directory='$sounds_web_directory',active_voicemail_server='$active_voicemail_server',auto_dial_limit='$auto_dial_limit',user_territories_active='$user_territories_active',allow_custom_dialplan='$allow_custom_dialplan',enable_second_webform='$enable_second_webform',default_webphone='$default_webphone',default_external_server_ip='$default_external_server_ip',webphone_url='" . mysqli_real_escape_string($link, $webphone_url) . "',enable_agc_dispo_log='$enable_agc_dispo_log',queuemetrics_loginout='$queuemetrics_loginout',callcard_enabled='$callcard_enabled',queuemetrics_callstatus='$queuemetrics_callstatus',default_codecs='$default_codecs',admin_web_directory='$admin_web_directory',label_title='$label_title',label_first_name='$label_first_name',label_middle_initial='$label_middle_initial',label_last_name='$label_last_name',label_address1='$label_address1',label_address2='$label_address2',label_address3='$label_address3',label_city='$label_city',label_state='$label_state',label_province='$label_province',label_postal_code='$label_postal_code',label_vendor_lead_code='$label_vendor_lead_code',label_gender='$label_gender',label_phone_number='$label_phone_number',label_phone_code='$label_phone_code',label_alt_phone='$label_alt_phone',label_security_phrase='$label_security_phrase',label_email='$label_email',label_comments='$label_comments',custom_fields_enabled='$custom_fields_enabled',slave_db_server='$slave_db_server',reports_use_slave_db='$reports_use_slave_db',webphone_systemkey='$webphone_systemkey',first_login_trigger='$first_login_trigger',default_phone_registration_password='$default_phone_registration_password',default_phone_login_password='$default_phone_login_password',default_server_password='$default_server_password',admin_modify_refresh='$admin_modify_refresh',nocache_admin='$nocache_admin',generate_cross_server_exten='$generate_cross_server_exten',queuemetrics_addmember_enabled='$queuemetrics_addmember_enabled',queuemetrics_dispo_pause='$queuemetrics_dispo_pause',label_hide_field_logs='$label_hide_field_logs',queuemetrics_pe_phone_append='$queuemetrics_pe_phone_append',test_campaign_calls='$test_campaign_calls',agents_calls_reset='$agents_calls_reset',default_voicemail_timezone='$default_voicemail_timezone',default_local_gmt='$default_local_gmt',noanswer_log='$noanswer_log',alt_log_server_ip='$alt_log_server_ip',alt_log_dbname='$alt_log_dbname',alt_log_login='$alt_log_login',alt_log_pass='$alt_log_pass',tables_use_alt_log_db='$tables_use_alt_log_db',did_agent_log='$did_agent_log',campaign_cid_areacodes_enabled='$campaign_cid_areacodes_enabled',pllb_grouping_limit='$pllb_grouping_limit',did_ra_extensions_enabled='$did_ra_extensions_enabled',expanded_list_stats='$expanded_list_stats',contacts_enabled='$contacts_enabled',call_menu_qualify_enabled='$call_menu_qualify_enabled',admin_list_counts='$admin_list_counts',allow_voicemail_greeting='$allow_voicemail_greeting',queuemetrics_socket='$queuemetrics_socket',queuemetrics_socket_url='$queuemetrics_socket_url',enhanced_disconnect_logging='$enhanced_disconnect_logging',allow_emails='$allow_emails',level_8_disable_add='$level_8_disable_add',queuemetrics_record_hold='$queuemetrics_record_hold',country_code_list_stats='$country_code_list_stats',queuemetrics_pause_type='$queuemetrics_pause_type',frozen_server_call_clear='$frozen_server_call_clear',callback_time_24hour='$callback_time_24hour',enable_languages='$enable_languages',language_method='$language_method',meetme_enter_login_filename='$meetme_enter_login_filename',meetme_enter_leave3way_filename='$meetme_enter_leave3way_filename'$custom_dialplanSQL;"; $rslt=mysql_to_mysqli($stmt, $link); + if ( ($meetme_enter_login_filename != $SSmeetme_enter_login_filename) or ($meetme_enter_leave3way_filename != $SSmeetme_enter_leave3way_filename) ) + {$reload_dialplan_on_servers=1;} + if ($reload_dialplan_on_servers > 0) { $stmtB="UPDATE system_settings set reload_timestamp=NOW();"; $rslt=mysql_to_mysqli($stmtB, $link); - $stmtB="UPDATE servers set rebuild_conf_files='Y' where active='Y' and active_asterisk_server='Y' and generate_vicidial_conf='Y';"; - $rslt=mysql_to_mysqli($stmtB, $link); + $stmtC="UPDATE servers set rebuild_conf_files='Y' where active='Y' and active_asterisk_server='Y' and generate_vicidial_conf='Y';"; + $rslt=mysql_to_mysqli($stmtC, $link); } ### LOG INSERTION Admin Log Table ### - $SQL_log = "$stmt|$stmtB|"; + $SQL_log = "$stmt|$stmtB|$stmtC|"; $SQL_log = preg_replace('/;/', '', $SQL_log); $SQL_log = addslashes($SQL_log); $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='SYSTEMSETTINGS', event_type='MODIFY', record_id='system_settings', event_code='ADMIN MODIFY SYSTEM SETTINGS', event_sql=\"$SQL_log\", event_notes='';"; @@ -29792,7 +29804,7 @@ if ($ADD==311111111111111) $ALLagent_count = $rowx[2]; } - $stmt="SELECT version,install_date,use_non_latin,webroot_writable,enable_queuemetrics_logging,queuemetrics_server_ip,queuemetrics_dbname,queuemetrics_login,queuemetrics_pass,queuemetrics_url,queuemetrics_log_id,queuemetrics_eq_prepend,vicidial_agent_disable,allow_sipsak_messages,admin_home_url,enable_agc_xfer_log,db_schema_version,auto_user_add_value,timeclock_end_of_day,timeclock_last_reset_date,vdc_header_date_format,vdc_customer_date_format,vdc_header_phone_format,vdc_agent_api_active,qc_last_pull_time,enable_vtiger_integration,vtiger_server_ip,vtiger_dbname,vtiger_login,vtiger_pass,vtiger_url,qc_features_active,outbound_autodial_active,outbound_calls_per_second,enable_tts_integration,agentonly_callback_campaign_lock,sounds_central_control_active,sounds_web_server,sounds_web_directory,active_voicemail_server,auto_dial_limit,user_territories_active,allow_custom_dialplan,db_schema_update_date,enable_second_webform,default_webphone,default_external_server_ip,webphone_url,enable_agc_dispo_log,custom_dialplan_entry,queuemetrics_loginout,callcard_enabled,queuemetrics_callstatus,default_codecs,admin_web_directory,label_title,label_first_name,label_middle_initial,label_last_name,label_address1,label_address2,label_address3,label_city,label_state,label_province,label_postal_code,label_vendor_lead_code,label_gender,label_phone_number,label_phone_code,label_alt_phone,label_security_phrase,label_email,label_comments,custom_fields_enabled,slave_db_server,reports_use_slave_db,webphone_systemkey,first_login_trigger,default_phone_registration_password,default_phone_login_password,default_server_password,admin_modify_refresh,nocache_admin,generate_cross_server_exten,queuemetrics_addmember_enabled,queuemetrics_dispo_pause,label_hide_field_logs,queuemetrics_pe_phone_append,test_campaign_calls,agents_calls_reset,default_voicemail_timezone,default_local_gmt,noanswer_log,alt_log_server_ip,alt_log_dbname,alt_log_login,alt_log_pass,tables_use_alt_log_db,did_agent_log,campaign_cid_areacodes_enabled,pllb_grouping_limit,did_ra_extensions_enabled,expanded_list_stats,contacts_enabled,call_menu_qualify_enabled,admin_list_counts,allow_voicemail_greeting,svn_revision,queuemetrics_socket,queuemetrics_socket_url,enhanced_disconnect_logging,allow_emails,level_8_disable_add,pass_hash_enabled,pass_key,pass_cost,disable_auto_dial,queuemetrics_record_hold,country_code_list_stats,reload_timestamp,queuemetrics_pause_type,frozen_server_call_clear,callback_time_24hour,enable_languages,language_method from system_settings;"; + $stmt="SELECT version,install_date,use_non_latin,webroot_writable,enable_queuemetrics_logging,queuemetrics_server_ip,queuemetrics_dbname,queuemetrics_login,queuemetrics_pass,queuemetrics_url,queuemetrics_log_id,queuemetrics_eq_prepend,vicidial_agent_disable,allow_sipsak_messages,admin_home_url,enable_agc_xfer_log,db_schema_version,auto_user_add_value,timeclock_end_of_day,timeclock_last_reset_date,vdc_header_date_format,vdc_customer_date_format,vdc_header_phone_format,vdc_agent_api_active,qc_last_pull_time,enable_vtiger_integration,vtiger_server_ip,vtiger_dbname,vtiger_login,vtiger_pass,vtiger_url,qc_features_active,outbound_autodial_active,outbound_calls_per_second,enable_tts_integration,agentonly_callback_campaign_lock,sounds_central_control_active,sounds_web_server,sounds_web_directory,active_voicemail_server,auto_dial_limit,user_territories_active,allow_custom_dialplan,db_schema_update_date,enable_second_webform,default_webphone,default_external_server_ip,webphone_url,enable_agc_dispo_log,custom_dialplan_entry,queuemetrics_loginout,callcard_enabled,queuemetrics_callstatus,default_codecs,admin_web_directory,label_title,label_first_name,label_middle_initial,label_last_name,label_address1,label_address2,label_address3,label_city,label_state,label_province,label_postal_code,label_vendor_lead_code,label_gender,label_phone_number,label_phone_code,label_alt_phone,label_security_phrase,label_email,label_comments,custom_fields_enabled,slave_db_server,reports_use_slave_db,webphone_systemkey,first_login_trigger,default_phone_registration_password,default_phone_login_password,default_server_password,admin_modify_refresh,nocache_admin,generate_cross_server_exten,queuemetrics_addmember_enabled,queuemetrics_dispo_pause,label_hide_field_logs,queuemetrics_pe_phone_append,test_campaign_calls,agents_calls_reset,default_voicemail_timezone,default_local_gmt,noanswer_log,alt_log_server_ip,alt_log_dbname,alt_log_login,alt_log_pass,tables_use_alt_log_db,did_agent_log,campaign_cid_areacodes_enabled,pllb_grouping_limit,did_ra_extensions_enabled,expanded_list_stats,contacts_enabled,call_menu_qualify_enabled,admin_list_counts,allow_voicemail_greeting,svn_revision,queuemetrics_socket,queuemetrics_socket_url,enhanced_disconnect_logging,allow_emails,level_8_disable_add,pass_hash_enabled,pass_key,pass_cost,disable_auto_dial,queuemetrics_record_hold,country_code_list_stats,reload_timestamp,queuemetrics_pause_type,frozen_server_call_clear,callback_time_24hour,enable_languages,language_method,meetme_enter_login_filename,meetme_enter_leave3way_filename from system_settings;"; $rslt=mysql_to_mysqli($stmt, $link); $row=mysqli_fetch_row($rslt); $version = $row[0]; @@ -29921,6 +29933,8 @@ if ($ADD==311111111111111) $callback_time_24hour = $row[123]; $enable_languages = $row[124]; $language_method = $row[125]; + $meetme_enter_login_filename = $row[126]; + $meetme_enter_leave3way_filename = $row[127]; if ($pass_hash_enabled > 0) {$pass_hash_enabled = 'ENABLED';} else {$pass_hash_enabled = 'DISABLED';} @@ -30030,6 +30044,11 @@ if ($ADD==311111111111111) {$admin_web_dir = dirname("$admin_web_directory"); $admin_web_dir .= "/";} echo ""._QXZ("Sounds Web Directory").": $sounds_web_directory $NWB#settings-sounds_web_directory$NWE\n"; + + echo ""._QXZ("Custom Agent Login Sound").": "._QXZ("audio chooser")." $NWB#settings-meetme_enter_login_filename$NWE\n"; + + echo ""._QXZ("Custom Agent Leave 3way Sound").": "._QXZ("audio chooser")." $NWB#settings-meetme_enter_leave3way_filename$NWE\n"; + echo ""._QXZ("Admin Web Directory").": $NWB#settings-admin_web_directory$NWE\n"; echo ""._QXZ("Active Voicemail Server").":