[reSIProcate] CSeq is incorrect in NOTIFY generated by DUM on SUBSCRIBE
Scott Godin
sgodin at sipspectrum.com
Tue Feb 24 13:19:09 CST 2009
Ah - I didn't realize that initial was different than max -
that definitely helps.
On Tue, Feb 24, 2009 at 2:15 PM, Adam Roach <adam at nostrum.com> wrote:
> Hmmm... given that initial CSeq must be in the range of [0,2^31), and max
> CSeq is in the range of [0,2^32), you have somewhat more than 2 billion
> transactions before you roll the CSeq space. I know the US Congress has
> kinda numbed us to the real meaning of "billion," but that would take a long
> time... about 68 years, if you send one transaction per second.
>
> /a
>
> Scott Godin wrote:
>
>> I just did a quick scan of the code - it seems that the only time we check
>> CSeq ordering is for ClientISubscriptions when receiving NOTIFY requests.
>>
>> Perhaps we should add a CSeq order check to Dialog.cxx, instead of just
>> removing mRemoteCSeq. We will just need to be careful about being tolerant
>> of CSeq roll overs.
>>
>> Scott
>>
>> On Tue, Feb 24, 2009 at 12:06 PM, Robert Sparks <rjsparks at nostrum.com<mailto:
>> rjsparks at nostrum.com>> wrote:
>>
>> We don't check for out-of-order requests?
>>
>>
>> On Feb 24, 2009, at 10:59 AM, Adam Roach wrote:
>>
>> I think (hope) Jason was talking about removing the "remote
>> cseq" field. I'd wait for him to get to a non-virtual keyboard
>> -- where he can examine the code himself -- for clarification.
>>
>> /a
>>
>>
>> Robert Sparks wrote:
>>
>> Well, if there was to be a change, it would not be to use
>> the CSeq from the other side, but rather to start at
>> somewhere random instead of always at 1.
>>
>> While I don't really see a need to change to this random
>> start (because I don't see any benefit), I'm really
>> uncomfortable with the claim you're making here that it
>> might do harm.
>>
>> (I agree with watching out for unintended consequences in
>> general, but for this particular instance, if the change
>> broke some peer, then introducing a challenging proxy, for
>> instance,
>> would break that same peer).
>>
>> RjS
>>
>> On Feb 24, 2009, at 9:52 AM, Jason Fischl wrote:
>>
>> My gut feeling here is to leave it unchanged. These
>> kind of changes may have unintended consequences.
>>
>> Sent from my iPhone
>>
>> On Feb 24, 2009, at 6:55, Adam Roach <adam at nostrum.com
>> <mailto:adam at nostrum.com>> wrote:
>>
>> Volodymyr:
>>
>> Thanks for the suggestion.
>>
>> In terms of the local CSeq: According to RFC 3261,
>> The CSeq number space is unique in each direction.
>> In other words, the CSeq in the NOTIFY is
>> completely unrelated to the CSeq in the SUBSCRIBE.
>> The original code is correct.
>>
>> I agree with you that the remote CSeq is not used,
>> and can likely be removed. I'd be interested to
>> have Scott, Jason, and Derek weigh in on whether
>> this can be safely removed, or if there are some
>> future plans for it.
>>
>> /a
>>
>> Volodymyr Tarasenko wrote:
>>
>> Hi All,
>>
>> As I see dum is incorrectly generates CSeq in
>> NOTIFY in case when SUBSCRIBE's SCeq was not
>> 1. NOTIFY's CSeq always starts from 2 in spite
>> of CSeq in SUBSCRIBE was not 1.
>> The fast patch is very simple:
>>
>> --- resip/dum/Dialog.cxx
>> +++ resip/dum/Dialog.cxx
>> @@ -136,7 +136,7 @@
>> }
>>
>> mRemoteCSeq =
>> request.header(h_CSeq).sequence();
>> - mLocalCSeq = 1;
>> + mLocalCSeq =
>> request.header(h_CSeq).sequence();
>>
>> DebugLog ( << "************** Created
>> Dialog as UAS **************" );
>> DebugLog ( << "mRemoteNameAddr: " <<
>> mRemoteNameAddr );
>>
>> Also, after code review I've found that
>> mRemoteCSeq is never used and looks like it
>> could be safety removed.
>>
>> Regards,
>> Volodymyr!
>>
>>
>> _______________________________________________
>> resiprocate-devel mailing list
>> resiprocate-devel at resiprocate.org
>> <mailto:resiprocate-devel at resiprocate.org>
>>
>> https://list.resiprocate.org/mailman/listinfo/resiprocate-devel
>>
>>
>> _______________________________________________
>> resiprocate-devel mailing list
>> resiprocate-devel at resiprocate.org
>> <mailto:resiprocate-devel at resiprocate.org>
>>
>> https://list.resiprocate.org/mailman/listinfo/resiprocate-devel
>>
>> _______________________________________________
>> resiprocate-devel mailing list
>> resiprocate-devel at resiprocate.org
>> <mailto:resiprocate-devel at resiprocate.org>
>>
>> https://list.resiprocate.org/mailman/listinfo/resiprocate-devel
>>
>>
>>
>>
>> _______________________________________________
>> resiprocate-devel mailing list
>> resiprocate-devel at resiprocate.org
>> <mailto:resiprocate-devel at resiprocate.org>
>> https://list.resiprocate.org/mailman/listinfo/resiprocate-devel
>>
>>
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://list.resiprocate.org/pipermail/resiprocate-devel/attachments/20090224/eca1b82e/attachment.htm>
More information about the resiprocate-devel
mailing list