From a039604c3743915695dd639501301bd0e74372cd Mon Sep 17 00:00:00 2001 From: Victor Seva Date: Thu, 17 Oct 2013 16:07:39 +0200 Subject: [PATCH] MT#3995 Also fix lcr trigger for peer rules --- db_scripts/diff/15028.down | 20 ++++++++++++++++++++ db_scripts/diff/15028.up | 21 +++++++++++++++++++++ 2 files changed, 41 insertions(+) diff --git a/db_scripts/diff/15028.down b/db_scripts/diff/15028.down index c1e3234a..f78dac61 100644 --- a/db_scripts/diff/15028.down +++ b/db_scripts/diff/15028.down @@ -19,3 +19,23 @@ DELIMITER ;; END */;; DELIMITER ; +DROP TRIGGER provisioning.voip_prul_crepl_trig; +DELIMITER ;; +/*!50003 CREATE*/ /*!50017 DEFINER=`sipwise`@`localhost`*/ /*!50003 TRIGGER provisioning.voip_prul_crepl_trig AFTER INSERT ON voip_peer_rules + FOR EACH ROW BEGIN + + INSERT INTO kamailio.lcr_rule (lcr_id, prefix, request_uri, from_uri, stopper, enabled, group_id) + VALUES(1, NEW.callee_prefix, NEW.callee_pattern, NEW.caller_pattern, + 0, 1, NEW.group_id); + + INSERT INTO kamailio.lcr_rule_target (lcr_id, rule_id, gw_id, priority, weight) + SELECT gw.lcr_id, LAST_INSERT_ID(), gw.id, vpg.priority, vph.weight + FROM kamailio.lcr_gw gw + INNER JOIN provisioning.voip_peer_hosts vph ON vph.ip = gw.ip_addr + AND gw.lcr_id = 1 + AND vph.group_id = gw.group_id + INNER JOIN provisioning.voip_peer_groups vpg ON vpg.id = vph.group_id + WHERE vph.group_id <=> NEW.group_id; + + END */;; +DELIMITER ; diff --git a/db_scripts/diff/15028.up b/db_scripts/diff/15028.up index 4a1f5837..7755f9c7 100644 --- a/db_scripts/diff/15028.up +++ b/db_scripts/diff/15028.up @@ -18,3 +18,24 @@ DELIMITER ;; END */;; DELIMITER ; + +DROP TRIGGER provisioning.voip_prul_crepl_trig; +DELIMITER ;; +/*!50003 CREATE*/ /*!50017 DEFINER=`sipwise`@`localhost`*/ /*!50003 TRIGGER provisioning.voip_prul_crepl_trig AFTER INSERT ON voip_peer_rules + FOR EACH ROW BEGIN + + INSERT INTO kamailio.lcr_rule (lcr_id, prefix, request_uri, from_uri, stopper, enabled, group_id) + VALUES(1, NEW.callee_prefix, NEW.callee_pattern, NEW.caller_pattern, + 0, 1, NEW.group_id); + + INSERT INTO kamailio.lcr_rule_target (lcr_id, rule_id, gw_id, priority, weight) + SELECT gw.lcr_id, LAST_INSERT_ID(), gw.id, vpg.priority, vph.weight + FROM kamailio.lcr_gw gw + INNER JOIN provisioning.voip_peer_hosts vph ON vph.id = gw.flags + AND gw.lcr_id = 1 + AND vph.group_id = gw.group_id + INNER JOIN provisioning.voip_peer_groups vpg ON vpg.id = vph.group_id + WHERE vph.group_id <=> NEW.group_id; + + END */;; +DELIMITER ;