So I’ve done some more digging after having had the issue again yesterday, and it seems there is a memory leak under some pretty brutal circumstances.
It seems we have a user with a UAC (MicroSIP) which some times goes absolutely haywire, and in respond to it’s INVITE (From Asterisk), will just explode and send it’s 180 Ringing Reply on a loop. We’re talking thousands of them. I can’t even retrieve them all from Homer, it just cuts off after 100. But those 100 was sent within the timespan of 17 milliseconds.
But judging from the network monitoring we’re talking megabytes upon megabytes of 180 Ringing replies. Asterisk shot up it’s memory usage by 2GB each times this happened, until I suppose it just used all of the available memory and just locked up the system some how. The memory usage doesn’t go down even after several hours.
While this happens it seems that Asterisk starts printing these lines (hundreds per second):
Exceptionally long queue length queuing to PJSIP/registrar-0000d96a
The channel noted there is the channel belonging to the outbound call being placed to the UAC that craps out and just floods 180 Ringing Replies back.
I’ve moved the offending customer to a separate Asterisk 16.11.1 instance (the crashes has happened on 16.6.1).
Is there anyone who can provide some guidance on what I should do to gather up more information or what I can provide to create a proper issue ticket for this? Unless it’s already been addressed in 16.11.1, this is seems like it could be a DoS attack vector that should be mitigated some how.