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