3.0 adds a column to the "cdrcosts" table, so the database upgrade may take tens of minutes on larger systems.

To upgrade from Enswitch 2.12 to Enswitch 3.0

  1. On all machines, check out /opt/enswitch/branches/3.0.
  2. On all machines, update the /opt/enswitch/current symlink.
  3. On the primary database machine, do:
    • /opt/enswitch/current/bin/enswitch_upgrade
  4. Determine whether OpenSIPS or OpenSER is in use, then edit /etc/opensips/opensips.cfg or /etc/openser/openser.cfg and after these lines:
    if ( method == "REGISTER" ) {
    	if ( ! www_authorize( "", "phones" ) ) {
    		www_challenge( "", "0" );
    		exit;
    	}
    
    add these lines, indenting as appropriate:
    perl_exec( "Integrics::Enswitch::OpenSIPS::check_register" );
    if ( isflagset( 7 ) ) {
    	sl_send_reply( "403", "Not allowed from this IP address" );
    	exit;
    }
    replacing OpenSIPS with OpenSER if necessary. If in doubt, read /opt/enswitch/current/install/etc/opensips/opensips.cfg to see the correct place and indenting.
  5. On all web machines, do:
    • perl -MCPAN -e 'install Pod::WSDL'
    • enswitch restart
  6. On all non-web machines, do:
    • enswitch restart
  7. Test calls and the web interface.
  8. On the primary database machine, do:
    • enswitch after_upgrade