install:upgrade:4.0.x-to-4.1.0
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
install:upgrade:4.0.x-to-4.1.0 [2013/10/30 07:59] – [Configuration File Language] miconda | install:upgrade:4.0.x-to-4.1.0 [2013/12/06 10:25] (current) – [Behaviour] miconda | ||
---|---|---|---|
Line 28: | Line 28: | ||
ALTER TABLE dbaliases ADD INDEX alias_idx (alias_username, | ALTER TABLE dbaliases ADD INDEX alias_idx (alias_username, | ||
ALTER TABLE dbaliases ADD INDEX alias_user_idx (alias_username); | ALTER TABLE dbaliases ADD INDEX alias_user_idx (alias_username); | ||
+ | |||
+ | INSERT INTO version (table_name, | ||
CREATE TABLE acc_cdrs ( | CREATE TABLE acc_cdrs ( | ||
id int(10) unsigned NOT NULL AUTO_INCREMENT, | id int(10) unsigned NOT NULL AUTO_INCREMENT, | ||
Line 37: | Line 39: | ||
) ENGINE=InnoDB DEFAULT CHARSET=latin1; | ) ENGINE=InnoDB DEFAULT CHARSET=latin1; | ||
+ | INSERT INTO version (table_name, | ||
CREATE TABLE mohqcalls ( | CREATE TABLE mohqcalls ( | ||
id int(10) unsigned NOT NULL AUTO_INCREMENT, | id int(10) unsigned NOT NULL AUTO_INCREMENT, | ||
Line 49: | Line 52: | ||
) ENGINE=InnoDB DEFAULT CHARSET=latin1; | ) ENGINE=InnoDB DEFAULT CHARSET=latin1; | ||
+ | INSERT INTO version (table_name, | ||
CREATE TABLE mohqueues ( | CREATE TABLE mohqueues ( | ||
id int(10) unsigned NOT NULL AUTO_INCREMENT, | id int(10) unsigned NOT NULL AUTO_INCREMENT, | ||
Line 61: | Line 65: | ||
) ENGINE=InnoDB DEFAULT CHARSET=latin1; | ) 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 '' | ||
+ | ); | ||
</ | </ | ||
Line 79: | Line 92: | ||
ALTER TABLE dialplan ENGINE=InnoDB DEFAULT CHARSET=latin1; | ALTER TABLE dialplan ENGINE=InnoDB DEFAULT CHARSET=latin1; | ||
ALTER TABLE dispatcher ENGINE=InnoDB DEFAULT CHARSET=latin1; | ALTER TABLE dispatcher ENGINE=InnoDB DEFAULT CHARSET=latin1; | ||
- | ALTER TABLE domain 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_attrs ENGINE=InnoDB DEFAULT CHARSET=latin1; | ||
ALTER TABLE domain_name ENGINE=InnoDB DEFAULT CHARSET=latin1; | ALTER TABLE domain_name ENGINE=InnoDB DEFAULT CHARSET=latin1; | ||
Line 109: | Line 122: | ||
ALTER TABLE speed_dial ENGINE=InnoDB DEFAULT CHARSET=latin1; | ALTER TABLE speed_dial ENGINE=InnoDB DEFAULT CHARSET=latin1; | ||
ALTER TABLE subscriber ENGINE=InnoDB DEFAULT CHARSET=latin1; | ALTER TABLE subscriber ENGINE=InnoDB DEFAULT CHARSET=latin1; | ||
- | ALTER TABLE trusted ENGINE=InnoDB DEFAULT CHARSET=latin1; | + | ALTER TABLE `trusted` ENGINE=InnoDB DEFAULT CHARSET=latin1; |
ALTER TABLE uacreg 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_credentials ENGINE=InnoDB DEFAULT CHARSET=latin1; | ||
Line 129: | Line 142: | ||
==== Core Parameters ==== | ==== 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 | + | * **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.1383119983.txt.gz · Last modified: 2013/10/30 07:59 by miconda