RE: [reSIProcate] reINVITE problem
I haven't seen this problem - but I can understand how it would happen.
To fix this - we need a mechanism to determine if a particular 200
response is a retransmission or not and provide different treatment.
I'll give this some thought.
Scott
> -----Original Message-----
> From: resiprocate-devel-bounces@xxxxxxxxxxxxxxxxxxx
[mailto:resiprocate-
> devel-bounces@xxxxxxxxxxxxxxxxxxx] On Behalf Of
> Christian_Gavin@xxxxxxxxxxxx
> Sent: Monday, September 19, 2005 7:13 PM
> To: resiprocate-devel@xxxxxxxxxxxxxxxxxxx
> Subject: [reSIProcate] reINVITE problem
>
> Hi,
>
> I am seeing a race condition where a user agent mistakenly receives an
> OnAnswer callback for the wrong sequence (I am using 0.9)
>
> Here is what is happening (I have skipped the 100 Trying and 180
Ringing
> messages for clarity):
>
> 1) UA1 ---- INVITE ----> UA2
> (Cseq: 1 INVITE)
>
> 2) UA1 <----OK with SDP ---- UA2
> (CSeq: 1 INVITE)
> ===> fires an OnAnswer callback, this is correct
>
> 3) UA1 ------ ACK -----> UA2
> (CSeq: 1 ACK)
>
> 4) UA1 ---- re INVITE ---> UA2
> (CSeq:2 INVITE)
>
> 5) UA1 <----OK with SDP ---- UA2
> (CSeq: 1 INVITE)
> (this one is a resend of 2)
> ===> fires an OnAnswer callback, this is incorrect (was already fired
when
> message 2) was received)
>
> 6) UA1 ------ ACK -----> UA2
> (CSeq: 1 ACK)
> (this is an ACK to message 5)
>
> 7) UA1 <--- OK with SDP ---- UA2
> (CSeq:2 INVITE)
> ====> this is the response to the second reinvite, doesn't fire an
> OnAnswer
> callback
>
> 8) UA1 ------ ACK -----> UA2
> (CSeq: 2 ACK)
>
> When my user agent (UA1) receives the retransmitted message 5), it
thinks
> it is an answer to the reinvite (message 4). However, even if the Call
ID
> is identical, the call sequence is different. Nonetheless the OnAnswer
> callback is fired with the SDP corresponding to the answer to the
first
> INVITE, not the second.
>
> Has anyone seen this before?
>
> Thanks,
> Christian
>
> _______________________________________________
> resiprocate-devel mailing list
> resiprocate-devel@xxxxxxxxxxxxxxxxxxx
> https://list.sipfoundry.org/mailman/listinfo/resiprocate-devel