Table of Contents
Migrating Kamailio v1.4.x to Kamailio v1.5.0
Please also take a look at this page for a overview of the changes in this release.
Changes in server core
* IMPORTANT: Pseudo-variables and Transformations are now exported by the pv module. If you use pseudo-variables and transformations in your config file, you have to load pv module:
loadmodule "pv.so"
* the meaning of the server binary parameter “-D” was changed, the old behaviour can be now achived with the new parameter “-F”.
* the size of the private memory pool was increases, it uses now 4 MB per process instead of 1 MB
* IMPORTANT: Several modules were merged - you have to remove the loading of old-name module, load the new-name module and update setting of the parameters, for example: uri in siputils complete list in next section
Changes in modules
* the functionality of the gflags module was integrated into cfgutils internal functionality, function names and MI commands are the same the parameter “initial” was renamed to “initial_gflags”
* database related parameters for the carrierroute modules were unified all column parameter have not the suffix '_col' the db_table parameter was changed to carrierroute_table
* database related parameters for the userblacklist module were unified the db_table parameter was changed to userblacklist_table * the db_mysql module evaluates the mysql DB_DECIMAL and DB_NEW_DECIMAL type now as DB_STRING, and not as DB_INT * the db_mysql module evaluates avp_db_query return values of “0” as <null>. * the db_mysql and db_unixodbc modules now copy string they received from a query, this means that memory requirements could increased * the carrierroute and userblacklist module stop now the prefix matching on a non-numerical character in the URI, in older versions its skipped them * the functionality of the options module was integrated into siputils function name was not changed, all parameters were prefixed with “options_” internal functionality is the same, only some refactoring have been done * the functionality of the uri module was integrated into siputils function names were not changed, internal functionality is the same
* the encoding and decoding functionality of the mangler module was integrated into siputils ** functions names and parameter not changed, the SDP related functions were removed
* the avp_url parameter of the avpops module was removed, just use the db_url parameter instead
* the destavp parameter in several carrierroute functions was removed, this can be achieved with the standard pseudo-variable “$rd”
Changes in database schemes
The following SQL statements (for MySQL) can be used to convert a 1.4.x database to the new scheme. Please note that this is work in progress.
UPDATE version SET table_version=3 WHERE table_name='carrierroute'; UPDATE version SET table_version=2 WHERE table_name='carrierfailureroute'; INSERT INTO version (table_name, table_version) values ('carrier_name','1'); INSERT INTO version (table_name, table_version) values ('domain_name','1'); DELETE FROM version WHERE table_name='route_tree'; CREATE TABLE domain_name ( id INT(10) UNSIGNED AUTO_INCREMENT PRIMARY KEY NOT NULL, domain VARCHAR(64) DEFAULT NULL ); ALTER TABLE carrierroute CHANGE domain domain INT(10) UNSIGNED DEFAULT 0 NOT NULL; ALTER TABLE carrierfailureroute CHANGE domain domain INT(10) UNSIGNED DEFAULT 0 NOT NULL; ALTER TABLE carrierfailureroute CHANGE next_domain next_domain INT(10) UNSIGNED DEFAULT 0 NOT NULL; ALTER TABLE route_tree RENAME TO carrier_name; ALTER TABLE dispatcher ADD COLUMN priority INT DEFAULT 0 NOT NULL; UPDATE version SET table_version=3 WHERE table_name='dispatcher'; ALTER TABLE dialog ADD COLUMN sflags INT DEFAULT 0 NOT NULL; ALTER TABLE dialog ADD COLUMN toroute INT DEFAULT 0 NOT NULL; UPDATE version SET table_version=3 WHERE table_name='dialog'; # LCR updates are missing here