Table of Contents

Upgrade Kamailio from v4.1.x to v4.2.0

The page contains the details about the changes that were made to old components during the development of v4.2.0 compared with what existed in v4.1.x.

It does not include the brand new modules, focusing on how to upgrade database and configuration file from v4.1.x to run with Kamailio 4.2.x.

The draft with what is new in release 4.2.x is available at:

Previous Stable Release

If you look for the guidelines to upgrade to previous stable release, see:

Remarks

Following tokens are used to mark the changes:

Modules

usrloc

tm

auth_db

Core

Parameters

Changes to default values:

Database

There are quite minimal changes to the database structure, in short:

Upgrade Old MySQL Database Structure

Run following SQL statements in MySQL client to upgrade database structure from v4.1 to v4.2:

-- table: acc
ALTER TABLE acc CHANGE COLUMN sip_reason sip_reason VARCHAR(128) DEFAULT '' NOT NULL;
DELETE FROM version WHERE TABLE_NAME='acc';
INSERT INTO version (`table_name`, `table_version`) VALUES ('acc','5');
 
-- table: dialplan
ALTER TABLE dialplan CHANGE COLUMN repl_exp repl_exp VARCHAR(64) NOT NULL; 
ALTER TABLE dialplan CHANGE COLUMN attrs attrs VARCHAR(64) NOT NULL;
DELETE FROM version WHERE TABLE_NAME='dialplan';
INSERT INTO version (`table_name`, `table_version`) VALUES ('dialplan','2');
 
-- table: missed_calls
ALTER TABLE missed_calls CHANGE COLUMN sip_reason sip_reason VARCHAR(128) DEFAULT '' NOT NULL;
DELETE FROM version WHERE TABLE_NAME='missed_calls';
INSERT INTO version (`table_name`, `table_version`) VALUES ('missed_calls','4');

Upgrade Old Postgresql Database Structure

Run following SQL statements in psql client to upgrade database structure from v4.1 to v4.2:

-- table: acc
ALTER TABLE acc ALTER COLUMN sip_reason TYPE VARCHAR(128);
DELETE FROM version WHERE TABLE_NAME='acc';
INSERT INTO version (`table_name`, `table_version`) VALUES ('acc','5');
 
-- table: dialplan
ALTER TABLE dialplan ALTER COLUMN repl_exp TYPE VARCHAR(64); 
ALTER TABLE dialplan ALTER COLUMN attrs TYPE VARCHAR(64);
DELETE FROM version WHERE TABLE_NAME='dialplan';
INSERT INTO version (TABLE_NAME, table_version) VALUES ('dialplan','2');
 
-- table: missed_calls
ALTER TABLE missed_calls ALTER COLUMN sip_reason TYPE VARCHAR(128);
DELETE FROM version WHERE TABLE_NAME='missed_calls';
INSERT INTO version (TABLE_NAME, table_version) VALUES ('missed_calls','4');