diff --git a/db_scripts/diff/9204.up b/db_scripts/diff/9204.up new file mode 100644 index 00000000..0e11cacd --- /dev/null +++ b/db_scripts/diff/9204.up @@ -0,0 +1,120 @@ +use kamailio + +-- Upgrade Kamailio from v3.1.x to v3.2.0 +ALTER TABLE acc MODIFY callid VARCHAR(255) DEFAULT '' NOT NULL; +#ALTER TABLE missed_calls MODIFY callid VARCHAR(255) DEFAULT '' NOT NULL; + +INSERT INTO version (table_name, table_version) VALUES ('dialog_vars','1'); +CREATE TABLE dialog_vars ( + id INT(10) UNSIGNED AUTO_INCREMENT PRIMARY KEY NOT NULL, + hash_entry INT(10) UNSIGNED NOT NULL, + hash_id INT(10) UNSIGNED NOT NULL, + dialog_key VARCHAR(128) NOT NULL, + dialog_value VARCHAR(512) NOT NULL +) ENGINE=MyISAM; +CREATE INDEX hash_idx ON dialog_vars (hash_entry, hash_id); + +UPDATE version SET table_version=2 WHERE table_name="lcr_gw"; +#ALTER TABLE lcr_gw DROP INDEX lcr_id_ip_addr_port_hostname_idx; +ALTER TABLE lcr_gw ADD prefix VARCHAR(16) DEFAULT NULL; +ALTER TABLE lcr_gw MODIFY tag VARCHAR(64) DEFAULT NULL; +CREATE INDEX lcr_id_idx ON lcr_gw (lcr_id); + +#UPDATE version SET table_version=3 WHERE table_name="sip_trace"; +#ALTER TABLE sip_trace ADD COLUMN time_us INT UNSIGNED DEFAULT 0 NOT NULL; +#ALTER TABLE sip_trace MODIFY msg MEDIUMTEXT NOT NULL; + + +-- Upgrade Kamailio from v3.2.x to v3.3.0 +-- PERMISSIONS module +ALTER TABLE address CHANGE COLUMN ip_addr ip_addr varchar(48) NOT NULL; # was varchar(15) NOT NULL +ALTER TABLE address CHANGE COLUMN grp grp int(11) UNSIGNED NOT NULL DEFAULT '1'; # was smallint(5) UNSIGNED NOT NULL DEFAULT '1' +ALTER TABLE address CHANGE COLUMN mask mask int(11) NOT NULL DEFAULT '32'; # was tinyint(4) NOT NULL DEFAULT '32' + +-- DIALOG module +DELETE FROM dialog; +ALTER TABLE dialog CHANGE COLUMN caller_cseq caller_cseq varchar(20) NOT NULL; # was varchar(7) NOT NULL +ALTER TABLE dialog CHANGE COLUMN callee_cseq callee_cseq varchar(20) NOT NULL; # was varchar(7) NOT NULL +ALTER TABLE dialog DROP COLUMN toroute; # was int(10) UNSIGNED NOT NULL DEFAULT '0' +ALTER TABLE dialog ADD COLUMN iflags int(10) UNSIGNED NOT NULL DEFAULT '0'; +ALTER TABLE dialog ADD COLUMN xdata varchar(512) DEFAULT NULL; + +DELETE FROM dialog_vars; + +-- LCR module +#ALTER TABLE lcr_gw CHANGE COLUMN ip_addr ip_addr varchar(47) DEFAULT NULL; # was varchar(15) DEFAULT NULL +#ALTER TABLE lcr_rule ADD COLUMN request_uri varchar(64) DEFAULT NULL; + +-- USRLOC module +DELETE FROM location; +ALTER TABLE location ADD COLUMN ruid varchar(64) NOT NULL DEFAULT ''; +ALTER TABLE location ADD COLUMN reg_id int(11) NOT NULL DEFAULT '0'; +ALTER TABLE location ADD COLUMN instance varchar(255) DEFAULT NULL; + +INSERT INTO version (table_name, table_version) values ('aliases','5'); +CREATE TABLE aliases ( + id INT(10) UNSIGNED AUTO_INCREMENT PRIMARY KEY NOT NULL, + ruid VARCHAR(64) DEFAULT '' NOT NULL, + username VARCHAR(64) DEFAULT '' NOT NULL, + domain VARCHAR(64) DEFAULT NULL, + contact VARCHAR(255) DEFAULT '' NOT NULL, + received VARCHAR(128) DEFAULT NULL, + path VARCHAR(128) DEFAULT NULL, + expires DATETIME DEFAULT '2020-05-28 21:32:15' NOT NULL, + q FLOAT(10,2) DEFAULT 1.0 NOT NULL, + callid VARCHAR(255) DEFAULT 'Default-Call-ID' NOT NULL, + cseq INT(11) DEFAULT 1 NOT NULL, + last_modified DATETIME DEFAULT '1900-01-01 00:00:01' NOT NULL, + flags INT(11) DEFAULT 0 NOT NULL, + cflags INT(11) DEFAULT 0 NOT NULL, + user_agent VARCHAR(255) DEFAULT '' NOT NULL, + socket VARCHAR(64) DEFAULT NULL, + methods INT(11) DEFAULT NULL, + instance VARCHAR(255) DEFAULT NULL, + reg_id INT(11) DEFAULT 0 NOT NULL +) ENGINE=MyISAM; + +#TODO: check ERROR 1071 (42000): Specified key was too long; max key length is 1000 bytes: +#CREATE INDEX alias_idx ON aliases (username, domain, contact); + +-- DOMAIN module +ALTER TABLE domain CHANGE COLUMN domain domain varchar(64) NOT NULL; # was varchar(64) NOT NULL DEFAULT '' +ALTER TABLE domain ADD COLUMN did varchar(64) DEFAULT NULL; + +CREATE TABLE domain_attrs ( + id int(10) UNSIGNED NOT NULL AUTO_INCREMENT, + did varchar(64) NOT NULL, + name varchar(32) NOT NULL, + type int(10) UNSIGNED NOT NULL, + value varchar(255) NOT NULL, + last_modified datetime NOT NULL DEFAULT '1900-01-01 00:00:01', + PRIMARY KEY (id), + UNIQUE KEY domain_attrs_idx (did,name,value) +) ENGINE=MyISAM DEFAULT CHARSET=latin1; + +-- PRESENCE modules + +-- HTABLE module +DELETE FROM version WHERE table_name='htable'; +INSERT INTO version (table_name, table_version) VALUES ('htable','2'); +CREATE TABLE htable ( + id INT(10) UNSIGNED AUTO_INCREMENT PRIMARY KEY NOT NULL, + key_name VARCHAR(64) DEFAULT '' NOT NULL, + key_type INT DEFAULT 0 NOT NULL, + value_type INT DEFAULT 0 NOT NULL, + key_value VARCHAR(128) DEFAULT '' NOT NULL, + expires INT DEFAULT 0 NOT NULL +) ENGINE=MyISAM; + +-- VERSION table +DELETE FROM version WHERE table_name='address'; +INSERT INTO version (table_name, table_version) VALUES ('address','5'); +DELETE FROM version WHERE table_name='dialog'; +INSERT INTO version (table_name, table_version) VALUES ('dialog','7'); +DELETE FROM version WHERE table_name='domain'; +INSERT INTO version (table_name, table_version) VALUES ('domain','2'); +DELETE FROM version WHERE table_name='domain_attrs'; +INSERT INTO version (table_name, table_version) VALUES ('domain_attrs','1'); +DELETE FROM version WHERE table_name='location'; +INSERT INTO version (table_name, table_version) VALUES ('location','5'); + diff --git a/db_scripts/diff/9205.up b/db_scripts/diff/9205.up new file mode 100644 index 00000000..4d514d50 --- /dev/null +++ b/db_scripts/diff/9205.up @@ -0,0 +1,197 @@ +-- PRESENCE and RLS modules +use kamailio + +INSERT INTO version (table_name, table_version) values ('presentity','3'); +DROP TABLE IF EXISTS presentity; +CREATE TABLE presentity ( + id INT(10) UNSIGNED AUTO_INCREMENT PRIMARY KEY NOT NULL, + username VARCHAR(64) NOT NULL, + domain VARCHAR(64) NOT NULL, + event VARCHAR(64) NOT NULL, + etag VARCHAR(64) NOT NULL, + expires INT(11) NOT NULL, + received_time INT(11) NOT NULL, + body BLOB NOT NULL, + sender VARCHAR(128) NOT NULL, + CONSTRAINT presentity_idx UNIQUE (username, domain, event, etag) +) ENGINE=MyISAM; + +CREATE INDEX presentity_expires ON presentity (expires); +CREATE INDEX account_idx ON presentity (username, domain, event); + +INSERT INTO version (table_name, table_version) values ('active_watchers','11'); +DROP TABLE IF EXISTS active_watchers; +CREATE TABLE active_watchers ( + id INT(10) UNSIGNED AUTO_INCREMENT PRIMARY KEY NOT NULL, + presentity_uri VARCHAR(128) NOT NULL, + watcher_username VARCHAR(64) NOT NULL, + watcher_domain VARCHAR(64) NOT NULL, + to_user VARCHAR(64) NOT NULL, + to_domain VARCHAR(64) NOT NULL, + event VARCHAR(64) DEFAULT 'presence' NOT NULL, + event_id VARCHAR(64), + to_tag VARCHAR(64) NOT NULL, + from_tag VARCHAR(64) NOT NULL, + callid VARCHAR(255) NOT NULL, + local_cseq INT(11) NOT NULL, + remote_cseq INT(11) NOT NULL, + contact VARCHAR(128) NOT NULL, + record_route TEXT, + expires INT(11) NOT NULL, + status INT(11) DEFAULT 2 NOT NULL, + reason VARCHAR(64) NOT NULL, + version INT(11) DEFAULT 0 NOT NULL, + socket_info VARCHAR(64) NOT NULL, + local_contact VARCHAR(128) NOT NULL, + from_user VARCHAR(64) NOT NULL, + from_domain VARCHAR(64) NOT NULL, + updated INT(11) NOT NULL, + updated_winfo INT(11) NOT NULL, + CONSTRAINT active_watchers_idx UNIQUE (callid, to_tag, from_tag) +) ENGINE=MyISAM; + +CREATE INDEX active_watchers_expires ON active_watchers (expires); +CREATE INDEX active_watchers_pres ON active_watchers (presentity_uri); +CREATE INDEX updated_idx ON active_watchers (updated); +CREATE INDEX updated_winfo_idx ON active_watchers (updated_winfo, presentity_uri); + +INSERT INTO version (table_name, table_version) values ('watchers','3'); +DROP TABLE IF EXISTS watchers; +CREATE TABLE watchers ( + id INT(10) UNSIGNED AUTO_INCREMENT PRIMARY KEY NOT NULL, + presentity_uri VARCHAR(128) NOT NULL, + watcher_username VARCHAR(64) NOT NULL, + watcher_domain VARCHAR(64) NOT NULL, + event VARCHAR(64) DEFAULT 'presence' NOT NULL, + status INT(11) NOT NULL, + reason VARCHAR(64), + inserted_time INT(11) NOT NULL, + CONSTRAINT watcher_idx UNIQUE (presentity_uri, watcher_username, watcher_domain, event) +) ENGINE=MyISAM; + +INSERT INTO version (table_name, table_version) values ('xcap','4'); +DROP TABLE IF EXISTS xcap; +CREATE TABLE xcap ( + id INT(10) UNSIGNED AUTO_INCREMENT PRIMARY KEY NOT NULL, + username VARCHAR(64) NOT NULL, + domain VARCHAR(64) NOT NULL, + doc MEDIUMBLOB NOT NULL, + doc_type INT(11) NOT NULL, + etag VARCHAR(64) NOT NULL, + source INT(11) NOT NULL, + doc_uri VARCHAR(255) NOT NULL, + port INT(11) NOT NULL, + CONSTRAINT doc_uri_idx UNIQUE (doc_uri) +) ENGINE=MyISAM; + +CREATE INDEX account_doc_type_idx ON xcap (username, domain, doc_type); +CREATE INDEX account_doc_type_uri_idx ON xcap (username, domain, doc_type, doc_uri); +CREATE INDEX account_doc_uri_idx ON xcap (username, domain, doc_uri); + +INSERT INTO version (table_name, table_version) values ('pua','7'); +DROP TABLE IF EXISTS pua; +CREATE TABLE pua ( + id INT(10) UNSIGNED AUTO_INCREMENT PRIMARY KEY NOT NULL, + pres_uri VARCHAR(128) NOT NULL, + pres_id VARCHAR(255) NOT NULL, + event INT(11) NOT NULL, + expires INT(11) NOT NULL, + desired_expires INT(11) NOT NULL, + flag INT(11) NOT NULL, + etag VARCHAR(64) NOT NULL, + tuple_id VARCHAR(64), + watcher_uri VARCHAR(128) NOT NULL, + call_id VARCHAR(255) NOT NULL, + to_tag VARCHAR(64) NOT NULL, + from_tag VARCHAR(64) NOT NULL, + cseq INT(11) NOT NULL, + record_route TEXT, + contact VARCHAR(128) NOT NULL, + remote_contact VARCHAR(128) NOT NULL, + version INT(11) NOT NULL, + extra_headers TEXT NOT NULL, + CONSTRAINT pua_idx UNIQUE (etag, tuple_id, call_id, from_tag), + CONSTRAINT expires_idx UNIQUE (expires) +) ENGINE=MyISAM; + +CREATE INDEX dialog1_idx ON pua (call_id, from_tag, to_tag); +CREATE INDEX dialog2_idx ON pua (pres_id, pres_uri); +CREATE INDEX tmp_dlg1_idx ON pua (call_id, from_tag); +CREATE INDEX tmp_dlg2_idx ON pua (pres_id, pres_uri, call_id, from_tag); +CREATE INDEX tmp_record1_idx ON pua (pres_id); +CREATE INDEX tmp_record2_idx ON pua (pres_id, etag); + +INSERT INTO version (table_name, table_version) values ('rls_presentity','1'); +DROP TABLE IF EXISTS rls_presentity; +CREATE TABLE rls_presentity ( + id INT(10) UNSIGNED AUTO_INCREMENT PRIMARY KEY NOT NULL, + rlsubs_did VARCHAR(255) NOT NULL, + resource_uri VARCHAR(128) NOT NULL, + content_type VARCHAR(255) NOT NULL, + presence_state BLOB NOT NULL, + expires INT(11) NOT NULL, + updated INT(11) NOT NULL, + auth_state INT(11) NOT NULL, + reason VARCHAR(64) NOT NULL, + CONSTRAINT rls_presentity_idx UNIQUE (rlsubs_did, resource_uri) +) ENGINE=MyISAM; + +CREATE INDEX rlsubs_idx ON rls_presentity (rlsubs_did); +CREATE INDEX updated_idx ON rls_presentity (updated); +CREATE INDEX expires_idx ON rls_presentity (expires); + +INSERT INTO version (table_name, table_version) values ('rls_watchers','3'); +DROP TABLE IF EXISTS rls_watchers; +CREATE TABLE rls_watchers ( + id INT(10) UNSIGNED AUTO_INCREMENT PRIMARY KEY NOT NULL, + presentity_uri VARCHAR(128) NOT NULL, + to_user VARCHAR(64) NOT NULL, + to_domain VARCHAR(64) NOT NULL, + watcher_username VARCHAR(64) NOT NULL, + watcher_domain VARCHAR(64) NOT NULL, + event VARCHAR(64) DEFAULT 'presence' NOT NULL, + event_id VARCHAR(64), + to_tag VARCHAR(64) NOT NULL, + from_tag VARCHAR(64) NOT NULL, + callid VARCHAR(255) NOT NULL, + local_cseq INT(11) NOT NULL, + remote_cseq INT(11) NOT NULL, + contact VARCHAR(128) NOT NULL, + record_route TEXT, + expires INT(11) NOT NULL, + status INT(11) DEFAULT 2 NOT NULL, + reason VARCHAR(64) NOT NULL, + version INT(11) DEFAULT 0 NOT NULL, + socket_info VARCHAR(64) NOT NULL, + local_contact VARCHAR(128) NOT NULL, + from_user VARCHAR(64) NOT NULL, + from_domain VARCHAR(64) NOT NULL, + updated INT(11) NOT NULL, + CONSTRAINT rls_watcher_idx UNIQUE (callid, to_tag, from_tag) +) ENGINE=MyISAM; + +CREATE INDEX rls_watchers_delete ON rls_watchers (callid, to_tag); +CREATE INDEX rls_watchers_update ON rls_watchers (watcher_username, watcher_domain, event); +CREATE INDEX rls_watchers_expires ON rls_watchers (expires); +CREATE INDEX updated_idx ON rls_watchers (updated); + +INSERT INTO version (table_name, table_version) values ('silo','7'); +DROP TABLE IF EXISTS silo; +CREATE TABLE silo ( + id INT(10) UNSIGNED AUTO_INCREMENT PRIMARY KEY NOT NULL, + src_addr VARCHAR(128) DEFAULT '' NOT NULL, + dst_addr VARCHAR(128) DEFAULT '' NOT NULL, + username VARCHAR(64) DEFAULT '' NOT NULL, + domain VARCHAR(64) DEFAULT '' NOT NULL, + inc_time INT DEFAULT 0 NOT NULL, + exp_time INT DEFAULT 0 NOT NULL, + snd_time INT DEFAULT 0 NOT NULL, + ctype VARCHAR(32) DEFAULT 'text/plain' NOT NULL, + body BLOB DEFAULT '' NOT NULL, + extra_hdrs TEXT DEFAULT '' NOT NULL, + callid VARCHAR(128) DEFAULT '' NOT NULL, + status INT DEFAULT 0 NOT NULL +) ENGINE=MyISAM; + +CREATE INDEX account_idx ON silo (username, domain); +