This upgrade makes no changes to the cdrs, so "enswitch upgrade" should run quickly even on large systems.
The recommended Linux distribution for this Enswitch version is Ubuntu 24.04 or Rocky 8.10. If in doubt, use Ubuntu. Enswitch only supports Long Term Support (LTS) versions, which typically have even version numbers.
In Enswitch 4.4, the code is moved from being stored in subversion to being stored in git. Different Enswitch versions have different git branches, rather than being stored in different subdirectories. There is no '/opt/enswitch/current' symlink to point to the active version. Instead, the code in /opt/enswitch is used directly, with the version being set by the git branch checked out.
Before upgrading
- Review the functional changes, and ensure that none will cause problems.
- If running MySQL 8.x, check that its server configuration files do not include the "STRICT_TRANS_TABLES" value for the "sql_mode" option, because it will cause runtime failures in some Enswitch functionalities.
- If the database or some of its tables use the "latin1" character set, change it to "utf8mb4".
- Make sure the root user on each Enswitch machine has the same SSH public key.
- Ask Enswitch support to add your SSH public key to the Enswitch git repository. See the installation guide for new systems for additional details.
To upgrade
- On all machines running Debian or Ubuntu:
- apt install git
- On all machines running CentOS, Redhat Enterprise, or Fedora:
- yum install git
- On all machines:
- cpanm Config::IniFiles.pm
- cd /opt
- mv enswitch enswitch-svn
- git clone git@git.integrics.com:enswitch -b 4.4
- ln -sfn /opt/enswitch/lib /usr/local/lib/site_perl/Enswitch
- enswitch upgrade_config_files
- grep -R /opt/enswitch/current /etc 2>/dev/null # And fix any found
- On the primary database machine:
- enswitch upgrade
- On all machines:
- enswitch restart
- Reset Enswitch web menu items to use the new role permissions by running:
- enswitch install_menus --overwrite
- Test calls and the web interface.
- On the primary database machine:
- enswitch after_upgrade
- If any of the scripts below are used with non-default parameters then please take a look at the GetOptions() subroutine in first lines of the script's source code to identify the new or renamed parameters.
- analytics_run
- audit_archive
- audit_archive_remote
- calld
- cdrs_archive
- cdrs_archive_remote
- cdrs_delete
- cdrs_delete_zero
- cleanup
- cleanup_local
- events_archive
- events_archive_remote
- export_cdrs
- export_queue
- fees
- queue_events_archive
- queue_events_archive_remote
- transactions_archive
- transactions_archive_remote
- Under the Global » Settings » Configuration menu, ensure that the values for the "Sound file download options" and "Sound file upload options" settings are correct for the sox version installed on your servers. This may be done by checking the supported options of the "sox" executable, with commands like these:
- sox -s
- sox -w
- sox -e
- On Kamailio machines, edit /etc/kamailio/kamailio.cfg and replace any RTPENGINE_ADDR line with:
- #!define RTPENGINE_DB 1