Subject: [Sip] Max-Forwards in ACK for non-2xx

From: "Jeroen van Bemmel" <[email-masked]>
Date: Wed, 14 Jun 2006 08:29:59 +0200

RFC3261 section 17.1.1.3 describes how an ACK for a non-2xx response should be constructed. Although not explicitly mentioned in the text there, the example shows that a Max-Forwards header should be included (default: 70) as per 8.1.1

Consider a looping INVITE forwarded statefully. When Max-Forwards reaches 0, a Too Many hops response is generated and sent back upstream. If this response is sent statelessly, the ACK from the previous element (which will have a fresh Max-Forwards: 70) will loop for another 70 hops, in addition to the chain of 1-hop ACKs exchanged between each stateful element

For this scenario, it again seems necessary that a stateless proxy stops non-2xx ACKs for responses it generated. Moreover, perhaps section 17.1.1.3 should be updated to say that the Max-Forwards value should be the same as was used for the INVITE that was forwarded. The ACK should not propagate further than the INVITE

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: "Dale R. Worley" <[email-masked]>
Date: Wed, 14 Jun 2006 14:34:35 -0400

On Wed, 2006-06-14 at 08:29 +0200, Jeroen van Bemmel wrote:
> For this scenario, it again seems necessary that a stateless proxy
> stops non-2xx ACKs for responses it generated. Moreover, perhaps
> section 17.1.1.3 should be updated to say that the Max-Forwards value
> should be the same as was used for the INVITE that was forwarded. The
> ACK should not propagate further than the INVITE

This seems to be a particularly nasty case of a general truth: if a SIP
agent generates a response, it really can't do so statelessly, as it is
acting more like a UA than a proxy, in that it is creating a to-tag,
etc.

Dale

---

From: "Alberto Cuda" <[email-masked]>
Date: Thu, 15 Jun 2006 10:17:06 +0200

>acting more like a UA than a proxy, in that it is creating a to-tag,
Why does it need to be stateful? I suppose that if it uses some
hash on invariant fields (like the top Via header), it does not
need to be more stateful than when it is forwarding a
retransmission and has to generate the same branch tag...

    Cheers.
       Alberto.

--------------------------------------------------------------------

CONFIDENTIALITY NOTICE

This message and its attachments are addressed solely to the persons above and may contain confidential information. If you have received the message in error, be informed that any use of the content hereof is prohibited. Please return it immediately to the sender and delete the message. Should you have any questions, please contact us by replying to [email-masked].

        Thank you

                                        www.telecomitalia.it

--------------------------------------------------------------------

---

From: "Dale R. Worley" <[email-masked]>
Date: Thu, 15 Jun 2006 08:41:55 -0400

> retransmission and has to generate the same branch tag...

Yes, that's true.

Dale

---

From: "Jeroen van Bemmel" <[email-masked]>
Date: Thu, 15 Jun 2006 18:38:04 +0200

inline

Regards,

jeroen
  ----- Original Message ----- 
  From: Alberto Cuda 
  To: Dale R. Worley 
  Cc: Sip 
  Sent: Thursday, June 15, 2006 10:17 AM
  Subject: Re: [Sip] Max-Forwards in ACK for non-2xx

[JvB] It can be done statelessly (and for example authentication challenges are RECOMMENDED to be done statelessly), but it puts an extra requirement on the handling of ACKs. This should IMHO be stated more clearly in a future update of RFC3261