diff --git a/kamailio/keepalive.cfg b/kamailio/keepalive.cfg index 2b2f608..f153a58 100644 --- a/kamailio/keepalive.cfg +++ b/kamailio/keepalive.cfg @@ -160,8 +160,12 @@ route[KEEPALIVE_ON_REGISTRATION] $var(local_contact) = "sip:" + $Ri + ":" + $Rp + ";transport=" + $proto; xlog("L_DEBUG", "$ci|keepalive|KEEPALIVE ON REG $var(save_result) $proto $RAut $var(contact) $var(alias) $(ct{nameaddr.uri}) $ct $avp(AVP_RECV_PARAM) $tu $xavp(ulrcd=>ruid) , $xavp(ulrcd=>contact) , $xavp(ulrcd=>expires)\n"); - $var(slot) = $(var(contact){s.corehash, KEEPALIVE_S_TIMERS}); - $var(sql) = $_s(INSERT OR IGNORE INTO keepalive (contact, sockinfo, slot) values("$var(contact)", "$(RAut{uri.tosocket})", $var(slot))); + if($var(save_result) == 3) { + $var(sql) = $_s(DELETE FROM keepalive WHERE contact = "$var(contact)"); + } else { + $var(slot) = $(var(contact){s.corehash, KEEPALIVE_S_TIMERS}); + $var(sql) = $_s(INSERT OR IGNORE INTO keepalive (contact, sockinfo, slot) values("$var(contact)", "$(RAut{uri.tosocket})", $var(slot))); + } mq_add("keepalive_db_queue", "$ci", "$var(sql)"); return;