Ah, I looked through the code for usrloc and found where it registers the timer. It looks like if you have timer_interval set to 0 but timer_procs set to something > 0 (which I did due to cruft) it will spawn a new process and use timer_interval multiplied by 1000 (resulting in 0) for the amount of time to sleep, resulting in the churn. I should probably have looked at that first!

The relevant functions I looked at are:
https://github.com/kamailio/kamailio/blob/master/modules/usrloc/ul_mod.c#L329
https://github.com/kamailio/kamailio/blob/master/modules/usrloc/ul_mod.c#L393


Reply to this email directly or view it on GitHub.