# Change Log
All notable changes to this project will be documented in this file.

## [5.1.0] - 2022-09-08
### Added
- Possibility to join into a RemoteViewer session by passing session params via URL (for agents)
- QR Code feature in the Webclient usecase
- X-Theme SIP header in the Webclient usecase
- Added Virtual Background feature in the SPLIT Agent usecase
- Added Video ID usecase
- Added playBeeps option to the DTMF configuration in the Webclient usecase
- Added REC text message in the Webclient when the call is being recorded
- Added some Start messages in both the Tester and Video ID usecases

### Changed
- Improved user interface of the Tester usecase (Progressbar design)
- Improved user interface of the Webclient usecase (Custom modals)
- Improved user interface of the Videomail usecase
- Blur effect is now using MediaPipe instead of TensorFlow
- Updated VideoRTC font (v1.5.0)
- Adjusted remote video sizing in the SPLIT Agent

### Fixed
- Fixed gateway blocking status caused by mutex sessions in the license module
- Fixed local camera muted state in the Webclient
- Fixed issue in the Webclient that allowed to launch mutiple calls before showing the calling message

## [5.0.0] - 2022-01-12
### Added
- New configuration params to the Tester usecase: autoStart, autoTroubleshoot and showRedirectBtnOnlyIfTestOk
- Added a way for the Tester to know which checks are necessary to display the Next button
- Advice feature to the SPLIT Agent usecase
- Possibility in the Webclient to differentiate when a call in queue or on hold
- Possibility to download chat history from the SPLIT Agent usecase
- Flip Camera action on both the Videocall and RemoteViewer usecases
- Possibility to configure webpage title and favicon by theme
- Possibility to setup RemoteViewer without ScreenSharing or Audio
- Option to configure an endpoint to send snapshots via URL request from the SplitAgent
- Added a way to apply different CSS rules depending on the theme name
- Webclient can now be configured in escalating mode

### Changed
- OS System required has gone up to Debian 11
- New structure of the web resources after a build
- Added camera check before starting SplitAgent plus moved auto recording trigger from onAcceptedVideo to onJoined event

### Updated
- Updated VideoRTC.js library (v4.0.0)
- Updated the webrtc-gateway internal core
- Updated Asterisk release version to v16.20.0
- Updated PHP version to v8.0

### Fixed
- Fixed hold-video visibility on the Webclient: It is also rendered when the agent mutes the video
- Fixed a race condition in the Webclient between the onHangup and onVideoClosed events that was preventing correct urlClose redirections
- Added a check to prevent JS errors if no fabs are configured
- Fixed the detection of the local user screenshare stream when using the RemoteViewer
- Fixed geoposition feature by waiting until the location data is available before starting a call

## [4.3.0] - 2021-02-04
### Added
- Video feature in the Remote Viewer usecase
- Parameter to set the bitrate when screensharing in the SPLIT usecases
- Possibility to mute/unmute audio when using the RemoteViewer
- Autoconnect feature in the RemoteViewer
- Added a new usecase: SIPClient
- Possibility to configure a shortener URL to the RemoteViewer
- Possibility to start a RemoteViewer interaction without audio
- Recording prefix parameter on the SPLIT Agent
- Possibility to mute/unmute the local video automatically when screensharing
- Added urlClose param on the SPLIT Agent usecase
- File sharing as action on the Webclient
- Possibility to customize the Max. Channels message
- Possibility to hide remote labels on the Webclient
- Possibility to send via SIP the geoposition of the user when using the Webclient
- Possibility to send via SIP device information of the user when using the Webclient
- Added Blur background on the Split Agent usecase
- Added extra param on the Webclient to send custom data via SIP headers
- Possibility to disable emojis when using the RemoteViewer
- Possibility to send the same file twice when using the RemoteViewer
- Optional username field on the guest side when using the RemoteViewer
- Flip Camera action on the SPLIT usecases
- Possibility to allow the account param if needed
- Possibility to enable hold dialog when a call is stablished
- Multiple troubleshoot URLs for the Tester usecase
- Possibility to enable a waiting video before the remote video is accepted by the agent (Webclient)
- Possibility to send the Tester results via HTTP request
- Redirect param to the Tester usecase

### Updated
- Updated VideoRTC.js library (v3.4.0)
- Updated the webrtc-gateway internal core
- Remote video is now resized when remote peer is screensharing
- Improved design of the Tester usecase
- Improved design of the Webclient usecase by adding FAB

