Presence: 500 Invalid CSeq after subscription renewal

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Sun, Mar 30, 2008 at 8:09 PM, Ramzi Touma <rtt00 at aub.edu.lb> wrote:
>
> Thanks Benny for the prompt reply.
>
> I see what you mean, but the thing is I had tried the same exact setup with
> the XLITE client and it worked fine (i.e. it accepted the Notify messages'
> CSeq even though it was less than the previous CSeqs of Notifies. I think
> that maybe in the case of XLITE the program accepts NOTIFY messages with
> CSeq larger than the last CSeq of last "Subscribe" sent and so hence it
> would in this case accept the 8945 since it is larger than the 8944 of the
> refresh subscribe. (somehow the counter resets back to that of the last
> subscribe CSeq  I guess).

I don't know about that, but the rule regarding CSeq is pretty clear I
guess, so maybe there's something else that explains that. It would be
interesting to compare the message logs between the two though.

> And by the way, you're saying that the NOTIFY and SUBSCRIBE are two
> different direction dialogues, which is true, but how do you explain the
> fact that the NOTIFY msgs that result from SUBSCRIBE messages always have a
> NOTIFY CSeq = SUBSCRIBE's CSeq + 1 ? ?
>

I don't know about that either. The server is free to choose its
initial CSeq sequence number, but once it's chosen it must be
incremented monotonically. And here I have OpenSER 1.3.1 with presence
module and it doesn't behave like that (it choses one as initial
sequence number and it increments it on subsequent NOTIFY's regardless
of the sequence number of SUBSCRIBE).

> So my point here is:  shouldn't PJSIP reconfigure its CSeq counter with that
> of every SUBSCRIBE sent at every subscription refresh so that it wouldn't
> reject the CSeq as what happened in my diagram?
>

But this will violate RFC 3261.

> Anyway I would really appreciate if you could guide me as to where I could
> find the control code for that behavior in the source. I am thinking of
> changing the behavior so that it would accept such CSeqs. I looked in the
> pjsip_simple and pjsua_pres.c but still no luck :S
>

Why would you change something to violate the standard? Unless I miss
something, there's probably something fishy going on with your server
configuration. Here my OpenSER 1.3.1 with presence module works fine.

Cheers
 Benny

>
> Any help would be greatly appreciated J
>
>
>
> Thanks again,
>
>
>
>
> Ramzi T. Touma
>
> Electrical and Computer Engineering
>
> American University of Beirut
>
> P.O. Box 11-0236/ 5555
>
> Riad el Solh Square 1107 - 2020
>
>
> Email: rtt00 at aub.edu.lb
>
>
> _______________________________________________
>  Visit our blog: http://blog.pjsip.org
>
>  pjsip mailing list
>  pjsip at lists.pjsip.org
>  http://lists.pjsip.org/mailman/listinfo/pjsip_lists.pjsip.org
>
>



[Index of Archives]     [Asterisk Users]     [Asterisk App Development]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux]     [Linux OMAP]     [Linux MIPS]     [Linux API]
  Powered by Linux