mirror of https://github.com/sipwise/kamailio.git
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
123 lines
4.3 KiB
123 lines
4.3 KiB
CREATE TABLE presentity (
|
|
id SERIAL PRIMARY KEY NOT NULL,
|
|
username VARCHAR(64) NOT NULL,
|
|
domain VARCHAR(64) NOT NULL,
|
|
event VARCHAR(64) NOT NULL,
|
|
etag VARCHAR(128) NOT NULL,
|
|
expires INTEGER NOT NULL,
|
|
received_time INTEGER NOT NULL,
|
|
body BYTEA NOT NULL,
|
|
sender VARCHAR(255) NOT NULL,
|
|
priority INTEGER DEFAULT 0 NOT NULL,
|
|
ruid VARCHAR(64),
|
|
CONSTRAINT presentity_presentity_idx UNIQUE (username, domain, event, etag),
|
|
CONSTRAINT presentity_ruid_idx UNIQUE (ruid)
|
|
);
|
|
|
|
CREATE INDEX presentity_presentity_expires ON presentity (expires);
|
|
CREATE INDEX presentity_account_idx ON presentity (username, domain, event);
|
|
|
|
INSERT INTO version (table_name, table_version) values ('presentity','5');
|
|
|
|
CREATE TABLE active_watchers (
|
|
id SERIAL PRIMARY KEY NOT NULL,
|
|
presentity_uri VARCHAR(255) 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(128) NOT NULL,
|
|
from_tag VARCHAR(128) NOT NULL,
|
|
callid VARCHAR(255) NOT NULL,
|
|
local_cseq INTEGER NOT NULL,
|
|
remote_cseq INTEGER NOT NULL,
|
|
contact VARCHAR(255) NOT NULL,
|
|
record_route TEXT,
|
|
expires INTEGER NOT NULL,
|
|
status INTEGER DEFAULT 2 NOT NULL,
|
|
reason VARCHAR(64),
|
|
version INTEGER DEFAULT 0 NOT NULL,
|
|
socket_info VARCHAR(64) NOT NULL,
|
|
local_contact VARCHAR(255) NOT NULL,
|
|
from_user VARCHAR(64) NOT NULL,
|
|
from_domain VARCHAR(64) NOT NULL,
|
|
updated INTEGER NOT NULL,
|
|
updated_winfo INTEGER NOT NULL,
|
|
flags INTEGER DEFAULT 0 NOT NULL,
|
|
user_agent VARCHAR(255) DEFAULT '',
|
|
CONSTRAINT active_watchers_active_watchers_idx UNIQUE (callid, to_tag, from_tag)
|
|
);
|
|
|
|
CREATE INDEX active_watchers_active_watchers_expires ON active_watchers (expires);
|
|
CREATE INDEX active_watchers_active_watchers_pres ON active_watchers (presentity_uri, event);
|
|
CREATE INDEX active_watchers_updated_idx ON active_watchers (updated);
|
|
CREATE INDEX active_watchers_updated_winfo_idx ON active_watchers (updated_winfo, presentity_uri);
|
|
|
|
INSERT INTO version (table_name, table_version) values ('active_watchers','12');
|
|
|
|
CREATE TABLE watchers (
|
|
id SERIAL PRIMARY KEY NOT NULL,
|
|
presentity_uri VARCHAR(255) NOT NULL,
|
|
watcher_username VARCHAR(64) NOT NULL,
|
|
watcher_domain VARCHAR(64) NOT NULL,
|
|
event VARCHAR(64) DEFAULT 'presence' NOT NULL,
|
|
status INTEGER NOT NULL,
|
|
reason VARCHAR(64),
|
|
inserted_time INTEGER NOT NULL,
|
|
CONSTRAINT watchers_watcher_idx UNIQUE (presentity_uri, watcher_username, watcher_domain, event)
|
|
);
|
|
|
|
INSERT INTO version (table_name, table_version) values ('watchers','3');
|
|
|
|
CREATE TABLE xcap (
|
|
id SERIAL PRIMARY KEY NOT NULL,
|
|
username VARCHAR(64) NOT NULL,
|
|
domain VARCHAR(64) NOT NULL,
|
|
doc BYTEA NOT NULL,
|
|
doc_type INTEGER NOT NULL,
|
|
etag VARCHAR(128) NOT NULL,
|
|
source INTEGER NOT NULL,
|
|
doc_uri VARCHAR(255) NOT NULL,
|
|
port INTEGER NOT NULL,
|
|
CONSTRAINT xcap_doc_uri_idx UNIQUE (doc_uri)
|
|
);
|
|
|
|
CREATE INDEX xcap_account_doc_type_idx ON xcap (username, domain, doc_type);
|
|
CREATE INDEX xcap_account_doc_type_uri_idx ON xcap (username, domain, doc_type, doc_uri);
|
|
CREATE INDEX xcap_account_doc_uri_idx ON xcap (username, domain, doc_uri);
|
|
|
|
INSERT INTO version (table_name, table_version) values ('xcap','4');
|
|
|
|
CREATE TABLE pua (
|
|
id SERIAL PRIMARY KEY NOT NULL,
|
|
pres_uri VARCHAR(255) NOT NULL,
|
|
pres_id VARCHAR(255) NOT NULL,
|
|
event INTEGER NOT NULL,
|
|
expires INTEGER NOT NULL,
|
|
desired_expires INTEGER NOT NULL,
|
|
flag INTEGER NOT NULL,
|
|
etag VARCHAR(128) NOT NULL,
|
|
tuple_id VARCHAR(64),
|
|
watcher_uri VARCHAR(255) NOT NULL,
|
|
call_id VARCHAR(255) NOT NULL,
|
|
to_tag VARCHAR(128) NOT NULL,
|
|
from_tag VARCHAR(128) NOT NULL,
|
|
cseq INTEGER NOT NULL,
|
|
record_route TEXT,
|
|
contact VARCHAR(255) NOT NULL,
|
|
remote_contact VARCHAR(255) NOT NULL,
|
|
version INTEGER NOT NULL,
|
|
extra_headers TEXT NOT NULL,
|
|
CONSTRAINT pua_pua_idx UNIQUE (etag, tuple_id, call_id, from_tag)
|
|
);
|
|
|
|
CREATE INDEX pua_expires_idx ON pua (expires);
|
|
CREATE INDEX pua_dialog1_idx ON pua (pres_id, pres_uri);
|
|
CREATE INDEX pua_dialog2_idx ON pua (call_id, from_tag);
|
|
CREATE INDEX pua_record_idx ON pua (pres_id);
|
|
|
|
INSERT INTO version (table_name, table_version) values ('pua','7');
|
|
|