Re: [Sip] On The Essentialness of Corrections

Jonathan Rosenberg <> Fri, 14 December 2007 22:35 UTC

Return-path: <>
Received: from [] ( by with esmtp (Exim 4.43) id 1J3J83-0002vU-Ey; Fri, 14 Dec 2007 17:35:35 -0500
Received: from sip by with local (Exim 4.43) id 1J3J82-0002vP-CW for; Fri, 14 Dec 2007 17:35:34 -0500
Received: from [] ( by with esmtp (Exim 4.43) id 1J3J81-0002vH-Uj for; Fri, 14 Dec 2007 17:35:34 -0500
Received: from ([]) by with esmtp (Exim 4.43) id 1J3J81-0004hI-77 for; Fri, 14 Dec 2007 17:35:33 -0500
Received: from ([]) by with ESMTP; 14 Dec 2007 14:35:30 -0800
Received: from ( []) by (8.12.11/8.12.11) with ESMTP id lBEMZURP030597; Fri, 14 Dec 2007 14:35:30 -0800
Received: from ( []) by (8.12.10/8.12.6) with ESMTP id lBEMZ2CR021982; Fri, 14 Dec 2007 22:35:26 GMT
Received: from ([]) by with Microsoft SMTPSVC(6.0.3790.1830); Fri, 14 Dec 2007 14:35:26 -0800
Received: from [] ([]) by with Microsoft SMTPSVC(6.0.3790.1830); Fri, 14 Dec 2007 14:35:25 -0800
Message-ID: <>
Date: Fri, 14 Dec 2007 17:36:05 -0500
From: Jonathan Rosenberg <>
User-Agent: Thunderbird (Windows/20071031)
MIME-Version: 1.0
To: Dean Willis <>
Subject: Re: [Sip] On The Essentialness of Corrections
References: <>
In-Reply-To: <>
Content-Type: text/plain; charset="ISO-8859-1"; format="flowed"
Content-Transfer-Encoding: 7bit
X-OriginalArrivalTime: 14 Dec 2007 22:35:25.0875 (UTC) FILETIME=[9F06F830:01C83EA1]
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; l=3344; t=1197671730; x=1198535730; c=relaxed/simple; s=sjdkim2002; h=Content-Type:From:Subject:Content-Transfer-Encoding:MIME-Version;;; z=From:=20Jonathan=20Rosenberg=20<> |Subject:=20Re=3A=20[Sip]=20On=20The=20Essentialness=20of=2 0Corrections |Sender:=20; bh=YXFr7Li5qb1aurfd+kJa2Hi5yDmDxOzxBoKJ9L/yQO0=; b=0g1y73a4rkQF3OjB3auoTINeqnR5U/AMrFIbRkeoIgZvsOGNyEnd7dX5kv 9DR4SuDTgSIuvzDAkKThc/UO+VyqG8KrZI4+voLZDX9JPOfD6JYB62NXRgqx psjXcNKi/O;
Authentication-Results: sj-dkim-2;; dkim=pass ( sig from verified; );
X-Spam-Score: 0.0 (/)
X-Scan-Signature: 41c17b4b16d1eedaa8395c26e9a251c4
Cc: IETF SIP List <>
X-Mailman-Version: 2.1.5
Precedence: list
List-Id: Session Initiation Protocol <>
List-Unsubscribe: <>, <>
List-Post: <>
List-Help: <>
List-Subscribe: <>, <>


Dean Willis wrote:

> Here's a test I'd like to propose: If the change is such that if we were 
> re-writing the affected RFC we'd include the new behavior as normative 
> behavior, then we track it as a revision. This allows us to fully 
> deprecate the behavior that it replaces, such that we no longer have to 
> consider the old behavior when compliance testing. If we can't deprecate 
> the replaced behavior, then we really do have an extension (not a 
> revision), and we need an extension negotiation mechanism to know when 
> it can be used or is being used.

I'm not sure I agree with this. I think we have some extensions which 
we'd arguably include as, 'things we'd make as new normative behavior 
that is core to sip'. I personally would have wished that nat traversal 
were an integral part of sip and if I could do it over, would not have 
it split out. But clearly ICE and outbound and all that are not 
essential corrections.

In my mind, the right litmus test is that the new behavior:

   1. cannot be negotiated using the standardized techniques, AND
   2. represents a change that impacts interoperability with other 
implementations which might not implement this new behavior

THEN its an essential correction.

THings like BNF bugs are clearly in scope. Something like record-route 
fix doesn't meet this litmus test because of the second item. I can 
implement this and fully interoperate with existing implementations.

> I'd actually like to see us go beyond the batching of "essential 
> corrections" and start maintaining complete and fully-revised versions 
> of the normative behaviors as internet drafts, perhaps occasionally 
> publishing them as RFCs that replace the older versions. So for example 
> with RFC 3261, we'd maintain a "draft-ietf-sip-rfc3261-bis" that would 
> start as a copy of RFC 3261 (with current boilerplate, of course) and 
> then be edited to reflect the changes documented in each "essential 
> correction" we agree to. Then instead of telling implementors to go read 
> RFC 3261 plus a dozen more potentially conflicting revision documents, 
> we could just say "see draft-ietf-sip-rfc3261-bis-xx".

I thought the idea is that there is just one revision document 
(essential corrections) and not seven.

I promise you that once you open the floodgates to an rfc3261 revision 
spec, the temptation to do LOTS of other things to the document will be 
too great. Clarify this while we're at it? OK. Maybe we should pull that 
extension in. ANd so on. I don't want to do that. Segmenting this into 
an essential corrections document keeps pandoras box from opening.

The amount of work that went into rfc2543 -> rfc3261 was astoundingly 
large, as any of the editors who basically did this as a full time job 
for like 6 months will tell you (my boss would ask me when I was coming 
back to work...). I do not think we as a working group have or want to 
spend the cycles on such a monumentally large task at this time.

-Jonathan R.

Jonathan D. Rosenberg, Ph.D.                   499 Thornall St.
Cisco Fellow                                   Edison, NJ 08837
Cisco, Voice Technology Group                         PHONE: (408) 902-3084

Sip mailing list
This list is for NEW development of the core SIP Protocol
Use for questions on current sip
Use for new developments on the application of sip