### Fixed
- Fixed a bug that opened the advice URL when the user clicked on the Save button


## [4.2.1] - 2020-08-13
### Fixed
- Fixed usrsctp vulnerability in SCTP module


## [4.2.0] - 2020-03-25
### Added
- Enabled ScreenSharing in the WebClient for Chrome and Opera browsers
- Added possibility to send links via chat
- Added SPLIT reverse feature in the SPLIT Agent usecase
- Added possibility to configure the autoclose option in 'forced' mode for SPLIT usecases
- Added a new URL parameter called `from` on the Webclient and Escalating usecases
- Added a new theme parameter `resolution` in all usecases where video is used

### Updated
- Updated VideoRTC.js library (v3.3.0)
- Updated the webrtc-gateway internal core

### Fixed
- Fixed an issue with the Videocall usecase that caused a low bitrate when using Chrome browser


## [4.1.1] - 2020-02-28
### Fixed
- Fixed critical vulnerability in `usrsctp` library


## [4.1.0] - 2019-10-21
### Added
- Added support for Safari >= 12.1
- Added possibility to choose the default quality of the Webclient through theme configuration
- Added autocall, autoclose and hangup button in the Escalating
- Added a new config param in the Webclient and Escalating usecases to redirect when a call ends (e.g: survey purposes)
- Added new GET params in the VideoPlayer: splitid, recid and mailid
- Added possibility to bind the Dialpad using the keyboard (Webclient)
- Added showId option in the Escalating usecase

### Changed
- Enabled Safari in the Tester configuration
- Redirect option in the Tester has been disabled by default

### Updated
- Updated VideoRTC.js library (v3.1.0)
- Updated the webrtc-gateway internal core

### Fixed
- Fixed an issue with recordings when transferring a SPLIT video call


## [4.0.0] - 2019-03-12
### Added
- Added Escalating usecase
- Added Tester usecase
- Added Remote Viewer usecase

### Changed
- Web developments have been created with a modern tech stack using Webpack, Vue and Bulma.io
- OS System required has gone up to Debian 9
- Core configuration file are now in `.jcfg` file format

### Updated
- Updated VideoRTC.js library (v3.0.0)
- Updated PHP version to v7.3
- Updated the webrtc-gateway internal core
- Updated Asterisk release version to v13.21.1


## [3.3.1] - 2018-11-13
### Added
- If the Videoplayer only finds one record, it's preselected

### Fixed
- Resized calling message for mobile devices
- Fixed SDP negotiations from Firefox 63+


## [3.3.0] - 2018-09-14
### Added
- Added Log rotation utility

### Changed
- Updated VideoRTC.js library (v2.5.0)
- Updated Videocall usecase (UX improvement)
- Updated the webrtc-gateway internal core


## [3.2.1] - 2018-06-08
### Fixed
- Fixed compatibility of all modules with Firefox60+

### Changed
- Updated VideoRTC.js library (v2.2.1)


## [3.2.0] - 2018-05-15
### Added
- Added Remote Viewer usecase as extension
- Added WebRTC communication verification functions
- Added possibility to transfer a call using the SPLIT usecases
- Added a GET parameter to set the CallerID from the URL in the Webclient usecase

### Changed
- Updated VideoRTC.js library (v2.2.0)


## [3.1.0] - 2018-01-16
### Added
- Added the possibility of configuring different SPLIT scenarios at Flavour level
- Added `autoRecording` option in the SPLIT Agent usecase
- Added texts option in the SPLIT usecases
- Added FileSharing in the Webclient usecase
- Added ScreenSharing in the Webclient usecase
- Added possibility to show a message until the Video agent is accepted
- Added `split_id_strategy` in the VideoGateway
- Added Safari iOS 11 support in the SplitClient module (Audio mode)
- Added `notify` request in the SPLIT plugin

### Changed
- Updated VideoRTC.js library (v2.1.0)
- Updated recording mode in the SPLIT usecases


## [3.0.0] - 2017-10-03
### Added
- Added a new usecase: Videocall
- Added return button inside the usecases
- Added list of platform extensions in the landing page

### Changed
- Updated VideoRTC.js library (v2.0.0)
- Updated the webrtc-gateway internal core

