update kamailio database for version 3.3

2.6
Andrew Pogrebennyk 14 years ago
parent 0191a4b340
commit bc491373e9

@ -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');

@ -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);
Loading…
Cancel
Save