Skip to main content

Loop Detection Mechanisms for Session Initiation Protocol (SIP) Back-to-Back User Agents (B2BUAs)
draft-ietf-straw-b2bua-loop-detection-04

Revision differences

Document history

Date Rev. By Action
2014-08-11
04 (System) RFC Editor state changed to AUTH48-DONE from AUTH48
2014-07-28
04 (System) RFC Editor state changed to AUTH48 from RFC-EDITOR
2014-07-28
04 (System) RFC Editor state changed to RFC-EDITOR from EDIT
2014-06-20
04 Amy Vezza IESG state changed to RFC Ed Queue from Approved-announcement sent
2014-06-20
04 (System) RFC Editor state changed to EDIT
2014-06-20
04 (System) Announcement was received by RFC Editor
2014-06-19
04 (System) IANA Action state changed to No IC from In Progress
2014-06-19
04 (System) IANA Action state changed to In Progress
2014-06-19
04 Amy Vezza IESG state changed to Approved-announcement sent from Approved-announcement to be sent::Point Raised - writeup needed
2014-06-19
04 Amy Vezza IESG has approved the document
2014-06-19
04 Amy Vezza Closed "Approve" ballot
2014-06-19
04 Amy Vezza Ballot writeup was changed
2014-05-15
04 Cindy Morgan IESG state changed to Approved-announcement to be sent::Point Raised - writeup needed from IESG Evaluation
2014-05-15
04 Jari Arkko [Ballot Position Update] New position, No Objection, has been recorded for Jari Arkko
2014-05-14
04 Alia Atlas [Ballot comment]
I also agree with Adrian's comment.  Decrementing by at least 1 but possibly more is a way of obfuscating hops taken.
2014-05-14
04 Alia Atlas [Ballot Position Update] New position, No Objection, has been recorded for Alia Atlas
2014-05-14
04 Kathleen Moriarty
[Ballot comment]
I agree with Adrian and Stephen's comments on other for obfuscation discussed in the security considerations section rather than resetting the number of …
[Ballot comment]
I agree with Adrian and Stephen's comments on other for obfuscation discussed in the security considerations section rather than resetting the number of hops.
2014-05-14
04 Kathleen Moriarty [Ballot Position Update] New position, No Objection, has been recorded for Kathleen Moriarty
2014-05-14
04 Martin Stiemerling [Ballot Position Update] New position, No Objection, has been recorded for Martin Stiemerling
2014-05-13
04 Spencer Dawkins
[Ballot comment]
I'm really glad to see this moving forward (because I've also talked to some of the folk who have had the pleasure of …
[Ballot comment]
I'm really glad to see this moving forward (because I've also talked to some of the folk who have had the pleasure of Max-Forwards=70 meltdowns). The recommendations seem clear and reasonable, and I'm happy to ballot Yes, with one nosy question. (I also agree with Barry's comment, and think I agree with Pete's as well, but you've already seen those).

This text:

  If the received request did not contain a Max-Forwards header field,
  one MUST be created in any request generated in the UAC side, which
  SHOULD be 70, as described for Proxies in section 16.6 part 3 of
  [RFC3261].

points back to this text:

      3. Max-Forwards

        If the copy contains a Max-Forwards header field, the proxy
        MUST decrement its value by one (1).

        If the copy does not contain a Max-Forwards header field, the
        proxy MUST add one with a field value, which SHOULD be 70.

        Some existing UAs will not provide a Max-Forwards header field
        in a request.

in a proposed standard published in 2002. I'm looking at the definition in 20.22 Max-Forwards, which says

  This header field should be inserted by elements that can not
  otherwise guarantee loop detection.  For example, a B2BUA should
  insert a Max-Forwards header field.

So, what I'm wondering is, and a "no" answer would terminate my questions, which are pipelined just to avoid roundtrip latencies :-)

- Are UAs that don't insert Max-Forwards still deployed? If so,

- Would a spiral back out to a proxy or B2BUA that doesn't insert Max-Forwards still be vulnerable to the endless looping problem that this draft is addressing? If so,

I wouldn't dream of asking you to figure out how to detect such a loop (and especially not when what you've already got is a huge improvement and doing so would hold you up), but I'm wondering if it would make sense to

- point this problem out in the draft, and/or

