Hello,
I'm trying to setup the following scenario with sip ping:
UAC -> Kamailio Edge -> Kamailio Registrar
Edge proxy is a multihomed proxy with public/private ips and the registrar
is a kamailio on a private network. The edge acts as a nat proxy and
loadbalancer.
Edge proxy inserts a Path header (and contact alias) which get correctly
saved on registrar usrloc. Registration works as expected.
Now, since I need to keep nat open towards the uacs and expire them when
they're not reachable anymore, I'm trying to send sip pings from the
registrar via the edge proxy. I'm using nathelper sipping in the registrar.
What I see is that the registrar sends out a sip options putting in the
Route header the Path as expected, but the sip packet gets sent directly to
the UAC contact and not via the edge, as the Route header specifies.
After looking into the nathelper code, it seems that the sip packet is sent
via udp directly without any specific routing. So the question: it should
work what I'm trying to achieve? Maybe not?
Probably I can work around it setting the ;received in the contact on
registrar (it will set to the edge proxy) and since the contact is aliased
on the edge when the edge receives an option from the registrar it can
process the alias and send it to the correct endpoint, but seems a
workaround?
Or using the keepalive module maybe, even if that means setting specific
timers and manually do what the nathelper module already does?
Any hint?
Thanks,
Matteo