This upgrade makes some changes to the cdrs table, and both "enswitch upgrade" and "enswitch after_upgrade" may take some tens of minutes to run on larger systems.

Before upgrading

  1. Review the functional changes, and ensure that none will cause problems.
  2. If using OpenSIPS or OpenSER, upgrade to Kamailio.
  3. If using Asterisk 1.8 or earlier, upgrade to Asterisk 11.
  4. Delete any unnecessary CDRs.
  5. Before installing cpan packages check that there are no PERL environment variables set. If there are, packages may be installed into root's home directory and processes may not work when started on system boot. You should remove the variables from /root/.bashrc (or wherever set them) and then logout and login to the shell to clear the variables. To check for PERL environment variables run:
    • env | grep PERL

To upgrade

  1. If using database replication, check for the following lines in /etc/my.cnf or /etc/mysql/my.cnf and add them if missing. Restart the mysql server and check replication is working after making changes.
    • auto_increment_increment = 2
    • auto_increment_offset = 1 on the primary machine, and auto_increment_offset = 2 on the backup machine.
  2. On all machines, check out /opt/enswitch/3.15.
  3. On all machines, update the /opt/enswitch/current symlink.
  4. On Debian Jessie and earlier do:
    • apt-get install libpng-dev
  5. On all CentOS or Redhat Enterprise machines do:
    • yum -y install libpng-devel
  6. On all CentOS or Redhat Enterprise machines older than CentOS/RHEL 7 or Fedora machines older than 19, do:
    • cpanm Socket
  7. Enswitch servers with a compiled HTMLDOC version older than 1.8.30 can skip this step and will continue working fine (check /usr/src/ and htmldoc --version). On all servers with a compiled HTMLDOC version 1.8.30 or newer do:
    • For CentOS, RedHat or Fedora: yum install gnutls-devel
    • For Debian or Ubuntu: apt-get install libgnutls28-dev

    This is needed to properly handle links that use the HTTPS protocol when converting from HTML to PDF files.

    Reinstall HTMLDOC to ensure that it detects and uses the previously installed GnuTLS development library to handle HTTPS links, with this command:

    • enswitch install -u htmldoc
  8. On the primary database machine, do:
    • enswitch upgrade
    • enswitch install_provisioning
  9. On all web server machines, add the following lines to /etc/apache2/sites-enabled/enswitch.conf or /etc/httpd/conf.d/enswitch.conf (depending on Linux distribution) immediately below the similar line for Digium:
    ScriptAliasMatch ^/provision/grandstream/[\w\.\-]+$ /opt/enswitch/current/web/dist/provision/grandstream/index.pl
    ScriptAliasMatch ^/provision/htek/[\w\.\-]+$ /opt/enswitch/current/www/provision/htek/index.pl
    ScriptAliasMatch ^/provision/mitel/[\w\.\-]+$ /opt/enswitch/current/web/dist/provision/mitel/index.pl
  10. In /etc/asterisk/features.conf on each Asterisk server, ensure "parkeddynamic" is set to "no" if this line exists.
  11. On all machines, do:
    • enswitch restart
  12. Ensure that all machines in the cluster are listed under System » Machines.
  13. Ensure that sipsak is installed on all machines in the cluster. If necessary, run "enswitch install sipsak".
  14. Test calls and the web interface.
  15. On the primary database machine, do:
    • enswitch after_upgrade
  16. On the primary file storage machine, enable the enswitch_cleanup crontab entry and disable any enswitch_cleanup_local entries.
  17. On all machines except than the primary file storage machine, enable the enswitch_cleanup_local crontab entry and disable any enswitch_cleanup entries.