- consider whether a short BCP on "omitting Max-Forwards considered harmful" would have any positive effect.
2014-05-13
04 Spencer Dawkins [Ballot Position Update] New position, Yes, has been recorded for Spencer Dawkins
2014-05-13
04 Benoît Claise [Ballot Position Update] New position, No Objection, has been recorded for Benoit Claise
2014-05-13
04 Pete Resnick
[Ballot comment]
In section 5:

  B2BUAs MAY perform the same actions for in-dialog
  requests, but doing so may cause issues with devices that …
[Ballot comment]
In section 5:

  B2BUAs MAY perform the same actions for in-dialog
  requests, but doing so may cause issues with devices that set Max-
  Forwards values based upon the number of received Via or Record-Route
  headers.

Don't you instead mean:

  B2BUAs SHOULD NOT perform the same actions for in-dialog requests,
  because doing so may cause issues with devices that set Max-
  Forwards values based upon the number of received Via or Record-Route
  headers.
2014-05-13
04 Pete Resnick Ballot comment text updated for Pete Resnick
2014-05-13
04 Pete Resnick
[Ballot comment]
In section 5:

  B2BUAs MAY perform the same actions for in-dialog
  requests, but doing so may cause issues with devices that …
[Ballot comment]
In section 5:

  B2BUAs MAY perform the same actions for in-dialog
  requests, but doing so may cause issues with devices that set Max-
  Forwards values based upon the number of received Via or Record-Route
  headers.

Don't you instead mean:

  B2BUAs SHOULD NOT perform the same actions for in-dialog
  requests, because doing so may cause issues with devices that set Max-
  Forwards values based upon the number of received Via or Record-Route
  headers.
2014-05-13
04 Pete Resnick [Ballot Position Update] New position, No Objection, has been recorded for Pete Resnick
2014-05-13
04 Stephen Farrell
[Ballot comment]

Section 5: Does "decrement" here mean "reduce" or
"reduce-by-exactly-1"? If the former, then you might even
need to say to watch out in …
[Ballot comment]

Section 5: Does "decrement" here mean "reduce" or
"reduce-by-exactly-1"? If the former, then you might even
need to say to watch out in case the value is less than zero
(or would be after decrementing). If the latter, which I
guess is the case (since that's what's in 3261) maybe say so
just to be sure. No big deal if you're ok with it as-is.

I also agree with Adrian's comment.
2014-05-13
04 Stephen Farrell [Ballot Position Update] New position, No Objection, has been recorded for Stephen Farrell
2014-05-12
04 Ted Lemon [Ballot Position Update] New position, No Objection, has been recorded for Ted Lemon
2014-05-12
04 Alissa Cooper [Ballot comment]
Section 9:
"Funding for the RFC Editor function is provided by the IETF
  Administrative Support Activity (IASA)."

What is this doing here?
2014-05-12
04 Alissa Cooper [Ballot Position Update] New position, No Objection, has been recorded for Alissa Cooper
2014-05-11
04 Joel Jaeggli [Ballot Position Update] New position, No Objection, has been recorded for Joel Jaeggli
2014-05-11
04 Adrian Farrel [Ballot comment]
Obfuscation of the number of hops traversed so far can surely be allowed provided that it always reduces the TTL.
2014-05-11
04 Adrian Farrel Ballot comment text updated for Adrian Farrel
2014-05-11
04 Adrian Farrel [Ballot Position Update] New position, No Objection, has been recorded for Adrian Farrel
2014-05-08
04 Brian Haberman [Ballot Position Update] New position, No Objection, has been recorded for Brian Haberman
2014-05-05
04 Barry Leiba
[Ballot comment]
Two non-blocking comments:

1. You should expand "UAC" and "UAS" on first use.

2. -- Section 4 --

  It is RECOMMENDED that …
[Ballot comment]
Two non-blocking comments:

1. You should expand "UAC" and "UAS" on first use.

2. -- Section 4 --

  It is RECOMMENDED that B2BUAs implement the loop-detection mechanism
  for the Via header field, as defined for a Proxy in [RFC5393].

