Re: [sipcore] draft-barnes-sipcore-rfc4244bis

"Dale Worley" <dworley@nortel.com> Tue, 07 July 2009 20:39 UTC

Return-Path: <dworley@nortel.com>
X-Original-To: sipcore@core3.amsl.com
Delivered-To: sipcore@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 56B6F28C2FF for <sipcore@core3.amsl.com>; Tue, 7 Jul 2009 13:39:23 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -6.599
X-Spam-Level:
X-Spam-Status: No, score=-6.599 tagged_above=-999 required=5 tests=[AWL=0.000, BAYES_00=-2.599, RCVD_IN_DNSWL_MED=-4]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id U9x6AaUAo4-F for <sipcore@core3.amsl.com>; Tue, 7 Jul 2009 13:39:22 -0700 (PDT)
Received: from zrtps0kp.nortel.com (zrtps0kp.nortel.com [47.140.192.56]) by core3.amsl.com (Postfix) with ESMTP id 742B528C52E for <sipcore@ietf.org>; Tue, 7 Jul 2009 13:39:05 -0700 (PDT)
Received: from zrtphxs1.corp.nortel.com (zrtphxs1.corp.nortel.com [47.140.202.46]) by zrtps0kp.nortel.com (Switch-2.2.6/Switch-2.2.0) with ESMTP id n67JjGl11854; Tue, 7 Jul 2009 19:45:16 GMT
Received: from [47.141.31.141] ([47.141.31.141]) by zrtphxs1.corp.nortel.com with Microsoft SMTPSVC(6.0.3790.3959); Tue, 7 Jul 2009 15:44:59 -0400
From: "Dale Worley" <dworley@nortel.com>
To: Paul Kyzivat <pkyzivat@cisco.com>
In-Reply-To: <4A4CFEF1.1000006@cisco.com>
References: <1246556981.10099.65.camel@victoria-pingtel-com.us.nortel.com> <4A4CFEF1.1000006@cisco.com>
Content-Type: text/plain
Organization: Nortel Networks
Date: Tue, 07 Jul 2009 15:44:58 -0400
Message-Id: <1246995898.5962.27.camel@victoria-pingtel-com.us.nortel.com>
Mime-Version: 1.0
X-Mailer: Evolution 2.12.3 (2.12.3-5.fc8)
Content-Transfer-Encoding: 7bit
X-OriginalArrivalTime: 07 Jul 2009 19:45:00.0018 (UTC) FILETIME=[69D04520:01C9FF3B]
Cc: SIPCORE <sipcore@ietf.org>
Subject: Re: [sipcore] draft-barnes-sipcore-rfc4244bis
X-BeenThere: sipcore@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: SIP Core Working Group <sipcore.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/sipcore>, <mailto:sipcore-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/sipcore>
List-Post: <mailto:sipcore@ietf.org>
List-Help: <mailto:sipcore-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/sipcore>, <mailto:sipcore-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 07 Jul 2009 20:39:23 -0000

On Thu, 2009-07-02 at 14:39 -0400, Paul Kyzivat wrote:
> OTOH, this is a revision to an existing RFC which had that ordering 
> requirement. Its possible that relaxing it might lead to interop problems.

Actually, I don't think that RFC 4244 has an ordering requirement.  Look
at the BNF in section 4.1:

          History-Info = "History-Info" HCOLON
                            hi-entry *(COMMA hi-entry)

          hi-entry = hi-targeted-to-uri *( SEMI hi-param )

          hi-targeted-to-uri= name-addr

          hi-param = hi-index / hi-extension

          hi-index = "index" EQUAL 1*DIGIT *(DOT 1*DIGIT)

          hi-extension = generic-param

> Regarding indicating that the index is required: it can be done in text, 
> but it can also be done in the BNF, as follows:
> 
>     History-Info = "History-Info" HCOLON hi-entry *(COMMA hi-entry)
> 
>     hi-entry = hi-targeted-to-uri hi-param-list
> 
>     hi-targeted-to-uri = name-addr
> 
>     hi-param-list = *(SEMI hi-option) SEMI hi-index *(hi-option)
> 
>     hi-option = hi-target / hi-aor / hi-extension
> 
>     hi-index = "index" EQUAL 1*DIGIT *("." 1*DIGIT)
> 
>     hi-target = "rc" / "cc" / "mp" / "rt"
> 
>     hi-aor = "aor"
> 
>     hi-extension = generic-param

IMHO, though that is possible, it is not a good idea.  In general,
implementations do not enforce such restrictions in the parser even when
it is possible to do so, so such BNF doesn't correspond closely to the
implementation.  And BNF like this is more complex, making it easier to
make errors in both the BNF and its implementation.  (E.g., the above
rule for "hi-param-list" is missing an instance of "SEMI".)

Dale