Hello,
On 7/24/12 11:47 PM, David wrote:
Hello,
I am using kamailio 3.2.3.
I am using the nathelper module to "ping" users in the location table to keep the NAT bindings alive.
In the event of 3 failed NAT pings, I would like to mark the entry as "unavailable" or completely delete it from the location table to avoid having stale data.
Is this a feature that exists ? Is not, are their plans for it in the future ?
When the REGISTER expires after 3600, if the phone doesn't register, the location entry gets cleaned up. So I have to wait up to one hour before the bad entry is purged. I was hoping to have it purged sooner.
auto-unregister on nat keepalives timeout does not exist -- actually the nat keepalive si a simply udp send (even for OPTIONS) for performance reasons, there is no transaction created for it, the reply is handled stateless by core and discarded due to single Via header.
I think it can be implemented by using an external tool to send the keepalives, like sipsak, and by using a failure route for them, in the case of timeout, one can call unregister() -- this would work if there is one contact per subscriber.
Regarding the development of such feature, I don't have it in my short terms plans and I am not aware of anyone else working on it, but maybe other developers can comment on that.
From my point of view, it will not bring significant benefits, but can add lot of load to tm for handling keepalive transactions when dealing with large number of location records.
Cheers, Daniel