Subject: [Sip] Bug in RFC3261: Proxy-Require not allowed in ACK

From: "Jeroen van Bemmel" <[email-masked]>
Date: Tue, 23 May 2006 23:53:05 +0200

Table 2 in RFC3261 disallows Proxy-Require in ACK requests (i.e. it has a '-'). Some standards (e.g. RFC3323, RFC3329) seem to rely on the ability to include a Proxy-Require in an ACK to a 2xx response, although they are not very explicit on this.

RFC3261 explicitly says that Proxy-Require MUST NOT be used for CANCEL or ACK to non-2xx (which are hop by hop), but I believe the intention was to allow it for ACK to 2xx. Therefore, table 2 should say 'o' here

Regards,

Jeroen

_______________________________________________
Sip mailing list  https://www1.ietf.org/mailman/listinfo/sip
This list is for NEW development of the core SIP Protocol
Use [email-masked] for questions on current sip
Use [email-masked] for new developments on the application of sip

---

From: Paul Kyzivat <[email-masked]>
Date: Tue, 23 May 2006 20:06:25 -0400

I don't see how this makes any sense. Proxy-Require only makes sense if 
a proxy that doesn't support the option can reject the request. Since 
ACK gets no response there is no way to reject it.

	Paul

Jeroen van Bemmel wrote:
> Table 2 in RFC3261 disallows Proxy-Require in ACK requests (i.e. it has 
> a '-'). Some standards (e.g. RFC3323, RFC3329) seem to rely on the 
> ability to include a Proxy-Require in an ACK to a 2xx response, although 
> they are not very explicit on this.
>  
> RFC3261 explicitly says that Proxy-Require MUST NOT be used for CANCEL 
> or ACK to non-2xx (which are hop by hop), but I believe the intention 
> was to allow it for ACK to 2xx. Therefore, table 2 should say 'o' here
>  
> Regards,
>  
> Jeroen
> 
> 
> ------------------------------------------------------------------------
>

---

From: "James M. Polk" <[email-masked]>
Date: Tue, 23 May 2006 22:51:00 -0500

At 08:06 PM 5/23/2006 -0400, Paul Kyzivat wrote:
>I don't see how this makes any sense. Proxy-Require only makes sense if a 
>proxy that doesn't support the option can reject the request. Since ACK 
>gets no response there is no way to reject it.

...there is no reason to reject it (because nothing is the result).

>         Paul
>
>Jeroen van Bemmel wrote:
>>Table 2 in RFC3261 disallows Proxy-Require in ACK requests (i.e. it has a 
>>'-'). Some standards (e.g. RFC3323, RFC3329) seem to rely on the ability 
>>to include a Proxy-Require in an ACK to a 2xx response, although they are 
>>not very explicit on this.
>>
>>RFC3261 explicitly says that Proxy-Require MUST NOT be used for CANCEL or 
>>ACK to non-2xx (which are hop by hop), but I believe the intention was to 
>>allow it for ACK to 2xx. Therefore, table 2 should say 'o' here
>>
>>Regards,
>>
>>Jeroen
>>

---

From: "Jeroen van Bemmel" <[email-masked]>
Date: Wed, 24 May 2006 08:32:41 +0200

Paul,

At the very least, the current table is confusing with respect to the 
following text in section 8.2.2.3: "An ACK request for a 2xx response MUST 
contain only those Require and Proxy-Require values that were present in the 
initial request."

Although this says "MUST contain *only*" and not "MUST contain", it seems to 
suggest that it is at least allowed to include a Proxy-Require in an ACK to 
2xx.

BTW, now that I notice: also the entry for 'Require' currently says '-' for 
ACK

>gets no response there is no way to reject it.

In some cases 'Proxy-Require' is used to request certain behavior / 
processing from a proxy. For example in RFC3323, if "Privacy: header" is 
added to an ACK, the UA SHOULD add also a 'Proxy-Require: privacy' to ensure 
that the target supports this extension. Although the proxy would not be 
able to respond to the ACK, an element not supporting the extension should 
probably discard the ACK rather than forwarding it (without stripping the 
Via header as required by the extension in this case).

I agree that proxy behavior for 'Proxy-Require' in ACK is different from 
Proxy-Require in normal requests (again: not clearly described, I'm 
speculating that the ACK should be dropped if not supported here). So either 
we disallow Proxy-Require / Require in ACK and update the text in 8.2.2.3, 
or we modify table 2/3 and clarify proxy/UAS behavior for ACK containing 
these headers

Regards,

Jeroen

>> or ACK to non-2xx (which are hop by hop), but I believe the intention was 
>> to allow it for ACK to 2xx. Therefore, table 2 should say 'o' here
>>  Regards,
>>  Jeroen
>>
>>