### Fixed
- Audio and video devices are only opened when it's needed
- Fixed CallerID when pressing the Try Again button in the Webclient usecase
- Fixed the agent name didn't appear in the livechat in the Webclient usecase
- Fixed position of video labels in the Videoroom usecase


## [2.2.0] - 2017-07-27
### Added
- Added interval Watchdog
- Added autocall GET parameter to the Webclient URL usecase
- Added overprint logo in the Webclient usecase


## [2.1.0] - 2017-04-17
### Added
- Added Snapshot feature in the Split Agent usecase
- VideoGateway notifies to participants when a Split session is finished
- Added Autoclose feature in the Split Agent usecase
- Added `split_screen_bitrate` in the Split configuration file
- Added `videorate` and `screenrate` parameters in the `call_split` request
- Added Quality selector in the Webclient usecase
- Added sound notification when a message is received in the Split Agent usecase
- Added sound notificator handle (Mute/Unmute) in LiveChat mode
- Added visual notificacion when a file is sent in the Split Agent usecase
- Added icon that identifies the file type sent/received
- Added Drop feature for File Sharing (Agent -> Client)
- Added Emoji feature in LiveChat (Webclient and Split Agent)
- Added FullScreen mode in ScreenSharing (Webclient)
- Added SplitAgent configuration feature via Flavour (Autoclose, Emoji...)

### Changed
- Updated VideoRTC.js library (v1.1.0)
- Dialog boxes has now vertical alignment and smaller width value in the WebClient and Split Agent

### Fixed
- Fixed resizing of Screensharing feature in the WebClient and Split Agent
- Fixed minimizer bar in the Videomail and Videoplayer usecases
- Fixed recording feature with the same name/id in the Videomail usecase


## [2.0.0] - 2017-02-10
### Added
- Added VideoRTC.js library
- Added Device Selection on the WebClient UseCase
- Added File Sharing on the Split Module (Agent -> Client)
- Added Screen Sharing on the Split Module (Agent -> Client)
- Added Support for Chrome 56+

### Changed
- All use cases have been adjusted for VideoRTC.js
- All usecase icons have been adjusted for the same collection
- Split Agent icons have been set with opaque background

### Removed
- Internet Explorer support
- Cleanup unused assets


## [1.4.0] - 2016-12-07
### Added
- WebClient Use Case are responsive and adaptive
- WebClient Use Case allows configure the Calling window design (Theme)
- Script installation allows generate a self-signed SSL Certificate

### Changed
- All Use cases are configured with debug browser level 'error'
- Video Gateway is configured with debug level 3

### Fixed
- Fixed alignment of video streams (VideoRoom and PrivateRoom)


## [1.3.0] - 2016-11-08
### Added
- Added AutoCall feature in the WebClient Use Case
- Added Landing configuration file

### Changed
- Modified the folder structure of a Theme
- VideoMail and Split records are filtered by flavors
- In the VideoPlayer use case, you can play a Split session (agent and client) at the same time

### Fixed
- Softswitch/SIP module is compiled to avoid installation issues on some machines


## [1.2.1] - 2016-09-19
### Fixed
- The state (enable/disable) of the button "Create VideoRoom" in the PrivateRoom use case is updated successfully
- Configuration parameters are not mandatory in janus.plugin.split.cfg file
- In the WebClient use case, the value of the Caller ID is appended to the company prefix


## [1.2.0] - 2016-09-09
### Added
- Added WebClient Use Case
- Added PrivateRoom Use Case
- Added Documentation in the Landing Page
- Added WebPhone and Pop-Up Agent features in the Landing page

### Changed
- SPLIT 1.1.0 updated to 1.2.0
- SPLIT Agent Popup are draggable and resizable
- SPLIT License returns semantic errors instead of generic errors
- Improvement in the Look & Feel of the Landing page
- Right now, all use cases are responsive and adaptive

### Removed
- SPLIT Client Use Case has been replaced by WebClient Use Case


## [1.1.0] - 2016-08-19
### Added
- Added new parameters in the SPLIT configuration (e.g. Records Path, Bitrate, Forced Id Room, etc.)
- Added Recording feature
- Added Main Page
- Added VideoMail Use Case
- Added VideoPlayer Use Case
- Added CHANGELOG and README files
- Added update.sh and uninstall.sh scripts

### Changed
- SPLIT 1.0.0 updated to 1.1.0
- Updated Split Popup Agent Use Case (Recording and LiveChat)


## [1.0.0] - 2016-07-07
### First release
