iSymphony 3.1 Beta 1 Changelog

Last modified by colinw on 2021/09/09 20:55

The following is a complete list of changes made between iSymphony 3.0.3 and iSymphony 3.1 beta 1:

New Features:

  • New permission system, featuring:
    • New consolidated permissions editing, under Users and Security->Permissions in the administration interface.
    • Permissions are edited from the perspective of who they are restricting, rather than which targets are being restricted. 
    • Permissions can be enabled or disabled globally. The default is disabled.
    • When editing a permission, you can either allow or deny it as a general rule, then specify exceptions to that rule. 
    • Multiple permissions can be quickly modified for one user or group by selecting their checkboxes and choosing the rule in a dropdown.
    • Access to Extension Groups is no longer controlled by the permission system. Each extension group has a list of members (extensions and users that are included in the group), viewers (users who can use the extension group in Users widgets), and editors (users who can add and remove members, viewers, and editors). Additionally, a public option is provided which will override the viewers list to allow everyone access to the extension group. 
  • The three existing queue widgets have been combined into a single, more flexible widget:
    • The active queue can be quickly selected via the queue list.
    • The queue list displays basic health information for all queues, allowing users to get a quick overview of their entire queue system.
    • Individual sections (list, statistics, agents, and calls) of the widget can be hidden easily, to focus on the information that matters.
    • Multiple queue widgets can be linked via groups; changes to the active group in any widget in a group will be applied to all widgets in that group. 
    • Queue managers can log other agents into queues. 
  • XMPP support for the chat system:
    • The default chat system can be disabled and replaced by a system which connects to an external XMPP server.
    • When using XMPP, status changes in iSymphony will be synchronized to XMPP chat status, including notes.
  • The actions at the top of the client interface will now collapse into a 'More' menu when there are too many to display in the available space.
    • Opening the actions will now open a model dialog with the contents rather than a popup window underneath the action.
  • The actions at the top of the client interface will be hidden when they do not apply (e.g. when you are not on a call, the Hangup action will not be visible; or when you do not have permission to log into and out of queues, the queue action will not be visible).
    • The order of the actions has been slightly changed to reduce the "jumping" of the buttons as they are displayed and hidden based on call activity. 
    • Additionally, the PauseUnpause, and Pause All buttons in the queue action will be hidden when they are not applicable (whether by current login status or permissions). 
  • Added a basic Single Sign On feature:
    • A REST request can now be submitted with a username and password to pre-authenticate a login attempt. This request will return an authentication token which can then be supplied as a GET parameter when opening iSymphony. The authentication token is valid for 1 hour. 
  • A permission has been added to control whether notifications are provided for new voicemails. 

Performance Improvements:

  • An exponential performance degradation in one of our core 3rd party frameworks has been located and resolved. This affected the operation of most functions of the system, and will reduce the time required to start iSymphony, log in, or perform a number of other actions within the client interface.
  • Fixed an issue where the Call and Transfer actions would take an extremely long time to close when a lot of extensions are configured.
  • Fixed an issue where the presence of a large number of recordings would delay iSymphony startup for up to 20 seconds. 
  • Greatly improved the internal communication system to route messages more intelligently. In particular, network traffic between the remote agent and primary iSymphony server has been greatly reduced.
  • Fixed an issue where a large number of users/extensions configured in the system would prevent the All Extensions extension group page from loading in the administration. 
  • Removed a rate limiter on the number of state updates sent to the browser when displaying call activity. It was no longer necessary and under high load situations could crash iSymphony. 
  • Improved the scanning of class attributes in the internal communication system by caching the result, reducing overall CPU load slightly. 
  • Fixed an issue in our UI library that would greatly increase the time required to login or switch to/from a dashboard containing the Users Widget, and smaller increases in other parts of the interface. 
  • Fixed a number of performance issues relating to the Users Widget when many users were visible. 

