diff --git a/agc_2-X/trunk/UPGRADE b/agc_2-X/trunk/UPGRADE index f17f7ecf..a3bc66b0 100644 --- a/agc_2-X/trunk/UPGRADE +++ b/agc_2-X/trunk/UPGRADE @@ -363,6 +363,11 @@ OTHER CHANGES: 100. Added _wait_time options to Next Agent Call settings for Campaigns and Inbound Groups. +101. Added External Web Socket URL option so a WebRTC phone can be used outside + a network if the Phone is set to Use External Server IP = Y + +102. Added SYSTEM options to the campaign detail Manual Dial Filter feature + diff --git a/agc_2-X/trunk/www/agc/vdc_db_query.php b/agc_2-X/trunk/www/agc/vdc_db_query.php index 9cbfddcc..7f37732a 100644 --- a/agc_2-X/trunk/www/agc/vdc_db_query.php +++ b/agc_2-X/trunk/www/agc/vdc_db_query.php @@ -464,13 +464,14 @@ # 180910-2340 - Small fix for call notes display # 180918-2231 - Change to use the same new function for manual dial DNC filtering # 180926-2150 - Added translatable phrases, related to issue #1114 +# 181005-1744 - Added SYSTEM option for manual_dial_filter # -$version = '2.14-358'; -$build = '180926-2150'; +$version = '2.14-359'; +$build = '181005-1744'; $php_script = 'vdc_db_query.php'; $mel=1; # Mysql Error Log enabled = 1 -$mysql_log_count=762; +$mysql_log_count=787; $one_mysql_log=0; $DB=0; $VD_login=0; @@ -2417,6 +2418,56 @@ if ($ACTION == 'manDiaLnextCaLL') exit; } } + + if (preg_match("/SYSTEM/",$manual_dial_filter)) + { + $stmt="SELECT count(*) FROM vicidial_list where phone_number='$phone_number';"; + $rslt=mysql_to_mysqli($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00763',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $row=mysqli_fetch_row($rslt); + $MDF_search_flag='MAIN'; + + if ( ($row[0] < 1) and (preg_match("/WITH_ALT/",$manual_dial_filter)) ) + { + $stmt="SELECT count(*) FROM vicidial_list where alt_phone='$phone_number';"; + $rslt=mysql_to_mysqli($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00764',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $row=mysqli_fetch_row($rslt); + $MDF_search_flag='ALT'; + } + + if ( ($row[0] < 1) and (preg_match("/WITH_ALT_ADDR3/",$manual_dial_filter)) ) + { + $stmt="SELECT count(*) FROM vicidial_list where address3='$phone_number';"; + $rslt=mysql_to_mysqli($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00765',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $row=mysqli_fetch_row($rslt); + $MDF_search_flag='ADDR3'; + } + + if ($row[0] < 1) + { + ### purge from the dial queue and api + $stmt = "DELETE from vicidial_manual_dial_queue where phone_number='$phone_number' and user='$user';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_to_mysqli($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00766',$user,$server_ip,$session_name,$one_mysql_log);} + $VMDQaffected_rows = mysqli_affected_rows($link); + + $stmt = "UPDATE vicidial_live_agents set external_dial='' where user='$user';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_to_mysqli($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00767',$user,$server_ip,$session_name,$one_mysql_log);} + $VLAEDaffected_rows = mysqli_affected_rows($link); + + echo "NUMBER NOT IN SYSTEM\n"; + if ($SSagent_debug_logging > 0) {vicidial_ajax_log($NOW_TIME,$startMS,$link,$ACTION,$php_script,$user,$stage,$lead_id,$session_name,$stmt);} + exit; + } + } ### END check for manual dial filtering ### if ($lookup_empty_insert_lead > 0) @@ -5482,6 +5533,43 @@ if ($ACTION == 'manDiaLonly') exit; } } + + if (preg_match("/SYSTEM/",$manual_dial_filter)) + { + $stmt="SELECT count(*) FROM vicidial_list where phone_number='$phone_number';"; + $rslt=mysql_to_mysqli($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00768',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $row=mysqli_fetch_row($rslt); + $MDF_search_flag='MAIN'; + + if ( ($row[0] < 1) and (preg_match("/WITH_ALT/",$manual_dial_filter)) ) + { + $stmt="SELECT count(*) FROM vicidial_list where alt_phone='$phone_number';"; + $rslt=mysql_to_mysqli($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00769',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $row=mysqli_fetch_row($rslt); + $MDF_search_flag='ALT'; + } + + if ( ($row[0] < 1) and (preg_match("/WITH_ALT_ADDR3/",$manual_dial_filter)) ) + { + $stmt="SELECT count(*) FROM vicidial_list where address3='$phone_number';"; + $rslt=mysql_to_mysqli($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00770',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $row=mysqli_fetch_row($rslt); + $MDF_search_flag='ADDR3'; + } + + if ($row[0] < 1) + { + echo " CALL NOT PLACED\nNUMBER NOT IN SYSTEM\n"; + if ($SSagent_debug_logging > 0) {vicidial_ajax_log($NOW_TIME,$startMS,$link,$ACTION,$php_script,$user,$stage,$lead_id,$session_name,$stmt);} + exit; + } + } ### END check phone filtering for DNC or camplists if enabled ### @@ -14842,7 +14930,7 @@ if ($ACTION == 'SBC_timezone_build') ### Grab Server GMT value from the database $stmt="SELECT local_gmt FROM servers where server_ip='$server_ip' limit 1;"; $rslt=mysql_to_mysqli($stmt, $link); - if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00XXX',$user,$server_ip,$session_name,$one_mysql_log);} + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00771',$user,$server_ip,$session_name,$one_mysql_log);} $gmt_recs = mysqli_num_rows($rslt); if ($gmt_recs > 0) { @@ -14855,7 +14943,7 @@ if ($ACTION == 'SBC_timezone_build') ### Grab current GMT value of the lead that was called $stmt="SELECT gmt_offset_now from vicidial_list where lead_id='$lead_id';"; $rslt=mysql_to_mysqli($stmt, $link); - if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00XXX',$user,$server_ip,$session_name,$one_mysql_log);} + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00772',$user,$server_ip,$session_name,$one_mysql_log);} $scb_lead_recs = mysqli_num_rows($rslt); if ($scb_lead_recs > 0) { @@ -14875,7 +14963,7 @@ if ($ACTION == 'SBC_timezone_build') ### Grab campaign setting for scheduled_callbacks_timezones_container $stmt="SELECT scheduled_callbacks_timezones_container from vicidial_campaigns where campaign_id='$campaign';"; $rslt=mysql_to_mysqli($stmt, $link); - if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00XXX',$user,$server_ip,$session_name,$one_mysql_log);} + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00773',$user,$server_ip,$session_name,$one_mysql_log);} $scb_lead_recs = mysqli_num_rows($rslt); if ($scb_lead_recs > 0) { @@ -14889,7 +14977,7 @@ if ($ACTION == 'SBC_timezone_build') $stmt = "SELECT container_entry from vicidial_settings_containers where container_id='$scheduled_callbacks_timezones_container' limit 1;"; if ($DB) {echo "$stmt\n";} $rslt=mysql_to_mysqli($stmt, $link); - if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00XXX',$user,$server_ip,$session_name,$one_mysql_log);} + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00774',$user,$server_ip,$session_name,$one_mysql_log);} $VSC_ct = mysqli_num_rows($rslt); if ($VSC_ct > 0) { @@ -14912,7 +15000,7 @@ if ($ACTION == 'SBC_timezone_build') $stmt = "SELECT php_tz from vicidial_phone_codes where country='$line_country' and DST='$line_dst' and tz_code='$line_zone' limit 1;"; if ($DB) {echo "$stmt\n";} $rslt=mysql_to_mysqli($stmt, $link); - if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00XXX',$user,$server_ip,$session_name,$one_mysql_log);} + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00775',$user,$server_ip,$session_name,$one_mysql_log);} $VPC_ct = mysqli_num_rows($rslt); if ($VPC_ct > 0) { @@ -17892,13 +17980,13 @@ function manual_dnc_check($temp_phone_number, $temp_no_hopper, $temp_dial_only) $stmt = "UPDATE vicidial_list set status='DNCL' where lead_id='$lead_id';"; if ($DB) {echo "$stmt\n";} $rslt=mysql_to_mysqli($stmt, $link); - if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00XXX',$user,$server_ip,$session_name,$one_mysql_log);} + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00776',$user,$server_ip,$session_name,$one_mysql_log);} ### reset agent log record $stmt="UPDATE vicidial_agent_log set lead_id=NULL,comments='' where agent_log_id='$agent_log_id';"; if ($format=='debug') {echo "\n";} $rslt=mysql_to_mysqli($stmt, $link); - if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00XXX',$user,$server_ip,$session_name,$one_mysql_log);} + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00777',$user,$server_ip,$session_name,$one_mysql_log);} echo " NO-HOPPER DNC CAMPAIGN\nTRY AGAIN\n"; $stage .= "|$agent_log_id|$vla_status|$agent_dialed_type|$agent_dialed_number|"; @@ -17932,7 +18020,7 @@ function manual_dnc_check($temp_phone_number, $temp_no_hopper, $temp_dial_only) else {$stmt="SELECT count(*) FROM vicidial_campaign_dnc where phone_number='$temp_phone_number' and campaign_id='$temp_campaign_id';";} $rslt=mysql_to_mysqli($stmt, $link); - if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00XXX',$user,$server_ip,$session_name,$one_mysql_log);} + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00778',$user,$server_ip,$session_name,$one_mysql_log);} if ($DB) {echo "$stmt\n";} $row=mysqli_fetch_row($rslt); if ($row[0] > 0) @@ -17941,13 +18029,13 @@ function manual_dnc_check($temp_phone_number, $temp_no_hopper, $temp_dial_only) $stmt = "DELETE from vicidial_manual_dial_queue where phone_number='$temp_phone_number' and user='$user';"; if ($DB) {echo "$stmt\n";} $rslt=mysql_to_mysqli($stmt, $link); - if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00XXX',$user,$server_ip,$session_name,$one_mysql_log);} + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00779',$user,$server_ip,$session_name,$one_mysql_log);} $VMDQaffected_rows = mysqli_affected_rows($link); $stmt = "UPDATE vicidial_live_agents set external_dial='' where user='$user';"; if ($DB) {echo "$stmt\n";} $rslt=mysql_to_mysqli($stmt, $link); - if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00XXX',$user,$server_ip,$session_name,$one_mysql_log);} + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00780',$user,$server_ip,$session_name,$one_mysql_log);} $VLAEDaffected_rows = mysqli_affected_rows($link); if ($temp_no_hopper > 0) @@ -17956,13 +18044,13 @@ function manual_dnc_check($temp_phone_number, $temp_no_hopper, $temp_dial_only) $stmt = "UPDATE vicidial_list set status='DNCL' where lead_id='$lead_id';"; if ($DB) {echo "$stmt\n";} $rslt=mysql_to_mysqli($stmt, $link); - if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00XXX',$user,$server_ip,$session_name,$one_mysql_log);} + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00781',$user,$server_ip,$session_name,$one_mysql_log);} ### reset agent log record $stmt="UPDATE vicidial_agent_log set lead_id=NULL,comments='' where agent_log_id='$agent_log_id';"; if ($format=='debug') {echo "\n";} $rslt=mysql_to_mysqli($stmt, $link); - if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00XXX',$user,$server_ip,$session_name,$one_mysql_log);} + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00782',$user,$server_ip,$session_name,$one_mysql_log);} echo " NO-HOPPER DNC\nTRY AGAIN\n"; $stage .= "|$agent_log_id|$vla_status|$agent_dialed_type|$agent_dialed_number|"; @@ -17995,7 +18083,7 @@ function manual_dnc_check($temp_phone_number, $temp_no_hopper, $temp_dial_only) else {$stmt="SELECT count(*) FROM vicidial_dnc where phone_number='$temp_phone_number';";} $rslt=mysql_to_mysqli($stmt, $link); - if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00XXX',$user,$server_ip,$session_name,$one_mysql_log);} + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00783',$user,$server_ip,$session_name,$one_mysql_log);} if ($DB) {echo "$stmt\n";} $row=mysqli_fetch_row($rslt); if ($row[0] > 0) @@ -18004,13 +18092,13 @@ function manual_dnc_check($temp_phone_number, $temp_no_hopper, $temp_dial_only) $stmt = "DELETE from vicidial_manual_dial_queue where phone_number='$temp_phone_number' and user='$user';"; if ($DB) {echo "$stmt\n";} $rslt=mysql_to_mysqli($stmt, $link); - if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00XXX',$user,$server_ip,$session_name,$one_mysql_log);} + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00784',$user,$server_ip,$session_name,$one_mysql_log);} $VMDQaffected_rows = mysqli_affected_rows($link); $stmt = "UPDATE vicidial_live_agents set external_dial='' where user='$user';"; if ($DB) {echo "$stmt\n";} $rslt=mysql_to_mysqli($stmt, $link); - if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00XXX',$user,$server_ip,$session_name,$one_mysql_log);} + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00785',$user,$server_ip,$session_name,$one_mysql_log);} $VLAEDaffected_rows = mysqli_affected_rows($link); if ($temp_no_hopper > 0) @@ -18019,13 +18107,13 @@ function manual_dnc_check($temp_phone_number, $temp_no_hopper, $temp_dial_only) $stmt = "UPDATE vicidial_list set status='DNCL' where lead_id='$lead_id';"; if ($DB) {echo "$stmt\n";} $rslt=mysql_to_mysqli($stmt, $link); - if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00XXX',$user,$server_ip,$session_name,$one_mysql_log);} + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00786',$user,$server_ip,$session_name,$one_mysql_log);} ### reset agent log record $stmt="UPDATE vicidial_agent_log set lead_id=NULL,comments='' where agent_log_id='$agent_log_id';"; if ($format=='debug') {echo "\n";} $rslt=mysql_to_mysqli($stmt, $link); - if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00XXX',$user,$server_ip,$session_name,$one_mysql_log);} + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00787',$user,$server_ip,$session_name,$one_mysql_log);} echo " NO-HOPPER DNC\nTRY AGAIN\n"; $stage .= "|$agent_log_id|$vla_status|$agent_dialed_type|$agent_dialed_number|"; diff --git a/agc_2-X/trunk/www/agc/vicidial.php b/agc_2-X/trunk/www/agc/vicidial.php index 72e8193a..c023e2d6 100644 --- a/agc_2-X/trunk/www/agc/vicidial.php +++ b/agc_2-X/trunk/www/agc/vicidial.php @@ -605,10 +605,11 @@ # 180924-0002 - Added three_way_volume_buttons campaign feature # 180926-1757 - Fix for rare webform URL issue # 181003-1737 - Added external_web_socket_url option +# 181005-1909 - Added SYSTEM manual_dial_filter option # -$version = '2.14-574c'; -$build = '181003-1737'; +$version = '2.14-575c'; +$build = '181005-1909'; $mel=1; # Mysql Error Log enabled = 1 $mysql_log_count=87; $one_mysql_log=0; @@ -9258,8 +9259,9 @@ function set_length(SLnumber,SLlength_goal,SLdirection) var regMDFvarDNC = new RegExp("DNC","ig"); var regMNHDNCvar = new RegExp("NO-HOPPER DNC","ig"); var regMDFvarCAMP = new RegExp("CAMPLISTS","ig"); + var regMDFvarSYS = new RegExp("SYSTEM","ig"); var regMDFvarTIME = new RegExp("OUTSIDE","ig"); - if ( (MDnextCID.match(regMNCvar)) || (MDnextCID.match(regMDFvarDNC)) || (MDnextCID.match(regMDFvarCAMP)) || (MDnextCID.match(regMDFvarTIME)) ) + if ( (MDnextCID.match(regMNCvar)) || (MDnextCID.match(regMDFvarDNC)) || (MDnextCID.match(regMDFvarCAMP)) || (MDnextCID.match(regMDFvarSYS)) || (MDnextCID.match(regMDFvarTIME)) ) { button_click_log = button_click_log + "" + SQLdate + "-----DialNextFailed---" + MDnextCID + " " + "|"; @@ -9278,6 +9280,8 @@ function set_length(SLnumber,SLlength_goal,SLdirection) {alert_box("\n" + mdnPhonENumbeR); alert_displayed=1;} if (MDnextCID.match(regMDFvarCAMP)) {alert_box("\n" + mdnPhonENumbeR); alert_displayed=1;} + if (MDnextCID.match(regMDFvarSYS)) + {alert_box("\n" + mdnPhonENumbeR); alert_displayed=1;} if (MDnextCID.match(regMDFvarTIME)) {alert_box("\n" + mdnPhonENumbeR); alert_displayed=1;} diff --git a/agc_2-X/trunk/www/vicidial/admin.php b/agc_2-X/trunk/www/vicidial/admin.php index 5c8a8976..22ffb90b 100644 --- a/agc_2-X/trunk/www/vicidial/admin.php +++ b/agc_2-X/trunk/www/vicidial/admin.php @@ -4460,12 +4460,13 @@ else # 180924-1731 - Added callback_dnc campaign setting # 180927-0018 - Added _wait_time options for next agent call options in campaigns and in-groups # 181003-1619 - Added external_web_socket_url server setting +# 181005-1738 - Added SYSTEM to Manual Dial Filter campaign 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.14-693a'; -$build = '181003-1619'; +$admin_version = '2.14-694a'; +$build = '181005-1738'; $STARTtime = date("U"); $SQLdate = date("Y-m-d H:i:s"); @@ -23475,7 +23476,7 @@ if ($ADD==31) echo "