Hi All,
Just to continue on on this particular issue, we are now testing
kamailio v5.0.3 and I are still experiencing the same issue.
We run 3 registrar servers which run with user location "in-memory"
(db_mode 0). These registrar's are configured to replicate registrations
using the dmg_usrloc module. All works well except for when nat pinging
is enabled.
When nat ping is enabled, it appears that the nathelper sends options
pings from all 3 servers, and not only the server that processed the
registration request. I have tried setting the server_id core parameter
on all three of these servers in an attempt to ensure their uniqness,
but still, the options pings are being sent from all 3 systems.
What I was expecting to see happen was that the registrar that
processed/saved the registration, would be the only registrar performing
the sip options ping, and the remaining two only have a replicated
"copy" of the registration.
I'm not sure if this is meant to be classified as a bug or a feature
request, seeing that the feature appears to be available when running
with an sql database (I've not tested with usloc in database, we require
usrloc to be in memory). Do I need to log a bug on github for this issue?
I've attached a copy of the aor (usrlock_dump.txt) as dumped by "kamctl
ul show" on each of the registrars, and also a sip capture where you can
see the options being sent by 3 registrars, but only 1 being responded to.
I've attached "sip_capture.txt" to show the options messages being sent
by the 3 registrars.
I've attached "module_settings.txt" to show the settings for the
usrloc/registrar/nathelper modules in case there is a mishap there.
An additional observation is that when the registrars that did not
process the registration (the ones replicated to), try to send their
"ping", they send it over the incorrect interface (ignoring the
nathelper parameter "force_socket" which has been set for all 3
registrars). I guess, in this circumstance, this is also a blessing in
disguise or else the endpoint would have received 3 options pings to
reply to every ping interval. However, I'm not sure if this is the
expected bahaviour when setting force_socket for natping module.
Any thoughts/tips would be much appreciated.
Thanks