Resolved Bugs:

  • Fixed an issue preventing logging from being enabled for certain components of iSymphony.
  • Fixed an issue where selecting a specific extension in My Stream and then logging out (saving that selection) will cause many error dialogs to appear for every subsequent login until All Accounts has been selected again.
  • Fixed an issue where logging out while a voicemail is selected in the voicemail widget will cause an error dialog to be displayed. 
  • Fixed an issue where the remote agent would attempt to reconnect to the main server every 5 milliseconds, rather than the intended 5 seconds. 
  • Fixed an issue where failing to connect to the Asterisk CDR database would trigger a loop which would log an error and immediately attempt to connect again, saturating the log files and resulting in a lot of connection attempts that would not succeed.
  • Fixed an issue where iSymphony would reach a limit on the number of threads it is allowed to launch and crash.
  • Fixed an issue where a problem loading initial call state on startup would prevent iSymphony from connecting to Asterisk until it is restarted or the connection information has been modified.
  • Fixed a race condition in the permission system which would randomly prevent iSymphony from starting.
  • Fixed an issue where the remote agent would completely reinitialize if connection to the main iSymphony server was lost. 
  • Fixed an issue where the recordings widget would flicker if a user was logged in while recording information was still loading immediately after startup. 
  • Fixed an issue where a network timeout when attempting to load recording information from the Asterisk CDR database would lock up iSymphony until the connection attempt timed out.
  • Fixed a timing issue that would occasionally cause an error dialog to appear when logging out.
  • Fixed a race condition in the queue widgets that would cause an error dialog to appear randomly when call activity occurred on a queue that was being monitored with the Queue Agents widget.
  • Fixed a race condition in the queue action that prevented users from being able to log themselves into a queue via the queue action.
  • Fixed an issue where attempting to set the status of another user would fail and cause an error dialog to appear.
  • Fixed an issue where the default broker port for new core servers was incorrect and would prevent that core server from properly connecting to the system. 
  • Fixed an issue where the display name of a user group was not properly checked for uniqueness. 

Other Improvements and Changes:

  • The success notification when deleting a voicemail is now a transient notification, rather than a dialog which had to be closed.
  • Multiple libraries that we use have been upgraded to more recent versions.
  • The name of the MySQL database used for CDR records can now be specified. 
  • As previously announced, iSymphony 3.1 now requires Java 7 or higher. 
  • Improved the thread handling in iSymphony to reduce the possibility of iSymphony consuming excessive resources on its host.
  • The number of items on a single "page" of the Extension Group filter (in the Users widget in the client) can now be specified.
    • To do so, add the following line to /opt/isymphony3/server/jvm.args: 

      -Dcom.xmlnamespace.panel.client.pbx.account.filter.ExtensionGroupUserAccountFilter.comboBox.pageLength=10

      Be sure to replace the 10 with the number of items you want to appear on each page. Then save the file and restart iSymphony. 

  • The current version of iSymphony will be logged on startup to assist with determining the running version. 
  • Added the ability to activate a production license on a beta system without binding the license to that hardware. This allows paid license owners to run a separate instance of iSymphony using the same license without interfering with the functioning of their existing production system. 
  • The paths where the module cache, configuration, and iSymphony installation are located can be specified separately now, allowing system administrators to relocate the configuration directory. 

Known Issues

The following issues are known to the development team to exist in iSymphony 3.1 beta 1, and are scheduled to be fixed before the final release of iSymphony 3.1 stable. Before reporting an issue to us, please check this list to determine whether we are already aware of the problem. In addition, consider whether these issue might impact your use of iSymphony before upgrading. 

  • The penalty column in the queue agents view displays the number of calls that agent has taken, rather than their penalty. 
  • A performance issue exists in the Call and Transfer actions, which may slightly increase login and logout times on systems with a lot of users and extensions. It should not increase the time enough to prevent use of the panel. 
  • In the permission editing screen, the dropdown listing exceptions is cut off for the last permission type of each section. 
  • In some situations, with the internal chat system enabled, attempting to open a chat session will fail. We believe this is related to one side of the conversation closing the chat session while the other side does not. 
  • A few of the permission types apply to the incorrect types of exceptions. For example, the permission to view calls in a conference room will allow administrators to add an extension as an exception. 
  • In some browsers, the permission rule dropdown ('Inherit', 'Allow', or 'Deny') will immediately close after opening. We recommend temporarily using another browser to perform this change if you run into this problem. On Windows and Linux, Chrome appears to work correctly. On Macs, Safari appears to work correctly. 
  • When logging into the administration interface, the check to determine if your license support period is expiring soon fails, and will cause an error dialog to be displayed. The error is harmless, and closing the dialog will allow you to continue using the administration interface. 
  • The permission to control which queues a user is allowed to log extensions into has been removed. The permission to control which extensions a user is allowed to log into queues remains. 
  • When the remote agent disconnects, it does not clean up its state properly and will fail to reconnect. To reconnect the remote agent, you will need to restart the main iSymphony server. 
  • In some circumstances, an IllegalStateException is thrown when attempting to place a call. 
  • If another user is on a call when you log in, the middle row of their user box will have a white background, rather than the correct color for the call they are currently on. This will resolve itself as soon as the color changes.
  • Hiding notifications from the notification tray fails, and eventually causes an error dialog to appear.
  • When using the remote agent, information about all voicemails in the system is sent from the agent to the server every time a new voicemail is added, rather than information for just the new voicemail. Depending on how many voicemails are in the system, this can potentially greatly increase the amount of traffic between the remote agent and the main iSymphony server, and in extreme cases can saturate the network interface on the PBX and affect call quality. For this reason, we do not recommend using the remote agent when a large number of voicemails are stored on your system. 
   
iSymphony