v3
UCS Server - changelog
All notable changes to this project will be documented in this file.
[4.25.0] - 2025-06-23
🚀 Features
- (api) Added AI transcription, sentiment and tags to call detail
[4.24.3] - 2025-06-19
🐛 Bug Fixes
- (call) Report queue ring time in CDR properly
- (uphone) Allow uPhone device to be selected as user softphone device
[4.24.2] - 2025-06-06
🐛 Bug Fixes
- (clone) Activate clone when cloned from inactive user
[4.24.1] - 2025-06-04
⚙️ Miscellaneous Tasks
- (sso) Added debuging to SSO PSK provider
[4.24.0] - 2025-06-03
🚀 Features
- (lookup) Return last 10 calls if lookup without string is requested
🐛 Bug Fixes
- (build) Copy entry script for SELinux to build
- (http) Handle incorrect content-length value
⚙️ Miscellaneous Tasks
- (startup) Moved DB upgrade into UCS and prepared for SELinux
- Add DS_Store to gitignore
- Use tmp file instead of inplace awk to change version in source files
[4.23.3] - 2025-05-31
⚙️ Miscellaneous Tasks
- (api) Unify RPC method calls across protocols
- (debug) Added thread utilization monitoring
[4.23.2] - 2025-05-30
🐛 Bug Fixes
- (api) Retype XML-RPC args to list
[4.23.1] - 2025-05-30
🐛 Bug Fixes
- (api) Use proper args in OAuth token provider
⚙️ Miscellaneous Tasks
- (logging) Use correlation logging for RPC API
[4.23.0] - 2025-05-26
🚀 Features
- (vmware) Added script for VMware image preparation
- (mobility) Add API method allowing getting device by device id instead of identifier
- (recording) Added call recording on demand
- (ai) Added AI TTS to recording storages and tags
- (ai) Adedd sentiment and summary to recordings
[4.22.1] - 2025-05-12
🐛 Bug Fixes
- (holidays) Fix or 15yo bug fix
[4.22.0] - 2025-05-07
🚀 Features
- (api) Optionally include path and queue detail records into status.call
[4.21.3] - 2025-05-05
🐛 Bug Fixes
- (timerouting) Honor holiday fallback route on holidays
- (holidays) 15yo bug in DB sequence...
[4.21.2] - 2025-04-29
🐛 Bug Fixes
- (call) Set properly abandoned flag on outbound calls in QDR
[4.21.1] - 2025-04-28
🐛 Bug Fixes
- (call) Ensure interaction is transferred to agent on attended xfer via queue
[4.21.0] - 2025-04-25
🚀 Features
- (uphone) Added STUN servers to device lines
- (uphone) Added client remote IP address as location to user mobility login
- (mobile) Added mobile settings to use rroles
🐛 Bug Fixes
- (uphone) Pass return value for sdp and candidates remote control
- (calls) Don't allow CLID override when trunk is set to YES but filter to NO
- (provision) Change uPhone provisioning based on attribute
- (um) Add device_type_id to each line to user mobility response
- (package) Removed pycurl and firebase-admin as they are part of ucs-mobile now
- (mobile) Move mobile app provisioning to proper API context
- (queues) Don't interrupt mass agent suspend/resume when missing permission to one user
⚙️ Miscellaneous Tasks
- (provisioning) Cleanup Asterisk features provisioning
- (mypy) Add config enabling checking of untyped defs and disallowing implicit any type parameters
- (pylint) Removed .pylintrc, we use Ruff only
[4.20.0] - 2025-03-28
🚀 Features
- (api) Make UCS Tree User accesible via API structure.user
- (nats) Added JetStream KV support and uPhone KV for manager
🐛 Bug Fixes
- (nats) Log exceptions for asyncio corutines which aren't awaited for result
- (utils) Strip newline from /etc/uauth/psk in UCS command line utils
- (uphone) Added prefix to NATS JetStream KV bucket
- (uphone) Fixed types of SDP and ICE candidates method arguments
- (route) Removed HSTS middleware, it is already part of HTTPS group
⚙️ Miscellaneous Tasks
- (provisioning) Refactored uPhone driver
[4.19.0] - 2025-03-17
🚀 Features
- (api) Added UCS JSON specific API
- Also increaset API HTTP server backlog from 5 to 64 requests
- (build) Use Python virtual environment
- (config) Added Traefik support
- (phone) Added INSOFT virtual softphone driver
🐛 Bug Fixes
- (build) Sync UV after bumping version
- (db) Don't stop dbsink thread on DB error
- (build) Added dependency to libmysqlclient21 for Ubuntu distros
- (soundfiles) Allow note edit on soundfile directory
- (service) Added 15 second timeout to UCS stop for cluster installations
⚙️ Miscellaneous Tasks
- (auth) Allow to read uAuth from configured file
- (tools) Switched commandline ucs-* tools to uAuth
[4.18.4] - 2025-02-08
🐛 Bug Fixes
- (calls) Fixed ACW for attended transfer to queue
[4.18.3] - 2025-02-08
🐛 Bug Fixes
- (api) Return message and data separately in JSON-RPC API error
- (recording) Record final call leg after caller does attended transfer
[4.18.2] - 2025-02-06
🐛 Bug Fixes
- (api) Generate UCSAuth PSK automatically and keep /etc/ucs/auth.psk in sync
[4.18.1] - 2025-02-05
🐛 Bug Fixes
- (soundfiles) Handle soundfile extension properly
[4.18.0] - 2025-02-04
🚀 Features
- (auth) Unified API validator for SID argument so we can use UCSAuth
🐛 Bug Fixes
- Exclude whoami, ping, version and logout from sid conversion exception as they can handle the user object
- (cluster) Ignore error of pre-start script
[4.17.2] - 2025-01-29
🐛 Bug Fixes
- (recording) Added minimal number of characters in reason of recording download
⚙️ Miscellaneous Tasks
- Add .idea to .gitignore
[4.17.1] - 2025-01-06
🐛 Bug Fixes
- (interactions) Create interaction on CALL_NEW event to indicate calls with session progress
[4.17.0] - 2024-12-17
🚀 Features
- (roles) Added scopes to roles for application access pemission
[4.16.0] - 2024-12-16
🚀 Features
- (api) Added method to get user access rights
- (languages) Added all languages support
🐛 Bug Fixes
- (rating) Display proper evaluator in agent rating report
[4.15.0] - 2024-11-25
🚀 Features
- (events) Added agent trace and qdr events
🐛 Bug Fixes
- (audit) Log recording download and playback separately
[4.14.1] - 2024-11-21
🐛 Bug Fixes
- (email) Close e-mail on reply if close on forward is disabled
- (recording) Storage edit (typo in method name after refactoring)
- (reports) Report hangup cause properly when caller hangup while call rings in PSTN
[4.14.0] - 2024-11-18
🚀 Features
- (email) Allow leave e-mail in processing state on forward
- (reports) Added caller and called column to call path report
⚡ Performance
- (provisioning) Don't send leads on Operator provisioning
[4.13.0] - 2024-11-17
🚀 Features
- (clid) Added possibility to override phone number for internal calls
[4.12.4] - 2024-11-12
🐛 Bug Fixes
- (recording) Fixed recordig late processing callback
[4.12.3] - 2024-11-11
🐛 Bug Fixes
- (statistics) Fixed swapped talk and ring time from last patch
[4.12.2] - 2024-11-10
🐛 Bug Fixes
- (sso) Fixed and refactored reading principal from ktpass
- (recording) Handle properly UNIX socket notification from Asterisk on RHEL 8
- (interactions) Count talk time only for call.connect event
- (report) Display number of answered emails
[4.12.1] - 2024-11-06
🐛 Bug Fixes
- (report) Allow reports for queues with special characters in their names
- (cdr) Don't generate CDR event from recording for semiattended calls
- (statistics) Count ring time for agent queue statistics properly
[4.12.0] - 2024-11-05
🚀 Features
- (leads) Add paging support to outbound campaign list method
- (leads) Allow filter only active leads in outbound campaign API
- (email) Added default e-mail HTML body format into queues
🐛 Bug Fixes
- (email) Use Reply-to address when specified by e-mail sender
- (provisioning) Fixed YeaStar TA gateway provisioning
[4.11.2] - 2024-11-03
🐛 Bug Fixes
- (sync) Don't synchronize empty groups from identity management
⚙️ Miscellaneous Tasks
- (sync) Improve identity management synchronization logging
[4.11.1] - 2024-11-01
🐛 Bug Fixes
- (oid) Don't synchronize telephones without MAC address from AD
- (metadata) Handle older UCS metadata structure upgrade on the fly.
⚙️ Miscellaneous Tasks
- (git) Added ignored reformating commit for Git blame
[4.11.0] - 2024-10-29
🚀 Features
- Add role to transcription segments determined by who is call initiator and channel
[4.10.0] - 2024-10-29
🚀 Features
- Add transcription status to cdr (call history) so supervisor can see what is already transcribed
[4.9.1] - 2024-10-25
🐛 Bug Fixes
- (recording) Handle storage path with variable date properly
[4.9.0] - 2024-10-25
🚀 Features
- (transcription) Add API transcription task endpoint and transcription set endpoint
🐛 Bug Fixes
- (lookup) Handle LDAP attributes properly
- (transcription) Correctly handle transcription empty queue
- (transcription) Transcribe recordings with empty status
- (transcription) Make transcription extensible by wrapping the dialog in object and storing it in database
- (mssql) Add support for Python3 dicts into MSSQL connector
- (nats) Handle invalid NATS-RPC messages
🎨 Styling
- (formatting) Reformat code to keep it consistent and enhance team work seamlessness
⚙️ Miscellaneous Tasks
- (docker) Migrate dockerfile to uv package manager
[4.8.2] - 2024-10-18
🐛 Bug Fixes
- (recording) Full paths are needed in Asterisk echo and nc usage
[4.8.1] - 2024-10-17
🐛 Bug Fixes
- (code) Manage UCS version in init by Just
⚙️ Miscellaneous Tasks
- (build) Use AWK to manage version in pyproject.toml instead of Poetry
[4.8.0] - 2024-10-17
🚀 Features
- (api) Add API endpoint returning data about currently logged in agent
- (task) Provide also metadata and persons in task listing.
- (api) Add API endpoint providing list of currently active leads in outbound queue
- (sync) Added dry run support to indentity management synchronization
🐛 Bug Fixes
- (build) Fixed build scripts for new module import style
- (code) Use typing_extensions to support ParamSpec on RHEL8
- (build) Add typing-extensions as depenedency
🚜 Refactor
- (typing) Enhance code readability and error prevention by adding type annotations
- (typing) Enhance code readability and error prevention by adding type annotations to Group parent parameter
- (typing) Enhance code readability and error prevention by adding type annotations
⚙️ Miscellaneous Tasks
- (env) Moved sources into server directory
- (env) Fixed scripts source
- (format) Changed tabs to spaces
- (naming) Change server to ucs because it is core of UCS
- (imports) Upgraded Python import style
- (docker) Remove version from docker-compose.yml as it's obsolete
- (docker) Use ucs user to do database healthcheck
- (code) Switch from Poetry to UV
- (sync) Cleanup sync after refactoring
- (python) Log Python version and require at least 3.9
- (asterisk) Move recording and FAX file handling to separate service
- (recording) Refactored recording
[4.7.1] - 2024-10-10
🐛 Bug Fixes
- (authentication) Improve session id security by replacing random with secrets module
[4.7.0] - 2024-10-10
🚀 Features
- (recording) Configurable reason request for call recording playback
🐛 Bug Fixes
- (api) Return __variables back to kwargs in NATS proxy
[4.6.3] - 2024-10-07
🚀 Features
- (api) Added NATS-RPC API support
🐛 Bug Fixes
- (ami) Handle destroy of unknown channel to AMI service
- Also handle not-connected AMI service in status API to properly display main admin page.
[4.6.2] - 2024-09-27
🐛 Bug Fixes
- (trunk) Honor trunk reachability when placing outgoing call
[4.6.1] - 2024-09-27
🐛 Bug Fixes
- (trunk) Don't continue to next trunk if called party is busy for outgoing calls
[4.6.0] - 2024-09-27
🚀 Features
- (recording) Configurable timeout for same recording access
🐛 Bug Fixes
- (lookup) Don't search in uCRM when searching in specific lookup
[4.5.0] - 2024-09-09
🚀 Features
- (queues) Added threshold when inbound queue abandoned call is placed into outbound campaign
[4.4.2] - 2024-08-09
🐛 Bug Fixes
- (tasks) Allow edit task tags or comments without editing task data
[4.4.1] - 2024-08-08
🐛 Bug Fixes
- (email) Use proper e-mail date when forwarding the mail.
- (lookup) Search in uCRM in dial autocompletion
[4.4.0] - 2024-08-07
🚀 Features
- (sound_tts) Add module that enables generating soundfiles from text (Text-to-Speech) using AI via INSOFT TTS service
- (config) Make nats url configurable which enables running the services on different hosts
- (tts) Only enable TTS feature when TTS API URL is specified in the configuration. The feature is disabled completely if the url is not set explicitly.
🐛 Bug Fixes
- (typing) Define user localization function as callable instead of str
- (feature_flag) Remove f-string nesting to support python3.10
⚙️ Miscellaneous Tasks
- (typing) Type annotate user prameter in notify function
- (db_repository) Create utility select function that accepts page as a parameter and selects only particular page
- (docker) Enable running UCS in docker which makes development easier
[4.3.0] - 2024-08-06
🚀 Features
- (email) Added XOAUTH support for SMTP sender.
🐛 Bug Fixes
- (soundfiles) Shadow LiteralString type to support earlier python versions than 3.11
- (utils) Fixed removal of old DB backup dumps.
🚜 Refactor
- (soundfiles) Create sound exchange binding to sox tool to improve development experience of using that tool
- (soundfiles) Extract piece of code that checks directory exitance and creates it if needed to function to improve code readability
- (file_structure) Move utils to package directory to enable structuring code to multiple files
- (soundfiles) Move function that ensures directory existance to utils.fs package to make it reusable by whole project