< Previous by Date Date Index Next by Date >
  Thread Index  

[reSIProcate] Non-INVITE timer


Hi,

I am looking at reducing the time it takes for the presence status of a
contact from the contact list to go to "offline" after that contact loses
network connectivity and stops responding to SUBSCRIBEs. (I am talking
about peer to peer presence)

After a SUBSCRIBE does not receive a response, retries are attempted at 1s,
2s and at 4s intervals. After that, the F timer expires (64*T1, 32 seconds
by default) and the proxy sends a 408 timeout back to the client. However,
resiprocate keeps trying until at least another 2 408 responses are
received. A final SUBSCRIBE is then sent with a weird request URI ("sip:")
and that gets a 479 "Regretfully we were not able to process the URI"
response from the proxy.

It seems like only after the 479 is received does resiprocate consider the
subscription terminated. How can I consider the subscription terminated as
soon as the first 408 is received? How can I control how many times
resiprocate resubmits SUBSCRIBE requests?

Thanks,
Christian