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