install:upgrade:4.0.x-to-4.1.0
Differences
This shows you the differences between two versions of the page.
Next revision | Previous revision | ||
install:upgrade:4.0.x-to-4.1.0 [2013/10/28 16:22] – created miconda | install:upgrade:4.0.x-to-4.1.0 [2013/12/06 10:25] (current) – [Behaviour] miconda | ||
---|---|---|---|
Line 25: | Line 25: | ||
<code sql> | <code sql> | ||
- | TBA | + | ALTER TABLE dbaliases DROP INDEX alias_idx; # was UNIQUE (alias_username, |
+ | ALTER TABLE dbaliases ADD INDEX alias_idx (alias_username, | ||
+ | ALTER TABLE dbaliases ADD INDEX alias_user_idx (alias_username); | ||
+ | |||
+ | INSERT INTO version (table_name, | ||
+ | CREATE TABLE acc_cdrs ( | ||
+ | id int(10) unsigned NOT NULL AUTO_INCREMENT, | ||
+ | start_time varchar(32) NOT NULL DEFAULT '', | ||
+ | end_time varchar(32) NOT NULL DEFAULT '', | ||
+ | duration varchar(32) NOT NULL DEFAULT '', | ||
+ | PRIMARY KEY (id), | ||
+ | KEY start_time_idx (start_time) | ||
+ | ) ENGINE=InnoDB DEFAULT CHARSET=latin1; | ||
+ | |||
+ | INSERT INTO version (table_name, | ||
+ | CREATE TABLE mohqcalls ( | ||
+ | id int(10) unsigned NOT NULL AUTO_INCREMENT, | ||
+ | mohq_id int(10) unsigned NOT NULL, | ||
+ | call_id varchar(100) NOT NULL, | ||
+ | call_status int(10) unsigned NOT NULL, | ||
+ | call_from varchar(100) NOT NULL, | ||
+ | call_contact varchar(100) DEFAULT NULL, | ||
+ | call_time datetime NOT NULL, | ||
+ | PRIMARY KEY (id), | ||
+ | UNIQUE KEY mohqcalls_idx (call_id) | ||
+ | ) ENGINE=InnoDB DEFAULT CHARSET=latin1; | ||
+ | |||
+ | INSERT INTO version (table_name, | ||
+ | CREATE TABLE mohqueues ( | ||
+ | id int(10) unsigned NOT NULL AUTO_INCREMENT, | ||
+ | name varchar(25) NOT NULL, | ||
+ | uri varchar(100) NOT NULL, | ||
+ | mohdir varchar(100) DEFAULT NULL, | ||
+ | mohfile varchar(100) NOT NULL, | ||
+ | debug int(11) NOT NULL, | ||
+ | PRIMARY KEY (id), | ||
+ | UNIQUE KEY mohqueue_uri_idx (uri), | ||
+ | UNIQUE KEY mohqueue_name_idx (name) | ||
+ | ) ENGINE=InnoDB DEFAULT CHARSET=latin1; | ||
+ | |||
+ | INSERT INTO version (table_name, | ||
+ | CREATE TABLE rtpproxy ( | ||
+ | id INT(10) UNSIGNED AUTO_INCREMENT PRIMARY KEY NOT NULL, | ||
+ | setid VARCHAR(32) DEFAULT 00 NOT NULL, | ||
+ | url VARCHAR(64) DEFAULT '' | ||
+ | flags INT DEFAULT 0 NOT NULL, | ||
+ | weight INT DEFAULT 1 NOT NULL, | ||
+ | description VARCHAR(64) DEFAULT '' | ||
+ | ); | ||
</ | </ | ||
+ | The default engine has been set to InnoDB. Not really necessary for most of the tables, but if you want to change it, use following statements: | ||
+ | |||
+ | <code sql> | ||
+ | ALTER TABLE acc ENGINE=InnoDB DEFAULT CHARSET=latin1; | ||
+ | ALTER TABLE active_watchers ENGINE=InnoDB DEFAULT CHARSET=latin1; | ||
+ | ALTER TABLE address ENGINE=InnoDB DEFAULT CHARSET=latin1; | ||
+ | ALTER TABLE aliases ENGINE=InnoDB DEFAULT CHARSET=latin1; | ||
+ | ALTER TABLE carrier_name ENGINE=InnoDB DEFAULT CHARSET=latin1; | ||
+ | ALTER TABLE carrierfailureroute ENGINE=InnoDB DEFAULT CHARSET=latin1; | ||
+ | ALTER TABLE carrierroute ENGINE=InnoDB DEFAULT CHARSET=latin1; | ||
+ | ALTER TABLE cpl ENGINE=InnoDB DEFAULT CHARSET=latin1; | ||
+ | ALTER TABLE dbaliases ENGINE=InnoDB DEFAULT CHARSET=latin1; | ||
+ | ALTER TABLE dialog ENGINE=InnoDB DEFAULT CHARSET=latin1; | ||
+ | ALTER TABLE dialog_vars ENGINE=InnoDB DEFAULT CHARSET=latin1; | ||
+ | ALTER TABLE dialplan ENGINE=InnoDB DEFAULT CHARSET=latin1; | ||
+ | ALTER TABLE dispatcher ENGINE=InnoDB DEFAULT CHARSET=latin1; | ||
+ | ALTER TABLE `domain` ENGINE=InnoDB DEFAULT CHARSET=latin1; | ||
+ | ALTER TABLE domain_attrs ENGINE=InnoDB DEFAULT CHARSET=latin1; | ||
+ | ALTER TABLE domain_name ENGINE=InnoDB DEFAULT CHARSET=latin1; | ||
+ | ALTER TABLE domainpolicy ENGINE=InnoDB DEFAULT CHARSET=latin1; | ||
+ | ALTER TABLE globalblacklist ENGINE=InnoDB DEFAULT CHARSET=latin1; | ||
+ | ALTER TABLE grp ENGINE=InnoDB DEFAULT CHARSET=latin1; | ||
+ | ALTER TABLE htable ENGINE=InnoDB DEFAULT CHARSET=latin1; | ||
+ | ALTER TABLE imc_members ENGINE=InnoDB DEFAULT CHARSET=latin1; | ||
+ | ALTER TABLE imc_rooms ENGINE=InnoDB DEFAULT CHARSET=latin1; | ||
+ | ALTER TABLE lcr_gw ENGINE=InnoDB DEFAULT CHARSET=latin1; | ||
+ | ALTER TABLE lcr_rule ENGINE=InnoDB DEFAULT CHARSET=latin1; | ||
+ | ALTER TABLE lcr_rule_target ENGINE=InnoDB DEFAULT CHARSET=latin1; | ||
+ | ALTER TABLE location ENGINE=InnoDB DEFAULT CHARSET=latin1; | ||
+ | ALTER TABLE location_attrs ENGINE=InnoDB DEFAULT CHARSET=latin1; | ||
+ | ALTER TABLE missed_calls ENGINE=InnoDB DEFAULT CHARSET=latin1; | ||
+ | ALTER TABLE mtree ENGINE=InnoDB DEFAULT CHARSET=latin1; | ||
+ | ALTER TABLE mtrees ENGINE=InnoDB DEFAULT CHARSET=latin1; | ||
+ | ALTER TABLE pdt ENGINE=InnoDB DEFAULT CHARSET=latin1; | ||
+ | ALTER TABLE pl_pipes ENGINE=InnoDB DEFAULT CHARSET=latin1; | ||
+ | ALTER TABLE presentity ENGINE=InnoDB DEFAULT CHARSET=latin1; | ||
+ | ALTER TABLE pua ENGINE=InnoDB DEFAULT CHARSET=latin1; | ||
+ | ALTER TABLE purplemap ENGINE=InnoDB DEFAULT CHARSET=latin1; | ||
+ | ALTER TABLE re_grp ENGINE=InnoDB DEFAULT CHARSET=latin1; | ||
+ | ALTER TABLE rls_presentity ENGINE=InnoDB DEFAULT CHARSET=latin1; | ||
+ | ALTER TABLE rls_watchers ENGINE=InnoDB DEFAULT CHARSET=latin1; | ||
+ | ALTER TABLE sca_subscriptions ENGINE=InnoDB DEFAULT CHARSET=latin1; | ||
+ | ALTER TABLE silo ENGINE=InnoDB DEFAULT CHARSET=latin1; | ||
+ | ALTER TABLE sip_trace ENGINE=InnoDB DEFAULT CHARSET=latin1; | ||
+ | ALTER TABLE speed_dial ENGINE=InnoDB DEFAULT CHARSET=latin1; | ||
+ | ALTER TABLE subscriber ENGINE=InnoDB DEFAULT CHARSET=latin1; | ||
+ | ALTER TABLE `trusted` ENGINE=InnoDB DEFAULT CHARSET=latin1; | ||
+ | ALTER TABLE uacreg ENGINE=InnoDB DEFAULT CHARSET=latin1; | ||
+ | ALTER TABLE uid_credentials ENGINE=InnoDB DEFAULT CHARSET=latin1; | ||
+ | ALTER TABLE uid_domain ENGINE=InnoDB DEFAULT CHARSET=latin1; | ||
+ | ALTER TABLE uid_domain_attrs ENGINE=InnoDB DEFAULT CHARSET=latin1; | ||
+ | ALTER TABLE uid_global_attrs ENGINE=InnoDB DEFAULT CHARSET=latin1; | ||
+ | ALTER TABLE uid_uri ENGINE=InnoDB DEFAULT CHARSET=latin1; | ||
+ | ALTER TABLE uid_uri_attrs ENGINE=InnoDB DEFAULT CHARSET=latin1; | ||
+ | ALTER TABLE uid_user_attrs ENGINE=InnoDB DEFAULT CHARSET=latin1; | ||
+ | ALTER TABLE uri ENGINE=InnoDB DEFAULT CHARSET=latin1; | ||
+ | ALTER TABLE userblacklist ENGINE=InnoDB DEFAULT CHARSET=latin1; | ||
+ | ALTER TABLE usr_preferences ENGINE=InnoDB DEFAULT CHARSET=latin1; | ||
+ | ALTER TABLE version ENGINE=InnoDB DEFAULT CHARSET=latin1; | ||
+ | ALTER TABLE watchers ENGINE=InnoDB DEFAULT CHARSET=latin1; | ||
+ | ALTER TABLE xcap ENGINE=InnoDB DEFAULT CHARSET=latin1; | ||
+ | </ | ||
===== Configuration File Language ===== | ===== Configuration File Language ===== | ||
+ | |||
+ | ==== Core Parameters ==== | ||
+ | |||
+ | * **syn_branch** has been removed - core acts now always as syn_branch=0 - the Via header branch value is computed based on transaction attributes | ||
+ | * **dns_naptr_ignore_rfc** has been added. Specifies if the Order field in a NAPTR record should be respected. Old code, and still default, is to ignore. | ||
+ | |||
+ | ==== Behaviour ==== | ||
+ | |||
+ | === Comparison with $null === | ||
+ | |||
+ | In short | ||
+ | * now: if($var(a)==$null) is always false | ||
+ | * previous: if($var(a)==$null) was true if $var(a) had the value 0 | ||
+ | |||
+ | **// | ||
+ | |||
+ | **$null** is a special variable that was meant to test if a variable is defined or not (exists or not). It was introduced during Kamailio 1.x series (OpenSER at that time). | ||
+ | |||
+ | For example: | ||
+ | |||
+ | <code c> | ||
+ | if($avp(x)==$null) | ||
+ | </ | ||
+ | |||
+ | Should return true if there was no value assigned to $avp(x). | ||
+ | |||
+ | However, some variables are defined always (eventually initialized to 0), such as $var(a) or $shv(b). | ||
+ | |||
+ | Starting with v3.0.0 when the core from Kamailio point of view was refactored, as part of integration with SER, the comparison with $null mistakenly became the same as comparison with integer 0 (zero). | ||
+ | |||
+ | Some of the comparisons kept working, but some gave wrong result: | ||
+ | |||
+ | <code c> | ||
+ | $avp(x)=0; | ||
+ | if($avp(x)==$null) | ||
+ | </ | ||
+ | |||
+ | was true, but actually $avp(x) was defined, having value 0. | ||
+ | |||
+ | Issue was reported on: | ||
+ | * https:// | ||
+ | |||
+ | |||
+ | **// | ||
+ | |||
+ | Don't compare $var(...) and $shv(...) with $null, they are always defined and initialized to 0. You can eventually compare them with 0 (instead of $null). | ||
install/upgrade/4.0.x-to-4.1.0.1382977339.txt.gz · Last modified: 2013/10/28 16:22 by miconda