Happy New Year!
In Asterisk 16 we’re seeing TCP connections kept open when a WSS client continuously registers over and over using a different source port (assuming some kind of NAT issue on the client’s end).
When this happens, Asterisk doesn’t release the associated connection and the http.conf session_limit (100 is the default) is reached, web sockets become unresponsive with an associated log entry “HTTP session count exceeded 100 sessions”.
Asterisk does eventually release the socket exactly 15 minutes later outputting to the CLI:
[Dec 29 15:08:35] ERROR: res_http_websocket.c:531 ws_safe_read: Error reading from web socket: Connection timed out [Dec 29 15:08:35] ERROR: iostream.c:552 ast_iostream_close: SSL_shutdown() failed: error:00000005:lib(0):func(0):DH lib, Underlying BIO error: Bad file descriptor
The only thing I can find that has the default number “15” is in http.conf’s session_keep_alive=15000 but this should be milliseconds.
I’ve tried the various PJSIP aor settings (minimum_expiration, default_expiration, max_expiration) without success in an attempt to get this under control (since we can’t control the client).
Any suggestions or help appreciated