Hello Kamailio devs - I have a highly experimental implementation of a threaded TCP receiver mode - to match with the work on UDP receiver mode that was done in the past years. This is motivated by Kamailio's UDP receiver mode and I credit wider development in other SIP proxies.
At this point it builds and runs basic TCP connections (UAS/UAC). TLS is definitely not supported yet. The branch is here https://github.com/space88man/kamailio/tree/tcp-reactor and is configured with tcp_main_threads = 2 ; single process (threaded)TCP / TLS not working yet # tcp_main_threads = 0 ; multiprocess TCP/TLS # tcp_main_threads = 1; multiprocess TCP/ single-process (threaded)TLS The main difference: all network IO handling is done in PROC_TCP_MAIN with worker threads; this mode does not use socket passing by sendmsg(). In addition, this means that all former TCP workers are pure SIP engines. The receiver pool in PROC_TCP_MAIN is responsible for chunking complete SIP messages before passing them to TCP workers. All writes are now "async" and enqueued onto PROC_TCP_MAIN. The TCP thread pool is hardcoded to 8 I would be very much interested in your feedback - and whether you have some experience- based on your use of UDP receiver mode or other reactor-style TCP servers. I intend to keep this branch buildable until a proper MR can be prepared. There is expected to be quite a lot of churn. Regards Richard Chan
_______________________________________________ Kamailio - Development Mailing List -- [email protected] To unsubscribe send an email to [email protected] Important: keep the mailing list in the recipients, do not reply only to the sender!
