Hi
I'm using presence on Kamailio 4.0.3. I have in the cfg file:
modparam("presence", "timeout_rm_subs", 0) to cope with unreliable
networks. I have tried setting it to 1, but I saw sometimes server and
client got out of sync, i.e. server removed active_watcher entries when
NOTIFYs time out, while clients still thought the SUBSCRIBE dialogs are
alive.
Now I have a problem when client re-registers with different local
IP/port (e.g. changing between wifi and ethernet, or simply crashed and
rebooted), and sends new REGISTER and SUBSCRIBEs using the new local
IP/port. In this case Kamailio still sends NOTIFYs to the old registered
IP:port (as well as to the new one). NOTIFYs to old IP:port last until
expiration it seems. Even though the stale location has been removed
from the location table.
I have a DB trigger to "SET expires=UNIX_TIMESTAMP()" to the
corresponding active_watchers entries as well, when contact is removed
from location table.
So the DB tables have been updated to contain only entries with client's
new IP:port, but it seems that the SUBSCRIBE dialogs are kept in the
memory until expiration, even though they have been expired in the
active_watchers table.
My question is: is there any ways that I can stop all the NOTIFY
messages from being sent to the stale locations, i.e. remove these
SUBSCRIBE dialogs from memory?
Thank you!
Yufei
--
Yufei Tao
Red Embedded
This E-mail and any attachments hereto are strictly confidential and intended solely for
the addressee. If you are not the intended addressee please notify the sender by return
and delete the message.
You must not disclose, forward or copy this E-mail or attachments to any third party
without the prior consent of the sender.
Red Embedded Design, Company Number 06688253 Registered in England: The Waterfront, Salts
Mill Rd, Saltaire, BD17 7EZ