Why "RECOMMENDED" and not "REQUIRED"?  It would be good to explain, to give guidance about when it might be appropriate not to.
2014-05-05
04 Barry Leiba [Ballot Position Update] New position, No Objection, has been recorded for Barry Leiba
2014-05-01
04 Richard Barnes IESG state changed to IESG Evaluation from Waiting for AD Go-Ahead
2014-05-01
04 Richard Barnes Placed on agenda for telechat - 2014-05-15
2014-05-01
04 Richard Barnes Ballot has been issued
2014-05-01
04 Richard Barnes [Ballot Position Update] New position, Yes, has been recorded for Richard Barnes
2014-05-01
04 Richard Barnes Created "Approve" ballot
2014-05-01
04 Richard Barnes IESG state changed to Waiting for AD Go-Ahead from Waiting for Writeup
2014-04-25
04 (System) IESG state changed to Waiting for Writeup from In Last Call
2014-04-24
04 Tero Kivinen Request for Last Call review by SECDIR Completed: Has Nits. Reviewer: Chris Lonvick.
2014-04-23
04 (System) IANA Review state changed to IANA OK - No Actions Needed from IANA - Review Needed
2014-04-23
04 Pearl Liang
IESG/Authors/WG Chairs:

IANA has reviewed draft-ietf-straw-b2bua-loop-detection-04, which is currently in Last Call, and has the following comments:

We understand that, upon approval of this …
IESG/Authors/WG Chairs:

IANA has reviewed draft-ietf-straw-b2bua-loop-detection-04, which is currently in Last Call, and has the following comments:

We understand that, upon approval of this document, there are no IANA Actions that need completion. 

While it is helpful for the IANA Considerations section of the document to remain in place upon publication, if the authors prefer to remove it, IANA doesn't object.

If this assessment is not accurate, please respond as soon as possible.
2014-04-18
04 Gunter Van de Velde Request for Last Call review by OPSDIR Completed: Has Nits. Reviewer: Warren Kumari.
2014-04-17
04 Tero Kivinen Request for Last Call review by SECDIR is assigned to Chris Lonvick
2014-04-17
04 Tero Kivinen Request for Last Call review by SECDIR is assigned to Chris Lonvick
2014-04-16
04 Jean Mahoney Request for Last Call review by GENART is assigned to Wassim Haddad
2014-04-16
04 Jean Mahoney Request for Last Call review by GENART is assigned to Wassim Haddad
2014-04-14
04 Gunter Van de Velde Request for Last Call review by OPSDIR is assigned to Warren Kumari
2014-04-14
04 Gunter Van de Velde Request for Last Call review by OPSDIR is assigned to Warren Kumari
2014-04-11
04 Amy Vezza IANA Review state changed to IANA - Review Needed
2014-04-11
04 Amy Vezza
The following Last Call announcement was sent out:

