Adding a new option disabled by default.
gov.nist.javax.sip.TCP_POST_PARSING_THREAD_POOL_SIZE = integer </b>
- Use 0 or no not set this option to disable it.
- When using TCP your phones/clients usually connect independently creating
their own TCP
- sockets. Sometimes however SIP devices are allowed to tunnel multiple calls
- a single socket. This can also be simulated with SIPP by running "sipp -t
- In the stack each TCP socket has it's own thread. When all calls are using
- socket they all use a single thread, which leads to severe performance
- especially on multi-core machines.
- This option instructs the SIP stack to use a thread pool and split the CPU
- between many threads. The number of the threads is specified in this
- The processing is split immediately after the parsing of the message. It
- be split before the parsing because in TCP the SIP message size is in the
- Content-Length header of the message and the access to the TCP network stream
- has to be synchronized. Additionally in TCP the message size can be larger.
- This causes most of the parsing for all calls to occur in a single thread,
- may have impact on the performance in trivial applications using a single
- for all calls. In most applications it doesn't have performance impact.
- If the phones/clients use separate TCP sockets for each call this option
- have much impact, except the slightly increased memory footprint caused by
- thread pool. It is recommended to disable this option in this case by setting
- 0 or not setting it at all. You can simulate multi-socket mode with "sipp -t
- With this option also we avoid closing the TCP socket when something fails,
- we must keep processing other messages for other calls.
After some back and forth this seems to work for all our cases.
Ranga what do you think?