Browse Source

keepalive cleanup

4.3
lazedo 7 years ago
committed by Luis Azedo
parent
commit
dc51608ee4
1 changed files with 13 additions and 0 deletions
  1. +13
    -0
      kamailio/keepalive.cfg

+ 13
- 0
kamailio/keepalive.cfg View File

@ -5,6 +5,7 @@
#!trydef KEEPALIVE_TIMERS 7 #!trydef KEEPALIVE_TIMERS 7
#!trydef KEEPALIVE_INTERVAL 30 #!trydef KEEPALIVE_INTERVAL 30
#!trydef KEEPALIVE_TIMEOUT 3500 #!trydef KEEPALIVE_TIMEOUT 3500
#!trydef KEEPALIVE_FAILED_THRESHOLD 2
#!substdef "!KEEPALIVE_S_FROM_URI!sip:keepalive@MY_HOSTNAME!g" #!substdef "!KEEPALIVE_S_FROM_URI!sip:keepalive@MY_HOSTNAME!g"
#!substdef "!KEEPALIVE_S_TIMERS!$def(KEEPALIVE_TIMERS)!g" #!substdef "!KEEPALIVE_S_TIMERS!$def(KEEPALIVE_TIMERS)!g"
@ -41,8 +42,20 @@ route[KEEPALIVE_DB_TIMER]
} }
} }
route[KEEPALIVE_CLEANUP]
{
$var(Query) = $_s(update location set expires = last_modified where id in(select a.id from loc a inner join (select cast(substr(contact, 1, instr(contact,";")-1) as varchar(32)) contact from keepalive where slot = $rtimer_worker AND failed > $def(KEEPALIVE_FAILED_THRESHOLD)) b on substr(a.contact, 1, instr(a.contact,";")-1) = b.contact));
sql_query("cb", "$var(Query)");
$var(Query) = $_s(DELETE FROM active_watchers where id in(select a.id from keepalive a inner join active_watchers b on a.contact=b.contact where slot = $rtimer_worker and failed > $def(KEEPALIVE_FAILED_THRESHOLD)));
sql_query("cb", "$var(Query)");
$var(Query) = $_s(DELETE FROM keepalive where slot = $rtimer_worker and failed > $def(KEEPALIVE_FAILED_THRESHOLD));
sql_query("cb", "$var(Query)");
}
route[KEEPALIVE_TIMER] route[KEEPALIVE_TIMER]
{ {
route(KEEPALIVE_CLEANUP);
$var(Query) = $_s(UPDATE keepalive SET selected = 1 WHERE slot = $rtimer_worker AND selected = 0 AND time_sent < datetime('now', '-$def(KEEPALIVE_INTERVAL) seconds')); $var(Query) = $_s(UPDATE keepalive SET selected = 1 WHERE slot = $rtimer_worker AND selected = 0 AND time_sent < datetime('now', '-$def(KEEPALIVE_INTERVAL) seconds'));
$var(sqlres) = sql_query("cb", "$var(Query)"); $var(sqlres) = sql_query("cb", "$var(Query)");
if($var(sqlres) < 0) { if($var(sqlres) < 0) {


Loading…
Cancel
Save