From: The IESG
To: IETF-Announce
CC:
Reply-To: ietf@ietf.org
Sender:
Subject: Last Call:  (Loop Detection Mechanisms for Session …
The following Last Call announcement was sent out:

From: The IESG
To: IETF-Announce
CC:
Reply-To: ietf@ietf.org
Sender:
Subject: Last Call:  (Loop Detection Mechanisms for Session Initiation Protocol (SIP) Back-to- Back User Agents (B2BUAs)) to Proposed Standard


The IESG has received a request from the Sip Traversal Required for
Applications to Work WG (straw) to consider the following document:
- 'Loop Detection Mechanisms for Session Initiation Protocol (SIP) Back-
  to- Back User Agents (B2BUAs)'
  as Proposed Standard

The IESG plans to make a decision in the next few weeks, and solicits
final comments on this action. Please send substantive comments to the
ietf@ietf.org mailing lists by 2014-04-25. Exceptionally, comments may be
sent to iesg@ietf.org instead. In either case, please retain the
beginning of the Subject line to allow automated sorting.

Abstract


  SIP Back-to-Back User Agents (B2BUAs) can cause unending SIP request
  routing loops because, as User Agent Clients, they can generate SIP
  requests with new Max-Forwards values.  This document discusses the
  difficulties associated with loop detection for B2BUAs, and
  requirements for them to prevent infinite loops.




The file can be obtained via
http://datatracker.ietf.org/doc/draft-ietf-straw-b2bua-loop-detection/

IESG discussion can be tracked via
http://datatracker.ietf.org/doc/draft-ietf-straw-b2bua-loop-detection/ballot/


No IPR declarations have been submitted directly on this I-D.


2014-04-11
04 Amy Vezza IESG state changed to In Last Call from Last Call Requested
2014-04-11
04 Richard Barnes Ballot writeup was changed
2014-04-11
04 Richard Barnes Last call was requested
2014-04-11
04 Richard Barnes Ballot approval text was generated
2014-04-11
04 Richard Barnes IESG state changed to Last Call Requested from Publication Requested
2014-04-11
04 Richard Barnes Last call announcement was generated
2014-04-11
04 Richard Barnes Last call announcement was generated
2014-04-11
04 Richard Barnes Ballot writeup was changed
2014-04-11
04 Richard Barnes Ballot writeup was generated
2014-03-10
04 Christer Holmberg
(1) What type of RFC is being requested (BCP, Proposed Standard, Internet Standard, Informational, Experimental, or Historic)?

Intended status: Standards Track


Why is this the …
(1) What type of RFC is being requested (BCP, Proposed Standard, Internet Standard, Informational, Experimental, or Historic)?

Intended status: Standards Track


Why is this the proper type of RFC?

The document contains normative procedures.

Is this type of RFC indicated in the title page header?

Yes.


(2) The IESG approval announcement includes a Document Announcement Write-Up. Please provide such a Document Announcement Write-Up. Recent examples can be found in the "Action" announcements for approved documents. The approval announcement contains the following sections:

Technical Summary:

Relevant content can frequently be found in the abstract and/or introduction of the document. If not, this may be an indication that there are deficiencies in the abstract or introduction.

SIP provides a means of preventing infinite request forwarding loop in [RFC3261], and a means of mitigating parallel forking amplification floods in [RFC5393].  Neither document normatively defines specific behavior for B2BUAs, however.

Unbounded SIP request loops have actually occurred in SIP deployments, numerous times. The cause of loops is usually misconfiguration, but the reason they have been unbounded/unending is they crossed B2BUAs that reset the Max-Forwards value in the SIP requests they generated on their UAC side.  Although such behavior is technically legal per [RFC3261] because a B2BUA is a UAC, the resulting unbounded loops have caused service outages and make troubleshooting difficult.

Furthermore, [RFC5393] also provides a mechanism to mitigate the impact of parallel forking amplification issues, through the use of a "Max-Breadth" header field.  If a B2BUA does not pass on this header field, parallel forking amplification is not mitigated with the [RFC5393] mechanism.

This document defines normative requirements for Max-Forwards and Max-Breadth header field behaviors of B2BUAs, in order to mitigate the effect of loops and parallel forking amplification.

Working Group Summary:

Was there anything in WG process that is worth noting? For example, was there controversy about particular points or were there decisions where the consensus was particularly rough?

The WG path of this document was reasonably short and efficient. Several technical comments were made during reviews and all were resolved with consensus.

There is consensus in the STRAW WG to publish this document.

Document Quality:

Are there existing implementations of the protocol? Have a significant number of vendors indicated their plan to implement the specification? Are there any reviewers that merit special mention as having done a thorough review, e.g., one that resulted in important changes or a conclusion that the document had no substantive issues? If there was a MIB Doctor, Media Type or other expert review, what was its course (briefly)? In the case of a Media Type review, on what date was the request posted?

The guidelines and procedures in the document is based on input  and experience from the implementer community.

Personnel:

Who is the Document Shepherd?


Christer Holmberg (christer.holmberg@ericsson.com -- STRAW WG co-chair).

Who is the Responsible Area Director?

Gonzalo Camarillo.


(3) Briefly describe the review of this document that was performed by the Document Shepherd. If this version of the document is not ready for publication, please explain why the document is being forwarded to the IESG.

The document is ready for publication.


(4) Does the document Shepherd have any concerns about the depth or breadth of the reviews that have been performed?

No.


(5) Do portions of the document need review from a particular or from broader perspective, e.g., security, operational complexity, AAA, DNS, DHCP, XML, or internationalization? If so, describe the review that took place.

No.


(6) Describe any specific concerns or issues that the Document Shepherd has with this document that the Responsible Area Director and/or the IESG should be aware of? For example, perhaps he or she is uncomfortable with certain parts of the document, or has concerns whether there really is a need for it. In any event, if the WG has discussed those issues and has indicated that it still wishes to advance the document, detail those concerns here.

No concerns.


(7) Has each author confirmed that any and all appropriate IPR disclosures required for full conformance with the provisions of BCP 78 and BCP 79 have already been filed. If not, explain why?

Yes.


(8) Has an IPR disclosure been filed that references this document? If so, summarize any WG discussion and conclusion regarding the IPR disclosures.

No.


(9) How solid is the WG consensus behind this document? Does it represent the strong concurrence of a few individuals, with others being silent, or does the WG as a whole understand and agree with it?

The WG as a whole understand and agree with it.


(10) Has anyone threatened an appeal or otherwise indicated extreme discontent? If so, please summarise the areas of conflict in separate email messages to the Responsible Area Director. (It should be in a separate email because this questionnaire is publicly available.)

No.


(11) Identify any ID nits the Document Shepherd has found in this document. (See http://www.ietf.org/tools/idnits/ and the Internet-Drafts Checklist). Boilerplate checks are not enough; this check needs to be thorough.

idnits 2.13.00


/tmp/draft-ietf-straw-b2bua-loop-detection-04.txt:


Checking boilerplate required by RFC 5378 and the IETF Trust (see

http://trustee.ietf.org/license-info):

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


    No issues found here.


  Checking nits according to http://www.ietf.org/id-info/1id-guidelines.txt:

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


    No issues found here.


  Checking nits according to http://www.ietf.org/id-info/checklist :

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


    No issues found here.


  Miscellaneous warnings:

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


    No issues found here.


  Checking references for intended status: Proposed Standard

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


    (See RFCs 3967 and 4897 for information about using normative references

    to lower-maturity documents in RFCs)


    No issues found here.


    No nits found.

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


(12) Describe how the document meets any required formal review criteria, such as the MIB Doctor, media type, and URI type reviews.

Not Applicable.


(13) Have all references within this document been identified as either normative or informative?

Yes.


(14) Are there normative references to documents that are not ready for advancement or are otherwise in an unclear state? If such normative references exist, what is the plan for their completion?

No.


(15) Are there downward normative references references (see RFC 3967)? If so, list these downward references to support the Area Director in the Last Call procedure.

No.


(16) Will publication of this document change the status of any existing RFCs? Are those RFCs listed on the title page header, listed in the abstract, and discussed in the introduction? If the RFCs are not listed in the Abstract and Introduction, explain why, and point to the part of the document where the relationship of this document to the other RFCs is discussed. If this information is not in the document, explain why the WG considers it unnecessary.

No.


(17) Describe the Document Shepherd's review of the IANA considerations section, especially with regard to its consistency with the body of the document. Confirm that all protocol extensions that the document makes are associated with the appropriate reservations in IANA registries. Confirm that any referenced IANA registries have been clearly identified. Confirm that newly created IANA registries include a detailed specification of the initial contents for the registry, that allocations procedures for future registrations are defined, and a reasonable name for the new registry has been suggested (see RFC 5226).

This document makes no request or reference to IANA.


(18) List any new IANA registries that require Expert Review for future allocations. Provide any public guidance that the IESG would find useful in selecting the IANA Experts for these new registries.

This document makes no request to IANA.


(19) Describe reviews and automated checks performed by the Document Shepherd to validate sections of the document written in a formal language, such as XML code, BNF rules, MIB definitions, etc.

This document does not use formal language such as XML code, BNF rules or MIB definitions.
2014-03-10
04 Christer Holmberg State Change Notice email list changed to straw-chairs@tools.ietf.org, draft-ietf-straw-b2bua-loop-detection@tools.ietf.org
2014-03-10
04 Christer Holmberg Responsible AD changed to Richard Barnes
2014-03-10
04 Christer Holmberg IETF WG state changed to Submitted to IESG for Publication from WG Document
2014-03-10
04 Christer Holmberg IESG state changed to Publication Requested
2014-03-10
04 Christer Holmberg IESG process started in state Publication Requested
2014-03-10
04 Christer Holmberg Changed document writeup
2014-03-10
04 Christer Holmberg Changed consensus to Yes from Unknown
2014-03-10
04 Christer Holmberg Intended Status changed to Proposed Standard from None
2014-03-10
04 Christer Holmberg Document shepherd changed to Christer Holmberg
2014-02-10
04 Victor Pascual New version available: draft-ietf-straw-b2bua-loop-detection-04.txt
2013-12-03
03 Victor Pascual New version available: draft-ietf-straw-b2bua-loop-detection-03.txt
2013-09-07
02 Victor Pascual New version available: draft-ietf-straw-b2bua-loop-detection-02.txt
2013-08-05
01 Victor Pascual New version available: draft-ietf-straw-b2bua-loop-detection-01.txt
2013-04-18
00 Victor Pascual New version available: draft-ietf-straw-b2bua-loop-detection-00.txt