Re: [Sipping] draft-york-sipping-p-charge-info-12: ABNF

Brett Tate <brett@broadsoft.com> Thu, 01 December 2011 20:02 UTC

Return-Path: <brett@broadsoft.com>
X-Original-To: sipping@ietfa.amsl.com
Delivered-To: sipping@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 556DF11E8147 for <sipping@ietfa.amsl.com>; Thu, 1 Dec 2011 12:02:25 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.699
X-Spam-Level:
X-Spam-Status: No, score=-1.699 tagged_above=-999 required=5 tests=[AWL=-0.900, BAYES_00=-2.599, J_CHICKENPOX_42=0.6, J_CHICKENPOX_43=0.6, J_CHICKENPOX_45=0.6]
Received: from mail.ietf.org ([12.22.58.30]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 5-Lg+s21t6r8 for <sipping@ietfa.amsl.com>; Thu, 1 Dec 2011 12:02:24 -0800 (PST)
Received: from smtpout01.partnerhosted.com (smtpout01.partnerhosted.com [173.225.22.202]) by ietfa.amsl.com (Postfix) with ESMTP id A666621F8EBB for <sipping@ietf.org>; Thu, 1 Dec 2011 12:01:54 -0800 (PST)
Received: from casumhub01.citservers.local (172.16.98.57) by FW02.citservers.local (172.16.98.4) with Microsoft SMTP Server (TLS) id 8.3.213.0; Thu, 1 Dec 2011 12:04:13 -0800
Received: from EXMBXCLUS01.citservers.local ([fe80:0000:0000:0000:a488:d1ec:167.6.58.109]) by casumhub01.citservers.local ([172.16.98.57]) with mapi; Thu, 1 Dec 2011 12:04:12 -0800
From: Brett Tate <brett@broadsoft.com>
To: Dan York <dan-ietf@danyork.org>, "Asveren, Tolga" <tasveren@sonusnet.com>, "sipping@ietf.org" <sipping@ietf.org>
Date: Thu, 01 Dec 2011 12:01:45 -0800
Thread-Topic: [Sipping] draft-york-sipping-p-charge-info-12: ABNF
Thread-Index: AcywQsjAqWtqijvSSM203KVDFq0WlgABt3Lg
Message-ID: <7FF1E5E16911C54BB2D57D4C4A2ED35A0C128C8511@EXMBXCLUS01.citservers.local>
References: <7FF1E5E16911C54BB2D57D4C4A2ED35A0C1267A0F5@EXMBXCLUS01.citservers.local> <E4BBC312-18FF-46AC-A076-7FC34A75DC47@danyork.org> <4ED58E19.9040100@alum.mit.edu> <7FF1E5E16911C54BB2D57D4C4A2ED35A0C1267A3AE@EXMBXCLUS01.citservers.local> <DDBCF277-12FB-474B-B6D7-F10D229795AD@danyork.org>
In-Reply-To: <DDBCF277-12FB-474B-B6D7-F10D229795AD@danyork.org>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
acceptlanguage: en-US
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
Subject: Re: [Sipping] draft-york-sipping-p-charge-info-12: ABNF
X-BeenThere: sipping@ietf.org
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: "SIPPING Working Group \(applications of SIP\)" <sipping.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/sipping>, <mailto:sipping-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/sipping>
List-Post: <mailto:sipping@ietf.org>
List-Help: <mailto:sipping-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/sipping>, <mailto:sipping-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 01 Dec 2011 20:02:25 -0000

> Do you have a suggestion for how I would change this 
> to a more limited parameter within the ABNF?  

See http://www.ietf.org/mail-archive/web/sipping/current/msg17796.html for more information.

The following is a potential change for RFC 3966's Telephone-Subscriber.  There is no need to add a new expandable parameter; Telephone-Subscriber already has "parameter".  Any new ones should comply with "parameter"; this includes npi-param and noa-param.

   parameter            = ";" pname ["=" pvalue ]
   pname                = 1*( alphanum / "-" )
   pvalue               = 1*paramchar

       npi-param = ";npi" EQUAL npi-value
       npi-value = p-value
       noa-param = ";noa" EQUAL noa-value
       noa-value = p-value

The Telephone-Subscriber's par is expanded to include two new values: npi-param and noa-param.  The following is the resulting ABNF; I don't recall if currently requires IANA registration:

par = parameter / extension / isdn-subaddress / npi-param / noa-param


The following is the recommended change for user; don't do it. :)  However if you need to do it and remain consistent with the "historic" nature of the draft (i.e. not indicating user=phone) or if need to avoid RFC 3966 non compliance, you have a few options although not sure if any would actually pass SIPCORE scrutiny.

1) You can indicate that user=phone (instead of user=ip) is the default for a P-Charge-Info SIP-URI.  Thus, it can be decoded as a Telephone-Subscriber even though user=phone was not added.  This is similar to RFC 3261 section 19.1.1 snippet.

         "The set of valid telephone-subscriber strings is a subset of
         valid user strings.  The user URI parameter exists to
         distinguish telephone numbers from user names that happen to
         look like telephone numbers.  If the user string contains a
         telephone number formatted as a telephone-subscriber, the user
         parameter value "phone" SHOULD be present.  Even without this
         parameter, recipients of SIP and SIPS URIs MAY interpret the
         pre-@ part as a telephone number if local restrictions on the
         name space for user name allow it."


2) You can indicate that user=pci (instead of user=ip) is the default for a P-Charge-Info SIP-URI.

userinfo         =  ( user / telephone-subscriber / p-ci) [ ":" password ] "@"
p-ci = user *charge-param ; not sure if good enough
charge-param = npi-param / noa-param / parameter

user-param        =  "user=" ( "phone" / "ip" / "pci" / other-user)

3) You can indicate that the P-Charge-Info SIP-URI user can be parsed as p-ci when user=ip (i.e. the default).

userinfo         =  ( user / telephone-subscriber) [ ":" password ] "@"
p-ci = user *charge-param ; not sure if good enough
charge-param = npi-param / noa-param / parameter