Hello,

We are experiencing an issue with the siptrace module using HEPv3 over TCP. 
What we are seeing is that when traffic increases, OpenSIPS is opening a much 
larger number of sockets to our capture server than we expect. We have our 
capture server configured to accept a maximum of 2048 connections.

We believe that the module is intended to share TCP connections to the capture 
server; something like one per process. We have found that if we increase 
traffic at a certain pace, OpenSIPS will attempt to open multiple connections 
per process and will exhaust the 2048 port limit on the server. When this 
happens, connections begin to fail and the max async messages 
(hep_async_max_postponed_chunks) is exceeded. We believe this causes the 
proto_hep module to switch to blocking TCP, as we see all OpenSIPS processes 
then block against siptrace for up to 5 minutes. The proto_hep TCP connect and 
send timeouts are set to the defaults, but these do not seem to be being 
honored for non-async connections.

I was able to capture the output of netstat and opensipsctl ps during the issue 
and they are available here: https://pastebin.com/jAMnSE8z. You can see that 
even though we only have 16 UDP/TCP listener threads, there are almost 100 TCP 
connections open to the configured proto_hep server. This is for just one 
instance.

I was also able to capture a trap while this was occurring, but not while 
OpenSIPS was blocked which was my hope. It is difficult to time that occurrence 
exactly but we will keep trying. Trap output is here: 
https://pastebin.com/cqGhrZrf


Ben Newlin
_______________________________________________
Users mailing list
[email protected]
http://lists.opensips.org/cgi-bin/mailman/listinfo/users

Reply via email to