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