On 8/28/13 10:33 PM, Juha Heinanen wrote:
Vitaliy Aleksandrov writes:
Didn't know about $T_reply_rid variable and that unregister can remove only single contact. In my case the problem with unregister is that stale contact will be removed only if somebody tries to call to a disconnected phone.
so you get one call to unregistered contact and after that it is not anymore in location db.
is that not acceptable to you? are you proposing to scan all contacts for broken tcp connections on some timer or what?
proposed solution in the patch was to scan all the location records when a tcp connection goes down. I suggested to keep the connection id + peer ip/port in a list and scan the location records from time to time, eventually via a dedicated timer process. Anyhow, the patch is not that complete yet, some cases were not approached.
Another idea I threw in (which I thought of doing), is to to something similar to nat keepalive mechanism in nathelper module (which fetches natted contacts and send nat pings), but now fetching all tcp contacts and verifying that the tcp connection is still active.
Cheers, Daniel