Indeed, the code reveals the event route is executed in the loop
creating udp workers.
For now, an workaround I could think about would be to create a single
udp worker on loopback, like:
socket_workers=1
listen=udp:127.0.0.1:5060
There is a bit of overhead with an additional worker process, but if you
need in stable branch, that's one way to do it. For master branch, you
can try to change the src/main.c and executed run_child_one_init_route()
for first tcp child, if udp sockets are not set.
Cheers,
Daniel
On 01.03.21 12:11, Juha Heinanen wrote:
Daniel-Constantin Mierla writes:
I think it does not matter the type of transport
for the worker, likely
the docs had udp because that's usually the first worker. Also, IIRC,
sip specs mandate UDP support, but kamailio can start without.
Yes, SIP specs
mandate UDP support, but if a sip proxy does now have any
clients using UDP, it does not make sense to enable UDP transport to
consume resources for nothing.
Have you tried with no udp socket and the event
route was not
executed?
Yes, I tried I like this:
event_route[core:worker-one-init] {
xinfo("********** at core:worker-one-init\n");
}
and didn't get the message to syslog when I started Kamailio. So it
works as specified in core cookbook.
-- Juha