Subject: RE: [SIP] Question on ACKs for responses > 200

From: "Donovan, Steven R." <[email-masked]>
Date: Thu, 06 Apr 2000 19:22:16 +0000

Sunitha,
 
The correct behavior for ACKs in the scenario you discuss is as follows:
 
A                       P1                        P2
B
INVITE--------------->
                           INVITE----------------->
 
INVITE--------------->
 
<--------------------4XX
 
ACK------------------->
                           <---------------------4XX
                           ACK-------------------->
<------------------- 4XX
ACK-------------------->
 
At each point, the ACK is sent to where the original request was sent.  Note
that P1 and P2 need to add a To tag when sending the response downstream to
know that the ACK was destined for them and not for B.
 
This is different then a 200 OK response, which looks like:
 
A                       P1                        P2
B
INVITE--------------->
                           INVITE----------------->
 
INVITE--------------->
 
<--------------------200
                           <---------------------200
<------------------- 200
ACK-------------------->
                           ACK-------------------->
 
ACK------------------->
 
In this case, the ACK is sent per the rules you mention (route if available,
etc.)
 
This is all fairly clearly described in section 10.5.1.
 
Steve

-----Original Message-----
From: Sunitha Kumar [mailto:[email-masked]]
Sent: Tuesday, April 04, 2000 9:58 PM
To: SIPbell-labs
Subject: [SIP] Question on ACKs for responses > 200

For ACKS, it is given that the ACK request Uri is based on the Route (if
any), else the Contact(if any)
else the To field of the 200 response.

Does this hold good for all other responses, such as > 200 status
codes.(because the
record route makes sense only for 200 )
The reason for this question is:
Consider a situation such as:

endpt A --INVITE----> proxy A ----INVITE--> proxy B----> endpt B.

endpt B ---4xx----> proxy B  and proxy B ---ACKs---> endpt B and this
continues to endpt A.
Here, how does proxy B know endpt B's address to send it an ACK.

Thanks!
-- 

Sunitha Kumar

Software Engineer

Vovida Networks

(408) 383-1076

---

From: [email-masked]
Date: Thu, 6 Apr 2000 15:57:02 -0500

Given the message flow shown below, and assuming that P1and P2 are stateless
UDP proxies, how would reliability be assured?
 
A                       P1                        P2
B
INVITE--------------->
                           INVITE----------------->
 
INVITE--------------->
 
<--------------------4XX
 
ACK------------------->
 
----
Eric Cooper
[email-masked] <mailto:[email-masked]> 
(613) 271-6805

_______________________________________________
SIP mailing list
[email-masked]
http://lists.bell-labs.com/mailman/listinfo/sip

---

From: "Donovan, Steven R." <[email-masked]>
Date: Thu, 06 Apr 2000 21:32:19 +0000

This flow does not apply to stateless proxies.  As stated in section 12.3 of
the RFC:

"...a stateless proxy forwards every request it
   receives downstream, and every response it receives upstream."

Thus the stateless proxy does not send the ACK.

I'm not sure I understand your question on reliability.

Steve

> From: [email-masked] [mailto:[email-masked]]
> Sent: Thursday, April 06, 2000 3:57 PM
> To: [email-masked]
> Subject: RE: [SIP] Question on ACKs for responses > 200
> 
>

---

From: "Donovan, Steven R." <[email-masked]>
Date: Fri, 07 Apr 2000 17:40:43 +0000

Eric,

"Stateless proxy" and "UDP proxy" are not synonymous terms.  A stateful
proxy can support UDP.  The only limitation with regards to TCP and UDP is
that a proxy that supports TCP for an individual request must be stateful
for that request.  

Steve

> Sent: Friday, April 07, 2000 8:03 AM
> To: Donovan, Steven R.; [email-masked]
> I apologize for the formatting problem in the previous 
> message, but it seems
> like the question was understood.
> 
> If UDP proxies do not send ACKs, then that clears it up for me.
> I was reading section 4.2.2: 
> 
> 2xx responses are acknowledged by client user agents, all other final
> responses by the first proxy or client user agent to receive 
> the response.
> 
> It sounds like that only applies to TCP proxies.
> 
> Although it's moot now, I was wondering about the reliability 
> of the 4XX on
> it's way back to A.  If it were ACKed by P2, and lost between 
> P2 and P1, or
> P1 and A, then I figured that the INVITE would be have to be 
> retransmitted
> by A, which didn't seem correct.
> 
> Thanks for clarifying.
> 
> Eric.
> 
> From: EXT Donovan, Steven R. [mailto:[email-masked]]
> Sent: Thursday, April 06, 2000 5:32 PM
> To: [email-masked]'; [email-masked]