mirror of https://github.com/sipwise/db-schema.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.
67 lines
2.6 KiB
67 lines
2.6 KiB
SET AUTOCOMMIT=0;
|
|
|
|
USE billing;
|
|
|
|
ALTER TABLE products CHANGE COLUMN class class ENUM('sippeering', 'pstnpeering', 'reseller', 'sipaccount', 'pbxaccount') NOT NULL;
|
|
|
|
INSERT INTO products VALUES
|
|
(NULL, NULL, 'sipaccount', 'SIP_ACCOUNT', 'Basic SIP Account', 1, NULL, NULL, NULL);
|
|
SELECT LAST_INSERT_ID() INTO @sip_id;
|
|
UPDATE billing_mappings SET product_id = @sip_id WHERE product_id IS NULL;
|
|
|
|
INSERT INTO products VALUES
|
|
(NULL, NULL, 'pbxaccount', 'PBX_ACCOUNT', 'Cloud PBX Account', 1, NULL, NULL, NULL);
|
|
|
|
USE provisioning;
|
|
|
|
ALTER TABLE voip_subscribers
|
|
ADD COLUMN is_pbx_group TINYINT(1) NOT NULL DEFAULT 0 AFTER webpassword;
|
|
ALTER TABLE voip_subscribers
|
|
CHANGE COLUMN autoconf_group_id pbx_group_id INT(11) UNSIGNED DEFAULT NULL;
|
|
ALTER TABLE voip_subscribers
|
|
DROP COLUMN autoconf_displayname;
|
|
|
|
CREATE TABLE `voip_pbx_groups` (
|
|
`id` int(11) unsigned NOT NULL AUTO_INCREMENT,
|
|
`contract_id` int(11) unsigned NOT NULL,
|
|
`subscriber_id` int(11) unsigned NOT NULL,
|
|
`name` varchar(255) NOT NULL,
|
|
`extension` varchar(255) DEFAULT NULL,
|
|
`hunt_policy` enum('serial','parallel') NOT NULL DEFAULT 'serial',
|
|
`hunt_policy_timeout` int(4) unsigned NOT NULL,
|
|
PRIMARY KEY (`id`),
|
|
KEY `contract_idx` (`contract_id`),
|
|
KEY `subscriber_idx` (`subscriber_id`),
|
|
CONSTRAINT `fk_v_sub_group` FOREIGN KEY (`subscriber_id`) REFERENCES `voip_subscribers` (`id`) ON DELETE CASCADE ON UPDATE CASCADE
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
|
|
|
|
INSERT INTO voip_preference_groups (name) values ('Cloud PBX');
|
|
SELECT LAST_INSERT_ID() INTO @vpg_id;
|
|
|
|
UPDATE voip_preferences SET
|
|
voip_preference_groups_id = @vpg_id,
|
|
internal = 1
|
|
WHERE attribute = 'cloud_pbx';
|
|
|
|
INSERT INTO voip_preferences
|
|
(voip_preference_groups_id, attribute, type, usr_pref, dom_pref, peer_pref,
|
|
internal, data_type, max_occur, description, modify_timestamp)
|
|
VALUES
|
|
(@vpg_id, 'cloud_pbx_hunt_policy', 0, 1, 0, 0,
|
|
1, 'enum', 1, 'The hunting policy for PBX hunt groups.', '1970-01-01 00:00:00'),
|
|
(@vpg_id, 'cloud_pbx_hunt_timeout', 1, 1, 0, 0,
|
|
1, 'int', 1, 'The serial timeout for hunting in PBX hunt groups.', '1970-01-01 00:00:00'),
|
|
(@vpg_id, 'cloud_pbx_hunt_group', 0, 1, 0, 0,
|
|
1, 'string', 0, 'The members (as SIP URIs) of the PBX hunt group.', '1970-01-01 00:00:00'),
|
|
(@vpg_id, 'cloud_pbx_base_cli', 0, 1, 0, 0,
|
|
1, 'string', 1, 'The base CLI for the PBX extension.', '1970-01-01 00:00:00');
|
|
|
|
SELECT id INTO @hunt_id FROM voip_preferences WHERE attribute = 'cloud_pbx_hunt_policy';
|
|
INSERT INTO voip_preferences_enum
|
|
(preference_id, label, value, usr_pref, dom_pref, peer_pref, default_val)
|
|
VALUES
|
|
(@hunt_id, 'serial', 'serial', 1, 0, 0, 1),
|
|
(@hunt_id, 'parallel', 'parallel', 1, 0, 0, 0);
|
|
|
|
COMMIT;
|