On Dec 23, 2024, at 5:23 pm, Alex Balashov
<abalashov(a)evaristesys.com> wrote:
Kamailio is a middleware, a kind of Node, and it's architected as such. It's best
at facilitating interchange of SIP messages going to and from other places. There is a
begrudging need to interact with other services using other protocols, as well, but it
should be kept to a minimum and the footprint should be as small as possible for highest
performance. HTTP is more like hammering in a nail with a microscope.
Or to put it another way: if Kamailio were really designed for doing lots of multiprotocol
I/O waiting, or compute, it'd spawn a lot of LWPs and make other architectural
choices.
Kamailio is about making SIP go fast, and HTTP is slow. http_async_client is an especially
clever workaround and does a) externalise a particularly vexing chunk of the problem, but
not the whole problem, and b) there are limits to the payoff of externalising the problem
to the kernel on the same host.
To be clear, all network interactions with any services will involve some juggling, but
HTTP is especially inefficient here, for reasons previously pointed out in the thread.
HTTP/2 would be a laudable improvement.
-- Alex
--
Alex Balashov
Principal Consultant
Evariste Systems LLC
Web:
https://evaristesys.com
Tel: +1-706-510-6800