====== Migrating Kamailio v1.4.x to Kamailio v1.5.0 ====== Please also take a look at [[features:new-in-1.5.x|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 [b]pv[/b] module. If you use pseudo-variables and transformations in your config file, you have to load [b]pv[/b] module: loadmodule "pv.so" * the meaning of the server binary parameter [b]"-D"[/b] was changed, the old behaviour can be now achived with the new parameter [b]"-F"[/b]. * 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: ** [b]uri[/b] in [b]siputils[/b] ** 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 . * 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 [[http://cvresumewritingservices.org/|resume writing]]