diff --git a/agi/agi-DID_route.agi b/agi/agi-DID_route.agi index ea91730d..1b2e3d4d 100644 --- a/agi/agi-DID_route.agi +++ b/agi/agi-DID_route.agi @@ -38,6 +38,7 @@ # 140811-2151 - Added ability to filter by DNC areacodes if filter_inbound_number set to a DNC option # 141110-1417 - Fixed issue with multiple filtering options enabled # 150112-1426 - Added no-agent last_update_time check to match in-group queries +# 150708-2252 - Added max_queue_ingroup_ DID options # @@ -205,7 +206,7 @@ $extension =~ s/\'|\"|\\\\|\\\|\\|\\;|\\\;|\;|;//gi; ### Grab DID values from the database $DIDs_in_system=0; -$stmtA = "SELECT did_id,did_pattern,did_description,did_active,did_route,extension,exten_context,voicemail_ext,phone,server_ip,user,user_unavailable_action,user_route_settings_ingroup,menu_id,record_call,filter_inbound_number,filter_phone_group_id,filter_url,filter_action,filter_extension,filter_exten_context,filter_voicemail_ext,filter_phone,filter_server_ip,filter_user,filter_user_unavailable_action,filter_user_route_settings_ingroup,filter_group_id,filter_call_handle_method,filter_agent_search_method,filter_list_id,filter_campaign_id,filter_phone_code,filter_menu_id,filter_clean_cid_number,group_id,filter_dnc_campaign,filter_url_did_redirect,no_agent_ingroup_redirect,no_agent_ingroup_id,no_agent_ingroup_extension,pre_filter_phone_group_id,pre_filter_extension FROM vicidial_inbound_dids where did_pattern = '$extension' and did_active='Y';"; +$stmtA = "SELECT did_id,did_pattern,did_description,did_active,did_route,extension,exten_context,voicemail_ext,phone,server_ip,user,user_unavailable_action,user_route_settings_ingroup,menu_id,record_call,filter_inbound_number,filter_phone_group_id,filter_url,filter_action,filter_extension,filter_exten_context,filter_voicemail_ext,filter_phone,filter_server_ip,filter_user,filter_user_unavailable_action,filter_user_route_settings_ingroup,filter_group_id,filter_call_handle_method,filter_agent_search_method,filter_list_id,filter_campaign_id,filter_phone_code,filter_menu_id,filter_clean_cid_number,group_id,filter_dnc_campaign,filter_url_did_redirect,no_agent_ingroup_redirect,no_agent_ingroup_id,no_agent_ingroup_extension,pre_filter_phone_group_id,pre_filter_extension,max_queue_ingroup_calls,max_queue_ingroup_id,max_queue_ingroup_extension FROM vicidial_inbound_dids where did_pattern = '$extension' and did_active='Y';"; $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; $sthArows=$sthA->rows; @@ -255,6 +256,9 @@ if ($sthArows > 0) $no_agent_ingroup_extension = $aryA[40]; $pre_filter_phone_group_id = $aryA[41]; $pre_filter_extension = $aryA[42]; + $max_queue_ingroup_calls = $aryA[43]; + $max_queue_ingroup_id = $aryA[44]; + $max_queue_ingroup_extension = $aryA[45]; $DIDs_in_system++; } @@ -263,7 +267,7 @@ $sthA->finish(); if ($sthArows < 1) { ### Grab DID values from the database for a default DID pattern if there is one - $stmtA = "SELECT did_id,did_pattern,did_description,did_active,did_route,extension,exten_context,voicemail_ext,phone,server_ip,user,user_unavailable_action,user_route_settings_ingroup,menu_id,record_call,filter_inbound_number,filter_phone_group_id,filter_url,filter_action,filter_extension,filter_exten_context,filter_voicemail_ext,filter_phone,filter_server_ip,filter_user,filter_user_unavailable_action,filter_user_route_settings_ingroup,filter_group_id,filter_call_handle_method,filter_agent_search_method,filter_list_id,filter_campaign_id,filter_phone_code,filter_menu_id,filter_clean_cid_number,group_id,filter_dnc_campaign,filter_url_did_redirect,no_agent_ingroup_redirect,no_agent_ingroup_id,no_agent_ingroup_extension,pre_filter_phone_group_id,pre_filter_extension FROM vicidial_inbound_dids where did_pattern = 'default' and did_active='Y';"; + $stmtA = "SELECT did_id,did_pattern,did_description,did_active,did_route,extension,exten_context,voicemail_ext,phone,server_ip,user,user_unavailable_action,user_route_settings_ingroup,menu_id,record_call,filter_inbound_number,filter_phone_group_id,filter_url,filter_action,filter_extension,filter_exten_context,filter_voicemail_ext,filter_phone,filter_server_ip,filter_user,filter_user_unavailable_action,filter_user_route_settings_ingroup,filter_group_id,filter_call_handle_method,filter_agent_search_method,filter_list_id,filter_campaign_id,filter_phone_code,filter_menu_id,filter_clean_cid_number,group_id,filter_dnc_campaign,filter_url_did_redirect,no_agent_ingroup_redirect,no_agent_ingroup_id,no_agent_ingroup_extension,pre_filter_phone_group_id,pre_filter_extension,max_queue_ingroup_calls,max_queue_ingroup_id,max_queue_ingroup_extension FROM vicidial_inbound_dids where did_pattern = 'default' and did_active='Y';"; $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; $DIDs_in_system=$sthA->rows; @@ -313,6 +317,9 @@ if ($sthArows < 1) $no_agent_ingroup_extension = $aryA[40]; $pre_filter_phone_group_id = $aryA[41]; $pre_filter_extension = $aryA[42]; + $max_queue_ingroup_calls = $aryA[43]; + $max_queue_ingroup_id = $aryA[44]; + $max_queue_ingroup_extension = $aryA[45]; } $sthA->finish(); } @@ -621,10 +628,10 @@ if ( ($filter_inbound_number =~ /GROUP|URL|DNC_INTERNAL|DNC_CAMPAIGN/) && ($pre_ ##### BEGIN no-agent redirect process ##### +$no_agent_redirect_bypass=1; if ( ($no_agent_ingroup_redirect =~ /Y|NO_PAUSED|READY_ONLY/) && ($pre_filter_match_found < 1) && ($filter_match_found < 1) ) { - $no_agent_redirect_bypass=1; - if ($AGILOG) {$agi_string = "filtering active: |$extension|$no_agent_ingroup_redirect|$no_agent_ingroup_id|$no_agent_ingroup_extension|$filter_clean_cid_number|"; &agi_output;} + if ($AGILOG) {$agi_string = "no-agent active: |$extension|$no_agent_ingroup_redirect|$no_agent_ingroup_id|$no_agent_ingroup_extension|$filter_clean_cid_number|"; &agi_output;} $queue_date_epoch = time(); $BDtarget = ($queue_date_epoch - 5); @@ -677,6 +684,58 @@ if ( ($no_agent_ingroup_redirect =~ /Y|NO_PAUSED|READY_ONLY/) && ($pre_filter_ma ##### END no-agent redirect process ##### +##### BEGIN max queue ingroup calls redirect process ##### +$max_queue_redirect_bypass=1; +if ( ( ($max_queue_ingroup_calls > 0) || ($max_queue_ingroup_calls < 0) ) && ($no_agent_redirect_bypass > 0) && ($pre_filter_match_found < 1) && ($filter_match_found < 1) ) + { + if ($AGILOG) {$agi_string = "max queue active: |$extension|$max_queue_ingroup_calls|$max_queue_ingroup_id|$max_queue_ingroup_extension|"; &agi_output;} + + $queue_date_epoch = time(); + $BDtarget = ($queue_date_epoch - 60); + ($Bsec,$Bmin,$Bhour,$Bmday,$Bmon,$Byear,$Bwday,$Byday,$Bisdst) = localtime($BDtarget); + $Byear = ($Byear + 1900); + $Bmon++; + if ($Bmon < 10) {$Bmon = "0$Bmon";} + if ($Bmday < 10) {$Bmday = "0$Bmday";} + if ($Bhour < 10) {$Bhour = "0$Bhour";} + if ($Bmin < 10) {$Bmin = "0$Bmin";} + if ($Bsec < 10) {$Bsec = "0$Bsec";} + $BDtsSQLdate = "$Byear$Bmon$Bmday$Bhour$Bmin$Bsec"; + + $stmtA = "SELECT count(*) FROM vicidial_auto_calls where campaign_id='$max_queue_ingroup_id' and status IN('LIVE','IVR') and last_update_time > '$BDtsSQLdate';"; + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + if ($sthArows > 0) + { + @aryA = $sthA->fetchrow_array; + $max_queue_redirect_bypass = $aryA[0]; + } + $sthA->finish(); + + if ($max_queue_redirect_bypass >= $max_queue_ingroup_calls) + { + $did_route = 'EXTEN'; + $did_extension = $max_queue_ingroup_extension; + $exten_context = 'default'; + $route_type = 'MAXQUE'; + + if ($AGILOG) {$agi_string = "Max Queue Redirect: |$max_queue_redirect_bypass|$max_queue_ingroup_calls|$did_extension|$max_queue_ingroup_id|$stmtA|"; &agi_output;} + + ### Update the call in vicidial_did_log + $stmtA = "UPDATE vicidial_did_log SET did_route='MQ_$did_route' where uniqueid='$uniqueid' and channel='$channel' and server_ip='$VARserver_ip' and caller_id_number='$callerid' and call_date='$SQLdate';"; + if ($AGILOG) {$agi_string = "|$stmtA|"; &agi_output;} + $affected_rowsL = $dbhA->do($stmtA); + if ($AGILOG) {$agi_string = "-- DID UPDATE LOG : |$affected_rowsL|$stmtA|"; &agi_output;} + } + else + { + if ($AGILOG) {$agi_string = "Max Queue Debug: |$max_queue_redirect_bypass|$max_queue_ingroup_calls|$did_extension|$max_queue_ingroup_id|$stmtA|"; &agi_output;} + } + } +##### END max queue ingroup calls redirect process ##### + + ### Route call to a VICIDIAL-defined phone if ($did_route =~ /PHONE/) { diff --git a/extras/MySQL_AST_CREATE_tables.sql b/extras/MySQL_AST_CREATE_tables.sql index 223982c8..7f638c70 100644 --- a/extras/MySQL_AST_CREATE_tables.sql +++ b/extras/MySQL_AST_CREATE_tables.sql @@ -1908,6 +1908,9 @@ pre_filter_phone_group_id VARCHAR(20) default '', pre_filter_extension VARCHAR(50) default '', entry_list_id BIGINT(14) UNSIGNED default '0', filter_entry_list_id BIGINT(14) UNSIGNED default '0', +max_queue_ingroup_calls SMALLINT(5) default '0', +max_queue_ingroup_id VARCHAR(20) default '', +max_queue_ingroup_extension VARCHAR(50) default '9998811112', unique index (did_pattern), index (group_id) ) ENGINE=MyISAM; @@ -3499,4 +3502,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='1417',db_schema_update_date=NOW(),reload_timestamp=NOW(); +UPDATE system_settings SET db_schema_version='1418',db_schema_update_date=NOW(),reload_timestamp=NOW(); diff --git a/extras/upgrade_2.12.sql b/extras/upgrade_2.12.sql index 8836794c..d08d9e0b 100644 --- a/extras/upgrade_2.12.sql +++ b/extras/upgrade_2.12.sql @@ -180,3 +180,9 @@ ALTER TABLE vicidial_lead_filters MODIFY lead_filter_id VARCHAR(20) NOT NULL; ALTER TABLE vicidial_users ADD lead_filter_id VARCHAR(20) default 'NONE'; UPDATE system_settings SET db_schema_version='1417',db_schema_update_date=NOW() where db_schema_version < 1417; + +ALTER TABLE vicidial_inbound_dids ADD max_queue_ingroup_calls SMALLINT(5) default '0'; +ALTER TABLE vicidial_inbound_dids ADD max_queue_ingroup_id VARCHAR(20) default ''; +ALTER TABLE vicidial_inbound_dids ADD max_queue_ingroup_extension VARCHAR(50) default '9998811112'; + +UPDATE system_settings SET db_schema_version='1418',db_schema_update_date=NOW() where db_schema_version < 1418; diff --git a/www/vicidial/admin.php b/www/vicidial/admin.php index d5f54991..d1d934d5 100644 --- a/www/vicidial/admin.php +++ b/www/vicidial/admin.php @@ -1938,6 +1938,12 @@ if (isset($_GET["script_color"])) {$script_color=$_GET["script_color"];} elseif (isset($_POST["script_color"])) {$script_color=$_POST["script_color"];} if (isset($_GET["customer_gone_seconds"])) {$customer_gone_seconds=$_GET["customer_gone_seconds"];} elseif (isset($_POST["customer_gone_seconds"])) {$customer_gone_seconds=$_POST["customer_gone_seconds"];} +if (isset($_GET["max_queue_ingroup_calls"])) {$max_queue_ingroup_calls=$_GET["max_queue_ingroup_calls"];} + elseif (isset($_POST["max_queue_ingroup_calls"])) {$max_queue_ingroup_calls=$_POST["max_queue_ingroup_calls"];} +if (isset($_GET["max_queue_ingroup_id"])) {$max_queue_ingroup_id=$_GET["max_queue_ingroup_id"];} + elseif (isset($_POST["max_queue_ingroup_id"])) {$max_queue_ingroup_id=$_POST["max_queue_ingroup_id"];} +if (isset($_GET["max_queue_ingroup_extension"])) {$max_queue_ingroup_extension=$_GET["max_queue_ingroup_extension"];} + elseif (isset($_POST["max_queue_ingroup_extension"])) {$max_queue_ingroup_extension=$_POST["max_queue_ingroup_extension"];} if (isset($script_id)) {$script_id= strtoupper($script_id);} @@ -2295,6 +2301,7 @@ if ($non_latin < 1) $drop_call_seconds = preg_replace('/[^-0-9]/','',$drop_call_seconds); $timer_alt_seconds = preg_replace('/[^-0-9]/','',$timer_alt_seconds); $wrapup_seconds_override = preg_replace('/[^-0-9]/','',$wrapup_seconds_override); + $max_queue_ingroup_calls = preg_replace('/[^-0-9]/','',$max_queue_ingroup_calls); ### DIGITS and COLONS $shift_length = preg_replace('/[^\:0-9]/','',$shift_length); @@ -2721,6 +2728,7 @@ if ($non_latin < 1) $qc_comment_history = preg_replace('/[^-_0-9a-zA-Z]/','',$qc_comment_history); $language_method = preg_replace('/[^-_0-9a-zA-Z]/','',$language_method); $manual_dial_override_field = preg_replace('/[^-_0-9a-zA-Z]/','',$manual_dial_override_field); + $max_queue_ingroup_id = preg_replace('/[^-_0-9a-zA-Z]/','',$max_queue_ingroup_id); ### ALPHA-NUMERIC and underscore and dash and slash and dot $menu_timeout_prompt = preg_replace('/[^-\/\|\._0-9a-zA-Z]/','',$menu_timeout_prompt); @@ -2799,6 +2807,7 @@ if ($non_latin < 1) $preset_number = preg_replace('/[^\*\#\.\_0-9a-zA-Z]/','',$preset_number); $no_agent_ingroup_extension = preg_replace('/[^\*\#\.\_0-9a-zA-Z]/','',$no_agent_ingroup_extension); $pre_filter_extension = preg_replace('/[^\*\#\.\_0-9a-zA-Z]/','',$pre_filter_extension); + $max_queue_ingroup_extension = preg_replace('/[^\*\#\.\_0-9a-zA-Z]/','',$max_queue_ingroup_extension); ### ALPHA-NUMERIC and spaces dots, commas, dashes, underscores $adaptive_dl_diff_target = preg_replace('/[^- \.\,\_0-9a-zA-Z]/','',$adaptive_dl_diff_target); @@ -3516,12 +3525,13 @@ else # 150701-1131 - Modified mysqli_error() to mysqli_connect_error() where appropriate # 150703-2105 - Fixed field sizes in Issues #867 and #868 # 150706-0811 - Added user setting for lead_filter_id in no-hopper dialing +# 150708-2246 - Added max_queue_ingroup_ DID 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-494a'; -$build = '150706-0811'; +$admin_version = '2.12-495a'; +$build = '150708-2246'; $STARTtime = date("U"); $SQLdate = date("Y-m-d H:i:s"); @@ -9564,7 +9574,7 @@ if ($ADD==2411) } else { - $stmt="INSERT INTO vicidial_inbound_dids (did_pattern,did_description,did_active,did_route,extension,exten_context,voicemail_ext,phone,server_ip,user,user_unavailable_action,user_route_settings_ingroup,group_id,call_handle_method,agent_search_method,list_id,campaign_id,phone_code,menu_id,record_call,filter_inbound_number,filter_phone_group_id,filter_url,filter_action,filter_extension,filter_exten_context,filter_voicemail_ext,filter_phone,filter_server_ip,filter_user,filter_user_unavailable_action,filter_user_route_settings_ingroup,filter_group_id,filter_call_handle_method,filter_agent_search_method,filter_list_id,filter_campaign_id,filter_phone_code,filter_menu_id,filter_clean_cid_number,custom_one,custom_two,custom_three,custom_four,custom_five,user_group,filter_dnc_campaign,filter_url_did_redirect,no_agent_ingroup_redirect,no_agent_ingroup_id,no_agent_ingroup_extension,pre_filter_phone_group_id,pre_filter_extension,entry_list_id,filter_entry_list_id) SELECT \"$did_pattern\",\"$did_description\",did_active,did_route,extension,exten_context,voicemail_ext,phone,server_ip,user,user_unavailable_action,user_route_settings_ingroup,group_id,call_handle_method,agent_search_method,list_id,campaign_id,phone_code,menu_id,record_call,filter_inbound_number,filter_phone_group_id,filter_url,filter_action,filter_extension,filter_exten_context,filter_voicemail_ext,filter_phone,filter_server_ip,filter_user,filter_user_unavailable_action,filter_user_route_settings_ingroup,filter_group_id,filter_call_handle_method,filter_agent_search_method,filter_list_id,filter_campaign_id,filter_phone_code,filter_menu_id,filter_clean_cid_number,custom_one,custom_two,custom_three,custom_four,custom_five,user_group,filter_dnc_campaign,filter_url_did_redirect,no_agent_ingroup_redirect,no_agent_ingroup_id,no_agent_ingroup_extension,pre_filter_phone_group_id,pre_filter_extension,entry_list_id,filter_entry_list_id from vicidial_inbound_dids where did_id=\"$source_did\";"; + $stmt="INSERT INTO vicidial_inbound_dids (did_pattern,did_description,did_active,did_route,extension,exten_context,voicemail_ext,phone,server_ip,user,user_unavailable_action,user_route_settings_ingroup,group_id,call_handle_method,agent_search_method,list_id,campaign_id,phone_code,menu_id,record_call,filter_inbound_number,filter_phone_group_id,filter_url,filter_action,filter_extension,filter_exten_context,filter_voicemail_ext,filter_phone,filter_server_ip,filter_user,filter_user_unavailable_action,filter_user_route_settings_ingroup,filter_group_id,filter_call_handle_method,filter_agent_search_method,filter_list_id,filter_campaign_id,filter_phone_code,filter_menu_id,filter_clean_cid_number,custom_one,custom_two,custom_three,custom_four,custom_five,user_group,filter_dnc_campaign,filter_url_did_redirect,no_agent_ingroup_redirect,no_agent_ingroup_id,no_agent_ingroup_extension,pre_filter_phone_group_id,pre_filter_extension,entry_list_id,filter_entry_list_id,max_queue_ingroup_calls,max_queue_ingroup_id,max_queue_ingroup_extension) SELECT \"$did_pattern\",\"$did_description\",did_active,did_route,extension,exten_context,voicemail_ext,phone,server_ip,user,user_unavailable_action,user_route_settings_ingroup,group_id,call_handle_method,agent_search_method,list_id,campaign_id,phone_code,menu_id,record_call,filter_inbound_number,filter_phone_group_id,filter_url,filter_action,filter_extension,filter_exten_context,filter_voicemail_ext,filter_phone,filter_server_ip,filter_user,filter_user_unavailable_action,filter_user_route_settings_ingroup,filter_group_id,filter_call_handle_method,filter_agent_search_method,filter_list_id,filter_campaign_id,filter_phone_code,filter_menu_id,filter_clean_cid_number,custom_one,custom_two,custom_three,custom_four,custom_five,user_group,filter_dnc_campaign,filter_url_did_redirect,no_agent_ingroup_redirect,no_agent_ingroup_id,no_agent_ingroup_extension,pre_filter_phone_group_id,pre_filter_extension,entry_list_id,filter_entry_list_id,max_queue_ingroup_calls,max_queue_ingroup_id,max_queue_ingroup_extension from vicidial_inbound_dids where did_id=\"$source_did\";"; $rslt=mysql_to_mysqli($stmt, $link); $stmt="SELECT did_id from vicidial_inbound_dids where did_pattern='$did_pattern';"; @@ -13473,7 +13483,7 @@ if ($ADD==4311) } echo "
"._QXZ("DID MODIFIED").": $did_pattern\n"; - $stmt="UPDATE vicidial_inbound_dids set did_pattern='$did_pattern',did_description='$did_description',did_active='$did_active',did_route='$did_route',extension='$extension',exten_context='$exten_context',voicemail_ext='$voicemail_ext',phone='$phone',server_ip='$server_ip',user='$user',user_unavailable_action='$user_unavailable_action',user_route_settings_ingroup='$user_route_settings_ingroup',group_id='$group_id',call_handle_method='$call_handle_method',agent_search_method='$agent_search_method',list_id='$list_id',campaign_id='$campaign_id',phone_code='$phone_code',menu_id='$menu_id',record_call='$record_call',filter_inbound_number='$filter_inbound_number',filter_phone_group_id='$filter_phone_group_id',filter_url='$filter_url',filter_action='$filter_action',filter_extension='$filter_extension',filter_exten_context='$filter_exten_context',filter_voicemail_ext='$filter_voicemail_ext',filter_phone='$filter_phone',filter_server_ip='$filter_server_ip',filter_user='$filter_user',filter_user_unavailable_action='$filter_user_unavailable_action',filter_user_route_settings_ingroup='$filter_user_route_settings_ingroup',filter_group_id='$filter_group_id',filter_call_handle_method='$filter_call_handle_method',filter_agent_search_method='$filter_agent_search_method',filter_list_id='$filter_list_id',filter_campaign_id='$filter_campaign_id',filter_phone_code='$filter_phone_code',filter_menu_id='$filter_menu_id',filter_clean_cid_number='$filter_clean_cid_number',custom_one='$custom_one',custom_two='$custom_two',custom_three='$custom_three',custom_four='$custom_four',custom_five='$custom_five',user_group='$user_group',filter_dnc_campaign='$filter_dnc_campaign',filter_url_did_redirect='$filter_url_did_redirect',no_agent_ingroup_redirect='$no_agent_ingroup_redirect',no_agent_ingroup_id='$no_agent_ingroup_id',no_agent_ingroup_extension='$no_agent_ingroup_extension',pre_filter_phone_group_id='$pre_filter_phone_group_id',pre_filter_extension='$pre_filter_extension'$did_entry_list_idSQL where did_id='$did_id';"; + $stmt="UPDATE vicidial_inbound_dids set did_pattern='$did_pattern',did_description='$did_description',did_active='$did_active',did_route='$did_route',extension='$extension',exten_context='$exten_context',voicemail_ext='$voicemail_ext',phone='$phone',server_ip='$server_ip',user='$user',user_unavailable_action='$user_unavailable_action',user_route_settings_ingroup='$user_route_settings_ingroup',group_id='$group_id',call_handle_method='$call_handle_method',agent_search_method='$agent_search_method',list_id='$list_id',campaign_id='$campaign_id',phone_code='$phone_code',menu_id='$menu_id',record_call='$record_call',filter_inbound_number='$filter_inbound_number',filter_phone_group_id='$filter_phone_group_id',filter_url='$filter_url',filter_action='$filter_action',filter_extension='$filter_extension',filter_exten_context='$filter_exten_context',filter_voicemail_ext='$filter_voicemail_ext',filter_phone='$filter_phone',filter_server_ip='$filter_server_ip',filter_user='$filter_user',filter_user_unavailable_action='$filter_user_unavailable_action',filter_user_route_settings_ingroup='$filter_user_route_settings_ingroup',filter_group_id='$filter_group_id',filter_call_handle_method='$filter_call_handle_method',filter_agent_search_method='$filter_agent_search_method',filter_list_id='$filter_list_id',filter_campaign_id='$filter_campaign_id',filter_phone_code='$filter_phone_code',filter_menu_id='$filter_menu_id',filter_clean_cid_number='$filter_clean_cid_number',custom_one='$custom_one',custom_two='$custom_two',custom_three='$custom_three',custom_four='$custom_four',custom_five='$custom_five',user_group='$user_group',filter_dnc_campaign='$filter_dnc_campaign',filter_url_did_redirect='$filter_url_did_redirect',no_agent_ingroup_redirect='$no_agent_ingroup_redirect',no_agent_ingroup_id='$no_agent_ingroup_id',no_agent_ingroup_extension='$no_agent_ingroup_extension',pre_filter_phone_group_id='$pre_filter_phone_group_id',pre_filter_extension='$pre_filter_extension',max_queue_ingroup_calls='$max_queue_ingroup_calls',max_queue_ingroup_id='$max_queue_ingroup_id',max_queue_ingroup_extension='$max_queue_ingroup_extension'$did_entry_list_idSQL where did_id='$did_id';"; $rslt=mysql_to_mysqli($stmt, $link); ### LOG INSERTION Admin Log Table ### @@ -25815,7 +25825,7 @@ if ($ADD==3311) $didSQL = "did_id='$did_id'"; if ( (strlen($did_id)<1) and (strlen($did_pattern)>0) ) {$didSQL = "did_pattern='$did_pattern'";} - $stmt="SELECT did_id,did_pattern,did_description,did_active,did_route,extension,exten_context,voicemail_ext,phone,server_ip,user,user_unavailable_action,user_route_settings_ingroup,group_id,call_handle_method,agent_search_method,list_id,campaign_id,phone_code,menu_id,record_call,filter_inbound_number,filter_phone_group_id,filter_url,filter_action,filter_extension,filter_exten_context,filter_voicemail_ext,filter_phone,filter_server_ip,filter_user,filter_user_unavailable_action,filter_user_route_settings_ingroup,filter_group_id,filter_call_handle_method,filter_agent_search_method,filter_list_id,filter_campaign_id,filter_phone_code,filter_menu_id,filter_clean_cid_number,custom_one,custom_two,custom_three,custom_four,custom_five,user_group,filter_dnc_campaign,filter_url_did_redirect,no_agent_ingroup_redirect,no_agent_ingroup_id,no_agent_ingroup_extension,pre_filter_phone_group_id,pre_filter_extension,entry_list_id,filter_entry_list_id from vicidial_inbound_dids where $didSQL $LOGadmin_viewable_groupsSQL;"; + $stmt="SELECT did_id,did_pattern,did_description,did_active,did_route,extension,exten_context,voicemail_ext,phone,server_ip,user,user_unavailable_action,user_route_settings_ingroup,group_id,call_handle_method,agent_search_method,list_id,campaign_id,phone_code,menu_id,record_call,filter_inbound_number,filter_phone_group_id,filter_url,filter_action,filter_extension,filter_exten_context,filter_voicemail_ext,filter_phone,filter_server_ip,filter_user,filter_user_unavailable_action,filter_user_route_settings_ingroup,filter_group_id,filter_call_handle_method,filter_agent_search_method,filter_list_id,filter_campaign_id,filter_phone_code,filter_menu_id,filter_clean_cid_number,custom_one,custom_two,custom_three,custom_four,custom_five,user_group,filter_dnc_campaign,filter_url_did_redirect,no_agent_ingroup_redirect,no_agent_ingroup_id,no_agent_ingroup_extension,pre_filter_phone_group_id,pre_filter_extension,entry_list_id,filter_entry_list_id,max_queue_ingroup_calls,max_queue_ingroup_id,max_queue_ingroup_extension from vicidial_inbound_dids where $didSQL $LOGadmin_viewable_groupsSQL;"; if ($DB) {echo "$stmt\n";} $rslt=mysql_to_mysqli($stmt, $link); $row=mysqli_fetch_row($rslt); @@ -25875,6 +25885,9 @@ if ($ADD==3311) $pre_filter_extension = $row[53]; $entry_list_id = $row[54]; $filter_entry_list_id = $row[55]; + $max_queue_ingroup_calls = $row[56]; + $max_queue_ingroup_id = $row[57]; + $max_queue_ingroup_extension = $row[58]; $stmt="SELECT campaign_id,campaign_name from vicidial_campaigns $whereLOGallowed_campaignsSQL order by campaign_id;"; $rslt=mysql_to_mysqli($stmt, $link); @@ -25936,6 +25949,8 @@ if ($ADD==3311) $FDgroups_selected=0; $PFDgroups_menu=''; $PFDgroups_selected=0; + $MQIgroups_menu=''; + $MQIgroups_selected=0; $o=0; while ($Dgroups_to_print > $o) { @@ -25943,6 +25958,7 @@ if ($ADD==3311) $Dgroups_menu .= "\n"; $FDgroups_menu .= "value=\"$rowx[0]\">$rowx[0] - $rowx[1]\n"; $PFDgroups_menu .= "value=\"$rowx[0]\">$rowx[0] - $rowx[1]\n"; + $MQIgroups_menu .= "value=\"$rowx[0]\">$rowx[0] - $rowx[1]\n"; $o++; } if ($Dgroups_selected < 1) @@ -25975,6 +25997,10 @@ if ($ADD==3311) {$PFDgroups_menu .= "\n";} else {$PFDgroups_menu .= "\n";} + if ($MQIgroups_selected < 1) + {$MQIgroups_menu .= "\n";} + else + {$MQIgroups_menu .= "\n";} echo "
"._QXZ("MODIFY A DID RECORD").": $row[0]
\n"; @@ -26062,6 +26088,14 @@ if ($ADD==3311) echo ""._QXZ("No-Agent In-Group Extension").": $NWB#inbound_dids-no_agent_ingroup_extension$NWE\n"; + echo ""._QXZ("Max Queue In-Group Calls").": $NWB#inbound_dids-max_queue_ingroup_calls$NWE\n"; + + echo ""._QXZ("Max Queue In-Group ID").": $NWB#inbound_dids-max_queue_ingroup_id$NWE\n"; + + echo ""._QXZ("Max Queue In-Group Extension").": $NWB#inbound_dids-max_queue_ingroup_extension$NWE\n"; + echo ""._QXZ("Pre-Filter Phone Group ID").": $NWB#inbound_dids-pre_filter_phone_group_id$NWE\n"; echo ""._QXZ("Pre-Filter Phone Group DID").": $NWB#inbound_dids-pre_filter_extension$NWE\n"; diff --git a/www/vicidial/help.php b/www/vicidial/help.php index 7469e3e8..ba4927ef 100644 --- a/www/vicidial/help.php +++ b/www/vicidial/help.php @@ -50,6 +50,7 @@ # 150609-1204 - Added chat-related entries # 150609-1231 - Added new agent screen status display option entries # 150610-0938 - Added campaigns-customer_gone_seconds +# 150708-2238 - Added max_queue_ingroup_ options # require("dbconnect_mysqli.php"); @@ -2779,6 +2780,21 @@ if ($SSqc_features_active > 0) -
-
+
+ +
+ - + +
+
+
+ - + +
+
+
+ -
+