core: new parameter route_locks_size
authorDaniel-Constantin Mierla <miconda@gmail.com>
Mon, 12 Mar 2018 15:44:25 +0000 (16:44 +0100)
committerDaniel-Constantin Mierla <miconda@gmail.com>
Mon, 12 Mar 2018 16:09:43 +0000 (17:09 +0100)
commitaf3f94dd22626894548d2ee2066cf11c806410a3
tree36542b2a1864b467d63e5e9b5fad35257097fcae
parent2d117b8ce6ae97a7220369160b1eeb8b264bcac8
core: new parameter route_locks_size

- if set, kamailio creates a group of recursive locks used to sync on
execution of request_route and reply_route based on hashing ID of
Call-ID header. In other words, if a message has triggered the execution
of request_route or reply_route, any other message with the same Call-ID
waits until the other one finishes the execution.
- it should help when messages belonging to the same dialog come quickly
one after the other and config execution results in sending them out in
reverse order. There are some old UA implementations not able to cope
properly with this case (e.g., pstn gateways).
- be very carefull when eanbling it, it can affect performances, use
only when strictly needed
- note also that hashing over Call-ID means that there could be
collisions and different Call-ID values can result in same hash ID
- default value is 0 - feature not enabled
- set it to a positive integer number, it should be higher than the over
all number of processes created by kamailio, can be much higher
src/core/cfg.lex
src/core/cfg.y
src/core/globals.h
src/core/receive.c
src/core/receive.h
src/main.c