====== Upgrade Kamailio from v5.4.x to v5.5.0 (devel) ====== The page contains the details about the changes that were made to old components during the development of v5.5.0 compared with what existed in v5.4.x. It does not include the brand new modules, focusing on how to upgrade database and configuration file from v5.4.x to run with Kamailio 5.5.0. ===== Previous Stable Release ===== If you look for the guidelines to upgrade to previous stable release, see: * [[install:upgrade:5.3.x-to-5.4.0|Upgrade Kamailio v5.3.x to v5.4.0]] ===== Remarks ===== Following tokens are used to mark the changes: * INF - the change doesn't really have any direct impact - no action required in old config * CPM - the change was used with the new value via explicit parameter in default config file from old releases * RCM - the change is recommended to be done if you had an explicit different or lower value for this parameter in old config * UPG - the change has to be done, older config does not work any longer ===== Modules ===== ==== Upgraded Modules ==== * none ==== Removed Modules ==== * none ==== Renamed Modules ==== === userblacklist to userblocklist === * https://www.kamailio.org/docs/modules/5.5.x/modules/userblocklist.html Impacted resources: * version table, userblacklist and globalblacklist entries renamed to userblocklist and globalblocklist * database table **globalblacklist** renamed to **globalblocklist** - its definition is now: CREATE TABLE globalblocklist ( id int(10) unsigned NOT NULL AUTO_INCREMENT, prefix varchar(64) NOT NULL DEFAULT '', allowlist tinyint(1) NOT NULL DEFAULT 0, description varchar(255) DEFAULT NULL, PRIMARY KEY (id), KEY globalblocklist_idx (prefix) ); Note also the changes in the column names and indexes. * database table **userblacklist** renamed to **userblocklist** - its definition is now: CREATE TABLE userblocklist ( id int(10) unsigned NOT NULL AUTO_INCREMENT, username varchar(64) NOT NULL DEFAULT '', domain varchar(64) NOT NULL DEFAULT '', prefix varchar(64) NOT NULL DEFAULT '', allowlist tinyint(1) NOT NULL DEFAULT 0, PRIMARY KEY (id), KEY userblocklist_idx (username,domain,prefix) ); Note also the changes in the column names and indexes. ===== Internal Libraries ===== ===== Core ===== ==== Parameters ==== === Dst Blocklist Parameters === All global parameters related to dst blocking are now using blocklist instead of blacklist in the name, see: * https://www.kamailio.org/wiki/cookbooks/devel/core#blocklist_parameters For example, **use_dst_blacklist** used in older versions has to be replaced by **use_dst_blocklist**. ==== Misc ==== * **#!substdef "/match/replacement/flags"** evaluates the **replacement** for variables to be coherent with **#!subst**, if there are variables that should not be evaluated during pre-processing phase, use **$$** at the beginning of variable (e.g., **$$var(x)*** ===== Database ===== ==== MySQL Database Structure ==== Run following SQL statements in MySQL client to upgrade database structure from v5.4 to v5.5: -- topos_d table ALTER TABLE topos_d ADD COLUMN x_context varchar(64) NOT NULL DEFAULT ''; UPDATE version SET table_version=2 WHERE TABLE_NAME='topos_d'; -- topos_t table ALTER TABLE topos_t ADD COLUMN x_context varchar(64) NOT NULL DEFAULT ''; UPDATE version SET table_version=2 WHERE TABLE_NAME='topos_t'; -- uacreg table ALTER TABLE uacreg ADD COLUMN contact_addr varchar(255) NOT NULL DEFAULT ''; UPDATE version SET table_version=5 WHERE TABLE_NAME='uacreg'; -- IMPORTANT: see also the notes about the userblocklist module