ISL Conference Proxy 4.0.0 with modules for Windows and Linux (2014-09-05)
General Information
On 5th of September the following was released: :
- ISL Conference Proxy 4.0.0 for Windows 32bit (Platform=win32, Revision=35878, release_date=2014-07-23, os_version=0x5020000-0x7fffffff)
- ISL Conference Proxy 4.0.0 for Windows 64bit (Platform=win64, Revision=35878, release_date=2014-07-23, os_version=0x5020000-0x7fffffff)
- ISL Conference Proxy 4.0.0 for Linux 32bit (Platform=linux, Revision=35878, release_date=2014-07-23)
- ISL Conference Proxy 4.0.0 for Linux 64bit (Platform=linux64, Revision=35878, release_date=2014-07-23)
Modules
- DNS Server 1.1.3 (release_date=2014-07-23, revision=35521)
- ISL AlwaysOn 2.2.2 (release_date=2014-07-23, revision=35831)
- ISL Groop 3.0.4 (release_date=2014-07-23, revision=36030)
- ISL Light 4.0.0 (release_date=2014-07-23, revision=35710)
- ISL Pronto 2.2.0 (release_date=2014-07-23, revision=36030)
- Locale 1.0.7 (release_date=2014-07-23, revision=35521)
- NTP 1.1.3 (release_date=2014-07-23, revision=35521)
- PostgreSQL 9.3.040401 (release_date=2014-07-23, revision=36030)
- Reports 1.0.0 (release_date=2014-07-23, revision=35831)
- System monitor 1.0.8 (release_date=2014-07-23, revision=35521)
Translations
- isl_conference_proxy_20140723_20140904_120318
- isl_alwayson_20140723_20140904_120318
- isl_groop_20140723_20140904_120318
- isl_light_20140723_20140904_120318
- isl_pronto_20140723_20140904_120318
Update availability
All updates have release date set to 2014-07-23. Your ESS will need to be same or higher to be able to update your server. This release is available to all countries except Japan.
Upgrading to new version
This are server side updates so hosted service users do not need to do anything.
Server license users please check Upgrading Server License
Improvements
- ISL Conference Proxy 4.0 - offical PostgreSQL support - direct tables
- server license reports
- email based login
- support for enterprise load balancer and security devices
- optimized Online update
- generalized software signature checker and unpack cache folder (faster startup time)
New features
ISL Conference Proxy now supports new database storage. New database storage uses PostgreSQL tables. The performance of ISL Conference Proxy should increase.
When installing ISL Conference Proxy for the fist time ( version 4.0 ) , ISL Conference Proxy will use PostgreSQL tables as default database storage.
Users who are upgrading from older version of ISL Conference Proxy will be offered to migrate to PostgreSQL tables. Before migration is stared an estimate on how long the conversion of the database backend will take is displayed.
In some cases ISL Conference Proxy database needs to be rebuilt. When such event occurs the log file of ISL Conference Proxy will include the reason for it.
DNS server now uses converter for converting file based database table into direct tables database table.
Initial release of Reports module.
Users can view remote support reports by clicking on Reports and then selecting Remote Support. Remote desktop session reports include the following data:
- Username of the user who initiated a session
- Start time of session
- End time of session
- Duration
- Session type ( ISL Light, ISL AlwaysOn )
Apart from that, users can also limit the displayed session based on domain and/or username.
Users can view live chat reports by clicking on Reports and then selecting Live Chat. Live chat reports include the following data:
- Start time of chat
- Client name
- Client email
- Username of the supporter
- Filter name
- Wait time
- Duration of the chat
- Chat transcript
Apart from the default overview, users can also select Hours of day ( shows how session are distributed through-out the day), Days of week ( shows how sessions are distributed through-out the week ) and Missed chats.
Added support for ISL Conference Proxy to use external load balancer instead of internal one. In order to enable external load balancer users will have to set the following settings:
Server public address template,
Use single public address in Grid (both found under Configuration -> Security )
and appropriate setting of DNS (located in DNS Server -> zones ).
Added support for e-mail based login on ISL Conference Proxy. Users are now able to input their email instead of username with appropriate password and login. The setting for enabling email based login can be found under Configuration -> Security:
Enable email matching on authentication.
Replaced library boost::regex with PCRE library. This change should not affect performance and functionality.
Added support for disabling XML parsing of content for sending email. When users provide both HTML and plain text version of email the XML parsing will be disabled. In addition the function of webapi2 - utils/email/1 - now also supports disabling of XML parsing.
Optimized HTTP tunnels and removed obsolete code. This should increase the performance of ISL Online products when HTTP tunnels are used to connect to ISL Conference Proxy.
ISL Conference Proxy now supports installations with frontend security devices (F5 and similar) and in special configuration reverse proxy (example Nginx ot Apache proxy module)
Reverse proxy
Improved ISL Conference Proxy GRID connections and protocols to support pool of connections between servers. This improves response times as webapi2 and reverse proxy requests can now execute in parallel to the GRID calls such as database sync or old module GRID calls.
Improve redirects
As ISL Conference Proxy can not redirect to serevice address (example http://isllight.islonline.net) we needed to remove all such redirects from web code and handle requests to servers without correct module with a internal reverse proxy call. Added also setting for front end proxy address so that user can set its security device public DNS address when needed FQDN address (example: invitation email). We needed also to remove secure signed redirect functionality.
New GRID connections
As load on inter ISL Conference Proxy connections - GRID connections - has increased with reverse proxy and webapi2 use we implemented new version of protocol and subsystem to support multiple GRID connections. This way we reduce delay, improve performance.
Support
Currently new ISL Light, ISL AlwaysOn and ISL Groop module support the new single address arhiecture. There is still missing support in ISL Pronto module and some programs.
Added support for disabling HTTPS links on web pages. The setting can be found under Configuration->Security:
Disable automatic SSL usage on web pages.
Added support for downloading all installed certificates in a ZIP file. In order to download the ZIP file, users will have to enable Debug menu. The setting for enabling Debug menu can be found under Configuration -> General : Show debugging menu. Once the debugging menu is enabled, users can obtain the ZIP file by clicking on Debug -> Cryptography ZIP.
Users may also download the ZIP using the following link : http://server/conf/cryptohraphy.zip ( replace server with the correct server address ).
Added support for getting web clients time zone information in ISL Conference Proxy web templates and pages.
Added support to retrieve canonical time zone name in locale module.
This feature is needed for PostgresSQL module so ISL Conference Proxy can match timezone with PostgreSQL timezone.
ISL Conference Proxy no longer supports SOAP communication.
Add support for setting type 'file' in the admin console, which allows uploading a file (into the bulk file area). Value stored is the hex file id.
This is used in ISL Pronto module for customizing ISL Pronto chat session custom fields in ISL Pronto program.
This is internal change and should not affect performance or functionality.
ISL Conference Proxy PostgresSQL database backend was upgraded to version 9.3.4-3 in order to avoid OpenSSL security vulnerability.
When migrating from files database backend to direct tables database backend, the process will use multiple threads to write into direct tables. This should increase the speed of migration.
Added webtoken management API calls to webapi2 to support updates to webtoken content and login using existing webtokens. Help available at https://ICP-ADDRESS/users/main/test_webapi2.html
utils/webtoken/update/1 - new API
utils/login/1 - updated API
utils/webtoken/info/1 - new API available to enable for testing
Replaced the use of old exception reporting implementation with a newer one in order to simplify debugging of private cloud.
ISL Online products ( ISL Light, ISL AlwaysOn, ISL Groop and ISL Pronto ) will not check target address of ISL Conference Proxy. With the previous versions if the target address and the address defined in license did not match, users received error that the program is not licensed. Users should no longer receive this error.
Added support for cache directory for unpacked software. When ISL Conference Proxy is started it firstly unpacks all .program, .plugin and other files. This files are now stored in cache directory called unpackcache. When ISL Conference Proxy is rebooted it will no longer unpack those files again but use the ones in cache thus optimizing the start of ISL Conference Proxy. Checker of cached files was also added, in case the filepath, filesize or filetime was changed it will purge the cache folder and extract the files again.
Added option for Online update. Users are now able to select the option, latest software only, which will remove old versions of programs and only use the latest ones.
Web sessions were redesinged to use crypto webtokens version 2. Old implementation using memory tables was removed. Also removed crypto webtoken implementation version 1. Currently ISL Conference Proxy uses crypto webtoken version 2 which brought additional field to detect expired tokens.
Improved handling for custom "HTTPT port" setting when generating programs for download (http://ICP-ADDRESS/start or http://ICP-ADDRESS/download). Auto transport library in programs now supports a list of ports instead of just one port and boolean settings for HTTP(80) and HTTPS(443) usage. Support for this feature was added to ISL Conference Proxy. New programs will still need to implement this feature.
Internal improvement. This change should not affect performance and functionality.
Internal improvement. This change should not affect performance and functionality.
Added ICP Administration -> Activity Monitor -> WebHits fields "Source s." and "Remote s.". Source server is GRID id of server accepting client HTTP connection. Remote server is GRID id of server providing HTTP response. In single server configuration this will be the same and same as server GRID id. In GRID installations (2 or more seervers) this can differ in case servers are configured to use reverse proxy.
The information provided is for debugging and monitoring purposes.
Enable debug log, Reset admin passsword and Reset bind IP and ports scripts will no longer automatically restart ISL Conference Proxy. When script finishes the procedure it will notify user that he needs to restart ISL Conference Proxy manually.
Added server GRID id to response JSON in "result.server" field. Added optional request JSON argument to force extended information:
me ... server that started webcall,
servers ... array of servers that were involved in call - including redirects,
times ... object of times spend for call on this server
Test using https://ICP-ADDRESS/users/main/test_webapi2.html and check "With info" checkbox.
If the ISL Conference Proxy PostgreSQL database is corrupted on disk, PostgreSQL functions pg_dump and pg_restore might not work due to table checker. The ISL Conference Proxy PostgreSQL database now supports option to disable table checker.
This modes are available to restore corrupted database (user will have to change timestamps of certain files using touch function):
- Regular mode ( Uses 200% of disk space, dump/restore is fast however table checking will take some time) - potential data loss is prevented only with regular mode!
- Regular mode + ignore table checking - touch postgresql_restore_no_table_check
- Regular mode + ignore table checking + ignore dump errors - touch postgresql_restore_no_table_check && touch postgresql_dump_ignore_error
- Compressed file mode ( Uses 130% of disk space, dump/restore is slower than regular, there is no table checking) - touch postgresql_dump_compressed
- Compressed file mode + ignore dump errors - touch postgresql_dump_compressed && touch postgresql_dump_ignore_error
- ISL Pronto
Added support for setting timeout on external chat filtering. The settings can be found in ISL Conference Proxy administration page under ISL Pronto - External chat message timeout.
Users can now use external chat line translation engine with ISL Pronto. Support for viewing translated and original texts has also been added. Setting for enabling external translation engine can be found in ISL Conference Proxy administration page under ISL Pronto - External command for processing chat lines.
Support for automatic deletion of chat content when client exists the chat. Also added the option to see who deleted the chat content.
Added support for new URL parameter that disables ISL Pronto cookies. When used, it should not create new cookies and should also delete existing cookies.
Example:
https://islpronto.example.net/live/islpronto/public/chat_info.js?d=default&nocookies=1
Added the following function calls of webapi2 for ISL Pronto:
Function call : islpronto/chat/get/single/1
Parameters: chat_sid
Function : Retrieve all information about the chat based on chat_sid
Function call: islpronto/chat/get/list/1
Parameters:
active: Limit the search to active chats only (overrides created_time settings)
created_time_after: Limit the search to chats created after the specified time
created_time_before: Limit the search to chats created before the specified time
domain: Match by domain
supporter: Match by supporter userstring
Function: The function will retrieve chats and their information based on the parameters set.
Function call: islpronto/chat/content/get/single/1
Parameters: chat_sid
Function: Retrieve chat transcript based on chat_sid.
The following function is only available when external_id is set in dboptions file:
Function call: islpronto/chat/set/single/1
Parameters: external_id, chat_sid
Function: This call will set external id to the chat with chat_id
Added support for External Id. The option has to be enabled though dboptions file parameter: islpronto_external_id=1.
The external id can be set through URL for the client chat or through WebAPI2.
Added support for passing external_id to ISL Light session created inside ISL Pronto. In order to pass external id users have to add the following parameter to the live chat link:
&external_id=[your_id]
Added webapi2 call to query supporters information.
The function call : /islpronto/supporter/get/list/1
Parameters:
chats_after: Limit chat information to chats after time
chats_before: Limit chat information to chats before time
domain: Domain for which to retrieve supporters
filter: Match by filter
Added support for overriding module web pages.
Added support for file based database to direct tables database converter.
Added support for Internet Explorer 11 user agent detection.
Added support for email based login.
ISL Pronto grid objects are now shown inside Debug-> ISL Pronto interface.
Added setting for sending chat transcript when chat was ended. Chat transcript will be send to email recipient defined in Configuration -> ISL Pronto:
Chat finished transcript e-mail:
Added support for ending chat. Once the chat has ended clients will receive the following message:
The live chat has ended. Thank you for visiting us.
Added setting for changing behavior of the X button of chat ( ISL Pronto client ):
End chat automatically when operator closes chat: Yes
If this setting is enabled and supporter has clicked on X button of a chat inside ISL Pronto application, supporter will end chat instead of only leaving it.
Added support to mark chats inactive after certain timeout. The setting for timeout is located in Configuration -> ISL Pronto :
Treat chats inactive after seconds of inactivity: 0
When the time of inactivity reaches the timeout, the chat will be marked as inactive.
Webapi call islpronto/chat/get/list/1 now also returns left messages.
Added support for calling external script when chat has ended.
Added live chat reporting support for Reports module.
Added support for watchdogs.
Added webapi2 call for querying filters in a domain:
Function call: islpronto/domain/filter/get/single/1
Parameters: domain
This webapi call is only available when ISL Conference Proxy uses direct tables database backend.
Added support for storing first operators name and operators name to whom client was transferred to.
Added setting for selecting which events are sent to external script for further processing. The setting is located under Configuration -> ISL Pronto
Limit external chat message commands: chat_create, chat_init, chat_end, filter
Users can remove event from that input based on which events they would like to send to external script.
Added setting to set the number of request before external script is killed.
The setting can be found under Configuration -> ISL Pronto:
Restart external command after requests: 500 ( default )
Added option to auto-assign chats to supporters. The option to enable auto-assignment of chats is located in Configuration -> ISL Pronto:
Open chat with client automatically: YES
After this setting is enabled all chats will be automatically assigned based on the client assignment scheme (setting).
Users can choose one of the following client assignment scheme:
- Ring All - operator will be selected randomly
- Least busy - least busy operator will be selected ( based on the number of chats with client and last client chat time ).
Added backend support for modifiable custom fields inside ISL Pronto program. Users can add JSON file with description of modifiable fileds and their values and type in Configuration -> ISL Pronto:
Custom client info data file:
These custom fields will then be displayed to the operator inside ISL Pronto program.
- ISL Light
Added support for email based login.
Optimized HTTP tunnels, performance should be increased when HTTP tunnel transport is used.
Added support for single address GRID.
Added remote desktop session reporting support for Reports module.
Added support for watchdogs.
Added backend support for joining ISL Light session on Android for server license users.
Added support for saving agent information and operating system information into session database.
- ISL AlwaysOn
Added support for email based login.
Added support for single address GRID.
Added support for watchdogs.
ISL AlwaysOn had a database table which contained information about statuses of ISL AlwaysOn computers ( whether they are online or not). The database table is not used anymore instead ISL AlwaysOn directly notifies servers about its status, which result in better performance.
Added support for retrieving all computer tags for the logged in user.
The function in webapi2: islalwayson/user/tags/1
Parameter : Function takes no parameters
Added support for deleting computer from users list of ISL AlwaysOn computers using webapi2.
The function in webapi2: islalwayson/computer/delete/1
parameter: co_id ( which is the id of the ISL AlwaysOn computer )
Added support for single address GRID.
Added support for file based to direct tables database converter.
Added support for executing remote execute action on remote computer. To send an action to be executed remotly users have to click More on ISL AlwaysOn computer and select remote execute.
More help on the topic can be found when executing action without any parameters.
Apart from remote execute the following actions were also added to webapi2:
islalwayson/actions/available/1 - Lists all possible actions
islalwayson/actions/history/1 - List history of actions taken
islalwayson/actions/info/1 - Query events of existing action run.
islalwayson/actions/start/1 - Start action on remote computer
Added location counters for ISL AlwaysOn computers. In case the counters are increased a lot in a short period of time, that would mean that ISL AlwaysOn is not configured correctly or GRID is not configured correctly and users will be notified of such event.
- ISL Groop
Added support for email based login.
Added support for single address GRID.
Added support for watchdogs.
Added setting for default layout of a meeting. The layout setting can be found in settings when creating a meeting or editing it.
Owners of a session were not able to register a user for a meeting. The only possibility was to send the user a session registration email. Add user button was added to registered users page, owners of the session are now able to register users for a meeting.
Defect fixes
ISl Conference Proxy upgrade sometimes did not finish. You needed to reboot the server to clear the issue. When checked running processes you could see a ISL Confproxy Server installer running named ISL_Conference_Proxy_*.tmp. The problem was that installer got deadlocked with running ISL Conference Proxy server. Added extra options to Inno setup to solve the dead lock issue. Installer could still fail, but it should handle the error and you need just to manually run installer from installation folder.
The defect was fixed.
Users were unable to view installed actions via Configuration -> Overview. Installed actions were added to the overview list.
The defect was fixed.
ISL Conference Proxy .program file name now includes build time string ( YYYYMMDDHHMM in UTC ) along with checksum of the file.
Users who use Mac or Linux computers are offered with ZIP package when running ISL Online products. ZIP package now includes correct date of files and support for netstart naming.
ISL Light 4 can ask for plugins without being logged in. ISL Conference Proxy did not apply software policy in such case.
The defect was fixed.
In some occurrences online update of ISL Conference Proxy was unsuccessful. The web interface did not notify the user of what caused the error in online update. Support for error reporting was added to the online update procedure.
The defect was fixed.
Watchdog was improved and works as described bellow:
- A task is executed for each subsystem in ISL Conference Proxy. If the task times out then ISL Conference Proxy is automatically restarted
- Periodically checks PostgreSQL connections, if the connection is not working as expected, PostgreSQL is then restarted.
- creates a GET request to check status for subsystems with longer timeout
Users may have had problems logging into ISL Conference Proxy when they entered their username. The implementation of login was case sensitive. Functionality was redesigned, email based login is not case insensitive.
Case insensitive email is supported only with direct tables.
The defect was fixed.
In some cases users were unable to update their ISL Conference Proxy, the procedure silently failed. Error report was added to the Online update procedure, users will receive description of the problem if ISL Conference Proxy fails to update.
The defect was fixed.
Settings for web tokens were moved from General to Web server section.
ISL Conference Proxy could crash when using ISL Conference Proxy and PostgreSQL mofule in VFS mode (unsupported feature).
The defect was fixed.
Added support to Service-Address call to return addresses and HTTPT ports. This is needed for better connectivity in new auto transport library in new clients.
Users may have seen a typo in the help section of webapi2 call utils/webtoken/update/1. The typo was removed.
The defect was fixed.
ISL Conference Proxy PostgresSQL database backend was upgraded to version 9.3.4-4 in order to avoid OpenSSL security vulnerability.
Optimized the number of times ICP decodes crypto webtoken on HTTP request. Before optimization it decoded more than one hundred times per request. Now it decodes only few times, depending on the request type.
IMPORTANT: in case you use affected settings on user or domain level you need to convert them to server level using new syntax. Domain and user level setttings are not read anymore.
Settings in ICP Administration->Security->"Filters that define access to webapi2" and ICP Administration->Security->"Filters that define access to web pages" have new syntax. The settings are not available on domain or user level. Domain and user filters can be enetered on server level ICP Administration->Security using new syntax.
New syntax example:
[user_id=s-1_0_0|path=/users/isllight]
allow_ip 1.2.3.0/24;
[/users/isllight]
[/users]
allow_ip 1.2.3.0/24;
User web pages can be accessed only from 1.2.3.0/24. ISL Light cannot be accessed by anyone except user with id s-1_0_0 in 1.2.3.0/24
ISL Conference Proxy used to have single global lock to protect most of the internal structures. We removed global lock from load balancer so it can operate in parallel with other internal tasks.
This is internal change and should not affect performance or functionality.
Password for managed PostgreSQL connection is now encrypted in postgresql_config and features_dbs file to improve security.
Array object were not shown on webapi2_test page. Displaying array object was redesigned, the object is now displayed correctly.
The defect was fixed.
In some cases ICU_LOCALE did not match correctly with ICU language codes. Support for correct matching was added along with a checker which checks if any language did not match.
The defect was fixed.
At the moment, VFS is listed in PostgreSQL above direct tables. We should not encourage users to use it in the future, move it to the bottom and mark it as unsupported feature.
Support for VFS will be removed in the future from the ICP database.
OpenSSL library version 1.0.1h was replaced with 1.0.1i due to security vulnerability.
We detected an issue on systems with McAfee antivirus software installed that it can interfere with ICP AcceptEx call. To give system administrator option to workaround the issue we added an option ICP Administration -> Features -> "Disable AcceptEx system call in case of NIC/VPN driver or antivirus software incompatibilities [not recommended]"
Users may have experienced inability to change password on ISL Conference Proxy. The issue was with JQuery .data function which removed the leading 0, causing the function to be unable to locate the user for password reset. All .data functions were replaced with .attr function, users should no longer experience this issue.
The defect was fixed.
ISL Pronto
After changing load balancing settings sometimes clients were not able to join live chat even if operators were available. Load balancing procedure was redesigned, if operators are available clients will always be able to join the chat even if the server has load balancing turned off.
The defect was fixed.
Clients may have seen an error message when trying to start a chat with an operator. The error did not appear instantly. The error showing procedure was redesigned, error is now displayed immediately.
This issue only affected users who use external script for ISL Pronto.
The defect was fixed.
In some cases the use of external script could crash ISL Conference Proxy. Executing external script functionality was redesigned, use of it should no longer crash ISL Conference Proxy.
The defect was fixed.
If the external process hung users would be unable to use ISL Pronto. Watchdogs of external processes were added and in case a process hangs it the watchdogs will terminate it.
The defect was fixed.
Webapi call to query supporter info was running slowly. The performance was optimized by implementing support for direct tables.
The defect was fixed.
Users may have experienced multiple left/join messages when a long chat between operators was made. Internal architecture was redesigned, users should no longer receive left/join messages.
The defect was fixed.
- ISL Light
Users were unable to stop the paused session using Webapi2. The issue was that the stop session message could not be send to a paused session which was on a different server. The message is now correctly send to the session.
The defect was fixed.
- ISL AlwaysOn
Users may have experienced a crash of ISL AlwaysOn module when connecting through Webapi. In some cases the update of the webapi backend structure was not correctly applied and this resulted in crash. When connecting through webapi backend structure is updated correctly and should eliminate crash of module.
The defect was fixed.
In some cases ISL AlwaysOn module crashed when starting a remote desktop session through Webapi2 and the user received Remote computer cannot start ISL Light error. Connect functionality was redesigned and module should no longer crash when connecting through Webapi2.
The defect was fixed.
- ISL Groop
Users may have found untranslated strings in web interface of ISL Groop. The untranslated strings are now correctly translated.
The defect was fixed.
When creating or editing a meeting the selected time for a session was not correctly set if the time was selected using date picker. The date picker did not correctly use time along with the timezone. Functionality of date picker was redesigned, the time of the meeting start is now correctly displayed.
The defect was fixed.
Users may have seen garbled characters when exporting registered users list. The export functionality was redesigned, support for unicode characters was added, users should no longer see garbled characters.
The defect was fixed.
If the owner of the session added files to the meeting and shared the meeting with the second user, the second user could not see files that were added. The session file sharing functionality was redesigned, files are now correctly displayed for the shared meeting user.
The defect was fixed.
If user has registered for a meeting and send the email with the join link to other users, all users were able to join the session even though the user_id was the same for all. The join functionality was redesigned, in case someone joins a meeting with a user_id that is equal to a users user_id who is already in the session then the user who is already in the session will be kicked out of it.
The defect was fixed.
Users were able to register a user with any role to a meeting even when you were not logged in as the owner of that session. Security checks were added, only the owner of the session is now able to register a user for that session.
The defect was fixed.