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

RE: [reSIProcate] reINVITE problem


I've just finished writing the way ACK handling works.  In the process
I've solved the problems with 2xx retransmissions.  This issue should
now be fixed.

Thanks,

Scott

> -----Original Message-----
> From: resiprocate-devel-bounces@xxxxxxxxxxxxxxxxxxx
[mailto:resiprocate-
> devel-bounces@xxxxxxxxxxxxxxxxxxx] On Behalf Of Scott Godin
> Sent: Tuesday, September 20, 2005 8:48 AM
> To: Christian_Gavin@xxxxxxxxxxxx;
resiprocate-devel@xxxxxxxxxxxxxxxxxxx
> Subject: 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
> _______________________________________________
> resiprocate-devel mailing list
> resiprocate-devel@xxxxxxxxxxxxxxxxxxx
> https://list.sipfoundry.org/mailman/listinfo/resiprocate-devel