Monitoring Innovaphone PBX Connector with Windows Task Scheduler
Scripts are provided provided to monitor the status of the Innovaphone PBX Connector on two telephony servers. These scripts start and stop the connector as required only on one of the servers (to prevent "double" monitoring events). The scripts are provided in the innovaphone installation directory: JTELInnovaphonePBXTaskMonitor_acd-tel1.cmd, JTELInnovaphonePBXTaskMonitor_acd-tel2.cmd. Note: These scripts can only be used on redundant systems.
The report "ACD Inboxes Itemised Details" is not generated when entries is selected and also when no entry is selected
When trying to generate the report "ACD Inboxes Itemised Details" without entries and also with entries, an error occurred. This problem has now been fixed.
Outbound Statistics Report has wrong statistics with outbound completed call and post call duration
When setting a Post call interval parameter in dialler calls, statistics of the post call duration is wrong. Also, the total of completed calls is wrong. This problem has been fixed.
When making callback from Supervisor using "Preset" Service Number, no record is created in Statistics.
Upon receiving an Acd Event in Supervisor, while no agent was assigned yet, If the supervisor makes a callback using the "Preset" Service Number option, no record is created in Statistics (acdStatisticsPartB). This problem has been resolved.
TAPI PBX Connector - parameter Portal.PBXUsers.Create.Automatically now checked
A check for the parameter 'Portal.PBXUsers.Create.Automatically' has been added to the TAPI PBX connector. If this is switched off, then PBX users are no longer created automatically. Previously, PBX users would always be created no matter what this setting was.
A problem in the best server candidate selection for making outbound calls has been resolved. This would result in "No Resources" being shown all the time. Note: this problem only applied if it was never possible to make an outbound call. If this message is sometimes seen, then it means the server is out of capacity.
Undeclared variable in StringFunctions r5 causes error in 8-Server
The variable StringLength was not declared in the .r5 script of the IVR object "StringFunctions - InStr Function" causing an error to be reporting in the telephony server. This had no effect on the operation of the function, but the error message could be irritating. This problem has been fixed.
TeamsConnector - Does not retrieve all users in some cases
In some cases, the teams connector would not retrieve all users from the Office 365 instance due to the graph API using paging to return the data. This problem has been fixed.
An error in the datacache for the webservers caused old entries not to be deleted on large systems and also unnecessary records to be retrieved from the database. This problem has been fixed.
Using commas in the user data field or additional info field causes problems in the display of the data in the portal, and when recording this data to the statistics. The Save Additional Info and User Data object has been modified, to remove all commas from the expression before it is saved.
Dialler Contacts Import via Import / Export Scheme broken in MySQL 8.x
The default order for GROUP_CONCAT() has changed in MySQL, which caused dialler contact imports via the Import Export Schemes to fail. This problem has been fixed.
Dialler REST API - allow update of contact with appointment date
The dialler REST API now allows updating or importing contacts with an appointment date and optionally a follow up user. This is achieved by passing the following two parameters with the DiallerContact JSON data structure:
The Users UID is matched in the system. If no match is found (or this field is not specified), then the appointment will be made for no specific user. Otherwise the appointment is made for the specific (found) user.
Teams Presence Connector - Azure Active directory sync failed to load email addresses
The Azure Active directory sync with an on premise domain controller sometimes fails to sync the email addresses of AD users leaving the email address empty. This causes an exception in the jtel teams presence connector. Although strictly a Microsoft problem, this problem has been mitigated by ignoring AD accounts with empty email addresses.
PBX Connector Names - new option for TAPI Connector to not overwrite names
The TAPI PBX connector previously overwrote all reported PBX extension names. However, some TAPI connectors report non useful names to the system (e.g. Extension 300 or SIP 300 for example). A new feature has been added which prevents the names being overwritten. Extensions are created once when first seen, but the name will no longer be modified.
This allows for changes to be made using the portal, in particular for a more useful name to be entered.
This feature is activated in the TAPI connector configuration, by setting the following flag in the configuration file jtelTAPIMonitorService.exe.config:
VoiceMail - play by phone could fail in installations with multiple 8-Servers
In installations with multiple telephone servers, the feature 'voice mail - play by phone' could fail, if an additional server with 0 telephone lines was being used purely as an application (daemon) server. This problem has been fixed.
Supervisor 500 Exception with ACD Group Numbers and Dialler Campaigns
If the ACD groups associated with dialler sub-campaigns were configured with a group number, and more than one different group was associated with the campaign by having two master campaigns with different ACD groups configured, then the supervisor would fail with an http 500 error. This problem has been fixed.
All uploads of prompt via popup was failed due to an error in Javascript (wrong id). This was detected when trying to create a new prompt in ACD Group rules. A side problem was when changing a language, the Input file name will disappear. This was fixed for all prompt uploads via popup (Reseller Master Data > Call Recording...)
Dialler Campaign does not disapear from supervisor view (wallboard and dialler) after deleting.
Data Cache mechanism for dialler compaigns was simply storing all records forever, even deleted ones. So in supervisor view (wallboard and dialler), deleted dialler compaigns was not disapearing. This is fixed and another cache mechanism is used for dialler compaigns so it updates even the deleted ones.
Outbound Statistics Report - Total Calls Completed
Total Calls Completed was giving wrong statistics with a dialler, and the same statistics as Total Calls in normal outbound. This was fixed and now: - Outbound Completed Call means that the call was connected and CONNRES equal to 1 (Successful outbound call to destination).
The queue distribution algorithm has been optimised. This particularly affects queues with > 120 waiting callers, the speed of the calculation can be reduced by a factor of 2 to 10 in some cases.
Additional Post Call Time now supported by Media Events
During Media Event Post Call time, when “Additional Post-Call Time Web” is configured in the ACD Group, the Agent can now extend the Post-Call Time by pressing the “+“ button.
An error in the report "Agents Itemised Calls Report (Inbound and Outbound)"
The report "Agents Itemised Calls (Inbound and Outbound)" doesn't compute the ringing time and the duration of the call, in case of an inbound call during a dialer call. This problem has been fixed.
A new report "ACD Groups Comparison Report" has been added to the ACD. This compares two sets of ACD groups - for the first set the number of inbound and outbound calls and various KPIs and transaction codes are aggregated over the report period. For the second set of groups, for comparison purposes, the total number of calls presented to these groups are displayed.
AgentHome and MiniClient - Pressing enter now allows direct dialling from call transfer number tab
Pressing enter whilst in the telephone number field on the transfer number tab in Agent Home or when in the Mini Client now starts the dialling process immediately.
Whatsapp Session not automatically set to status "closed by customer" after 24 hours
WhatsApp sessions are automatically closed by WhatsApp / Tyntec after 24h. To reflect this behaviour, the jtel WhatsApp system now also changes the status of the chat to "Closed by customer" after 24 hours.
Some Long Texts in portal contained \n instead of carriage return
Some of the long texts used in the portal for various purposes (such as callbacks and e-mail texts) contained \n instead of a carriage return linefeed combination. This problem has been fixed in the portal update scripts.
Outbound Call Recording - Override Call Recording Type in ACD Group
The call recording type setup in the ACD group can be overridden for outbound calls using the following resources (via the system settings globally, or using a security group for the client account at the reseller level or system level):
Resource (X): portal.Acd.AcdGroups.CallRecording.Outbound.RecordFunction.0to2 Changes: Call Recording Outbound - Permanent / can not be switched off To: Manual / can be switched on- off
Resource (X): portal.Acd.AcdGroups.CallRecording.Outbound.RecordFunction.0to3 Changes: Call Recording Outbound - Permanent / can not be switched off To: Deactivated
Resource (X): portal.Acd.AcdGroups.CallRecording.Outbound.RecordFunction.1to2 Changes: Call Recording Outbound - Permanent / can be switched off (opt out) To: Manual / can be switched on- off (X)
Resource (X): portal.Acd.AcdGroups.CallRecording.Outbound.RecordFunction.1to3 Changes: Call Recording Outbound - Permanent / can be switched off (opt out) To: Deactivated (X)
Resource (X): portal.Acd.AcdGroups.CallRecording.Outbound.RecordFunction.4to2 Changes: Call Recording Outbound - Every x calls to agent / can be switched off (opt out) To: Manual / can be switched on- off
Resource (X): portal.Acd.AcdGroups.CallRecording.Outbound.RecordFunction.4to3 Changes: Call Recording Outbound - Every x calls to agent / can be switched off (opt out) To: Deactivated (X)
Resource (X): portal.Acd.AcdGroups.CallRecording.Outbound.RecordFunction.5to2 Changes: Call Recording Outbound - Caller Opt-In by DTMF To: Manual / can be switched on- off
Resource (X): portal.Acd.AcdGroups.CallRecording.Outbound.RecordFunction.5to3 Changes: Call Recording Outbound - Caller Opt-In by DTMF To: Deactivated
For example, if the resource portal.Acd.AcdGroups.CallRecording.Outbound.RecordFunction.0to2 is defined for the client, if they make an outbound call using an ACD group which has permanent call recording enabled, it will be changed to manual call recording. If the resource portal.Acd.AcdGroups.CallRecording.Outbound.RecordFunction.0to3 is defined, recording will be switched off.
The farther reaching (0to3) resource always takes precidence.
All assignments are made by the reseller for the clients security group. Alternatively, they may be made by the system administrator in security groups for their resellers, or globally for the whole system by the system administrator under resources.
A new IVR object has been added, which can be used to return a caller to the previously used ACD queue, in the same position. This can, for example, be used as follows:
- A call enters the ACD group via the IVR - An announcement is played, informing the caller that they can press 1 to enter their customer number - A rule "Leave Queue on DTMF" with DTMF 1 is added - The IVR application checks $acd_groupend_reason. If equal to 109, then a rule caused the call to leave the ACD group. - The IVR application checks $acd_queueleave_dtmf. This will contain the pressed DTMF. - If both conditions are met, callers are routed to a dialog to enter their customer number. - Following entry of the customer number, the IVR object "Save Additional Info and User Data" is used, to save the customer number and possibly change the CRM URL. - Next the new object "Re-Enter ACD" is used to go back to the ACD.
This has two effects: - No additional statistics are created for the ACD. It is as if the call never left the ACD queue. - The call is placed in the queue at the position it left the queue. This means that callers retain their positions in the ACD queue.
A word of caution: the queue timeout is calculated based on the time the call originally entered the ACD. So, if the queue timeout is 2 minutes, and the caller spends ages in the IVR entering the customer number, then an immediate timeout will ensue.
A new IVR Object "Call Recording Opt-Out" has been added to the IVR. This allows the recording opt-out functionality to be implemented in the IVR by simply routing the call through the object. This will have the same effect as if the caller opted-out using a DTMF whilst in the ACD.
Transaction Codes - Setting Transaction Codes at list "calls" in Agent Home
When setting Transaction Codes it was not possible to set a TAC in the list "calls" after a call when the option "mandatory transaction code" was configured in the ACD-Group. This problem has been fixed.
A new cloud TTS service has been added to the system. This enables the generation of TTS files via a remote cloud service instead of, as previously, via locally installed TTS licenses.
It was possible for other agents to call agents who were busy. This behaviour has now been changed so that agents cannot call busy agents via agent home.
The report AcdTransactionCodesReport returns results less than expected.
The report AcdTransactionCodesReport was missing values in some cases due to null values in StatisticsPartB. the join was changed to AcdStatisticsTransactionCodes and problem is now fixed.
Calls to Service Numbers with special characters in the name not distributed
If a comma is used in the name of a service number, then the system cannot distribute calls correctly. This is due to the name breaking the SIP message used to make outbound calls to agents. A validator has been added to the web application, so that when a service number is now saved, any of the following characters will be rejected: .*[,'\"()%].*
Dialler - UserData and ForeignSystemID field size increased. UserData field now editable.
The size of the ForeignSystemID and UserData fields has been increased in the dialler campaigns to 128 characters. The UserData field is now editable via the web interface.
Callback - Comment overwritten by previous comment
When manually creating a Callback event, the content of the comments would be overwritten by the previously entered comment. This problem has been fixed.
When a Voice-Mail event is created, the Event history was not created when you initiate the call in Mini client.
Scenario: Voice-Mail Event is created in the routing and distributed to an agent. Problem1: The agent does the callback via the Mini Client (Status “callback initiated“ is NOT inserted into the event history) Problem2: When you initiate a call in Agent, event history will not be updated automatically in Supervisor and vice versa. -> These two problems are fixed.
Some E-Mails received with emoji characters, which could not be represented in the UTF-8 3 character multibyte charset would cause the e-mail connector to fail with an exception. This problem has been fixed, the email connector now uses the UTF-8 4 character multibyte charset as standard.
There was a possibility to inject scripts/files via the -o (output) argument of the curl function using REST Query IVR Components. This is fixed via an extra check for the final command before the command run.
IVR Object "ACD-Group with DB routing and variable type " and "ACD-Group with DB routing and Type"
When setting "Send Media Events from original ACD Group" in the objects "ACD with DB Routing and Variable Type" and "ACD with DB-Routing and Type", the ACD Event was created for the configuration group instead of the agent group. This has been fixed.
Reporting - Report with no data would not display properly
When executing the report "Statistics_AcdGroupReport10" without data, an error would be displayed in the report instead of empty rows. This problem has been fixed.
"Total Calls" and "Calls per Hour" in Supervisor set to 0 in every Agent Status change
"Total Calls" and "Calls per Hour" in Supervisor set to 0 in every Agent Status change. While it should only change when an agent switches to any status where “Logged in” is not configured. This problem is fixed.
The TAPI connector now monintors PBX extensions as standard (no extra configuration required). New PBX extensions are created as they are read by the TAPI connector, existing names will be modified according to the name supplied by TAPI. Note that in most cases, adding new extensions to monitor, will require a restart of the jtel TAPI connector, since TAPI does not usually provide information on new extensions as they are configured.
Guided Transfer - Retrieve not shown correctly in AgentHome and Mini Client
When guided transfer was used, the call could be retrieved correctly and the original agent and caller were connected again. However, it was no longer possible to transfer the call again, and an incorrect call status was shown in agent home. This problem has been fixed.
Service Numbers - Changes not saved after emptying fields
When configuring service numbers, when a field was emptied and the configuration saved, the field would not be saved properly and remain in the previous configuration
REST - Dialler Contacts History returned via REST interface
The dialler contacts rest interface now contains new functions to return the history from a dialler contact. The Postman collection and the documentation have been updated.
ACD Agent Report 2 und ACD Agent Performance Report - PostCall duration and Postcall Count corrected
When both reports are executed with identical input parameters, the post call times of both report outputs were different because the post call counter of the report "ACD Agent Report 2" was incorrect. The counter has been corrected so that both post call times are now identical.
STARFACE connector - Now Random Passwords are generated
The STARFACE connector now generates random passwords when users are created. The administrator has to configure the users anyway, and so the password can be changed by the administrator later.
When a transaction code was set to inactive, the code would still be shown in the transaction code list popup after agent calls. This problem has been fixed
JTELStats2 Reports - no selections causes missing data
JTELStats2 Reports - no selections causes missing data in the JTELStats2 reports. If all parameters are selected, the data is correct. This problem has been fixed.
ACD Group Rules - additional checks for time and constraints added
Additional constraints have been added to ACD group rules.
1. A time constraint can be added to the rule. This can be based on the time elapsed since: Call Start, Call Connect, Group Start (first group), Group Start (this group), Queue Start (first group), Queue Start (this group). In this way, rules can be activated only when a specific amount of time has elapsed based on one of the timestamps above.
2. A logical constraint can be added which must be true if the rule is to apply. The constraint can be ANY variable supported by the IVR, or the following variables if direct entry to the ACD was made:
Transaction Codes - StatisticsPartBID not saved to database correctly after TAC is set
If agents saved TACs after the end of the call, then the StatisticsPartBID value would not be saved to the database correctly. This caused problems in the report "Transaction Codes Overview". This has been fixed.
When making outbound calls, the mini client popup window for making outbound telephone calls and recording transaction codes did not resize well when the mini client was reduced below a certain size. This problem has been fixed.
It is now possible to export all variables in the Chat pdata definition (name, email …) with the Chat Report. Access to the variables is using the syntax $pdata.<variable>, where <variable> is the pdata field.
New rules have been added to the teams integration. These allow users or administrators to specify how calls and events should be distributed when agents are in a particular status in Teams.
Clarification - Deleted User visible in locked accounts
A deleted user can still be seen in locked accounts. This is by design: the locking of accounts is stored in a different table to the user accounts, and hence this can still be seen after the user is deleted. This can, for example, be useful when an account is first of all deactivated, to detect if the user still tries to login to the account.
New settings for supported protocol handlers in MiniClient and fix for custom protocol handlers in portal web application
If a custom URL was setup as the CRM Link, for examplemyprotocol://xxx,this would not be clickable in the web application. This problem has been fixed. Furthermore, it is possible to specify a setting in the configuration of the mini client - ProtocolHandlers - comma separated, which defines the protocols which will actually be clickable and opened via the protocol handler on the client machine.
Dynamic Priority Groups - Improvements to Supervisor View
The supervisor view for dynamic priority groups now shows a new column - Current Priority - which shows the current actual priority of the calls in the dynamic priority group currently in the acd group, which are before the queue or in the queue.
The following columns have been given colouring:
Availability Today and Availability Timeslice: Value >= 95% --> Green 90% <= Value < 95% --> Blue 80% <= Value < 90% --> Orange 70% <= Value < 80% --> Yellow Value < 70% --> Red
Waiting Now: X = 0 --> no colour 1 <= X <= 3 --> Blue 4 <= X <= 5 --> Orange 6 <= X <= 9 --> Yellow X >= 10 --> Red
A new IVR object has been introduced - Get ACD Group Information, and a new field has been added to the ACD group configuration - Foreign System ID.
The foreign system ID can be used to reference an ACD group in another system - for example a reference to a record in a backend CRM or database.
The new object searches for an ACD group, given either the ID, Name or Foreign System ID (or any combination thereof).
If found, it returns a host of variables which give information on the current state of the acd group queue, numbers of agents, waiting times, number of calls, and all configuration fields from the ACD group.
The UserSearch Object now supports searching for users by the Nick Name field. This is particularly useful when an external system does not use the same user UIDs as the jtel system.
The string functions now contain a search for string function, which returns the starting index of the searched for string (1 based indexing), or 0 if the string was not found.