Please note that this message will contain a full copy of the comment thread,
including the initial issue submission, for this request,
not just the latest update.
Submitted By: Thomas Gelf (thomas_gelf)
Assigned to: Dan (dan_pascu)
Summary: Nat_traversal: opensipsctl ul rm doesn't clean up keepalives
doesn't seem to affect nat_traversal's keep-alive state.
Steps I followed to reproduce this issue:
* removed all registrations
* stopped OpenSIPS
* removed keep-alive state file
* started OpenSIPS
* booted some test device
* let devices (all of them behind NAT) REGISTER themselves
* stopped OpenSIPS, manually compared usrloc entries and keep-alive state file
* everything seemed to be fine
* restarted OpenSIPS, "ul rm" for one user, stopped OpenSIPS
* old entry is still to be found in keep-alive state file
OpenSIPS version: SVN trunk, updated this morning. If you need more tests please let me know!
Comment By: Dan (dan_pascu)
Date: 2009-02-25 12:20
The nat_traversal module doesn't use the ul module contacts, instead it
keeps track itself of the nat entry points (ip:port). These do not have a
1:1 relationship, as a nat entry point can be used by multiple contacts. So
when a contact is removed you can say nothing about the nat entry point not
being used anymore. The nat_traversal module will remove a nat entry point
from the keepalive list only when all the reasons to keep that address
alive expire. For a registration, that means when it expires. Read the
nat_traversal documentation for a detailed explanation of its operation.