[reSIProcate] cseq issue with Dialog makeRequest

Jeremy Geras jgeras at counterpath.com
Wed May 30 14:32:31 CDT 2012


Hi,

This is concerning the following, where we are the UAC sending the SUBSCRIBEs:

SUBSCRIBE (CSeq: 1)
407/SUBSCRIBE (CSeq: 1)
SUBSCRIBE (CSeq: 2)
NOTIFY
200/SUBSCRIBE (CSeq: 2)
200/NOTIFY
(one hour goes by, and our subscription refresh timer fires)
SUBSCRIBE (CSeq: 2)  <---  issue

It looks to me like:

 - DialogSet invokes the ClientAuthManager to get the SUBSCRIBE w/CSeq: 2 to happen; the mLastRequest in BaseCreator gets updated to CSeq: 2 at this point
 - Dialog never gets updated with CSeq: 2; so when the subscription refresh goes out (formed using Dialog::makeRequest), it has CSeq: 2 (should be 3)

Am I missing something, or does this look like a legit issue?

(In our case it manifests itself in our not including Route headers on a re-SUBSCRIBE because we happen to get a 200/SUBSCRIBE response that doesn't include Record-Route headers -- and, because of the CSeq issue, we reset the route set based on that 200/SUBSCRIBE [the code thinks it was the "first 200 OK response", but it was obviously not]).

Thanks,
Jeremy
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://list.resiprocate.org/pipermail/resiprocate-devel/attachments/20120530/dd6d2700/attachment.htm>


More information about the resiprocate-devel mailing list