Hi,
I've implemented a ringless millisecond async sleep using sorted linked list and 1 millisecond timer. Timer queues tasks that are due for execution with async_task_push.
https://github.com/urtho/kamailio/tree/microsleep
If this is worth including in the master then I can do comments, docs, better naming and millisecond async_route version.
Coupled with a leaky bucket algorithm (eg via HTTP microservice in GO) this gives me a nice SIP INVITE shaping functionality where I can evenly space request bursts per customer without any dropped calls. No more per customer or per group spikes or rate limit drops.
SIPP load testing shows now memory leaks nor other unexpected behaviour for multiple 250 req/s parallel streams.
@urtho - Thank you, looks like an interesting extension. Can you please create a pull request against kamailio master branch with your changes? You already mentioned the missing XML docs - after you created the pull request lets continue the discussion there.
Closed #2006.