On Dec 23, 2024, at 10:45 am, Ben Kaufman bkaufman@bcmone.com wrote:
Again, playing Devil's advocate: Doesn't that use TCP? It feels like:
• HTTP evil based solely on anecdotal evidence. I know you have a LOT of history, and I don't want downplay your experience, but I'm showing empirically how this can work, and all you fall back to is the basic "this is evil". • TCP based connections bad, even DB connections. • EVAPI: Magic cure-all, despite being inherently more complex to implement on the far end, and complexity usually results in more failures.
Since this is now being promoted in this thread, can you provide sunlight as to why this is golden vs something DB driven for example?
I have no desire to promote EVAPI unnecessarily to those who aren't already aware that it's a magic cure-all. ;-)
Joking aside:
1) Never, ever said TCP connections are bad; de novo TCP connections initiated for every query are bad;
2) Persistent connections to databases are fairly competitive with this type of option, but a more generic channel is more flexible because the thing on the other side can perform more logic, provide more complex or appropriately structured responses, etc, not just responses to SQL queries or procedure calls;
3) EVAPI is a passive model in which the outside services connect _to_ Kamailio, and Kamailio does not maintain outbound connections to those services. This is a lot more resilient, because Kamailio isn't that great at maintaining connections to things.
-- Alex