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.
db-schema/db_scripts/diff/15793.up

34 lines
1.2 KiB

USE kamailio;
DROP TRIGGER cdr_presentity_insert_trig;
DELIMITER ;;
CREATE TRIGGER cdr_presentity_insert_trig AFTER INSERT ON kamailio.presentity
FOR EACH ROW
BEGIN
-- Extract CallID using regular expression
DECLARE _call_id VARCHAR(255);
SET _call_id = (SELECT REPLACE(REPLACE(TRIM(REGEXP_REPLACE(REGEXP_SUBSTR(NEW.body, 'CallID:([^\n\r]+)'), 'CallID:', '')), '\r', ''), '\n', ''));
IF LENGTH(_call_id) > 0 AND NEW.event = 'vq-rtcpxr' THEN
INSERT INTO accounting.cdr_presentity (call_id,event,received_time,body) VALUES (_call_id,NEW.event,NEW.received_time,NEW.body);
END IF;
END;;
CREATE TRIGGER cdr_presentity_update_trig AFTER UPDATE ON kamailio.presentity
FOR EACH ROW
BEGIN
-- Extract CallID using regular expression
DECLARE _call_id VARCHAR(255);
SET _call_id = (SELECT REPLACE(REPLACE(TRIM(REGEXP_REPLACE(REGEXP_SUBSTR(NEW.body, 'CallID:([^\n\r]+)'), 'CallID:', '')), '\r', ''), '\n', ''));
IF LENGTH(_call_id) > 0 AND NEW.event = 'vq-rtcpxr' THEN
INSERT INTO accounting.cdr_presentity (call_id,event,received_time,body) VALUES (_call_id,NEW.event,NEW.received_time,NEW.body);
END IF;
END;;
DELIMITER ;