diff --git a/agc_2-X/trunk/UPGRADE b/agc_2-X/trunk/UPGRADE index 59d8c53f..85faebc8 100644 --- a/agc_2-X/trunk/UPGRADE +++ b/agc_2-X/trunk/UPGRADE @@ -748,6 +748,30 @@ OTHER CHANGES: field on the Campaign, In-Group, List modify screen. Just like how it works with Dispo Call URL currently. +210. Added new User Group “Script Tab Frame Location” allowing the script tab + to extend to the far left side of the screen. + +211. Added new campaign setting “Max Logged-In Agents”, allowing you to set a + maximum number of agents that can be logged into this campaign at any + time. + +212. Added list option for “Dial Prefix Override”. + +213. Added a “color chooser” for the In-Group Color and Screen Colors fields. + Also added color hex code validation to those fields. + +214. Added “Invalid Phone Number Replacement” option to the Web Lead Loader, + allowing you to replace an invalid phone_number lead value with either + the alt_phone or address3 value in the same lead. + +215. Added optional “Agent Login Kick-all” system setting which hangs up any + channels that were already in the agent session before the agent is + placed into the session. + +216. Added “User Codes Admin Pulldown” allowing only User Level 9 users to + modify the User Code field on the User Modify page, and it will change + the User Code field to a pulldown menu. + diff --git a/agc_2-X/trunk/www/VERM/help_documentation.txt b/agc_2-X/trunk/www/VERM/help_documentation.txt index 5463d4cb..4a834a7e 100644 --- a/agc_2-X/trunk/www/VERM/help_documentation.txt +++ b/agc_2-X/trunk/www/VERM/help_documentation.txt @@ -1,4 +1,4 @@ -# version: 20230227095801 +# version: 20230302201001 VERM_admin-queue Queue A queue is a collection of campaigns and ingroups to report on - these are created and modified through the admin section if the user has the privileges to use them. VERM_admin-report Report Enhanced report can run one of three report types - "All reports" will show all report sections enhanced reporting offers, "Quick agents reports" limits it to 5 report sections all relating to agent activity: ANSWERED, ANSWERED DETAILS, AGENTS, AGENT DETAILS, and OUTCOMES. "Quick reports" generates two report sections, STATS and CALLS, that combine together specific sub-reports found under other report sections. VERM_admin-agent Agent Report You can run the "All reports" report type for a specific agent under the selected/default queue via selecting said agent from this dropdown, and then selecting a date interval underneath the dropdown. @@ -18,12 +18,10 @@ VERM_ANSWERED-all_calls All calls This is a set of information pertaining t VERM_ANSWERED-all_calls_call_length Average/Min/max/total call length Average call length is the sum of all answered call lengths divided by the number of answered calls, represented in seconds. Min call length is the shortest call length of all answered calls, based on the length_in_sec value in the log tables. Ergo, the max call length is the longest call length of the answered calls. Total call length is the sum of all length_in_sec values for all answered calls from both the outbound call log and inbound call log tables (if the report queue covers either/both tables), converted from seconds to hours as a decimal value. VERM_ANSWERED-all_calls_waiting_time Average/Min/max/total waiting time Wait time only comes from inbound calls (queue_sec), as outbound calls do not have wait time. Average call waiting time is the sum of all answered calls' wait time divided by the number of answered calls, represented in seconds. Min waiting time is the shortest wait time found on all answered calls within the report parameters. Ergo, the max wait time is the longest wait time found on the answered calls. Total wait time is the sum of all queue_sec values from the inbound call log tables (if the report queue covers inbound calls), and zero from the outbound call logs (see bolded text above), converted from seconds to hours as a decimal value. VERM_ANSWERED-all_calls_position Average/Min/max initial positions Outbound calls have a position of '1'. Position refers to the priority/order of a call based on when it is placed (outbound) or received (inbound). Average initial position is the sum of the positions of each call - for inbound calls this is the queue_position column from the closer log - divided by the number of answered calls within the report parameters. Min position is the smallest position value of all answered calls - this will always be '1' if any outbound calls are involved. Max position is the largest queue position of all answered calls. -VERM_ANSWERED-coverage Coverage This is always 100% - Ask Matt about removing VERM_ANSWERED-all_calls_wi Calls - time interval This is the same set of data for answered calls, except this deals only with calls that are fully within the time frame given by the report parameters. This means that calls which start before the period start date or end after the period start date will not be counted here. VERM_ANSWERED-all_calls_call_length_wi Average/Min/max/total call length Average call length is the sum of all answered call lengths divided by the number of answered calls, represented in seconds. Min call length is the shortest call length of all answered calls, based on the length_in_sec value in the log tables. Ergo, the max call length is the longest call length of the answered calls. Total call length is the sum of all length_in_sec values for all answered calls from both the outbound call log and inbound call log tables (if the report queue covers either/both tables), converted from seconds to hours as a decimal value. VERM_ANSWERED-all_calls_waiting_time_wi Average/Min/max/total waiting time Wait time only comes from inbound calls (queue_sec), as outbound calls do not have wait time. Average call waiting time is the sum of all answered calls' wait time divided by the number of answered calls, represented in seconds. Min waiting time is the shortest wait time found on all answered calls within the report parameters. Ergo, the max wait time is the longest wait time found on the answered calls. Total wait time is the sum of all queue_sec values from the inbound call log tables (if the report queue covers inbound calls), and zero from the outbound call logs (see bolded text above), converted from seconds to hours as a decimal value. VERM_ANSWERED-all_calls_position_wi Average/Min/max init. positions Outbound calls have a position of '1'. Position refers to the priority/order of a call based on when it is placed (outbound) or received (inbound). Average initial position is the sum of the positions of each call - for inbound calls this is the queue_position column from the closer log - divided by the number of answered calls within the report parameters. Min position is the smallest position value of all answered calls - this will always be '1' if any outbound calls are involved. Max position is the largest queue position of all answered calls. -VERM_ANSWERED-coverage_wi Coverage This is always 100% - Ask Matt about removing VERM_ANSWERED-agents_on_queue Agents on queue This sub-report gives a per-agent breakdown of all answered calls within the report parameters. It shows how many calls each agent answered, the percentage of calls they answered relative to the total number of calls answered, a simple bar graph representation of said percentage, and also the total time the agent spent in calls (based on the length_in_sec from the outbound and inbound logs) and the average time per call the agent spent. VERM_ANSWERED-SLA Service Level Agreement This sub-report deals with inbound calls and shows the number of calls answered within set intervals. By default the initial interval is 5 seconds, up to a period of 20 seconds, at which point the interval becomes 10 seconds up to 120 seconds. These values (initial interval, initial period, interval, max period) can be adjusted by running a custom report. The report shows the number of calls answered within each interval, along with the delta (change) from interval to interval. The "Percent" refers to the number of calls answered within the interval relative to the total calls, and the "Of offered" percent is the number of total calls within the interval relative to the total calls, along with a simple bar graph representing the answered calls percentage and line graph charting the deltas and percentages. VERM_ANSWERED-disconnections Disconnections This sub-report is a simple breakdown of the disconnection causes for the answered calls found within the report parameters. It shows how many calls were disconnected for each reason, the percent of the total calls these causes comprise, and a simple bar graph showing the percentage of each cause relative to one another, along with a pie chart of all causes. @@ -38,13 +36,9 @@ VERM_ANSWERED_DT-details Queue Details This shows each individual answered VERM_UNANSWERED-all_calls All calls This is a set of information pertaining to ONLY unanswered calls within the report parameters based on the information in the outbound call log and inbound call log tables. "N. calls unanswered" should always match the count of unanswered calls shown in the "Total calls processed" statistic in the report header. VERM_UNANSWERED-all_calls_waiting_time Average/Min/max/total waiting time before disconnection Wait time only comes from inbound calls (queue_sec), as outbound calls do not have wait time. Average call waiting time is the sum of all unanswered calls' wait time divided by the number of unanswered calls, represented in seconds. Min waiting time is the shortest wait time found on all unanswered calls within the report parameters. Ergo, the max wait time is the longest wait time found on the unanswered calls. Total wait time is the sum of all queue_sec values from the inbound call log tables (if the report queue covers inbound calls), and zero from the outbound call logs (see bolded text above), converted from seconds to hours as a decimal value. VERM_UNANSWERED-all_calls_position Average/min/max queue position at disconnect Outbound calls have a position of '1'. Position refers to the priority/order of a call based on when it is placed (outbound) or received (inbound). Average initial position is the sum of the positions of each call - for inbound calls this is the queue_position column from the closer log - divided by the number of unanswered calls within the report parameters. Min position is the smallest position value of all unanswered calls - this will always be '1' if any outbound calls are involved. Max position is the largest queue position of all unanswered calls. -VERM_UNANSWERED-coverage Coverage This is always 100% - Ask Matt about removing -VERM_UNANSWERED-position Position at disconnection Unmeasurable - ask about removing. VERM_UNANSWERED-all_calls_wi Calls - time interval This is the same set of data for unanswered calls, except this deals only with calls that are fully within the time frame given by the report parameters. This means that calls which start before the period start date or end after the period start date will not be counted here. VERM_UNANSWERED-all_calls_waiting_time_wi Average/Min/max/total waiting time before disconnection Wait time only comes from inbound calls (queue_sec), as outbound calls do not have wait time. Average call waiting time is the sum of all unanswered calls' wait time divided by the number of unanswered calls, represented in seconds. Min waiting time is the shortest wait time found on all unanswered calls within the report parameters. Ergo, the max wait time is the longest wait time found on the unanswered calls. Total wait time is the sum of all queue_sec values from the inbound call log tables (if the report queue covers inbound calls), and zero from the outbound call logs (see bolded text above), converted from seconds to hours as a decimal value. VERM_UNANSWERED-all_calls_position_wi Average/min/max initial positions Outbound calls have a position of '1'. Position refers to the priority/order of a call based on when it is placed (outbound) or received (inbound). Average initial position is the sum of the positions of each call - for inbound calls this is the queue_position column from the closer log - divided by the number of unanswered calls within the report parameters. Min position is the smallest position value of all unanswered calls - this will always be '1' if any outbound calls are involved. Max position is the largest queue position of all unanswered calls. -VERM_UNANSWERED-coverage_wi Coverage This is always 100% - Ask Matt about removing -VERM_UNANSWERED-position_wi Position at disconnection Unmeasurable - ask about removing. VERM_UNANSWERED-disconnections Disconnection causes This sub-report is a simple breakdown of the disconnection causes for the unanswered calls found within the report parameters. It shows how many calls were disconnected for each reason, the percent of the total calls these causes comprise, and a simple bar graph showing the percentage of each cause relative to one another, along with a pie chart of all causes. VERM_UNANSWERED-calls_by_queue Unanswered calls, by campaign/ingroup As the name suggests, this sub-report breaks down the number of unanswered calls by campaign/ingroup. It will show the campaign/ingroup, number of calls, percentage of calls to this campaign/ingroup relative to all unanswered calls, a bar graph showing the number of unanswered calls relative to each campaign/ingroup, and a pie chart summing up the number of calls for each campaign/ingroup. VERM_UNANSWERED-calls_by_agent Unanswered calls, by agent As the name suggests, this sub-report breaks down the number of unanswered calls by agent. It will show the agent, number of calls, percentage of calls to this agent relative to all unanswered calls, a bar graph showing the number of unanswered calls relative to each agent, and a pie chart summing up the number of calls for each agent (this is almost always the standard VDAD/VDCL "agent"). diff --git a/agc_2-X/trunk/www/agc/vicidial.php b/agc_2-X/trunk/www/agc/vicidial.php index 841e42de..7aba2ff8 100644 --- a/agc_2-X/trunk/www/agc/vicidial.php +++ b/agc_2-X/trunk/www/agc/vicidial.php @@ -711,10 +711,11 @@ # 230118-0947 - Added agent_hangup_route features # 230131-0826 - Added filtering of 3-way number to dial to remove non-diable characters # 230220-1802 - Fix for In-Group manual dial issue +# 230304-0806 - Fix for AgentHangupCallRoute on ringing calls # -$version = '2.14-679c'; -$build = '230220-1802'; +$version = '2.14-680c'; +$build = '230304-0806'; $php_script = 'vicidial.php'; $mel=1; # Mysql Error Log enabled = 1 $mysql_log_count=98; @@ -14409,31 +14410,38 @@ function set_length(SLnumber,SLlength_goal,SLdirection) { if ( (agent_hangup_value.length > 0) && ( (agent_hangup_route=='MESSAGE') || (agent_hangup_route=='EXTENSION') || (agent_hangup_route=='IN_GROUP') || (agent_hangup_route=='CALLMENU') ) ) { - button_click_log = button_click_log + "" + SQLdate + "-----AgentHangupCallRoute---" + agent_hangup_route + " " + agent_hangup_value + " " + document.vicidial_form.xfernumber.value + "|"; + button_click_log = button_click_log + "" + SQLdate + "-----AgentHangupCallRoute---" + VD_live_customer_call + " " + agent_hangup_route + " " + agent_hangup_value + " " + document.vicidial_form.xfernumber.value + "|"; - if (agent_hangup_route=='MESSAGE') + if (VD_live_customer_call==1) { - document.vicidial_form.xfernumber.value = '83046777777777*' + agent_hangup_value; - document.vicidial_form.xferoverride.checked=true; - mainxfer_send_redirect('XfeRBLIND',lastcustchannel,lastcustserverip); + if (agent_hangup_route=='MESSAGE') + { + document.vicidial_form.xfernumber.value = '83046777777777*' + agent_hangup_value; + document.vicidial_form.xferoverride.checked=true; + mainxfer_send_redirect('XfeRBLIND',lastcustchannel,lastcustserverip); + } + if (agent_hangup_route=='EXTENSION') + { + document.vicidial_form.xfernumber.value = agent_hangup_value; + document.vicidial_form.xferoverride.checked=true; + mainxfer_send_redirect('XfeRBLIND',lastcustchannel,lastcustserverip); + } + if (agent_hangup_route=='CALLMENU') + { + API_selected_callmenu = agent_hangup_value; + document.vicidial_form.xfernumber.value = agent_hangup_value; + mainxfer_send_redirect('XfeRBLIND',lastcustchannel,lastcustserverip); + } + if (agent_hangup_route=='IN_GROUP') + { + API_selected_xfergroup = agent_hangup_value; + document.vicidial_form.xfernumber.value = agent_hangup_value; + mainxfer_send_redirect('XfeRLOCAL',lastcustchannel,lastcustserverip); + } } - if (agent_hangup_route=='EXTENSION') + else { - document.vicidial_form.xfernumber.value = agent_hangup_value; - document.vicidial_form.xferoverride.checked=true; - mainxfer_send_redirect('XfeRBLIND',lastcustchannel,lastcustserverip); - } - if (agent_hangup_route=='CALLMENU') - { - API_selected_callmenu = agent_hangup_value; - document.vicidial_form.xfernumber.value = agent_hangup_value; - mainxfer_send_redirect('XfeRBLIND',lastcustchannel,lastcustserverip); - } - if (agent_hangup_route=='IN_GROUP') - { - API_selected_xfergroup = agent_hangup_value; - document.vicidial_form.xfernumber.value = agent_hangup_value; - mainxfer_send_redirect('XfeRLOCAL',lastcustchannel,lastcustserverip); + dialedcall_send_hangup(dispowindow,hotkeysused,altdispo,nodeletevdac,DSHclick); } } else