Fixes to table creation
[ipypbx] / src / ipypbx / create.sql
1 CREATE TABLE "ipypbxweb_connection" (
2     "id" integer NOT NULL PRIMARY KEY,
3     "name" varchar(100) NOT NULL,
4     "local_ip_address" char(15) NOT NULL,
5     "local_port" integer unsigned NOT NULL,
6     "freeswitch_ip_address" char(15) NOT NULL,
7     "freeswitch_port" integer unsigned NOT NULL
8 )
9 ;
10 CREATE TABLE "ipypbxweb_sipprofile" (
11     "id" integer NOT NULL PRIMARY KEY,
12     "connection_id" integer NOT NULL REFERENCES "ipypbxweb_connection" ("id"),
13     "name" varchar(100) NOT NULL,
14     "external_rtp_ip" varchar(100) NOT NULL,
15     "external_sip_ip" varchar(100) NOT NULL,
16     "rtp_ip" varchar(100) NOT NULL,
17     "sip_ip" varchar(100) NOT NULL,
18     "sip_port" integer unsigned NOT NULL,
19     "accept_blind_registration" bool NOT NULL,
20     "authenticate_calls" bool NOT NULL,
21     "is_active" bool NOT NULL
22 )
23 ;
24 CREATE TABLE "ipypbxweb_domain" (
25     "id" integer NOT NULL PRIMARY KEY,
26     "sip_profile_id" integer NOT NULL REFERENCES "ipypbxweb_sipprofile" ("id"),
27     "host_name" varchar(100) NOT NULL,
28     "is_active" bool NOT NULL
29 )
30 ;
31 CREATE TABLE "ipypbxweb_gateway" (
32     "id" integer NOT NULL PRIMARY KEY,
33     "sip_profile_id" integer NOT NULL REFERENCES "ipypbxweb_sipprofile" ("id"),
34     "name" varchar(100) NOT NULL,
35     "username" varchar(100) NOT NULL,
36     "password" varchar(100) NOT NULL,
37     "realm" varchar(100) NOT NULL,
38     "from_domain" varchar(100) NOT NULL,
39     "expire_in_seconds" integer unsigned NOT NULL,
40     "retry_in_seconds" integer unsigned NOT NULL,
41     "caller_id_in_from_field" bool NOT NULL,
42     "is_active" bool NOT NULL
43 )
44 ;
45 CREATE TABLE "ipypbxweb_endpoint" (
46     "id" integer NOT NULL PRIMARY KEY,
47     "user_id" varchar(100) NOT NULL,
48     "password" varchar(100) NOT NULL,
49     "domain_id" integer NOT NULL REFERENCES "ipypbxweb_domain" ("id"),
50     "is_active" bool NOT NULL
51 )
52 ;
53 CREATE TABLE "ipypbxweb_extension" (
54     "id" integer NOT NULL PRIMARY KEY,
55     "destination_match" varchar(100) NOT NULL,
56     "xml_dialplan" text NOT NULL,
57     "domain_id" integer NOT NULL REFERENCES "ipypbxweb_domain" ("id"),
58     "endpoint_id" integer NOT NULL REFERENCES "ipypbxweb_endpoint" ("id"),
59     "authenticate_calls" bool NOT NULL,
60     "is_active" bool NOT NULL
61 )
62 ;
63 CREATE INDEX "ipypbxweb_sipprofile_connection_id" ON "ipypbxweb_sipprofile" ("connection_id");
64 CREATE INDEX "ipypbxweb_domain_sip_profile_id" ON "ipypbxweb_domain" ("sip_profile_id");
65 CREATE INDEX "ipypbxweb_gateway_sip_profile_id" ON "ipypbxweb_gateway" ("sip_profile_id");
66 CREATE INDEX "ipypbxweb_endpoint_domain_id" ON "ipypbxweb_endpoint" ("domain_id");
67 CREATE INDEX "ipypbxweb_extension_domain_id" ON "ipypbxweb_extension" ("domain_id");
68 CREATE INDEX "ipypbxweb_extension_endpoint_id" ON "ipypbxweb_extension" ("endpoint_id");