BEGIN;

CREATE TABLE messaging (
 id serial,

 created timestamp with time zone not null default CURRENT_TIMESTAMP,
--HELP_EN_INFO:Creation Date
--HELP_EN_LONG:The date and time this record was created.
--HELP_NL_INFO:Datum aanmaak
--HELP_NL_LONG:De tijd en datum waarop dit is aangemaakt.

 lastupdate timestamp with time zone not null default CURRENT_TIMESTAMP,
--HELP_EN_INFO:Last Update
--HELP_EN_LONG:The date and time this record was updated.
--HELP_NL_INFO:Laatste wijziging
--HELP_NL_LONG:De tijd en datum van laatste wijziging.

 company integer NOT NULL default '1',
--HELP_EN_INFO:company
--HELP_EN_LONG:The company this record belongs to.
--HELP_NL_INFO:bedrijf
--HELP_NL_LONG:Het bedrijf waar deze gegevens bij horen.

 astium integer NOT NULL default '1',
--HELP_EN_INFO:Astium
--HELP_EN_LONG:For which Astium this record is valid. 
--HELP_NL_INFO:Astium
--HELP_NL_LONG:Voor welke Astium deze gegevens gelden. 

 country integer NOT NULL default '2', 
--HELP_EN_INFO:country
--HELP_EN_LONG:The country where this messaging service is located.
--HELP_NL_INFO:land 
--HELP_NL_LONG:Het land waar deze messaging service is gevestigd. 

 status varchar(8) NOT NULL default 'active'
   CHECK (status IN ('active', 'deleted', 'inactive')),
--HELP_EN_INFO:
--HELP_EN_LONG:
--HELP_NL_INFO:
--HELP_NL_LONG:

 name varchar(24) NOT NULL default '',
--GENERATE:/etc/asterisk/sip.conf::
--GENERATE:/etc/asterisk/inbound.conf::
--HELP_EN_INFO:name
--HELP_EN_LONG:Name for this messaging service.
--HELP_NL_INFO:naam
--HELP_NL_LONG:Naam voor deze messaging service.

 type varchar(12) NOT NULL default 'none'
   CHECK (type IN ('none', 'espatap')),
--HELP_EN_INFO:Service type
--HELP_EN_LONG:<p>Type of this messaging service.
--HELP_EN_LONG:Choose one of the following:
--HELP_EN_LONG:<ul><li>ESPA Tap: the ESPA Tap converter</li>
--HELP_NL_INFO:Service type
--HELP_NL_LONG:<p>Soort messaging service.
--HELP_NL_LONG:Kies uit de volgende:
--HELP_NL_LONG:<ul><li>ESPA Tap: De ESPA Tap annex ESPA converter</li>

 phoneline integer DEFAULT 1 NOT NULL,
--HELP_EN_INFO:extension
--HELP_EN_LONG:The extension connected to this messaging.
--HELP_NL_INFO:Extensie
--HELP_NL_LONG:De extensie voor deze messaging.

 ipaddress varchar(64) default NULL,
--HELP_EN_INFO:ip address
--HELP_EN_LONG:The IP address of the service host.
--HELP_NL_INFO:IP-adres
--HELP_NL_LONG:Het IP-adres van de andere partij om mee te verbinden.

 port integer NOT NULL default '5655',
--HELP_EN_INFO:port
--HELP_EN_LONG:The port number to use to connect to the remote service.
--HELP_NL_INFO:poort
--HELP_NL_LONG:Het poortnummer om mee te verbinden.

 username varchar(64) default NULL, 
--HELP_EN_INFO:username
--HELP_EN_LONG:The username used to register with the service.
--HELP_NL_INFO:gebruikersnaam 
--HELP_NL_LONG:De gebruikersnaam om te registreren bij deze service.

 password text NOT NULL default '',
--HELP_EN_INFO:password
--HELP_EN_LONG:The password used to register with the service.
--HELP_NL_INFO:wachtwoord
--HELP_NL_LONG:Het wachtwoord om te registreren bij deze service.

 target varchar(64) NOT NULL default '',
--HELP_EN_INFO:Target
--HELP_EN_LONG:Where incoming messages are sent to if no target address was given.
--HELP_NL_INFO:extension
--HELP_NL_LONG:Waar inkomende berichten naartoe gestuurd worden als geen adres is opgegeven in het bericht.

 notes text,
--HELP_EN_INFO:
--HELP_EN_LONG:
--HELP_NL_INFO:
--HELP_NL_LONG:

 state varchar(24) NOT NULL default 'UNKNOWN',
--HELP_EN_INFO:channel state
--HELP_EN_LONG:<p>The state of the channel. If you hover over the bullet with your cursor, it should 
--HELP_EN_LONG:show 'Registered' or 'Reachable'.</p>
--HELP_EN_LONG:<ul>
--HELP_EN_LONG:<li>Red: unreachable</li>
--HELP_EN_LONG:<li>Green: registered</li>
--HELP_EN_LONG:<li>Blue: the status is unknown</li>
--HELP_EN_LONG:</ul>
--HELP_NL_INFO:status
--HELP_NL_LONG:De status van dit kanaal. Normaal zou dit 'Registered' 
--HELP_NL_LONG:of 'Reachable' (groen) moeten zijn. Als je met de muis over de bullet gaat, zie je de status in een 
--HELP_NL_LONG:pop-up verschijnen. 
--HELP_NL_LONG:<ul>
--HELP_NL_LONG:<li>Rood: unreachable, onbereikbaar</li>
--HELP_NL_LONG:<li>Groen: registered, aangemeld</li>
--HELP_NL_LONG:<li>Geel: status is bereikbaar, maar is eerder een moment onbereikbaar geweest</li>
--HELP_NL_LONG:<li>Blauw: unknown, de status is onbekend</li>
--HELP_NL_LONG:</ul>

 PRIMARY KEY  (id)
);

GRANT UPDATE, SELECT, INSERT, DELETE ON messaging TO astium;
GRANT UPDATE, SELECT, INSERT, DELETE ON messaging_id_seq TO astium;

insert into messaging (name, status) values ('none', 'deleted');

-- messaging
ALTER TABLE messaging ADD CONSTRAINT messaging_company_constraint FOREIGN KEY (company) REFERENCES company (id);
ALTER TABLE messaging ADD CONSTRAINT messaging_country_constraint FOREIGN KEY (country) REFERENCES country (id);
ALTER TABLE messaging ADD CONSTRAINT messaging_astium_constraint FOREIGN KEY (astium) REFERENCES astium (id);

COMMIT;

