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.
70 lines
3.3 KiB
70 lines
3.3 KiB
USE provisioning;
|
|
|
|
ALTER TABLE voip_peer_hosts ADD column `enabled` tinyint(1) NOT NULL DEFAULT '1' AFTER via_lb;
|
|
ALTER TABLE voip_peer_rules ADD column `enabled` tinyint(1) NOT NULL DEFAULT '1' AFTER description;
|
|
ALTER TABLE voip_rewrite_rules ADD column `enabled` tinyint(1) NOT NULL DEFAULT '1' AFTER priority;
|
|
|
|
DROP TRIGGER IF EXISTS voip_rwrules_crepl_trig;
|
|
DELIMITER ;;
|
|
/*!50003 CREATE*/ /*!50017 DEFINER=`sipwise`@`localhost`*/ /*!50003 TRIGGER voip_rwrules_crepl_trig AFTER INSERT ON voip_rewrite_rules
|
|
FOR EACH ROW BEGIN
|
|
|
|
DECLARE new_set_id int(11) unsigned;
|
|
|
|
IF NEW.enabled = 1 THEN
|
|
SELECT IF(NEW.direction = 'in', IF(NEW.field = 'caller', caller_in_dpid, callee_in_dpid), IF(NEW.field = 'caller', caller_out_dpid, callee_out_dpid))
|
|
INTO new_set_id FROM voip_rewrite_rule_sets WHERE id <=> NEW.set_id;
|
|
|
|
INSERT INTO kamailio.dialplan (dpid,pr,match_op,match_exp,match_len,subst_exp,repl_exp,attrs)
|
|
VALUES(new_set_id,NEW.priority,1,NEW.match_pattern,0,NEW.match_pattern,NEW.replace_pattern,'');
|
|
END IF;
|
|
|
|
END */;;
|
|
DELIMITER ;
|
|
|
|
DROP TRIGGER IF EXISTS voip_rwrules_urepl_trig;
|
|
DELIMITER ;;
|
|
/*!50003 CREATE*/ /*!50017 DEFINER=`sipwise`@`localhost`*/ /*!50003 TRIGGER voip_rwrules_urepl_trig AFTER UPDATE ON voip_rewrite_rules
|
|
FOR EACH ROW BEGIN
|
|
|
|
DECLARE old_set_id int(11) unsigned;
|
|
DECLARE new_set_id int(11) unsigned;
|
|
|
|
IF OLD.enabled = 1 AND NEW.enabled = 1 THEN
|
|
SELECT IF(OLD.direction = 'in', IF(OLD.field = 'caller', caller_in_dpid, callee_in_dpid), IF(OLD.field = 'caller', caller_out_dpid, callee_out_dpid))
|
|
INTO old_set_id FROM voip_rewrite_rule_sets WHERE id <=> OLD.set_id;
|
|
SELECT IF(NEW.direction = 'in', IF(NEW.field = 'caller', caller_in_dpid, callee_in_dpid), IF(NEW.field = 'caller', caller_out_dpid, callee_out_dpid))
|
|
INTO new_set_id FROM voip_rewrite_rule_sets WHERE id <=> NEW.set_id;
|
|
|
|
UPDATE kamailio.dialplan
|
|
SET dpid = new_set_id,
|
|
pr = NEW.priority,
|
|
match_exp = NEW.match_pattern,
|
|
subst_exp = NEW.match_pattern,
|
|
repl_exp = NEW.replace_pattern
|
|
WHERE dpid <=> old_set_id
|
|
AND pr <=> OLD.priority
|
|
AND match_exp <=> OLD.match_pattern
|
|
AND subst_exp <=> OLD.match_pattern
|
|
AND repl_exp <=> OLD.replace_pattern;
|
|
ELSEIF OLD.enabled = 0 AND NEW.enabled = 1 THEN
|
|
SELECT IF(NEW.direction = 'in', IF(NEW.field = 'caller', caller_in_dpid, callee_in_dpid), IF(NEW.field = 'caller', caller_out_dpid, callee_out_dpid))
|
|
INTO new_set_id FROM voip_rewrite_rule_sets WHERE id <=> NEW.set_id;
|
|
|
|
INSERT INTO kamailio.dialplan (dpid,pr,match_op,match_exp,match_len,subst_exp,repl_exp,attrs)
|
|
VALUES(new_set_id,NEW.priority,1,NEW.match_pattern,0,NEW.match_pattern,NEW.replace_pattern,'');
|
|
ELSEIF OLD.enabled = 1 AND NEW.enabled = 0 THEN
|
|
SELECT IF(OLD.direction = 'in', IF(OLD.field = 'caller', caller_in_dpid, callee_in_dpid), IF(OLD.field = 'caller', caller_out_dpid, callee_out_dpid))
|
|
INTO old_set_id FROM voip_rewrite_rule_sets WHERE id <=> OLD.set_id;
|
|
|
|
DELETE FROM kamailio.dialplan
|
|
WHERE dpid <=> old_set_id
|
|
AND pr <=> OLD.priority
|
|
AND match_exp <=> OLD.match_pattern
|
|
AND subst_exp <=> OLD.match_pattern
|
|
AND repl_exp <=> OLD.replace_pattern;
|
|
END IF;
|
|
|
|
END */;;
|
|
DELIMITER ;
|