Hi, I agree that this scenario is a little bit confusing. However, since the 200 OK is reliably sent, the ACK will be retransmitted by the UAC each time it will receive a retransmission of the final response (200). You would say, hey, the transaction is destroyed, the 200 could not be sending reliably.
In section 13.3.1.4. of RFC 3261, you'll find : " Therefore, it is necessary to periodically pass the response directly to the transport until the ACK arrives. The 2xx response is passed to the transport with an interval that starts at T1 seconds and doubles for each retransmission until it reaches T2 seconds (T1 and T2 are defined in Section 17). Response retransmissions cease when an ACK request for the response is received. This is independent of whatever transport protocols are used to send the response." However, " If the server retransmits the 2xx response for 64*T1 seconds without receiving an ACK, the dialog is confirmed, the session should be terminated. " Please refer to this section for more details. Hope this helped, Kevin. > -----Original Message----- > From: [EMAIL PROTECTED] [mailto:sip-implementors- > [EMAIL PROTECTED] On Behalf Of Markus Hofmann > Sent: 8 juin, 2004 08:51 > To: [EMAIL PROTECTED] > Subject: [Sip-implementors] ACK for 2xx lost > > Hi, > > I don't understand following situation: > > UAC ----------- INVITE -------------- > > UAS > state = CALLING > state = PROCEEDING > UAC <-----------200 OK -------------- > UAS > state = TERMINATED > state = TERMINATED > UAC -------- ACK ----- X > UAS > > The UAC sends an INVITE to the UAS. The UAC is able to accept this call > and sends back a 200 OK. Its state machine is going into the state > TERMINATED. The UAC receives the 200 OK and changes its state in > TERMINATED too. Then the UAC sents an ACK with a new via branch parameter > because a new transaction. But this ACK will never reach its target. What > is to do? > I know a dialog is established and the core will handle this ACK on both > sides. But no timer is running to find out that the ACK is lost. No > response will send to the UAC. UAC will never no that the ACK is lost. > What will the UAS do, which waits for this ACK? Will an RTP Session start? > If the ACK has an Message Body with sdp information how would be the > behaviour of the UAS? Will the UAS sends immediately a BYE if they don't > have negotiate the right things. The receiver side doesn't know that an > ACK was send? > > Thank you in advance. > > Markus > __________________________________________________________________ > Zeigen Sie Emotionen mit der WEB.DE Bild-SMS! Das Bild ist gratis, > Sie bezahlen nur den Versand. http://freemail.web.de/?mc=021196 > > _______________________________________________ > Sip-implementors mailing list > [EMAIL PROTECTED] > http://lists.cs.columbia.edu/mailman/listinfo/sip-implementors _______________________________________________ Sip-implementors mailing list [EMAIL PROTECTED] http://lists.cs.columbia.edu/mailman/listinfo/sip-implementors
