
From kcartwright@tnsi.com  Thu May  9 05:57:02 2013
Return-Path: <kcartwright@tnsi.com>
X-Original-To: drinks@ietfa.amsl.com
Delivered-To: drinks@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id CDE9E21F8E9A for <drinks@ietfa.amsl.com>; Thu,  9 May 2013 05:57:02 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.998
X-Spam-Level: 
X-Spam-Status: No, score=-1.998 tagged_above=-999 required=5 tests=[BAYES_00=-2.599, HTML_MESSAGE=0.001, J_CHICKENPOX_31=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 Y8H4vkK0U6Ad for <drinks@ietfa.amsl.com>; Thu,  9 May 2013 05:56:57 -0700 (PDT)
Received: from relayus.tnsi.com (relayus.tnsi.com [208.224.248.44]) by ietfa.amsl.com (Postfix) with ESMTP id 0C4B421F8B27 for <drinks@ietf.org>; Thu,  9 May 2013 05:56:56 -0700 (PDT)
X-IronPort-Anti-Spam-Filtered: true
X-IronPort-Anti-Spam-Result: AgkFAKGbi1GsEQfn/2dsb2JhbABICoJDe7dUiDOBEnSCHwEBBScGOgcEFwIBCBEEAQEhAQYHMhQJCAEBBAESCIgQwRCNbAqBAQQbCBABBoJuYQOTXYR1kzqBVg
X-IronPort-AV: E=Sophos;i="4.87,641,1363132800"; d="scan'208,217";a="2407166"
Received: from mail-hub-na.win2k.corp.tnsi.com ([172.17.7.231]) by relayus.tnsi.com with ESMTP/TLS/RC4-MD5; 09 May 2013 13:43:59 +0100
Received: from TNS-MAIL-NA.win2k.corp.tnsi.com ([172.17.7.214]) by MAIL-HUB-NA.win2k.corp.tnsi.com ([172.17.7.231]) with mapi; Thu, 9 May 2013 08:56:51 -0400
From: "Cartwright, Ken" <kcartwright@tnsi.com>
To: Mickael Marrache <mickaelmarrache@gmail.com>, "drinks@ietf.org" <drinks@ietf.org>
Date: Thu, 9 May 2013 08:56:49 -0400
Thread-Topic: [drinks] Following today's meeting
Thread-Index: Ac5BHO4n4ACJuABgTMSfhVummvos7wK3GjYg
Message-ID: <B4254E341B54864B92D28BC2138A9DC30328C92048@TNS-MAIL-NA.win2k.corp.tnsi.com>
References: <CA+=4G23E5J4pS8x_kW90pkbN1qpfykdZyZghen65FYg3bX7AyQ@mail.gmail.com>
In-Reply-To: <CA+=4G23E5J4pS8x_kW90pkbN1qpfykdZyZghen65FYg3bX7AyQ@mail.gmail.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
acceptlanguage: en-US
Content-Type: multipart/alternative; boundary="_000_B4254E341B54864B92D28BC2138A9DC30328C92048TNSMAILNAwin2_"
MIME-Version: 1.0
Subject: Re: [drinks] Following today's meeting
X-BeenThere: drinks@ietf.org
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: IETF DRINKS WG <drinks.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/drinks>, <mailto:drinks-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/drinks>
List-Post: <mailto:drinks@ietf.org>
List-Help: <mailto:drinks-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/drinks>, <mailto:drinks-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 09 May 2013 12:57:02 -0000

--_000_B4254E341B54864B92D28BC2138A9DC30328C92048TNSMAILNAwin2_
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable

Hi,

Thanks for these thoughts.  Very insightful.  My $.02 is as follows (sorry =
for any grammar/typos, putting this response together in a rush):

"During the call, we agreed that the cardinality on the DG side of the PubI=
d-DG association should be 0..1 instead of 0...n."

KJC:  I'd state it like this...The cardinality in the body of the framework=
 document and in the XSD are already correct/whatWeIntended, 0..1.  But the=
 diagram in the intro of the framework document incorrectly illustrates 0..=
n because it was a carry-over from the requirements document diagram, which=
 was more notional (and was referring to the requirement that a given TN/TN=
Range/etc can be in one or more DGs, or not in a DG).  So we decided on the=
 recent call that it would be best to change the diagram in the framework d=
ocument to represent the implementation construct in the XSD that uses a PI=
Type, rather than the notional concepts in the requirements document.  The =
operative point being that we are not really "changing" a cardinality, but =
are making a clerical correction to a diagram, albeit a good correction.  G=
ood catch.

---

"For example, an obvious URI for a TN resource would represent the key attr=
ibutes as path parameters such as /rant/{rant}/TN/dgName/{dgName}/tn/{tn}. =
However, dgName is optional and may not have a value. We can solve this pro=
blem by using a special string to represent the absence of a value, or by u=
sing other types of URI parameters (e.g. query parameters), but I don't thi=
nk it's the right way to go."

KJC:  Hierarchical relationships in REST URIs are "optional".  If the hiera=
rchical relationship exists then it is in the URI, if it does not exist, th=
en it is not in the URI.  So a reasonable approach to resolving your Rest U=
RI question is to not implement the TNs/PIs->DG relationship as a mandatory=
 hierarchy where the DG "contains" the TNs/PIs.  This can be accomplished i=
n at least a couple ways as follows...


1)      Consider modeling the URI in a way that is analogous to the SOAP XS=
D;s approach, with an attribute of the TN/PI containing the DG relationship=
.    If you do that, then instead of having this: /rant/{rant}/TN/DGNAME/{d=
gName}/TN/{tn}
You'd have this:
/rant/{rant}/TN/{tn}/DG/{dgName}
Examples:
/rant/SomeCompany/TN/17039876543
/rant/SomeCompany/TN/13013456789/DG/NorthEast
In this approach your quandary goes away.  If there is no DG relationship, =
then that portion of the URI is just not necessary and is therefore not the=
re.  Note that this is basically how the SOAP XSD design does it.


2)      You could alternatively do it like this:
/rant/{rant}/DG/{dgName}/TN/{tn}
Examples:
/rant/SomeCompany/DG/NorthEast/TN/17039876543
/rant/SomeCompany/TN/13019876543

Some TNs are "in" DGs and some are not.  There should be no issue with that=
 approach either.

Imo, also adding in the concept of the PI to the URL may be a valid additio=
n to the URIs, since they are all just types of PIs
/rant/{rant}/PI/{PIString}/DG/{dgName}
Examples:
/rant/SomeCompany/PI/Prefix/17039
/rant/SomeCompany/PI/TN/13019876543/DG/NorthEast
/rant/SomeCompany/PI/Range/13010000000-13019999999/DG/NorthEast
/rant/SomeCompany/PI/LRN/19059876543/DG/SouthEast

---


I also noticed that the text in section 3.1, bullet two, about Destination =
groups says "can be

      associated with one or more SED Groups".  That should say "can be ass=
ociated with zero or more SED Groups"



---

"the corInfo element should be an attribute of the PI-DG association since =
it is not intrisic to the PI itself"



KJC:  I believe that the COR claim is intrinsic to the PI.  And putting it =
on an association between the PI and the DG would add further complexity to=
 the XSD and the model.



In general, I think making this change would reduce the flexibility that is=
 in the current model, while not reducing the complexity.



Thanks


From: drinks-bounces@ietf.org [mailto:drinks-bounces@ietf.org] On Behalf Of=
 Mickael Marrache
Sent: Wednesday, April 24, 2013 2:51 PM
To: drinks@ietf.org
Subject: [drinks] Following today's meeting

Hi,

During the call, we agreed that the cardinality on the DG side of the PubId=
-DG association should be 0..1 instead of 0...n. We also agreed that this c=
ardinality should not be interpreted as limiting a PI to be associated to a=
t most one DG. However, this cardinality should be interpreted as limiting =
a PI instance to be associated to at most one DG. Thus, for example, the "s=
ame" telephone number may be associated to multiple DGs by the use of multi=
ple TN instances. This way is made possible by including the dgName element=
 as part of the key, so that for a given registrant and a given value (e.g.=
 tn, tnp, start/end...), different values for the dgName element are allowe=
d.

I think that the dgName element should not be part of the key because it is=
 optional. While it may be acceptable for a key attribute to be optional in=
 some cases, I think it's relatively rare. Also, it becomes more difficult =
to define a URI for each public identifier concrete type. For example, an o=
bvious URI for a TN resource would represent the key attributes as path par=
ameters such as /rant/{rant}/TN/dgName/{dgName}/tn/{tn}. However, dgName is=
 optional and may not have a value. We can solve this problem by using a sp=
ecial string to represent the absence of a value, or by using other types o=
f URI parameters (e.g. query parameters), but I don't think it's the right =
way to go.

What I proposed during the call was to exclude the dgName element from the =
key. So, there would be only one PI instance for a particular value, that i=
s identified by the registrant that owns the PI, and the value of the PI (e=
.g. tn, tnp...). In order to allow a PI to be associated to multiple DGs, t=
he maxOccurs attribute of the dgName element should be set to unbounded. Th=
e registrant organization would only deal with one instance for a given PI =
value. The URI for the TN resource would then be /rant/{rant}/TN/{tn}.

Concerning the carrier-of-record concern, the question is: Is there a meani=
ng to let a registrant organization provision the same PI (in terms of valu=
e) with different COR information? The current model allows such a feature =
by the use of multiple PI instances (thus, allowing multiple corInfos). If =
this is a real use case, the corInfo element should be an attribute of the =
PI-DG association since it is not intrisic to the PI itself but depends on =
an external factor (in this case, the association with a particular DG). Cr=
eating a new complex type DestGrpRefType that includes the DG key and the c=
orInfo element would solve this issue. The list of dgName (ObjNameType) wou=
ld become a list of dgRefs (DestGrpRefType).

Not related to this question, there are two other points I raised in the ma=
iling list:

 1.  The framework document states: "If the response to the Get operation i=
ncludes object(s) that extend the BasicObjType, the Registry MUST include t=
he 'cDate' and 'mDate', if applicable.". In the examples section in the SOA=
P document (section 10), for the Get examples, the elements cDate and mDate=
 are not part of the returned responses.
 2.  According to the framework document, an egress route is added by the o=
riginating SSP to the registry. The originating SSP must be a peering organ=
ization of the SED group to which the egress route is associated. Thus, an =
egress route is an element owned by the originating SSP. The rant field of =
the egress route would then identify the originating SSP and not the owner =
of the SED group. Also, in the SOAP document in section 10.17, the rant fie=
ld has the value iana-en:111 as expected. There is an error in the SOAP doc=
ument in section 10.11. The rant field has the value iana-en:222 where it s=
hould have the value iana-en:111 that identifies SSP1.

Also, a new version of the REST draft is available at http://tools.ietf.org=
/html/draft-marrache-drinks-spp-protocol-rest-02. It would be great if you =
can take a look at it and comment.

Thanks,
Mickael

________________________________
This e-mail message is for the sole use of the intended recipient(s)and may
contain confidential and privileged information of Transaction Network Serv=
ices.
Any unauthorised review, use, disclosure or distribution is prohibited. If =
you
are not the intended recipient, please contact the sender by reply e-mail a=
nd destroy all copies of the original message.


--_000_B4254E341B54864B92D28BC2138A9DC30328C92048TNSMAILNAwin2_
Content-Type: text/html; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable

<html xmlns:v=3D"urn:schemas-microsoft-com:vml" xmlns:o=3D"urn:schemas-micr=
osoft-com:office:office" xmlns:w=3D"urn:schemas-microsoft-com:office:word" =
xmlns:x=3D"urn:schemas-microsoft-com:office:excel" xmlns:m=3D"http://schema=
s.microsoft.com/office/2004/12/omml" xmlns=3D"http://www.w3.org/TR/REC-html=
40">
<head>
<meta http-equiv=3D"Content-Type" content=3D"text/html; charset=3Dus-ascii"=
>
<meta name=3D"Generator" content=3D"Microsoft Word 14 (filtered medium)">
<style><!--
/* Font Definitions */
@font-face
	{font-family:Calibri;
	panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
	{font-family:Tahoma;
	panose-1:2 11 6 4 3 5 4 4 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
	{margin:0in;
	margin-bottom:.0001pt;
	font-size:12.0pt;
	font-family:"Times New Roman","serif";}
a:link, span.MsoHyperlink
	{mso-style-priority:99;
	color:blue;
	text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
	{mso-style-priority:99;
	color:purple;
	text-decoration:underline;}
pre
	{mso-style-priority:99;
	mso-style-link:"HTML Preformatted Char";
	margin:0in;
	margin-bottom:.0001pt;
	font-size:10.0pt;
	font-family:"Courier New";}
p.MsoListParagraph, li.MsoListParagraph, div.MsoListParagraph
	{mso-style-priority:34;
	margin-top:0in;
	margin-right:0in;
	margin-bottom:0in;
	margin-left:.5in;
	margin-bottom:.0001pt;
	font-size:12.0pt;
	font-family:"Times New Roman","serif";}
span.EmailStyle17
	{mso-style-type:personal-reply;
	font-family:"Calibri","sans-serif";
	color:#1F497D;}
span.HTMLPreformattedChar
	{mso-style-name:"HTML Preformatted Char";
	mso-style-priority:99;
	mso-style-link:"HTML Preformatted";
	font-family:"Courier New";}
.MsoChpDefault
	{mso-style-type:export-only;
	font-family:"Calibri","sans-serif";}
@page WordSection1
	{size:8.5in 11.0in;
	margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
	{page:WordSection1;}
/* List Definitions */
@list l0
	{mso-list-id:92822855;
	mso-list-type:hybrid;
	mso-list-template-ids:298898948 67698705 67698713 67698715 67698703 676987=
13 67698715 67698703 67698713 67698715;}
@list l0:level1
	{mso-level-text:"%1\)";
	mso-level-tab-stop:none;
	mso-level-number-position:left;
	text-indent:-.25in;}
@list l0:level2
	{mso-level-number-format:alpha-lower;
	mso-level-tab-stop:none;
	mso-level-number-position:left;
	text-indent:-.25in;}
@list l0:level3
	{mso-level-number-format:roman-lower;
	mso-level-tab-stop:none;
	mso-level-number-position:right;
	text-indent:-9.0pt;}
@list l0:level4
	{mso-level-tab-stop:none;
	mso-level-number-position:left;
	text-indent:-.25in;}
@list l0:level5
	{mso-level-number-format:alpha-lower;
	mso-level-tab-stop:none;
	mso-level-number-position:left;
	text-indent:-.25in;}
@list l0:level6
	{mso-level-number-format:roman-lower;
	mso-level-tab-stop:none;
	mso-level-number-position:right;
	text-indent:-9.0pt;}
@list l0:level7
	{mso-level-tab-stop:none;
	mso-level-number-position:left;
	text-indent:-.25in;}
@list l0:level8
	{mso-level-number-format:alpha-lower;
	mso-level-tab-stop:none;
	mso-level-number-position:left;
	text-indent:-.25in;}
@list l0:level9
	{mso-level-number-format:roman-lower;
	mso-level-tab-stop:none;
	mso-level-number-position:right;
	text-indent:-9.0pt;}
@list l1
	{mso-list-id:198859219;
	mso-list-type:hybrid;
	mso-list-template-ids:1464085772 67698705 67698713 67698715 67698703 67698=
713 67698715 67698703 67698713 67698715;}
@list l1:level1
	{mso-level-text:"%1\)";
	mso-level-tab-stop:none;
	mso-level-number-position:left;
	text-indent:-.25in;}
@list l1:level2
	{mso-level-number-format:alpha-lower;
	mso-level-tab-stop:none;
	mso-level-number-position:left;
	text-indent:-.25in;}
@list l1:level3
	{mso-level-number-format:roman-lower;
	mso-level-tab-stop:none;
	mso-level-number-position:right;
	text-indent:-9.0pt;}
@list l1:level4
	{mso-level-tab-stop:none;
	mso-level-number-position:left;
	text-indent:-.25in;}
@list l1:level5
	{mso-level-number-format:alpha-lower;
	mso-level-tab-stop:none;
	mso-level-number-position:left;
	text-indent:-.25in;}
@list l1:level6
	{mso-level-number-format:roman-lower;
	mso-level-tab-stop:none;
	mso-level-number-position:right;
	text-indent:-9.0pt;}
@list l1:level7
	{mso-level-tab-stop:none;
	mso-level-number-position:left;
	text-indent:-.25in;}
@list l1:level8
	{mso-level-number-format:alpha-lower;
	mso-level-tab-stop:none;
	mso-level-number-position:left;
	text-indent:-.25in;}
@list l1:level9
	{mso-level-number-format:roman-lower;
	mso-level-tab-stop:none;
	mso-level-number-position:right;
	text-indent:-9.0pt;}
@list l2
	{mso-list-id:438332733;
	mso-list-type:hybrid;
	mso-list-template-ids:-161311106 67698705 67698713 67698715 67698703 67698=
713 67698715 67698703 67698713 67698715;}
@list l2:level1
	{mso-level-text:"%1\)";
	mso-level-tab-stop:none;
	mso-level-number-position:left;
	text-indent:-.25in;}
@list l2:level2
	{mso-level-number-format:alpha-lower;
	mso-level-tab-stop:none;
	mso-level-number-position:left;
	text-indent:-.25in;}
@list l2:level3
	{mso-level-number-format:roman-lower;
	mso-level-tab-stop:none;
	mso-level-number-position:right;
	text-indent:-9.0pt;}
@list l2:level4
	{mso-level-tab-stop:none;
	mso-level-number-position:left;
	text-indent:-.25in;}
@list l2:level5
	{mso-level-number-format:alpha-lower;
	mso-level-tab-stop:none;
	mso-level-number-position:left;
	text-indent:-.25in;}
@list l2:level6
	{mso-level-number-format:roman-lower;
	mso-level-tab-stop:none;
	mso-level-number-position:right;
	text-indent:-9.0pt;}
@list l2:level7
	{mso-level-tab-stop:none;
	mso-level-number-position:left;
	text-indent:-.25in;}
@list l2:level8
	{mso-level-number-format:alpha-lower;
	mso-level-tab-stop:none;
	mso-level-number-position:left;
	text-indent:-.25in;}
@list l2:level9
	{mso-level-number-format:roman-lower;
	mso-level-tab-stop:none;
	mso-level-number-position:right;
	text-indent:-9.0pt;}
@list l3
	{mso-list-id:627663827;
	mso-list-type:hybrid;
	mso-list-template-ids:-354784596 67698705 67698713 67698715 67698703 67698=
713 67698715 67698703 67698713 67698715;}
@list l3:level1
	{mso-level-text:"%1\)";
	mso-level-tab-stop:none;
	mso-level-number-position:left;
	text-indent:-.25in;}
@list l3:level2
	{mso-level-number-format:alpha-lower;
	mso-level-tab-stop:none;
	mso-level-number-position:left;
	text-indent:-.25in;}
@list l3:level3
	{mso-level-number-format:roman-lower;
	mso-level-tab-stop:none;
	mso-level-number-position:right;
	text-indent:-9.0pt;}
@list l3:level4
	{mso-level-tab-stop:none;
	mso-level-number-position:left;
	text-indent:-.25in;}
@list l3:level5
	{mso-level-number-format:alpha-lower;
	mso-level-tab-stop:none;
	mso-level-number-position:left;
	text-indent:-.25in;}
@list l3:level6
	{mso-level-number-format:roman-lower;
	mso-level-tab-stop:none;
	mso-level-number-position:right;
	text-indent:-9.0pt;}
@list l3:level7
	{mso-level-tab-stop:none;
	mso-level-number-position:left;
	text-indent:-.25in;}
@list l3:level8
	{mso-level-number-format:alpha-lower;
	mso-level-tab-stop:none;
	mso-level-number-position:left;
	text-indent:-.25in;}
@list l3:level9
	{mso-level-number-format:roman-lower;
	mso-level-tab-stop:none;
	mso-level-number-position:right;
	text-indent:-9.0pt;}
@list l4
	{mso-list-id:739213108;
	mso-list-template-ids:-1509506254;}
@list l5
	{mso-list-id:1345202840;
	mso-list-type:hybrid;
	mso-list-template-ids:1464085772 67698705 67698713 67698715 67698703 67698=
713 67698715 67698703 67698713 67698715;}
@list l5:level1
	{mso-level-text:"%1\)";
	mso-level-tab-stop:none;
	mso-level-number-position:left;
	text-indent:-.25in;}
@list l5:level2
	{mso-level-number-format:alpha-lower;
	mso-level-tab-stop:none;
	mso-level-number-position:left;
	text-indent:-.25in;}
@list l5:level3
	{mso-level-number-format:roman-lower;
	mso-level-tab-stop:none;
	mso-level-number-position:right;
	text-indent:-9.0pt;}
@list l5:level4
	{mso-level-tab-stop:none;
	mso-level-number-position:left;
	text-indent:-.25in;}
@list l5:level5
	{mso-level-number-format:alpha-lower;
	mso-level-tab-stop:none;
	mso-level-number-position:left;
	text-indent:-.25in;}
@list l5:level6
	{mso-level-number-format:roman-lower;
	mso-level-tab-stop:none;
	mso-level-number-position:right;
	text-indent:-9.0pt;}
@list l5:level7
	{mso-level-tab-stop:none;
	mso-level-number-position:left;
	text-indent:-.25in;}
@list l5:level8
	{mso-level-number-format:alpha-lower;
	mso-level-tab-stop:none;
	mso-level-number-position:left;
	text-indent:-.25in;}
@list l5:level9
	{mso-level-number-format:roman-lower;
	mso-level-tab-stop:none;
	mso-level-number-position:right;
	text-indent:-9.0pt;}
ol
	{margin-bottom:0in;}
ul
	{margin-bottom:0in;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext=3D"edit" spidmax=3D"1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext=3D"edit">
<o:idmap v:ext=3D"edit" data=3D"1" />
</o:shapelayout></xml><![endif]-->
</head>
<body lang=3D"EN-US" link=3D"blue" vlink=3D"purple">
<div class=3D"WordSection1">
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;font-family:&quot;Ca=
libri&quot;,&quot;sans-serif&quot;;color:#1F497D">Hi,<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;font-family:&quot;Ca=
libri&quot;,&quot;sans-serif&quot;;color:#1F497D"><br>
Thanks for these thoughts.&nbsp; Very insightful.&nbsp; My $.02 is as follo=
ws (sorry for any grammar/typos, putting this response together in a rush):=
<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;font-family:&quot;Ca=
libri&quot;,&quot;sans-serif&quot;;color:#1F497D"><o:p>&nbsp;</o:p></span><=
/p>
<p class=3D"MsoNormal">&#8220;During the call, we agreed that the cardinali=
ty on the DG side of the PubId-DG association should be 0..1 instead of 0..=
.n.&#8221;<o:p></o:p></p>
<p class=3D"MsoNormal"><o:p>&nbsp;</o:p></p>
<p class=3D"MsoNormal">KJC:&nbsp; I&#8217;d state it like this&#8230;The ca=
rdinality in the body of the framework document and in the XSD are already =
correct/whatWeIntended, 0..1.&nbsp; But the diagram in the intro of the fra=
mework document incorrectly illustrates 0..n because it
 was a carry-over from the requirements document diagram, which was more no=
tional (and was referring to the requirement that a given TN/TNRange/etc ca=
n be in one or more DGs, or not in a DG).&nbsp; So we decided on the recent=
 call that it would be best to change
 the diagram in the framework document to represent the implementation cons=
truct in the XSD that uses a PIType, rather than the notional concepts in t=
he requirements document.&nbsp; The operative point being that we are not r=
eally &#8220;changing&#8221; a cardinality, but are
 making a clerical correction to a diagram, albeit a good correction.&nbsp;=
 Good catch.<o:p></o:p></p>
<p class=3D"MsoNormal"><o:p>&nbsp;</o:p></p>
<p class=3D"MsoNormal">---<o:p></o:p></p>
<p class=3D"MsoNormal"><o:p>&nbsp;</o:p></p>
<p class=3D"MsoNormal">&#8220;For example, an obvious URI for a TN resource=
 would represent the key attributes as path parameters such as /rant/{rant}=
/TN/dgName/{dgName}/tn/{tn}. However, dgName is optional and may not have a=
 value. We can solve this problem by using
 a special string to represent the absence of a value, or by using other ty=
pes of URI parameters (e.g. query parameters), but I don't think it's the r=
ight way to go.&#8221;<o:p></o:p></p>
<p class=3D"MsoNormal"><o:p>&nbsp;</o:p></p>
<p class=3D"MsoNormal">KJC: &nbsp;Hierarchical relationships in REST URIs a=
re &#8220;optional&#8221;.&nbsp; If the hierarchical relationship exists th=
en it is in the URI, if it does not exist, then it is not in the URI.&nbsp;=
 So a reasonable approach to resolving your Rest URI question
 is to not implement the TNs/PIs-&gt;DG relationship as a mandatory hierarc=
hy where the DG &#8220;contains&#8221; the TNs/PIs.&nbsp; This can be accom=
plished in at least a couple ways as follows&#8230;<o:p></o:p></p>
<p class=3D"MsoNormal"><o:p>&nbsp;</o:p></p>
<p class=3D"MsoListParagraph" style=3D"text-indent:-.25in;mso-list:l5 level=
1 lfo5"><![if !supportLists]><span style=3D"mso-list:Ignore">1)<span style=
=3D"font:7.0pt &quot;Times New Roman&quot;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span><![endif]>Consider modeling the URI in a way that is analogou=
s to the SOAP XSD;s approach, with an attribute of the TN/PI containing the=
 DG relationship.&nbsp; &nbsp;&nbsp;If you do that, then instead of having =
this: /rant/{rant}/TN/DGNAME/{dgName}/TN/{tn}<o:p></o:p></p>
<p class=3D"MsoNormal" style=3D"margin-left:.25in">You&#8217;d have this:<o=
:p></o:p></p>
<p class=3D"MsoNormal" style=3D"margin-left:.25in">/rant/{rant}/TN/{tn}/DG/=
{dgName}<o:p></o:p></p>
<p class=3D"MsoNormal" style=3D"margin-left:.25in">Examples:&nbsp; <o:p></o=
:p></p>
<p class=3D"MsoNormal" style=3D"margin-left:.25in">/rant/SomeCompany/TN/170=
39876543<o:p></o:p></p>
<p class=3D"MsoNormal" style=3D"margin-left:.25in">/rant/SomeCompany/TN/130=
13456789/DG/NorthEast<o:p></o:p></p>
<p class=3D"MsoNormal" style=3D"margin-left:.25in">In this approach your qu=
andary goes away.&nbsp; If there is no DG relationship, then that portion o=
f the URI is just not necessary and is therefore not there.&nbsp; Note that=
 this is basically how the SOAP XSD design does
 it.<o:p></o:p></p>
<p class=3D"MsoNormal" style=3D"margin-left:.25in"><o:p>&nbsp;</o:p></p>
<p class=3D"MsoListParagraph" style=3D"text-indent:-.25in;mso-list:l5 level=
1 lfo5"><![if !supportLists]><span style=3D"mso-list:Ignore">2)<span style=
=3D"font:7.0pt &quot;Times New Roman&quot;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span><![endif]>You could alternatively do it like this:<o:p></o:p>=
</p>
<p class=3D"MsoNormal" style=3D"margin-left:.25in">/rant/{rant}/DG/{dgName}=
/TN/{tn}<o:p></o:p></p>
<p class=3D"MsoNormal" style=3D"margin-left:.25in">Examples:<o:p></o:p></p>
<p class=3D"MsoNormal" style=3D"margin-left:.25in">/rant/SomeCompany/DG/Nor=
thEast/TN/17039876543<o:p></o:p></p>
<p class=3D"MsoNormal" style=3D"margin-left:.25in">/rant/SomeCompany/TN/130=
19876543<o:p></o:p></p>
<p class=3D"MsoNormal"><o:p>&nbsp;</o:p></p>
<p class=3D"MsoNormal" style=3D"margin-left:.25in">Some TNs are &#8220;in&#=
8221; DGs and some are not.&nbsp; There should be no issue with that approa=
ch either.<o:p></o:p></p>
<p class=3D"MsoNormal"><o:p>&nbsp;</o:p></p>
<p class=3D"MsoNormal">Imo, also adding in the concept of the PI to the URL=
 may be a valid addition to the URIs, since they are all just types of PIs<=
o:p></o:p></p>
<p class=3D"MsoNormal" style=3D"text-indent:.5in">/rant/{rant}/PI/{PIString=
}/DG/{dgName}<o:p></o:p></p>
<p class=3D"MsoNormal" style=3D"text-indent:.5in">Examples:<o:p></o:p></p>
<p class=3D"MsoNormal" style=3D"text-indent:.5in">/rant/SomeCompany/PI/Pref=
ix/17039<o:p></o:p></p>
<p class=3D"MsoNormal" style=3D"text-indent:.5in">/rant/SomeCompany/PI/TN/1=
3019876543/DG/NorthEast<o:p></o:p></p>
<p class=3D"MsoNormal" style=3D"text-indent:.5in">/rant/SomeCompany/PI/Rang=
e/13010000000-13019999999/DG/NorthEast<o:p></o:p></p>
<p class=3D"MsoNormal" style=3D"text-indent:.5in">/rant/SomeCompany/PI/LRN/=
19059876543/DG/SouthEast<o:p></o:p></p>
<p class=3D"MsoNormal"><o:p>&nbsp;</o:p></p>
<p class=3D"MsoNormal">---<o:p></o:p></p>
<p class=3D"MsoNormal"><o:p>&nbsp;</o:p></p>
<pre>I also noticed that the text in section 3.1, bullet two, about Destina=
tion groups says &#8220;<span style=3D"color:black">can be<o:p></o:p></span=
></pre>
<pre><span style=3D"color:black">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; associated =
with one or more SED Groups&#8221;.&nbsp; That should say &#8220;can be ass=
ociated with zero or more SED Groups&#8221;<o:p></o:p></span></pre>
<pre><span style=3D"color:black"><o:p>&nbsp;</o:p></span></pre>
<pre><span style=3D"color:black">---<o:p></o:p></span></pre>
<pre><span style=3D"color:black">&#8220;</span>the corInfo element should b=
e an attribute of the PI-DG association since it is not intrisic to the PI =
itself&#8221;<o:p></o:p></pre>
<pre><span style=3D"color:black"><o:p>&nbsp;</o:p></span></pre>
<pre><span style=3D"color:black">KJC:&nbsp; I believe that the COR claim is=
 intrinsic to the PI.&nbsp; And putting it on an association between the PI=
 and the DG would add further complexity to the XSD and the model.<o:p></o:=
p></span></pre>
<pre><span style=3D"color:black"><o:p>&nbsp;</o:p></span></pre>
<pre><span style=3D"color:black">In general, I think making this change wou=
ld reduce the flexibility that is in the current model, while not reducing =
the complexity.<o:p></o:p></span></pre>
<pre><span style=3D"color:black"><o:p>&nbsp;</o:p></span></pre>
<pre><span style=3D"color:black">Thanks<o:p></o:p></span></pre>
<p class=3D"MsoNormal"><span style=3D"font-size:10.0pt;font-family:&quot;Co=
urier New&quot;;color:black"><o:p>&nbsp;</o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;font-family:&quot;Ca=
libri&quot;,&quot;sans-serif&quot;;color:#1F497D"><o:p>&nbsp;</o:p></span><=
/p>
<p class=3D"MsoNormal"><b><span style=3D"font-size:10.0pt;font-family:&quot=
;Tahoma&quot;,&quot;sans-serif&quot;">From:</span></b><span style=3D"font-s=
ize:10.0pt;font-family:&quot;Tahoma&quot;,&quot;sans-serif&quot;"> drinks-b=
ounces@ietf.org [mailto:drinks-bounces@ietf.org]
<b>On Behalf Of </b>Mickael Marrache<br>
<b>Sent:</b> Wednesday, April 24, 2013 2:51 PM<br>
<b>To:</b> drinks@ietf.org<br>
<b>Subject:</b> [drinks] Following today's meeting<o:p></o:p></span></p>
<p class=3D"MsoNormal"><o:p>&nbsp;</o:p></p>
<div>
<p class=3D"MsoNormal">Hi,<o:p></o:p></p>
<div>
<p class=3D"MsoNormal"><o:p>&nbsp;</o:p></p>
</div>
<div>
<p class=3D"MsoNormal">During the call, we agreed that the cardinality on t=
he DG side of the PubId-DG association should be 0..1 instead of 0...n. We =
also agreed that this cardinality should not be interpreted as limiting a P=
I to be associated to at most one
 DG. However, this cardinality should be interpreted as limiting a PI insta=
nce to be associated to at most one DG. Thus, for example, the &quot;same&q=
uot; telephone number may be associated to multiple DGs by the use of multi=
ple TN instances. This way is made possible
 by including the dgName element as part of the key, so that for a given re=
gistrant and a given value (e.g. tn, tnp, start/end...), different values f=
or the dgName element are allowed.<o:p></o:p></p>
</div>
<div>
<p class=3D"MsoNormal"><o:p>&nbsp;</o:p></p>
</div>
<div>
<p class=3D"MsoNormal">I think that the dgName element should not be part o=
f the key because it is optional. While it may be acceptable for a key attr=
ibute to be optional in some cases, I think it's relatively rare. Also, it =
becomes more difficult to define a
 URI for each public identifier concrete type. For example, an obvious URI =
for a TN resource would represent the key attributes as path parameters suc=
h as /rant/{rant}/TN/dgName/{dgName}/tn/{tn}. However, dgName is optional a=
nd may not have a value. We can
 solve this problem by using a special string to represent the absence of a=
 value, or by using other types of URI parameters (e.g. query parameters), =
but I don't think it's the right way to go.<o:p></o:p></p>
</div>
<div>
<p class=3D"MsoNormal"><o:p>&nbsp;</o:p></p>
</div>
<div>
<p class=3D"MsoNormal">What I proposed during the call was to exclude the d=
gName element from the key. So, there would be only one PI instance for a p=
articular value, that is identified by the registrant that owns the PI, and=
 the value of the PI (e.g. tn, tnp...).
 In order to allow a PI to be associated to multiple DGs, the maxOccurs att=
ribute of the dgName element should be set to unbounded. The registrant org=
anization would only deal with one instance for a given PI value. The URI f=
or the TN resource would then be
 /rant/{rant}/TN/{tn}.<o:p></o:p></p>
</div>
<div>
<p class=3D"MsoNormal"><o:p>&nbsp;</o:p></p>
</div>
<div>
<p class=3D"MsoNormal">Concerning the carrier-of-record concern, the questi=
on is: Is there a meaning to let a registrant organization provision the sa=
me PI (in terms of value) with different COR information? The current model=
 allows such a feature by the use
 of multiple PI instances (thus, allowing multiple corInfos). If this is a =
real use case, the corInfo element should be an attribute of the PI-DG asso=
ciation since it is not intrisic to the PI itself but depends on an externa=
l factor (in this case, the association
 with a particular DG). Creating a new complex type DestGrpRefType that inc=
ludes the DG key and the corInfo element would solve this issue. The list o=
f dgName (ObjNameType) would become a list of dgRefs (DestGrpRefType).<o:p>=
</o:p></p>
</div>
<div>
<p class=3D"MsoNormal"><o:p>&nbsp;</o:p></p>
</div>
<div>
<p class=3D"MsoNormal">Not related to this question, there are two other po=
ints I raised in the mailing list:<o:p></o:p></p>
</div>
<div>
<ol start=3D"1" type=3D"1">
<li class=3D"MsoNormal" style=3D"mso-margin-top-alt:auto;mso-margin-bottom-=
alt:auto;mso-list:l4 level1 lfo1">
<span style=3D"font-family:&quot;Arial&quot;,&quot;sans-serif&quot;">The fr=
amework document states:&nbsp;&quot;If the response to the Get operation in=
cludes object(s) that extend&nbsp;the BasicObjType, the Registry MUST inclu=
de the 'cDate' and 'mDate',&nbsp;if applicable.&quot;.&nbsp;In the examples=
 section
 in the SOAP document (section 10), for the Get examples, the elements cDat=
e and mDate are not part of the returned responses.</span><o:p></o:p></li><=
li class=3D"MsoNormal" style=3D"mso-margin-top-alt:auto;mso-margin-bottom-a=
lt:auto;mso-list:l4 level1 lfo1">
<span style=3D"font-family:&quot;Arial&quot;,&quot;sans-serif&quot;">Accord=
ing to the framework document, an egress route is added by the originating =
SSP to the registry. The originating SSP must be a peering organization of =
the SED group to which the egress route is associated.
 Thus, an egress route is an element owned by the originating SSP. The rant=
 field of the egress route would then identify the originating SSP and not =
the owner of the SED group. Also, in the SOAP document in section 10.17, th=
e rant field has the value iana-en:111
 as expected. There is an error in the SOAP document in section 10.11. The =
rant field has the value iana-en:222 where it should have the value iana-en=
:111 that identifies SSP1.</span><o:p></o:p></li></ol>
<div>
<p class=3D"MsoNormal"><o:p>&nbsp;</o:p></p>
</div>
<div>
<p class=3D"MsoNormal"><span style=3D"font-family:&quot;Arial&quot;,&quot;s=
ans-serif&quot;">Also, a new version of the REST draft is available at&nbsp=
;</span><a href=3D"http://tools.ietf.org/html/draft-marrache-drinks-spp-pro=
tocol-rest-02">http://tools.ietf.org/html/draft-marrache-drinks-spp-protoco=
l-rest-02</a>.
 It would be great if you can take a look at it and comment.<o:p></o:p></p>
</div>
<div>
<p class=3D"MsoNormal"><o:p>&nbsp;</o:p></p>
</div>
<div>
<p class=3D"MsoNormal"><span style=3D"font-family:&quot;Arial&quot;,&quot;s=
ans-serif&quot;">Thanks,</span><o:p></o:p></p>
</div>
</div>
<div>
<p class=3D"MsoNormal"><span style=3D"font-family:&quot;Arial&quot;,&quot;s=
ans-serif&quot;">Mickael</span><o:p></o:p></p>
</div>
</div>
</div>
<br>
<hr>
<font face=3D"Arial" color=3D"Gray" size=3D"1">This e-mail message is for t=
he sole use of the intended recipient(s)and may<br>
contain confidential and privileged information of Transaction Network Serv=
ices.<br>
Any unauthorised review, use, disclosure or distribution is prohibited. If =
you<br>
are not the intended recipient, please contact the sender by reply e-mail a=
nd destroy all copies of the original message.<br>
<br>
</font>
</body>
</html>

--_000_B4254E341B54864B92D28BC2138A9DC30328C92048TNSMAILNAwin2_--

From mickaelmarrache@gmail.com  Thu May  9 07:14:32 2013
Return-Path: <mickaelmarrache@gmail.com>
X-Original-To: drinks@ietfa.amsl.com
Delivered-To: drinks@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id B3F2721F89AF for <drinks@ietfa.amsl.com>; Thu,  9 May 2013 07:14:32 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.999
X-Spam-Level: 
X-Spam-Status: No, score=-1.999 tagged_above=-999 required=5 tests=[BAYES_00=-2.599, HTML_MESSAGE=0.001, J_CHICKENPOX_31=0.6, NO_RELAYS=-0.001]
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 3343vGCKKSov for <drinks@ietfa.amsl.com>; Thu,  9 May 2013 07:14:31 -0700 (PDT)
Received: from mail-la0-x234.google.com (mail-la0-x234.google.com [IPv6:2a00:1450:4010:c03::234]) by ietfa.amsl.com (Postfix) with ESMTP id 2DBAB21F8960 for <drinks@ietf.org>; Thu,  9 May 2013 07:14:29 -0700 (PDT)
Received: by mail-la0-f52.google.com with SMTP id fm20so2832729lab.25 for <drinks@ietf.org>; Thu, 09 May 2013 07:14:29 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:x-received:in-reply-to:references:date:message-id :subject:from:to:content-type; bh=NqzSy9lcJ0KM4dhJU/5mB9ltTn8dwE+wrUJbEkZDkqs=; b=bABHHXXoK5hatDy2Y3EhzKONweWsFtVO15EVlEyQIIy2eGCgRogpuN47mh85u7PMiC OupcQFQOaLGLdjce1Dd2Bs/5jyAB1uWrOrztfjqc2zGbJ6ER5fkHexhb6Ddgm9Rm0GQQ 78Q9scjXJcJbAHUhVuIAXFsvD2ulNvuF18kXw5510VlA8jURxy/VSTbjybsM0rrdMxcU nN/SXbV1HgyjDVzOuhZIZu1cULsOd1qj3H5UUQB999GapSo8W2NI46ePfI4stcCeeHo2 T/1ag/hTWr2yklaER5pTpKzLF5/fdq1zkKRKXcWHg1boXL+DxFjCwSgys6un19+zffFZ a1qg==
MIME-Version: 1.0
X-Received: by 10.152.116.113 with SMTP id jv17mr5546698lab.35.1368108868973;  Thu, 09 May 2013 07:14:28 -0700 (PDT)
Received: by 10.114.184.20 with HTTP; Thu, 9 May 2013 07:14:28 -0700 (PDT)
In-Reply-To: <B4254E341B54864B92D28BC2138A9DC30328C92048@TNS-MAIL-NA.win2k.corp.tnsi.com>
References: <CA+=4G23E5J4pS8x_kW90pkbN1qpfykdZyZghen65FYg3bX7AyQ@mail.gmail.com> <B4254E341B54864B92D28BC2138A9DC30328C92048@TNS-MAIL-NA.win2k.corp.tnsi.com>
Date: Thu, 9 May 2013 17:14:28 +0300
Message-ID: <CA+=4G20j-NLeF+Q+_FmPPLZLbtvgbSyUqe2yoXY1SoxfaZPaWA@mail.gmail.com>
From: Mickael Marrache <mickaelmarrache@gmail.com>
To: "Cartwright, Ken" <kcartwright@tnsi.com>, drinks@ietf.org
Content-Type: multipart/alternative; boundary=001a11c3657a2639e804dc49abee
Subject: Re: [drinks] Following today's meeting
X-BeenThere: drinks@ietf.org
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: IETF DRINKS WG <drinks.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/drinks>, <mailto:drinks-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/drinks>
List-Post: <mailto:drinks@ietf.org>
List-Help: <mailto:drinks-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/drinks>, <mailto:drinks-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 09 May 2013 14:14:32 -0000

--001a11c3657a2639e804dc49abee
Content-Type: text/plain; charset=windows-1252
Content-Transfer-Encoding: quoted-printable

Hi,

Concerning the first point, this is what I meant. I just explained the
current approach as a prerequisite for the next part.

Concerning the second point, I think you don't answer the real question.

Firstly, using optional path parameters introduces an implementation issue.
Also, JAX-RS, which will probably be the most used solution for
implementing SPPP over REST in Java, does not support easily optional
parameters (see
http://www.nakov.com/blog/2009/07/15/jax-rs-path-pathparam-and-optional-par=
ameters/).
There are workarounds to this "issue" but this lack of support shows this
is a rare way of defining URIs in REST. Optional path parameters are
generally discouraged in REST.

I think the real question is why to include the name of the destination
group as part of the PI key, not how to represent optional path parameters
in REST. Also, I don't see how excluding the dgName from the PI key would
reduce flexibility of the model. On the other hand, I think that including
the dgName as part of the PI key increases complexity of RESTful
implementations for the reasons I mentioned in the previous paragraph.
Also, I think that defining two URI templates for PIs (one for PIs that are
part of DGs and another for PIs that are not part of DGs) makes the REST
API less intuitive for the clients, and adds complexity for implementors. I
don't really see enough advantages with the current model, that would
convince me to accept this implementation complexity.

Concerning the COR aspect, it's only a question we raised during the last
meeting. I agree that the COR is intrinsic to the PI, so we don't need to
move it at the PI-DG association level.

Thanks,
Mickael

On Thu, May 9, 2013 at 3:56 PM, Cartwright, Ken <kcartwright@tnsi.com>wrote=
:

>  Hi,****
>
>
> Thanks for these thoughts.  Very insightful.  My $.02 is as follows (sorr=
y
> for any grammar/typos, putting this response together in a rush):****
>
> ** **
>
> =93During the call, we agreed that the cardinality on the DG side of the
> PubId-DG association should be 0..1 instead of 0...n.=94****
>
> ** **
>
> KJC:  I=92d state it like this=85The cardinality in the body of the frame=
work
> document and in the XSD are already correct/whatWeIntended, 0..1.  But th=
e
> diagram in the intro of the framework document incorrectly illustrates 0.=
.n
> because it was a carry-over from the requirements document diagram, which
> was more notional (and was referring to the requirement that a given
> TN/TNRange/etc can be in one or more DGs, or not in a DG).  So we decided
> on the recent call that it would be best to change the diagram in the
> framework document to represent the implementation construct in the XSD
> that uses a PIType, rather than the notional concepts in the requirements
> document.  The operative point being that we are not really =93changing=
=94 a
> cardinality, but are making a clerical correction to a diagram, albeit a
> good correction.  Good catch.****
>
> ** **
>
> ---****
>
> ** **
>
> =93For example, an obvious URI for a TN resource would represent the key
> attributes as path parameters such as
> /rant/{rant}/TN/dgName/{dgName}/tn/{tn}. However, dgName is optional and
> may not have a value. We can solve this problem by using a special string
> to represent the absence of a value, or by using other types of URI
> parameters (e.g. query parameters), but I don't think it's the right way =
to
> go.=94****
>
> ** **
>
> KJC:  Hierarchical relationships in REST URIs are =93optional=94.  If the
> hierarchical relationship exists then it is in the URI, if it does not
> exist, then it is not in the URI.  So a reasonable approach to resolving
> your Rest URI question is to not implement the TNs/PIs->DG relationship a=
s
> a mandatory hierarchy where the DG =93contains=94 the TNs/PIs.  This can =
be
> accomplished in at least a couple ways as follows=85****
>
> ** **
>
> **1)      **Consider modeling the URI in a way that is analogous to the
> SOAP XSD;s approach, with an attribute of the TN/PI containing the DG
> relationship.    If you do that, then instead of having this:
> /rant/{rant}/TN/DGNAME/{dgName}/TN/{tn}****
>
> You=92d have this:****
>
> /rant/{rant}/TN/{tn}/DG/{dgName}****
>
> Examples:  ****
>
> /rant/SomeCompany/TN/17039876543****
>
> /rant/SomeCompany/TN/13013456789/DG/NorthEast****
>
> In this approach your quandary goes away.  If there is no DG relationship=
,
> then that portion of the URI is just not necessary and is therefore not
> there.  Note that this is basically how the SOAP XSD design does it.****
>
> ** **
>
> **2)      **You could alternatively do it like this:****
>
> /rant/{rant}/DG/{dgName}/TN/{tn}****
>
> Examples:****
>
> /rant/SomeCompany/DG/NorthEast/TN/17039876543****
>
> /rant/SomeCompany/TN/13019876543****
>
> ** **
>
> Some TNs are =93in=94 DGs and some are not.  There should be no issue wit=
h
> that approach either.****
>
> ** **
>
> Imo, also adding in the concept of the PI to the URL may be a valid
> addition to the URIs, since they are all just types of PIs****
>
> /rant/{rant}/PI/{PIString}/DG/{dgName}****
>
> Examples:****
>
> /rant/SomeCompany/PI/Prefix/17039****
>
> /rant/SomeCompany/PI/TN/13019876543/DG/NorthEast****
>
> /rant/SomeCompany/PI/Range/13010000000-13019999999/DG/NorthEast****
>
> /rant/SomeCompany/PI/LRN/19059876543/DG/SouthEast****
>
> ** **
>
> ---****
>
> ** **
>
> I also noticed that the text in section 3.1, bullet two, about Destinatio=
n groups says =93can be****
>
>       associated with one or more SED Groups=94.  That should say =93can =
be associated with zero or more SED Groups=94****
>
> ** **
>
> ---****
>
> =93the corInfo element should be an attribute of the PI-DG association si=
nce it is not intrisic to the PI itself=94****
>
> ** **
>
> KJC:  I believe that the COR claim is intrinsic to the PI.  And putting i=
t on an association between the PI and the DG would add further complexity =
to the XSD and the model.****
>
> ** **
>
> In general, I think making this change would reduce the flexibility that =
is in the current model, while not reducing the complexity.****
>
> ** **
>
> Thanks****
>
> ** **
>
> ** **
>
> *From:* drinks-bounces@ietf.org [mailto:drinks-bounces@ietf.org] *On
> Behalf Of *Mickael Marrache
> *Sent:* Wednesday, April 24, 2013 2:51 PM
> *To:* drinks@ietf.org
> *Subject:* [drinks] Following today's meeting****
>
> ** **
>
> Hi,****
>
> ** **
>
> During the call, we agreed that the cardinality on the DG side of the
> PubId-DG association should be 0..1 instead of 0...n. We also agreed that
> this cardinality should not be interpreted as limiting a PI to be
> associated to at most one DG. However, this cardinality should be
> interpreted as limiting a PI instance to be associated to at most one DG.
> Thus, for example, the "same" telephone number may be associated to
> multiple DGs by the use of multiple TN instances. This way is made possib=
le
> by including the dgName element as part of the key, so that for a given
> registrant and a given value (e.g. tn, tnp, start/end...), different valu=
es
> for the dgName element are allowed.****
>
> ** **
>
> I think that the dgName element should not be part of the key because it
> is optional. While it may be acceptable for a key attribute to be optiona=
l
> in some cases, I think it's relatively rare. Also, it becomes more
> difficult to define a URI for each public identifier concrete type. For
> example, an obvious URI for a TN resource would represent the key
> attributes as path parameters such as
> /rant/{rant}/TN/dgName/{dgName}/tn/{tn}. However, dgName is optional and
> may not have a value. We can solve this problem by using a special string
> to represent the absence of a value, or by using other types of URI
> parameters (e.g. query parameters), but I don't think it's the right way =
to
> go.****
>
> ** **
>
> What I proposed during the call was to exclude the dgName element from th=
e
> key. So, there would be only one PI instance for a particular value, that
> is identified by the registrant that owns the PI, and the value of the PI
> (e.g. tn, tnp...). In order to allow a PI to be associated to multiple DG=
s,
> the maxOccurs attribute of the dgName element should be set to unbounded.
> The registrant organization would only deal with one instance for a given
> PI value. The URI for the TN resource would then be /rant/{rant}/TN/{tn}.=
*
> ***
>
> ** **
>
> Concerning the carrier-of-record concern, the question is: Is there a
> meaning to let a registrant organization provision the same PI (in terms =
of
> value) with different COR information? The current model allows such a
> feature by the use of multiple PI instances (thus, allowing multiple
> corInfos). If this is a real use case, the corInfo element should be an
> attribute of the PI-DG association since it is not intrisic to the PI
> itself but depends on an external factor (in this case, the association
> with a particular DG). Creating a new complex type DestGrpRefType that
> includes the DG key and the corInfo element would solve this issue. The
> list of dgName (ObjNameType) would become a list of dgRefs (DestGrpRefTyp=
e).
> ****
>
> ** **
>
> Not related to this question, there are two other points I raised in the
> mailing list:****
>
>    1. The framework document states: "If the response to the Get
>    operation includes object(s) that extend the BasicObjType, the Registr=
y
>    MUST include the 'cDate' and 'mDate', if applicable.". In the examples
>    section in the SOAP document (section 10), for the Get examples, the
>    elements cDate and mDate are not part of the returned responses.****
>    2. According to the framework document, an egress route is added by
>    the originating SSP to the registry. The originating SSP must be a pee=
ring
>    organization of the SED group to which the egress route is associated.
>    Thus, an egress route is an element owned by the originating SSP. The =
rant
>    field of the egress route would then identify the originating SSP and =
not
>    the owner of the SED group. Also, in the SOAP document in section 10.1=
7,
>    the rant field has the value iana-en:111 as expected. There is an erro=
r in
>    the SOAP document in section 10.11. The rant field has the value
>    iana-en:222 where it should have the value iana-en:111 that identifies=
 SSP1.
>    ****
>
>  ** **
>
> Also, a new version of the REST draft is available at
> http://tools.ietf.org/html/draft-marrache-drinks-spp-protocol-rest-02. It
> would be great if you can take a look at it and comment.****
>
> ** **
>
> Thanks,****
>
> Mickael****
>
> ------------------------------
> This e-mail message is for the sole use of the intended recipient(s)and m=
ay
> contain confidential and privileged information of Transaction Network
> Services.
> Any unauthorised review, use, disclosure or distribution is prohibited. I=
f
> you
> are not the intended recipient, please contact the sender by reply e-mail
> and destroy all copies of the original message.
>
>

--001a11c3657a2639e804dc49abee
Content-Type: text/html; charset=windows-1252
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr">Hi,<br><br>Concerning the first point, this is what I mean=
t. I just explained the current approach as a prerequisite for the next par=
t.<br><br>Concerning the second point, I think you don&#39;t answer the rea=
l question.<br>
<br>Firstly, using optional path parameters introduces an implementation is=
sue. Also, JAX-RS, which will probably be the most used solution for implem=
enting SPPP over REST in Java, does=20
not support easily optional parameters (see <a href=3D"http://www.nakov.com=
/blog/2009/07/15/jax-rs-path-pathparam-and-optional-parameters/">http://www=
.nakov.com/blog/2009/07/15/jax-rs-path-pathparam-and-optional-parameters/</=
a>). There are workarounds to this=20
&quot;issue&quot; but this lack of support shows this is a rare way of defi=
ning=20
URIs in REST. Optional path parameters are generally discouraged in REST.<b=
r><br>I think the real question is why to include the name of the destinati=
on group as part of the PI key, not how to represent optional path paramete=
rs in REST. Also, I don&#39;t see how excluding the dgName from the PI key =
would reduce flexibility of the model. On the other hand, I think that incl=
uding the dgName as part of the PI key increases complexity of RESTful impl=
ementations for the reasons I mentioned in the previous paragraph. Also, I =
think that defining two URI templates for PIs (one for PIs that are part of=
 DGs and another for PIs that are not part of DGs) makes the REST API less =
intuitive for the clients, and adds complexity for implementors. I don&#39;=
t really see enough advantages with the current model, that would convince =
me to accept this implementation complexity.<br>
<br>Concerning the COR aspect, it&#39;s only a question we raised during th=
e last meeting. I agree that the COR is intrinsic to the PI, so we don&#39;=
t need to move it at the PI-DG association level.<br><br>Thanks,<br>Mickael=
 <br>
<br><div class=3D"gmail_quote">On Thu, May 9, 2013 at 3:56 PM, Cartwright, =
Ken <span dir=3D"ltr">&lt;<a href=3D"mailto:kcartwright@tnsi.com" target=3D=
"_blank">kcartwright@tnsi.com</a>&gt;</span> wrote:<br><blockquote class=3D=
"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1px #ccc solid;padding=
-left:1ex">






<div link=3D"blue" vlink=3D"purple" lang=3D"EN-US">
<div>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;font-family:&quot;Ca=
libri&quot;,&quot;sans-serif&quot;;color:#1f497d">Hi,<u></u><u></u></span><=
/p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;font-family:&quot;Ca=
libri&quot;,&quot;sans-serif&quot;;color:#1f497d"><br>
Thanks for these thoughts.=A0 Very insightful.=A0 My $.02 is as follows (so=
rry for any grammar/typos, putting this response together in a rush):<u></u=
><u></u></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;font-family:&quot;Ca=
libri&quot;,&quot;sans-serif&quot;;color:#1f497d"><u></u>=A0<u></u></span><=
/p>
<p class=3D"MsoNormal">=93During the call, we agreed that the cardinality o=
n the DG side of the PubId-DG association should be 0..1 instead of 0...n.=
=94<u></u><u></u></p>
<p class=3D"MsoNormal"><u></u>=A0<u></u></p>
<p class=3D"MsoNormal">KJC:=A0 I=92d state it like this=85The cardinality i=
n the body of the framework document and in the XSD are already correct/wha=
tWeIntended, 0..1.=A0 But the diagram in the intro of the framework documen=
t incorrectly illustrates 0..n because it
 was a carry-over from the requirements document diagram, which was more no=
tional (and was referring to the requirement that a given TN/TNRange/etc ca=
n be in one or more DGs, or not in a DG).=A0 So we decided on the recent ca=
ll that it would be best to change
 the diagram in the framework document to represent the implementation cons=
truct in the XSD that uses a PIType, rather than the notional concepts in t=
he requirements document.=A0 The operative point being that we are not real=
ly =93changing=94 a cardinality, but are
 making a clerical correction to a diagram, albeit a good correction.=A0 Go=
od catch.<u></u><u></u></p>
<p class=3D"MsoNormal"><u></u>=A0<u></u></p>
<p class=3D"MsoNormal">---<u></u><u></u></p>
<p class=3D"MsoNormal"><u></u>=A0<u></u></p>
<p class=3D"MsoNormal">=93For example, an obvious URI for a TN resource wou=
ld represent the key attributes as path parameters such as /rant/{rant}/TN/=
dgName/{dgName}/tn/{tn}. However, dgName is optional and may not have a val=
ue. We can solve this problem by using
 a special string to represent the absence of a value, or by using other ty=
pes of URI parameters (e.g. query parameters), but I don&#39;t think it&#39=
;s the right way to go.=94<u></u><u></u></p>
<p class=3D"MsoNormal"><u></u>=A0<u></u></p>
<p class=3D"MsoNormal">KJC: =A0Hierarchical relationships in REST URIs are =
=93optional=94.=A0 If the hierarchical relationship exists then it is in th=
e URI, if it does not exist, then it is not in the URI.=A0 So a reasonable =
approach to resolving your Rest URI question
 is to not implement the TNs/PIs-&gt;DG relationship as a mandatory hierarc=
hy where the DG =93contains=94 the TNs/PIs.=A0 This can be accomplished in =
at least a couple ways as follows=85<u></u><u></u></p>
<p class=3D"MsoNormal"><u></u>=A0<u></u></p>
<p><u></u><span>1)<span style=3D"font:7.0pt &quot;Times New Roman&quot;">=
=A0=A0=A0=A0=A0
</span></span><u></u>Consider modeling the URI in a way that is analogous t=
o the SOAP XSD;s approach, with an attribute of the TN/PI containing the DG=
 relationship.=A0 =A0=A0If you do that, then instead of having this: /rant/=
{rant}/TN/DGNAME/{dgName}/TN/{tn}<u></u><u></u></p>

<p class=3D"MsoNormal" style=3D"margin-left:.25in">You=92d have this:<u></u=
><u></u></p>
<p class=3D"MsoNormal" style=3D"margin-left:.25in">/rant/{rant}/TN/{tn}/DG/=
{dgName}<u></u><u></u></p>
<p class=3D"MsoNormal" style=3D"margin-left:.25in">Examples:=A0 <u></u><u><=
/u></p>
<p class=3D"MsoNormal" style=3D"margin-left:.25in">/rant/SomeCompany/TN/170=
39876543<u></u><u></u></p>
<p class=3D"MsoNormal" style=3D"margin-left:.25in">/rant/SomeCompany/TN/130=
13456789/DG/NorthEast<u></u><u></u></p>
<p class=3D"MsoNormal" style=3D"margin-left:.25in">In this approach your qu=
andary goes away.=A0 If there is no DG relationship, then that portion of t=
he URI is just not necessary and is therefore not there.=A0 Note that this =
is basically how the SOAP XSD design does
 it.<u></u><u></u></p>
<p class=3D"MsoNormal" style=3D"margin-left:.25in"><u></u>=A0<u></u></p>
<p><u></u><span>2)<span style=3D"font:7.0pt &quot;Times New Roman&quot;">=
=A0=A0=A0=A0=A0
</span></span><u></u>You could alternatively do it like this:<u></u><u></u>=
</p>
<p class=3D"MsoNormal" style=3D"margin-left:.25in">/rant/{rant}/DG/{dgName}=
/TN/{tn}<u></u><u></u></p>
<p class=3D"MsoNormal" style=3D"margin-left:.25in">Examples:<u></u><u></u><=
/p>
<p class=3D"MsoNormal" style=3D"margin-left:.25in">/rant/SomeCompany/DG/Nor=
thEast/TN/17039876543<u></u><u></u></p>
<p class=3D"MsoNormal" style=3D"margin-left:.25in">/rant/SomeCompany/TN/130=
19876543<u></u><u></u></p>
<p class=3D"MsoNormal"><u></u>=A0<u></u></p>
<p class=3D"MsoNormal" style=3D"margin-left:.25in">Some TNs are =93in=94 DG=
s and some are not.=A0 There should be no issue with that approach either.<=
u></u><u></u></p>
<p class=3D"MsoNormal"><u></u>=A0<u></u></p>
<p class=3D"MsoNormal">Imo, also adding in the concept of the PI to the URL=
 may be a valid addition to the URIs, since they are all just types of PIs<=
u></u><u></u></p>
<p class=3D"MsoNormal" style=3D"text-indent:.5in">/rant/{rant}/PI/{PIString=
}/DG/{dgName}<u></u><u></u></p>
<p class=3D"MsoNormal" style=3D"text-indent:.5in">Examples:<u></u><u></u></=
p>
<p class=3D"MsoNormal" style=3D"text-indent:.5in">/rant/SomeCompany/PI/Pref=
ix/17039<u></u><u></u></p>
<p class=3D"MsoNormal" style=3D"text-indent:.5in">/rant/SomeCompany/PI/TN/1=
3019876543/DG/NorthEast<u></u><u></u></p>
<p class=3D"MsoNormal" style=3D"text-indent:.5in">/rant/SomeCompany/PI/Rang=
e/13010000000-13019999999/DG/NorthEast<u></u><u></u></p>
<p class=3D"MsoNormal" style=3D"text-indent:.5in">/rant/SomeCompany/PI/LRN/=
19059876543/DG/SouthEast<u></u><u></u></p>
<p class=3D"MsoNormal"><u></u>=A0<u></u></p>
<p class=3D"MsoNormal">---<u></u><u></u></p>
<p class=3D"MsoNormal"><u></u>=A0<u></u></p>
<pre>I also noticed that the text in section 3.1, bullet two, about Destina=
tion groups says =93<span style>can be<u></u><u></u></span></pre>
<pre><span style>=A0=A0=A0=A0=A0 associated with one or more SED Groups=94.=
=A0 That should say =93can be associated with zero or more SED Groups=94<u>=
</u><u></u></span></pre>
<pre><span style><u></u>=A0<u></u></span></pre>
<pre><span style>---<u></u><u></u></span></pre>
<pre><span style>=93</span>the corInfo element should be an attribute of th=
e PI-DG association since it is not intrisic to the PI itself=94<u></u><u><=
/u></pre>
<pre><span style><u></u>=A0<u></u></span></pre>
<pre><span style>KJC:=A0 I believe that the COR claim is intrinsic to the P=
I.=A0 And putting it on an association between the PI and the DG would add =
further complexity to the XSD and the model.<u></u><u></u></span></pre>
<pre><span style><u></u>=A0<u></u></span></pre>
<pre><span style>In general, I think making this change would reduce the fl=
exibility that is in the current model, while not reducing the complexity.<=
u></u><u></u></span></pre>
<pre><span style><u></u>=A0<u></u></span></pre>
<pre><span style>Thanks<u></u><u></u></span></pre>
<p class=3D"MsoNormal"><span style=3D"font-size:10.0pt;font-family:&quot;Co=
urier New&quot;"><u></u>=A0<u></u></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;font-family:&quot;Ca=
libri&quot;,&quot;sans-serif&quot;;color:#1f497d"><u></u>=A0<u></u></span><=
/p>
<p class=3D"MsoNormal"><b><span style=3D"font-size:10.0pt;font-family:&quot=
;Tahoma&quot;,&quot;sans-serif&quot;">From:</span></b><span style=3D"font-s=
ize:10.0pt;font-family:&quot;Tahoma&quot;,&quot;sans-serif&quot;"> <a href=
=3D"mailto:drinks-bounces@ietf.org" target=3D"_blank">drinks-bounces@ietf.o=
rg</a> [mailto:<a href=3D"mailto:drinks-bounces@ietf.org" target=3D"_blank"=
>drinks-bounces@ietf.org</a>]
<b>On Behalf Of </b>Mickael Marrache<br>
<b>Sent:</b> Wednesday, April 24, <a href=3D"tel:2013" value=3D"+9722013" t=
arget=3D"_blank">2013</a> 2:51 PM<br>
<b>To:</b> <a href=3D"mailto:drinks@ietf.org" target=3D"_blank">drinks@ietf=
.org</a><br>
<b>Subject:</b> [drinks] Following today&#39;s meeting<u></u><u></u></span>=
</p><div><div class=3D"h5">
<p class=3D"MsoNormal"><u></u>=A0<u></u></p>
<div>
<p class=3D"MsoNormal">Hi,<u></u><u></u></p>
<div>
<p class=3D"MsoNormal"><u></u>=A0<u></u></p>
</div>
<div>
<p class=3D"MsoNormal">During the call, we agreed that the cardinality on t=
he DG side of the PubId-DG association should be 0..1 instead of 0...n. We =
also agreed that this cardinality should not be interpreted as limiting a P=
I to be associated to at most one
 DG. However, this cardinality should be interpreted as limiting a PI insta=
nce to be associated to at most one DG. Thus, for example, the &quot;same&q=
uot; telephone number may be associated to multiple DGs by the use of multi=
ple TN instances. This way is made possible
 by including the dgName element as part of the key, so that for a given re=
gistrant and a given value (e.g. tn, tnp, start/end...), different values f=
or the dgName element are allowed.<u></u><u></u></p>
</div>
<div>
<p class=3D"MsoNormal"><u></u>=A0<u></u></p>
</div>
<div>
<p class=3D"MsoNormal">I think that the dgName element should not be part o=
f the key because it is optional. While it may be acceptable for a key attr=
ibute to be optional in some cases, I think it&#39;s relatively rare. Also,=
 it becomes more difficult to define a
 URI for each public identifier concrete type. For example, an obvious URI =
for a TN resource would represent the key attributes as path parameters suc=
h as /rant/{rant}/TN/dgName/{dgName}/tn/{tn}. However, dgName is optional a=
nd may not have a value. We can
 solve this problem by using a special string to represent the absence of a=
 value, or by using other types of URI parameters (e.g. query parameters), =
but I don&#39;t think it&#39;s the right way to go.<u></u><u></u></p>
</div>
<div>
<p class=3D"MsoNormal"><u></u>=A0<u></u></p>
</div>
<div>
<p class=3D"MsoNormal">What I proposed during the call was to exclude the d=
gName element from the key. So, there would be only one PI instance for a p=
articular value, that is identified by the registrant that owns the PI, and=
 the value of the PI (e.g. tn, tnp...).
 In order to allow a PI to be associated to multiple DGs, the maxOccurs att=
ribute of the dgName element should be set to unbounded. The registrant org=
anization would only deal with one instance for a given PI value. The URI f=
or the TN resource would then be
 /rant/{rant}/TN/{tn}.<u></u><u></u></p>
</div>
<div>
<p class=3D"MsoNormal"><u></u>=A0<u></u></p>
</div>
<div>
<p class=3D"MsoNormal">Concerning the carrier-of-record concern, the questi=
on is: Is there a meaning to let a registrant organization provision the sa=
me PI (in terms of value) with different COR information? The current model=
 allows such a feature by the use
 of multiple PI instances (thus, allowing multiple corInfos). If this is a =
real use case, the corInfo element should be an attribute of the PI-DG asso=
ciation since it is not intrisic to the PI itself but depends on an externa=
l factor (in this case, the association
 with a particular DG). Creating a new complex type DestGrpRefType that inc=
ludes the DG key and the corInfo element would solve this issue. The list o=
f dgName (ObjNameType) would become a list of dgRefs (DestGrpRefType).<u></=
u><u></u></p>

</div>
<div>
<p class=3D"MsoNormal"><u></u>=A0<u></u></p>
</div>
<div>
<p class=3D"MsoNormal">Not related to this question, there are two other po=
ints I raised in the mailing list:<u></u><u></u></p>
</div>
<div>
<ol start=3D"1" type=3D"1">
<li class=3D"MsoNormal">
<span style=3D"font-family:&quot;Arial&quot;,&quot;sans-serif&quot;">The fr=
amework document states:=A0&quot;If the response to the Get operation inclu=
des object(s) that extend=A0the BasicObjType, the Registry MUST include the=
 &#39;cDate&#39; and &#39;mDate&#39;,=A0if applicable.&quot;.=A0In the exam=
ples section
 in the SOAP document (section 10), for the Get examples, the elements cDat=
e and mDate are not part of the returned responses.</span><u></u><u></u></l=
i><li class=3D"MsoNormal">
<span style=3D"font-family:&quot;Arial&quot;,&quot;sans-serif&quot;">Accord=
ing to the framework document, an egress route is added by the originating =
SSP to the registry. The originating SSP must be a peering organization of =
the SED group to which the egress route is associated.
 Thus, an egress route is an element owned by the originating SSP. The rant=
 field of the egress route would then identify the originating SSP and not =
the owner of the SED group. Also, in the SOAP document in section 10.17, th=
e rant field has the value iana-en:111
 as expected. There is an error in the SOAP document in section 10.11. The =
rant field has the value iana-en:222 where it should have the value iana-en=
:111 that identifies SSP1.</span><u></u><u></u></li></ol>
<div>
<p class=3D"MsoNormal"><u></u>=A0<u></u></p>
</div>
<div>
<p class=3D"MsoNormal"><span style=3D"font-family:&quot;Arial&quot;,&quot;s=
ans-serif&quot;">Also, a new version of the REST draft is available at=A0</=
span><a href=3D"http://tools.ietf.org/html/draft-marrache-drinks-spp-protoc=
ol-rest-02" target=3D"_blank">http://tools.ietf.org/html/draft-marrache-dri=
nks-spp-protocol-rest-02</a>.
 It would be great if you can take a look at it and comment.<u></u><u></u><=
/p>
</div>
<div>
<p class=3D"MsoNormal"><u></u>=A0<u></u></p>
</div>
<div>
<p class=3D"MsoNormal"><span style=3D"font-family:&quot;Arial&quot;,&quot;s=
ans-serif&quot;">Thanks,</span><u></u><u></u></p>
</div>
</div>
<div>
<p class=3D"MsoNormal"><span style=3D"font-family:&quot;Arial&quot;,&quot;s=
ans-serif&quot;">Mickael</span><u></u><u></u></p>
</div>
</div>
</div></div></div>
<br>
<hr>
<font color=3D"Gray" face=3D"Arial" size=3D"1">This e-mail message is for t=
he sole use of the intended recipient(s)and may<br>
contain confidential and privileged information of Transaction Network Serv=
ices.<br>
Any unauthorised review, use, disclosure or distribution is prohibited. If =
you<br>
are not the intended recipient, please contact the sender by reply e-mail a=
nd destroy all copies of the original message.<br>
<br>
</font>
</div>

</blockquote></div><br></div>

--001a11c3657a2639e804dc49abee--

From kcartwright@tnsi.com  Thu May  9 07:36:17 2013
Return-Path: <kcartwright@tnsi.com>
X-Original-To: drinks@ietfa.amsl.com
Delivered-To: drinks@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id B0F1521F850E for <drinks@ietfa.amsl.com>; Thu,  9 May 2013 07:36:17 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.998
X-Spam-Level: 
X-Spam-Status: No, score=-1.998 tagged_above=-999 required=5 tests=[BAYES_00=-2.599, HTML_MESSAGE=0.001, J_CHICKENPOX_31=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 GhvPXCBtYjov for <drinks@ietfa.amsl.com>; Thu,  9 May 2013 07:36:10 -0700 (PDT)
Received: from relayus.tnsi.com (relayus.tnsi.com [208.224.248.44]) by ietfa.amsl.com (Postfix) with ESMTP id 0EB0C21F84F9 for <drinks@ietf.org>; Thu,  9 May 2013 07:36:04 -0700 (PDT)
X-IronPort-Anti-Spam-Filtered: true
X-IronPort-Anti-Spam-Result: AusEACOzi1GsEQfn/2dsb2JhbABICoJDe7dTiDOBEHSCHwEBBRoNBjoHBBcCAQgRBAEBIQEGByERFAkIAQEEARIIE4dfAxu1KQ2IGoxSgRoKgQEEGwgQAQaCbmEDk12Ba4MKim2ITYFW
X-IronPort-AV: E=Sophos;i="4.87,641,1363132800"; d="scan'208,217";a="2407487"
Received: from mail-hub-na.win2k.corp.tnsi.com ([172.17.7.231]) by relayus.tnsi.com with ESMTP/TLS/RC4-MD5; 09 May 2013 15:23:09 +0100
Received: from TNS-MAIL-NA.win2k.corp.tnsi.com ([172.17.7.214]) by MAIL-HUB-NA.win2k.corp.tnsi.com ([172.17.7.231]) with mapi; Thu, 9 May 2013 10:36:02 -0400
From: "Cartwright, Ken" <kcartwright@tnsi.com>
To: Mickael Marrache <mickaelmarrache@gmail.com>, "drinks@ietf.org" <drinks@ietf.org>
Date: Thu, 9 May 2013 10:36:00 -0400
Thread-Topic: [drinks] Following today's meeting
Thread-Index: Ac5Mv4cCMrFeumrzQ9+OyIfjhlf04gAAI/Aw
Message-ID: <B4254E341B54864B92D28BC2138A9DC30328C920A5@TNS-MAIL-NA.win2k.corp.tnsi.com>
References: <CA+=4G23E5J4pS8x_kW90pkbN1qpfykdZyZghen65FYg3bX7AyQ@mail.gmail.com> <B4254E341B54864B92D28BC2138A9DC30328C92048@TNS-MAIL-NA.win2k.corp.tnsi.com> <CA+=4G20j-NLeF+Q+_FmPPLZLbtvgbSyUqe2yoXY1SoxfaZPaWA@mail.gmail.com>
In-Reply-To: <CA+=4G20j-NLeF+Q+_FmPPLZLbtvgbSyUqe2yoXY1SoxfaZPaWA@mail.gmail.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
acceptlanguage: en-US
Content-Type: multipart/alternative; boundary="_000_B4254E341B54864B92D28BC2138A9DC30328C920A5TNSMAILNAwin2_"
MIME-Version: 1.0
Subject: Re: [drinks] Following today's meeting
X-BeenThere: drinks@ietf.org
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: IETF DRINKS WG <drinks.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/drinks>, <mailto:drinks-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/drinks>
List-Post: <mailto:drinks@ietf.org>
List-Help: <mailto:drinks-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/drinks>, <mailto:drinks-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 09 May 2013 14:36:17 -0000

--_000_B4254E341B54864B92D28BC2138A9DC30328C920A5TNSMAILNAwin2_
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable

Ok.  My apologies if I "didn't answer the key question" in the way you want=
ed.  I think I responded directly to your points.  And I think that the URL=
 structures that I propose are very clean and intuitive, not complicated or=
 esoteric.  You did not say anything about "optional parameters" until this=
 reply.  So perhaps I can now speak to that question now that you have pose=
d it.  The model in the doc is what it is, if the group decides to change i=
t, then so be it.  But, SOAP has no issue dealing with it and I believe tha=
t Rest has no real issue dealing with it either, and as I stated I think th=
e resulting URL structure is very clear and simple.  I also do not really s=
ee this as an "optional parameter" type situation.  The example in the link=
 you describe was speaking to someone wanting to put a "format" selection i=
n the main body of the output URL path so that they know if it is XML or JS=
ON or etc.  The situation here is more of including a  hierarchical relatio=
nship as part of the URL path, which is done all the time.  And of course n=
ot all objects in a model will always have the same hierarchical relationsh=
ips.

But, that's my $.02.  Take it fwiw.  :)

Ken

From: Mickael Marrache [mailto:mickaelmarrache@gmail.com]
Sent: Thursday, May 09, 2013 10:14 AM
To: Cartwright, Ken; drinks@ietf.org
Subject: Re: [drinks] Following today's meeting

Hi,

Concerning the first point, this is what I meant. I just explained the curr=
ent approach as a prerequisite for the next part.

Concerning the second point, I think you don't answer the real question.

Firstly, using optional path parameters introduces an implementation issue.=
 Also, JAX-RS, which will probably be the most used solution for implementi=
ng SPPP over REST in Java, does not support easily optional parameters (see=
 http://www.nakov.com/blog/2009/07/15/jax-rs-path-pathparam-and-optional-pa=
rameters/). There are workarounds to this "issue" but this lack of support =
shows this is a rare way of defining URIs in REST. Optional path parameters=
 are generally discouraged in REST.

I think the real question is why to include the name of the destination gro=
up as part of the PI key, not how to represent optional path parameters in =
REST. Also, I don't see how excluding the dgName from the PI key would redu=
ce flexibility of the model. On the other hand, I think that including the =
dgName as part of the PI key increases complexity of RESTful implementation=
s for the reasons I mentioned in the previous paragraph. Also, I think that=
 defining two URI templates for PIs (one for PIs that are part of DGs and a=
nother for PIs that are not part of DGs) makes the REST API less intuitive =
for the clients, and adds complexity for implementors. I don't really see e=
nough advantages with the current model, that would convince me to accept t=
his implementation complexity.

Concerning the COR aspect, it's only a question we raised during the last m=
eeting. I agree that the COR is intrinsic to the PI, so we don't need to mo=
ve it at the PI-DG association level.

Thanks,
Mickael
On Thu, May 9, 2013 at 3:56 PM, Cartwright, Ken <kcartwright@tnsi.com<mailt=
o:kcartwright@tnsi.com>> wrote:
Hi,

Thanks for these thoughts.  Very insightful.  My $.02 is as follows (sorry =
for any grammar/typos, putting this response together in a rush):

"During the call, we agreed that the cardinality on the DG side of the PubI=
d-DG association should be 0..1 instead of 0...n."

KJC:  I'd state it like this...The cardinality in the body of the framework=
 document and in the XSD are already correct/whatWeIntended, 0..1.  But the=
 diagram in the intro of the framework document incorrectly illustrates 0..=
n because it was a carry-over from the requirements document diagram, which=
 was more notional (and was referring to the requirement that a given TN/TN=
Range/etc can be in one or more DGs, or not in a DG).  So we decided on the=
 recent call that it would be best to change the diagram in the framework d=
ocument to represent the implementation construct in the XSD that uses a PI=
Type, rather than the notional concepts in the requirements document.  The =
operative point being that we are not really "changing" a cardinality, but =
are making a clerical correction to a diagram, albeit a good correction.  G=
ood catch.

---

"For example, an obvious URI for a TN resource would represent the key attr=
ibutes as path parameters such as /rant/{rant}/TN/dgName/{dgName}/tn/{tn}. =
However, dgName is optional and may not have a value. We can solve this pro=
blem by using a special string to represent the absence of a value, or by u=
sing other types of URI parameters (e.g. query parameters), but I don't thi=
nk it's the right way to go."

KJC:  Hierarchical relationships in REST URIs are "optional".  If the hiera=
rchical relationship exists then it is in the URI, if it does not exist, th=
en it is not in the URI.  So a reasonable approach to resolving your Rest U=
RI question is to not implement the TNs/PIs->DG relationship as a mandatory=
 hierarchy where the DG "contains" the TNs/PIs.  This can be accomplished i=
n at least a couple ways as follows...


1)      Consider modeling the URI in a way that is analogous to the SOAP XS=
D;s approach, with an attribute of the TN/PI containing the DG relationship=
.    If you do that, then instead of having this: /rant/{rant}/TN/DGNAME/{d=
gName}/TN/{tn}
You'd have this:
/rant/{rant}/TN/{tn}/DG/{dgName}
Examples:
/rant/SomeCompany/TN/17039876543
/rant/SomeCompany/TN/13013456789/DG/NorthEast
In this approach your quandary goes away.  If there is no DG relationship, =
then that portion of the URI is just not necessary and is therefore not the=
re.  Note that this is basically how the SOAP XSD design does it.


2)      You could alternatively do it like this:
/rant/{rant}/DG/{dgName}/TN/{tn}
Examples:
/rant/SomeCompany/DG/NorthEast/TN/17039876543
/rant/SomeCompany/TN/13019876543

Some TNs are "in" DGs and some are not.  There should be no issue with that=
 approach either.

Imo, also adding in the concept of the PI to the URL may be a valid additio=
n to the URIs, since they are all just types of PIs
/rant/{rant}/PI/{PIString}/DG/{dgName}
Examples:
/rant/SomeCompany/PI/Prefix/17039
/rant/SomeCompany/PI/TN/13019876543/DG/NorthEast
/rant/SomeCompany/PI/Range/13010000000-13019999999/DG/NorthEast
/rant/SomeCompany/PI/LRN/19059876543/DG/SouthEast

---


I also noticed that the text in section 3.1, bullet two, about Destination =
groups says "can be

      associated with one or more SED Groups".  That should say "can be ass=
ociated with zero or more SED Groups"



---

"the corInfo element should be an attribute of the PI-DG association since =
it is not intrisic to the PI itself"



KJC:  I believe that the COR claim is intrinsic to the PI.  And putting it =
on an association between the PI and the DG would add further complexity to=
 the XSD and the model.



In general, I think making this change would reduce the flexibility that is=
 in the current model, while not reducing the complexity.



Thanks


From: drinks-bounces@ietf.org<mailto:drinks-bounces@ietf.org> [mailto:drink=
s-bounces@ietf.org<mailto:drinks-bounces@ietf.org>] On Behalf Of Mickael Ma=
rrache
Sent: Wednesday, April 24, 2013<tel:2013> 2:51 PM
To: drinks@ietf.org<mailto:drinks@ietf.org>
Subject: [drinks] Following today's meeting

Hi,

During the call, we agreed that the cardinality on the DG side of the PubId=
-DG association should be 0..1 instead of 0...n. We also agreed that this c=
ardinality should not be interpreted as limiting a PI to be associated to a=
t most one DG. However, this cardinality should be interpreted as limiting =
a PI instance to be associated to at most one DG. Thus, for example, the "s=
ame" telephone number may be associated to multiple DGs by the use of multi=
ple TN instances. This way is made possible by including the dgName element=
 as part of the key, so that for a given registrant and a given value (e.g.=
 tn, tnp, start/end...), different values for the dgName element are allowe=
d.

I think that the dgName element should not be part of the key because it is=
 optional. While it may be acceptable for a key attribute to be optional in=
 some cases, I think it's relatively rare. Also, it becomes more difficult =
to define a URI for each public identifier concrete type. For example, an o=
bvious URI for a TN resource would represent the key attributes as path par=
ameters such as /rant/{rant}/TN/dgName/{dgName}/tn/{tn}. However, dgName is=
 optional and may not have a value. We can solve this problem by using a sp=
ecial string to represent the absence of a value, or by using other types o=
f URI parameters (e.g. query parameters), but I don't think it's the right =
way to go.

What I proposed during the call was to exclude the dgName element from the =
key. So, there would be only one PI instance for a particular value, that i=
s identified by the registrant that owns the PI, and the value of the PI (e=
.g. tn, tnp...). In order to allow a PI to be associated to multiple DGs, t=
he maxOccurs attribute of the dgName element should be set to unbounded. Th=
e registrant organization would only deal with one instance for a given PI =
value. The URI for the TN resource would then be /rant/{rant}/TN/{tn}.

Concerning the carrier-of-record concern, the question is: Is there a meani=
ng to let a registrant organization provision the same PI (in terms of valu=
e) with different COR information? The current model allows such a feature =
by the use of multiple PI instances (thus, allowing multiple corInfos). If =
this is a real use case, the corInfo element should be an attribute of the =
PI-DG association since it is not intrisic to the PI itself but depends on =
an external factor (in this case, the association with a particular DG). Cr=
eating a new complex type DestGrpRefType that includes the DG key and the c=
orInfo element would solve this issue. The list of dgName (ObjNameType) wou=
ld become a list of dgRefs (DestGrpRefType).

Not related to this question, there are two other points I raised in the ma=
iling list:

 1.  The framework document states: "If the response to the Get operation i=
ncludes object(s) that extend the BasicObjType, the Registry MUST include t=
he 'cDate' and 'mDate', if applicable.". In the examples section in the SOA=
P document (section 10), for the Get examples, the elements cDate and mDate=
 are not part of the returned responses.
 2.  According to the framework document, an egress route is added by the o=
riginating SSP to the registry. The originating SSP must be a peering organ=
ization of the SED group to which the egress route is associated. Thus, an =
egress route is an element owned by the originating SSP. The rant field of =
the egress route would then identify the originating SSP and not the owner =
of the SED group. Also, in the SOAP document in section 10.17, the rant fie=
ld has the value iana-en:111 as expected. There is an error in the SOAP doc=
ument in section 10.11. The rant field has the value iana-en:222 where it s=
hould have the value iana-en:111 that identifies SSP1.

Also, a new version of the REST draft is available at http://tools.ietf.org=
/html/draft-marrache-drinks-spp-protocol-rest-02. It would be great if you =
can take a look at it and comment.

Thanks,
Mickael

________________________________
This e-mail message is for the sole use of the intended recipient(s)and may
contain confidential and privileged information of Transaction Network Serv=
ices.
Any unauthorised review, use, disclosure or distribution is prohibited. If =
you
are not the intended recipient, please contact the sender by reply e-mail a=
nd destroy all copies of the original message.


________________________________
This e-mail message is for the sole use of the intended recipient(s)and may
contain confidential and privileged information of Transaction Network Serv=
ices.
Any unauthorised review, use, disclosure or distribution is prohibited. If =
you
are not the intended recipient, please contact the sender by reply e-mail a=
nd destroy all copies of the original message.


--_000_B4254E341B54864B92D28BC2138A9DC30328C920A5TNSMAILNAwin2_
Content-Type: text/html; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable

<html xmlns:v=3D"urn:schemas-microsoft-com:vml" xmlns:o=3D"urn:schemas-micr=
osoft-com:office:office" xmlns:w=3D"urn:schemas-microsoft-com:office:word" =
xmlns:x=3D"urn:schemas-microsoft-com:office:excel" xmlns:m=3D"http://schema=
s.microsoft.com/office/2004/12/omml" xmlns=3D"http://www.w3.org/TR/REC-html=
40">
<head>
<meta http-equiv=3D"Content-Type" content=3D"text/html; charset=3Dus-ascii"=
>
<meta name=3D"Generator" content=3D"Microsoft Word 14 (filtered medium)">
<!--[if !mso]><style>v\:* {behavior:url(#default#VML);}
o\:* {behavior:url(#default#VML);}
w\:* {behavior:url(#default#VML);}
.shape {behavior:url(#default#VML);}
</style><![endif]--><style><!--
/* Font Definitions */
@font-face
	{font-family:Wingdings;
	panose-1:5 0 0 0 0 0 0 0 0 0;}
@font-face
	{font-family:Wingdings;
	panose-1:5 0 0 0 0 0 0 0 0 0;}
@font-face
	{font-family:Calibri;
	panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
	{font-family:Tahoma;
	panose-1:2 11 6 4 3 5 4 4 2 4;}
@font-face
	{font-family:Consolas;
	panose-1:2 11 6 9 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
	{margin:0in;
	margin-bottom:.0001pt;
	font-size:12.0pt;
	font-family:"Times New Roman","serif";}
a:link, span.MsoHyperlink
	{mso-style-priority:99;
	color:blue;
	text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
	{mso-style-priority:99;
	color:purple;
	text-decoration:underline;}
p
	{mso-style-priority:99;
	mso-margin-top-alt:auto;
	margin-right:0in;
	mso-margin-bottom-alt:auto;
	margin-left:0in;
	font-size:12.0pt;
	font-family:"Times New Roman","serif";}
pre
	{mso-style-priority:99;
	mso-style-link:"HTML Preformatted Char";
	margin:0in;
	margin-bottom:.0001pt;
	font-size:10.0pt;
	font-family:"Courier New";}
p.MsoAcetate, li.MsoAcetate, div.MsoAcetate
	{mso-style-priority:99;
	mso-style-link:"Balloon Text Char";
	margin:0in;
	margin-bottom:.0001pt;
	font-size:8.0pt;
	font-family:"Tahoma","sans-serif";}
p.MsoListParagraph, li.MsoListParagraph, div.MsoListParagraph
	{mso-style-priority:34;
	margin-top:0in;
	margin-right:0in;
	margin-bottom:0in;
	margin-left:.5in;
	margin-bottom:.0001pt;
	font-size:12.0pt;
	font-family:"Times New Roman","serif";}
span.HTMLPreformattedChar
	{mso-style-name:"HTML Preformatted Char";
	mso-style-priority:99;
	mso-style-link:"HTML Preformatted";
	font-family:Consolas;}
span.EmailStyle20
	{mso-style-type:personal-reply;
	font-family:"Calibri","sans-serif";
	color:#1F497D;}
span.BalloonTextChar
	{mso-style-name:"Balloon Text Char";
	mso-style-priority:99;
	mso-style-link:"Balloon Text";
	font-family:"Tahoma","sans-serif";}
.MsoChpDefault
	{mso-style-type:export-only;
	font-family:"Calibri","sans-serif";}
@page WordSection1
	{size:8.5in 11.0in;
	margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
	{page:WordSection1;}
/* List Definitions */
@list l0
	{mso-list-id:433594972;
	mso-list-template-ids:-1093228542;}
@list l1
	{mso-list-id:1044208387;
	mso-list-type:hybrid;
	mso-list-template-ids:732590822 67698705 67698713 67698715 67698703 676987=
13 67698715 67698703 67698713 67698715;}
@list l1:level1
	{mso-level-text:"%1\)";
	mso-level-tab-stop:none;
	mso-level-number-position:left;
	text-indent:-.25in;}
@list l1:level2
	{mso-level-number-format:alpha-lower;
	mso-level-tab-stop:none;
	mso-level-number-position:left;
	text-indent:-.25in;}
@list l1:level3
	{mso-level-number-format:roman-lower;
	mso-level-tab-stop:none;
	mso-level-number-position:right;
	text-indent:-9.0pt;}
@list l1:level4
	{mso-level-tab-stop:none;
	mso-level-number-position:left;
	text-indent:-.25in;}
@list l1:level5
	{mso-level-number-format:alpha-lower;
	mso-level-tab-stop:none;
	mso-level-number-position:left;
	text-indent:-.25in;}
@list l1:level6
	{mso-level-number-format:roman-lower;
	mso-level-tab-stop:none;
	mso-level-number-position:right;
	text-indent:-9.0pt;}
@list l1:level7
	{mso-level-tab-stop:none;
	mso-level-number-position:left;
	text-indent:-.25in;}
@list l1:level8
	{mso-level-number-format:alpha-lower;
	mso-level-tab-stop:none;
	mso-level-number-position:left;
	text-indent:-.25in;}
@list l1:level9
	{mso-level-number-format:roman-lower;
	mso-level-tab-stop:none;
	mso-level-number-position:right;
	text-indent:-9.0pt;}
ol
	{margin-bottom:0in;}
ul
	{margin-bottom:0in;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext=3D"edit" spidmax=3D"1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext=3D"edit">
<o:idmap v:ext=3D"edit" data=3D"1" />
</o:shapelayout></xml><![endif]-->
</head>
<body lang=3D"EN-US" link=3D"blue" vlink=3D"purple">
<div class=3D"WordSection1">
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;font-family:&quot;Ca=
libri&quot;,&quot;sans-serif&quot;;color:#1F497D">Ok.&nbsp; My apologies if=
 I &#8220;didn&#8217;t answer the key question&#8221; in the way you wanted=
. &nbsp;I think I responded directly to your points.&nbsp; And I think that=
 the URL structures
 that I propose are very clean and intuitive, not complicated or esoteric. =
&nbsp;You did not say anything about &#8220;optional parameters&#8221; unti=
l this reply.&nbsp; So perhaps I can now speak to that question now that yo=
u have posed it.&nbsp; The model in the doc is what it is,
 if the group decides to change it, then so be it.&nbsp; But, SOAP has no i=
ssue dealing with it and I believe that Rest has no real issue dealing with=
 it either, and as I stated I think the resulting URL structure is very cle=
ar and simple.&nbsp; I also do not really
 see this as an &#8220;optional parameter&#8221; type situation.&nbsp; The =
example in the link you describe was speaking to someone wanting to put a &=
#8220;format&#8221; selection in the main body of the output URL path so th=
at they know if it is XML or JSON or etc.&nbsp; The situation here
 is more of including a &nbsp;hierarchical relationship as part of the URL =
path, which is done all the time.&nbsp; And of course not all objects in a =
model will always have the same hierarchical relationships.<o:p></o:p></spa=
n></p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;font-family:&quot;Ca=
libri&quot;,&quot;sans-serif&quot;;color:#1F497D"><o:p>&nbsp;</o:p></span><=
/p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;font-family:&quot;Ca=
libri&quot;,&quot;sans-serif&quot;;color:#1F497D">But, that&#8217;s my $.02=
.&nbsp; Take it fwiw.&nbsp;
</span><span style=3D"font-size:11.0pt;font-family:Wingdings;color:#1F497D"=
>J</span><span style=3D"font-size:11.0pt;font-family:&quot;Calibri&quot;,&q=
uot;sans-serif&quot;;color:#1F497D"><o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;font-family:&quot;Ca=
libri&quot;,&quot;sans-serif&quot;;color:#1F497D"><o:p>&nbsp;</o:p></span><=
/p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;font-family:&quot;Ca=
libri&quot;,&quot;sans-serif&quot;;color:#1F497D">Ken<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;font-family:&quot;Ca=
libri&quot;,&quot;sans-serif&quot;;color:#1F497D"><o:p>&nbsp;</o:p></span><=
/p>
<p class=3D"MsoNormal"><b><span style=3D"font-size:10.0pt;font-family:&quot=
;Tahoma&quot;,&quot;sans-serif&quot;">From:</span></b><span style=3D"font-s=
ize:10.0pt;font-family:&quot;Tahoma&quot;,&quot;sans-serif&quot;"> Mickael =
Marrache [mailto:mickaelmarrache@gmail.com]
<br>
<b>Sent:</b> Thursday, May 09, 2013 10:14 AM<br>
<b>To:</b> Cartwright, Ken; drinks@ietf.org<br>
<b>Subject:</b> Re: [drinks] Following today's meeting<o:p></o:p></span></p=
>
<p class=3D"MsoNormal"><o:p>&nbsp;</o:p></p>
<div>
<p class=3D"MsoNormal" style=3D"margin-bottom:12.0pt">Hi,<br>
<br>
Concerning the first point, this is what I meant. I just explained the curr=
ent approach as a prerequisite for the next part.<br>
<br>
Concerning the second point, I think you don't answer the real question.<br=
>
<br>
Firstly, using optional path parameters introduces an implementation issue.=
 Also, JAX-RS, which will probably be the most used solution for implementi=
ng SPPP over REST in Java, does not support easily optional parameters (see
<a href=3D"http://www.nakov.com/blog/2009/07/15/jax-rs-path-pathparam-and-o=
ptional-parameters/">
http://www.nakov.com/blog/2009/07/15/jax-rs-path-pathparam-and-optional-par=
ameters/</a>). There are workarounds to this &quot;issue&quot; but this lac=
k of support shows this is a rare way of defining URIs in REST. Optional pa=
th parameters are generally discouraged in
 REST.<br>
<br>
I think the real question is why to include the name of the destination gro=
up as part of the PI key, not how to represent optional path parameters in =
REST. Also, I don't see how excluding the dgName from the PI key would redu=
ce flexibility of the model. On
 the other hand, I think that including the dgName as part of the PI key in=
creases complexity of RESTful implementations for the reasons I mentioned i=
n the previous paragraph. Also, I think that defining two URI templates for=
 PIs (one for PIs that are part
 of DGs and another for PIs that are not part of DGs) makes the REST API le=
ss intuitive for the clients, and adds complexity for implementors. I don't=
 really see enough advantages with the current model, that would convince m=
e to accept this implementation
 complexity.<br>
<br>
Concerning the COR aspect, it's only a question we raised during the last m=
eeting. I agree that the COR is intrinsic to the PI, so we don't need to mo=
ve it at the PI-DG association level.<br>
<br>
Thanks,<br>
Mickael <o:p></o:p></p>
<div>
<p class=3D"MsoNormal">On Thu, May 9, 2013 at 3:56 PM, Cartwright, Ken &lt;=
<a href=3D"mailto:kcartwright@tnsi.com" target=3D"_blank">kcartwright@tnsi.=
com</a>&gt; wrote:<o:p></o:p></p>
<div>
<div>
<p class=3D"MsoNormal" style=3D"mso-margin-top-alt:auto;mso-margin-bottom-a=
lt:auto"><span style=3D"font-size:11.0pt;font-family:&quot;Calibri&quot;,&q=
uot;sans-serif&quot;;color:#1F497D">Hi,</span><o:p></o:p></p>
<p class=3D"MsoNormal" style=3D"mso-margin-top-alt:auto;mso-margin-bottom-a=
lt:auto"><span style=3D"font-size:11.0pt;font-family:&quot;Calibri&quot;,&q=
uot;sans-serif&quot;;color:#1F497D"><br>
Thanks for these thoughts.&nbsp; Very insightful.&nbsp; My $.02 is as follo=
ws (sorry for any grammar/typos, putting this response together in a rush):=
</span><o:p></o:p></p>
<p class=3D"MsoNormal" style=3D"mso-margin-top-alt:auto;mso-margin-bottom-a=
lt:auto"><span style=3D"font-size:11.0pt;font-family:&quot;Calibri&quot;,&q=
uot;sans-serif&quot;;color:#1F497D">&nbsp;</span><o:p></o:p></p>
<p class=3D"MsoNormal" style=3D"mso-margin-top-alt:auto;mso-margin-bottom-a=
lt:auto">&#8220;During the call, we agreed that the cardinality on the DG s=
ide of the PubId-DG association should be 0..1 instead of 0...n.&#8221;<o:p=
></o:p></p>
<p class=3D"MsoNormal" style=3D"mso-margin-top-alt:auto;mso-margin-bottom-a=
lt:auto">&nbsp;<o:p></o:p></p>
<p class=3D"MsoNormal" style=3D"mso-margin-top-alt:auto;mso-margin-bottom-a=
lt:auto">KJC:&nbsp; I&#8217;d state it like this&#8230;The cardinality in t=
he body of the framework document and in the XSD are already correct/whatWe=
Intended, 0..1.&nbsp; But the diagram in the intro of the
 framework document incorrectly illustrates 0..n because it was a carry-ove=
r from the requirements document diagram, which was more notional (and was =
referring to the requirement that a given TN/TNRange/etc can be in one or m=
ore DGs, or not in a DG).&nbsp; So we
 decided on the recent call that it would be best to change the diagram in =
the framework document to represent the implementation construct in the XSD=
 that uses a PIType, rather than the notional concepts in the requirements =
document.&nbsp; The operative point being
 that we are not really &#8220;changing&#8221; a cardinality, but are makin=
g a clerical correction to a diagram, albeit a good correction.&nbsp; Good =
catch.<o:p></o:p></p>
<p class=3D"MsoNormal" style=3D"mso-margin-top-alt:auto;mso-margin-bottom-a=
lt:auto">&nbsp;<o:p></o:p></p>
<p class=3D"MsoNormal" style=3D"mso-margin-top-alt:auto;mso-margin-bottom-a=
lt:auto">---<o:p></o:p></p>
<p class=3D"MsoNormal" style=3D"mso-margin-top-alt:auto;mso-margin-bottom-a=
lt:auto">&nbsp;<o:p></o:p></p>
<p class=3D"MsoNormal" style=3D"mso-margin-top-alt:auto;mso-margin-bottom-a=
lt:auto">&#8220;For example, an obvious URI for a TN resource would represe=
nt the key attributes as path parameters such as /rant/{rant}/TN/dgName/{dg=
Name}/tn/{tn}. However, dgName is optional
 and may not have a value. We can solve this problem by using a special str=
ing to represent the absence of a value, or by using other types of URI par=
ameters (e.g. query parameters), but I don't think it's the right way to go=
.&#8221;<o:p></o:p></p>
<p class=3D"MsoNormal" style=3D"mso-margin-top-alt:auto;mso-margin-bottom-a=
lt:auto">&nbsp;<o:p></o:p></p>
<p class=3D"MsoNormal" style=3D"mso-margin-top-alt:auto;mso-margin-bottom-a=
lt:auto">KJC: &nbsp;Hierarchical relationships in REST URIs are &#8220;opti=
onal&#8221;.&nbsp; If the hierarchical relationship exists then it is in th=
e URI, if it does not exist, then it is not in the URI.&nbsp; So
 a reasonable approach to resolving your Rest URI question is to not implem=
ent the TNs/PIs-&gt;DG relationship as a mandatory hierarchy where the DG &=
#8220;contains&#8221; the TNs/PIs.&nbsp; This can be accomplished in at lea=
st a couple ways as follows&#8230;<o:p></o:p></p>
<p class=3D"MsoNormal" style=3D"mso-margin-top-alt:auto;mso-margin-bottom-a=
lt:auto">&nbsp;<o:p></o:p></p>
<p>1)<span style=3D"font-size:7.0pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>=
Consider modeling the URI in a way that is analogous to the SOAP XSD;s appr=
oach, with an attribute of the TN/PI containing the DG relationship.&nbsp; =
&nbsp;&nbsp;If you do that, then instead of having this: /rant/{rant}/TN/DG=
NAME/{dgName}/TN/{tn}<o:p></o:p></p>
<p class=3D"MsoNormal" style=3D"mso-margin-top-alt:auto;mso-margin-bottom-a=
lt:auto;margin-left:.25in">
You&#8217;d have this:<o:p></o:p></p>
<p class=3D"MsoNormal" style=3D"mso-margin-top-alt:auto;mso-margin-bottom-a=
lt:auto;margin-left:.25in">
/rant/{rant}/TN/{tn}/DG/{dgName}<o:p></o:p></p>
<p class=3D"MsoNormal" style=3D"mso-margin-top-alt:auto;mso-margin-bottom-a=
lt:auto;margin-left:.25in">
Examples:&nbsp; <o:p></o:p></p>
<p class=3D"MsoNormal" style=3D"mso-margin-top-alt:auto;mso-margin-bottom-a=
lt:auto;margin-left:.25in">
/rant/SomeCompany/TN/17039876543<o:p></o:p></p>
<p class=3D"MsoNormal" style=3D"mso-margin-top-alt:auto;mso-margin-bottom-a=
lt:auto;margin-left:.25in">
/rant/SomeCompany/TN/13013456789/DG/NorthEast<o:p></o:p></p>
<p class=3D"MsoNormal" style=3D"mso-margin-top-alt:auto;mso-margin-bottom-a=
lt:auto;margin-left:.25in">
In this approach your quandary goes away.&nbsp; If there is no DG relations=
hip, then that portion of the URI is just not necessary and is therefore no=
t there.&nbsp; Note that this is basically how the SOAP XSD design does it.=
<o:p></o:p></p>
<p class=3D"MsoNormal" style=3D"mso-margin-top-alt:auto;mso-margin-bottom-a=
lt:auto;margin-left:.25in">
&nbsp;<o:p></o:p></p>
<p>2)<span style=3D"font-size:7.0pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>=
You could alternatively do it like this:<o:p></o:p></p>
<p class=3D"MsoNormal" style=3D"mso-margin-top-alt:auto;mso-margin-bottom-a=
lt:auto;margin-left:.25in">
/rant/{rant}/DG/{dgName}/TN/{tn}<o:p></o:p></p>
<p class=3D"MsoNormal" style=3D"mso-margin-top-alt:auto;mso-margin-bottom-a=
lt:auto;margin-left:.25in">
Examples:<o:p></o:p></p>
<p class=3D"MsoNormal" style=3D"mso-margin-top-alt:auto;mso-margin-bottom-a=
lt:auto;margin-left:.25in">
/rant/SomeCompany/DG/NorthEast/TN/17039876543<o:p></o:p></p>
<p class=3D"MsoNormal" style=3D"mso-margin-top-alt:auto;mso-margin-bottom-a=
lt:auto;margin-left:.25in">
/rant/SomeCompany/TN/13019876543<o:p></o:p></p>
<p class=3D"MsoNormal" style=3D"mso-margin-top-alt:auto;mso-margin-bottom-a=
lt:auto">&nbsp;<o:p></o:p></p>
<p class=3D"MsoNormal" style=3D"mso-margin-top-alt:auto;mso-margin-bottom-a=
lt:auto;margin-left:.25in">
Some TNs are &#8220;in&#8221; DGs and some are not.&nbsp; There should be n=
o issue with that approach either.<o:p></o:p></p>
<p class=3D"MsoNormal" style=3D"mso-margin-top-alt:auto;mso-margin-bottom-a=
lt:auto">&nbsp;<o:p></o:p></p>
<p class=3D"MsoNormal" style=3D"mso-margin-top-alt:auto;mso-margin-bottom-a=
lt:auto">Imo, also adding in the concept of the PI to the URL may be a vali=
d addition to the URIs, since they are all just types of PIs<o:p></o:p></p>
<p class=3D"MsoNormal" style=3D"mso-margin-top-alt:auto;mso-margin-bottom-a=
lt:auto;text-indent:.5in">
/rant/{rant}/PI/{PIString}/DG/{dgName}<o:p></o:p></p>
<p class=3D"MsoNormal" style=3D"mso-margin-top-alt:auto;mso-margin-bottom-a=
lt:auto;text-indent:.5in">
Examples:<o:p></o:p></p>
<p class=3D"MsoNormal" style=3D"mso-margin-top-alt:auto;mso-margin-bottom-a=
lt:auto;text-indent:.5in">
/rant/SomeCompany/PI/Prefix/17039<o:p></o:p></p>
<p class=3D"MsoNormal" style=3D"mso-margin-top-alt:auto;mso-margin-bottom-a=
lt:auto;text-indent:.5in">
/rant/SomeCompany/PI/TN/13019876543/DG/NorthEast<o:p></o:p></p>
<p class=3D"MsoNormal" style=3D"mso-margin-top-alt:auto;mso-margin-bottom-a=
lt:auto;text-indent:.5in">
/rant/SomeCompany/PI/Range/13010000000-13019999999/DG/NorthEast<o:p></o:p><=
/p>
<p class=3D"MsoNormal" style=3D"mso-margin-top-alt:auto;mso-margin-bottom-a=
lt:auto;text-indent:.5in">
/rant/SomeCompany/PI/LRN/19059876543/DG/SouthEast<o:p></o:p></p>
<p class=3D"MsoNormal" style=3D"mso-margin-top-alt:auto;mso-margin-bottom-a=
lt:auto">&nbsp;<o:p></o:p></p>
<p class=3D"MsoNormal" style=3D"mso-margin-top-alt:auto;mso-margin-bottom-a=
lt:auto">---<o:p></o:p></p>
<p class=3D"MsoNormal" style=3D"mso-margin-top-alt:auto;mso-margin-bottom-a=
lt:auto">&nbsp;<o:p></o:p></p>
<pre>I also noticed that the text in section 3.1, bullet two, about Destina=
tion groups says &#8220;can be<o:p></o:p></pre>
<pre>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; associated with one or more SED Groups&=
#8221;.&nbsp; That should say &#8220;can be associated with zero or more SE=
D Groups&#8221;<o:p></o:p></pre>
<pre>&nbsp;<o:p></o:p></pre>
<pre>---<o:p></o:p></pre>
<pre>&#8220;the corInfo element should be an attribute of the PI-DG associa=
tion since it is not intrisic to the PI itself&#8221;<o:p></o:p></pre>
<pre>&nbsp;<o:p></o:p></pre>
<pre>KJC:&nbsp; I believe that the COR claim is intrinsic to the PI.&nbsp; =
And putting it on an association between the PI and the DG would add furthe=
r complexity to the XSD and the model.<o:p></o:p></pre>
<pre>&nbsp;<o:p></o:p></pre>
<pre>In general, I think making this change would reduce the flexibility th=
at is in the current model, while not reducing the complexity.<o:p></o:p></=
pre>
<pre>&nbsp;<o:p></o:p></pre>
<pre>Thanks<o:p></o:p></pre>
<p class=3D"MsoNormal" style=3D"mso-margin-top-alt:auto;mso-margin-bottom-a=
lt:auto"><span style=3D"font-size:10.0pt;font-family:&quot;Courier New&quot=
;">&nbsp;</span><o:p></o:p></p>
<p class=3D"MsoNormal" style=3D"mso-margin-top-alt:auto;mso-margin-bottom-a=
lt:auto"><span style=3D"font-size:11.0pt;font-family:&quot;Calibri&quot;,&q=
uot;sans-serif&quot;;color:#1F497D">&nbsp;</span><o:p></o:p></p>
<p class=3D"MsoNormal" style=3D"mso-margin-top-alt:auto;mso-margin-bottom-a=
lt:auto"><b><span style=3D"font-size:10.0pt;font-family:&quot;Tahoma&quot;,=
&quot;sans-serif&quot;">From:</span></b><span style=3D"font-size:10.0pt;fon=
t-family:&quot;Tahoma&quot;,&quot;sans-serif&quot;">
<a href=3D"mailto:drinks-bounces@ietf.org" target=3D"_blank">drinks-bounces=
@ietf.org</a> [mailto:<a href=3D"mailto:drinks-bounces@ietf.org" target=3D"=
_blank">drinks-bounces@ietf.org</a>]
<b>On Behalf Of </b>Mickael Marrache<br>
<b>Sent:</b> Wednesday, April 24, <a href=3D"tel:2013" target=3D"_blank">20=
13</a> 2:51 PM<br>
<b>To:</b> <a href=3D"mailto:drinks@ietf.org" target=3D"_blank">drinks@ietf=
.org</a><br>
<b>Subject:</b> [drinks] Following today's meeting</span><o:p></o:p></p>
<div>
<div>
<p class=3D"MsoNormal" style=3D"mso-margin-top-alt:auto;mso-margin-bottom-a=
lt:auto">&nbsp;<o:p></o:p></p>
<div>
<p class=3D"MsoNormal" style=3D"mso-margin-top-alt:auto;mso-margin-bottom-a=
lt:auto">Hi,<o:p></o:p></p>
<div>
<p class=3D"MsoNormal" style=3D"mso-margin-top-alt:auto;mso-margin-bottom-a=
lt:auto">&nbsp;<o:p></o:p></p>
</div>
<div>
<p class=3D"MsoNormal" style=3D"mso-margin-top-alt:auto;mso-margin-bottom-a=
lt:auto">During the call, we agreed that the cardinality on the DG side of =
the PubId-DG association should be 0..1 instead of 0...n. We also agreed th=
at this cardinality should not be interpreted
 as limiting a PI to be associated to at most one DG. However, this cardina=
lity should be interpreted as limiting a PI instance to be associated to at=
 most one DG. Thus, for example, the &quot;same&quot; telephone number may =
be associated to multiple DGs by the use of
 multiple TN instances. This way is made possible by including the dgName e=
lement as part of the key, so that for a given registrant and a given value=
 (e.g. tn, tnp, start/end...), different values for the dgName element are =
allowed.<o:p></o:p></p>
</div>
<div>
<p class=3D"MsoNormal" style=3D"mso-margin-top-alt:auto;mso-margin-bottom-a=
lt:auto">&nbsp;<o:p></o:p></p>
</div>
<div>
<p class=3D"MsoNormal" style=3D"mso-margin-top-alt:auto;mso-margin-bottom-a=
lt:auto">I think that the dgName element should not be part of the key beca=
use it is optional. While it may be acceptable for a key attribute to be op=
tional in some cases, I think it's relatively
 rare. Also, it becomes more difficult to define a URI for each public iden=
tifier concrete type. For example, an obvious URI for a TN resource would r=
epresent the key attributes as path parameters such as /rant/{rant}/TN/dgNa=
me/{dgName}/tn/{tn}. However, dgName
 is optional and may not have a value. We can solve this problem by using a=
 special string to represent the absence of a value, or by using other type=
s of URI parameters (e.g. query parameters), but I don't think it's the rig=
ht way to go.<o:p></o:p></p>
</div>
<div>
<p class=3D"MsoNormal" style=3D"mso-margin-top-alt:auto;mso-margin-bottom-a=
lt:auto">&nbsp;<o:p></o:p></p>
</div>
<div>
<p class=3D"MsoNormal" style=3D"mso-margin-top-alt:auto;mso-margin-bottom-a=
lt:auto">What I proposed during the call was to exclude the dgName element =
from the key. So, there would be only one PI instance for a particular valu=
e, that is identified by the registrant
 that owns the PI, and the value of the PI (e.g. tn, tnp...). In order to a=
llow a PI to be associated to multiple DGs, the maxOccurs attribute of the =
dgName element should be set to unbounded. The registrant organization woul=
d only deal with one instance for
 a given PI value. The URI for the TN resource would then be /rant/{rant}/T=
N/{tn}.<o:p></o:p></p>
</div>
<div>
<p class=3D"MsoNormal" style=3D"mso-margin-top-alt:auto;mso-margin-bottom-a=
lt:auto">&nbsp;<o:p></o:p></p>
</div>
<div>
<p class=3D"MsoNormal" style=3D"mso-margin-top-alt:auto;mso-margin-bottom-a=
lt:auto">Concerning the carrier-of-record concern, the question is: Is ther=
e a meaning to let a registrant organization provision the same PI (in term=
s of value) with different COR information?
 The current model allows such a feature by the use of multiple PI instance=
s (thus, allowing multiple corInfos). If this is a real use case, the corIn=
fo element should be an attribute of the PI-DG association since it is not =
intrisic to the PI itself but depends
 on an external factor (in this case, the association with a particular DG)=
. Creating a new complex type DestGrpRefType that includes the DG key and t=
he corInfo element would solve this issue. The list of dgName (ObjNameType)=
 would become a list of dgRefs (DestGrpRefType).<o:p></o:p></p>
</div>
<div>
<p class=3D"MsoNormal" style=3D"mso-margin-top-alt:auto;mso-margin-bottom-a=
lt:auto">&nbsp;<o:p></o:p></p>
</div>
<div>
<p class=3D"MsoNormal" style=3D"mso-margin-top-alt:auto;mso-margin-bottom-a=
lt:auto">Not related to this question, there are two other points I raised =
in the mailing list:<o:p></o:p></p>
</div>
<div>
<ol start=3D"1" type=3D"1">
<li class=3D"MsoNormal" style=3D"mso-margin-top-alt:auto;mso-margin-bottom-=
alt:auto;mso-list:l0 level1 lfo1">
<span style=3D"font-family:&quot;Arial&quot;,&quot;sans-serif&quot;">The fr=
amework document states:&nbsp;&quot;If the response to the Get operation in=
cludes object(s) that extend&nbsp;the BasicObjType, the Registry MUST inclu=
de the 'cDate' and 'mDate',&nbsp;if applicable.&quot;.&nbsp;In the examples=
 section
 in the SOAP document (section 10), for the Get examples, the elements cDat=
e and mDate are not part of the returned responses.</span><o:p></o:p></li><=
li class=3D"MsoNormal" style=3D"mso-margin-top-alt:auto;mso-margin-bottom-a=
lt:auto;mso-list:l0 level1 lfo1">
<span style=3D"font-family:&quot;Arial&quot;,&quot;sans-serif&quot;">Accord=
ing to the framework document, an egress route is added by the originating =
SSP to the registry. The originating SSP must be a peering organization of =
the SED group to which the egress route is associated.
 Thus, an egress route is an element owned by the originating SSP. The rant=
 field of the egress route would then identify the originating SSP and not =
the owner of the SED group. Also, in the SOAP document in section 10.17, th=
e rant field has the value iana-en:111
 as expected. There is an error in the SOAP document in section 10.11. The =
rant field has the value iana-en:222 where it should have the value iana-en=
:111 that identifies SSP1.</span><o:p></o:p></li></ol>
<div>
<p class=3D"MsoNormal" style=3D"mso-margin-top-alt:auto;mso-margin-bottom-a=
lt:auto">&nbsp;<o:p></o:p></p>
</div>
<div>
<p class=3D"MsoNormal" style=3D"mso-margin-top-alt:auto;mso-margin-bottom-a=
lt:auto"><span style=3D"font-family:&quot;Arial&quot;,&quot;sans-serif&quot=
;">Also, a new version of the REST draft is available at&nbsp;</span><a hre=
f=3D"http://tools.ietf.org/html/draft-marrache-drinks-spp-protocol-rest-02"=
 target=3D"_blank">http://tools.ietf.org/html/draft-marrache-drinks-spp-pro=
tocol-rest-02</a>.
 It would be great if you can take a look at it and comment.<o:p></o:p></p>
</div>
<div>
<p class=3D"MsoNormal" style=3D"mso-margin-top-alt:auto;mso-margin-bottom-a=
lt:auto">&nbsp;<o:p></o:p></p>
</div>
<div>
<p class=3D"MsoNormal" style=3D"mso-margin-top-alt:auto;mso-margin-bottom-a=
lt:auto"><span style=3D"font-family:&quot;Arial&quot;,&quot;sans-serif&quot=
;">Thanks,</span><o:p></o:p></p>
</div>
</div>
<div>
<p class=3D"MsoNormal" style=3D"mso-margin-top-alt:auto;mso-margin-bottom-a=
lt:auto"><span style=3D"font-family:&quot;Arial&quot;,&quot;sans-serif&quot=
;">Mickael</span><o:p></o:p></p>
</div>
</div>
</div>
</div>
</div>
<p class=3D"MsoNormal"><o:p>&nbsp;</o:p></p>
<div class=3D"MsoNormal" align=3D"center" style=3D"text-align:center">
<hr size=3D"2" width=3D"100%" align=3D"center">
</div>
<p class=3D"MsoNormal" style=3D"margin-bottom:12.0pt"><span style=3D"font-s=
ize:7.5pt;font-family:&quot;Arial&quot;,&quot;sans-serif&quot;;color:gray">=
This e-mail message is for the sole use of the intended recipient(s)and may=
<br>
contain confidential and privileged information of Transaction Network Serv=
ices.<br>
Any unauthorised review, use, disclosure or distribution is prohibited. If =
you<br>
are not the intended recipient, please contact the sender by reply e-mail a=
nd destroy all copies of the original message.</span><o:p></o:p></p>
</div>
</div>
<p class=3D"MsoNormal"><o:p>&nbsp;</o:p></p>
</div>
</div>
<br>
<hr>
<font face=3D"Arial" color=3D"Gray" size=3D"1">This e-mail message is for t=
he sole use of the intended recipient(s)and may<br>
contain confidential and privileged information of Transaction Network Serv=
ices.<br>
Any unauthorised review, use, disclosure or distribution is prohibited. If =
you<br>
are not the intended recipient, please contact the sender by reply e-mail a=
nd destroy all copies of the original message.<br>
<br>
</font>
</body>
</html>

--_000_B4254E341B54864B92D28BC2138A9DC30328C920A5TNSMAILNAwin2_--

From vbhatia@tnsi.com  Thu May  9 08:01:02 2013
Return-Path: <vbhatia@tnsi.com>
X-Original-To: drinks@ietfa.amsl.com
Delivered-To: drinks@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 7535421F853A for <drinks@ietfa.amsl.com>; Thu,  9 May 2013 08:01:02 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.598
X-Spam-Level: 
X-Spam-Status: No, score=-2.598 tagged_above=-999 required=5 tests=[BAYES_00=-2.599, HTML_MESSAGE=0.001]
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 lkMQCrWWN7KF for <drinks@ietfa.amsl.com>; Thu,  9 May 2013 08:00:58 -0700 (PDT)
Received: from relayus.tnsi.com (relayus.tnsi.com [208.224.248.44]) by ietfa.amsl.com (Postfix) with ESMTP id C19E721F8539 for <drinks@ietf.org>; Thu,  9 May 2013 08:00:57 -0700 (PDT)
X-IronPort-Anti-Spam-Filtered: true
X-IronPort-Anti-Spam-Result: AuoEAAC5i1GsEQfn/2dsb2JhbABICoJDe7dTiDOBEHSCHwEBBS06BxsCAQgRBAEBKAcyFAkIAQEEARIIiBC9U41mBgqBAQQzAQaCbmEDk12EdZM6gVY
X-IronPort-AV: E=Sophos;i="4.87,641,1363132800"; d="scan'208,217";a="2407589"
Received: from mail-hub-na.win2k.corp.tnsi.com ([172.17.7.231]) by relayus.tnsi.com with ESMTP/TLS/RC4-MD5; 09 May 2013 15:48:03 +0100
Received: from TNS-MAIL-NA.win2k.corp.tnsi.com ([172.17.7.214]) by MAIL-HUB-NA.win2k.corp.tnsi.com ([172.17.7.231]) with mapi; Thu, 9 May 2013 11:00:56 -0400
From: "Bhatia, Vikas" <vbhatia@tnsi.com>
To: Mickael Marrache <mickaelmarrache@gmail.com>, "drinks@ietf.org" <drinks@ietf.org>
Date: Thu, 9 May 2013 11:00:55 -0400
Thread-Topic: [drinks] Following today's meeting
Thread-Index: Ac5BHO4n4ACJuABgTMSfhVummvos7wLp7Pxg
Message-ID: <B4254E341B54864B92D28BC2138A9DC30328C920CD@TNS-MAIL-NA.win2k.corp.tnsi.com>
References: <CA+=4G23E5J4pS8x_kW90pkbN1qpfykdZyZghen65FYg3bX7AyQ@mail.gmail.com>
In-Reply-To: <CA+=4G23E5J4pS8x_kW90pkbN1qpfykdZyZghen65FYg3bX7AyQ@mail.gmail.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
acceptlanguage: en-US
Content-Type: multipart/alternative; boundary="_000_B4254E341B54864B92D28BC2138A9DC30328C920CDTNSMAILNAwin2_"
MIME-Version: 1.0
Subject: Re: [drinks] Following today's meeting
X-BeenThere: drinks@ietf.org
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: IETF DRINKS WG <drinks.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/drinks>, <mailto:drinks-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/drinks>
List-Post: <mailto:drinks@ietf.org>
List-Help: <mailto:drinks-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/drinks>, <mailto:drinks-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 09 May 2013 15:01:02 -0000

--_000_B4254E341B54864B92D28BC2138A9DC30328C920CDTNSMAILNAwin2_
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable

W.r.t the following two points from the email below

=3D=3D=3D
Not related to this question, there are two other points I raised in the ma=
iling list:

 1.  The framework document states: "If the response to the Get operation i=
ncludes object(s) that extend the BasicObjType, the Registry MUST include t=
he 'cDate' and 'mDate', if applicable.". In the examples section in the SOA=
P document (section 10), for the Get examples, the elements cDate and mDate=
 are not part of the returned responses.
 2.  According to the framework document, an egress route is added by the o=
riginating SSP to the registry. The originating SSP must be a peering organ=
ization of the SED group to which the egress route is associated. Thus, an =
egress route is an element owned by the originating SSP. The rant field of =
the egress route would then identify the originating SSP and not the owner =
of the SED group. Also, in the SOAP document in section 10.17, the rant fie=
ld has the value iana-en:111 as expected. There is an error in the SOAP doc=
ument in section 10.11. The rant field has the value iana-en:222 where it s=
hould have the value iana-en:111 that identifies SSP1.

For #1 - "cDate" is part of all GET examples (http://tools.ietf.org/html/dr=
aft-ietf-drinks-spp-protocol-over-soap-03.txt). "mDate" is an optional para=
meter that comes only if the record has been modified. The framework docume=
nt section 7.3 says "the Registry MUST include the 'cDate' and 'mDate',   i=
f applicable.", "if applicable" is key.
For #2 - Its just an example and each example can be seen in isolation. The=
 document does not state that SSP1 has registrant ID "iana-en:11" always.

Thanks,
Vikas
From: drinks-bounces@ietf.org [mailto:drinks-bounces@ietf.org] On Behalf Of=
 Mickael Marrache
Sent: Wednesday, April 24, 2013 2:51 PM
To: drinks@ietf.org
Subject: [drinks] Following today's meeting

Hi,

During the call, we agreed that the cardinality on the DG side of the PubId=
-DG association should be 0..1 instead of 0...n. We also agreed that this c=
ardinality should not be interpreted as limiting a PI to be associated to a=
t most one DG. However, this cardinality should be interpreted as limiting =
a PI instance to be associated to at most one DG. Thus, for example, the "s=
ame" telephone number may be associated to multiple DGs by the use of multi=
ple TN instances. This way is made possible by including the dgName element=
 as part of the key, so that for a given registrant and a given value (e.g.=
 tn, tnp, start/end...), different values for the dgName element are allowe=
d.

I think that the dgName element should not be part of the key because it is=
 optional. While it may be acceptable for a key attribute to be optional in=
 some cases, I think it's relatively rare. Also, it becomes more difficult =
to define a URI for each public identifier concrete type. For example, an o=
bvious URI for a TN resource would represent the key attributes as path par=
ameters such as /rant/{rant}/TN/dgName/{dgName}/tn/{tn}. However, dgName is=
 optional and may not have a value. We can solve this problem by using a sp=
ecial string to represent the absence of a value, or by using other types o=
f URI parameters (e.g. query parameters), but I don't think it's the right =
way to go.

What I proposed during the call was to exclude the dgName element from the =
key. So, there would be only one PI instance for a particular value, that i=
s identified by the registrant that owns the PI, and the value of the PI (e=
.g. tn, tnp...). In order to allow a PI to be associated to multiple DGs, t=
he maxOccurs attribute of the dgName element should be set to unbounded. Th=
e registrant organization would only deal with one instance for a given PI =
value. The URI for the TN resource would then be /rant/{rant}/TN/{tn}.

Concerning the carrier-of-record concern, the question is: Is there a meani=
ng to let a registrant organization provision the same PI (in terms of valu=
e) with different COR information? The current model allows such a feature =
by the use of multiple PI instances (thus, allowing multiple corInfos). If =
this is a real use case, the corInfo element should be an attribute of the =
PI-DG association since it is not intrisic to the PI itself but depends on =
an external factor (in this case, the association with a particular DG). Cr=
eating a new complex type DestGrpRefType that includes the DG key and the c=
orInfo element would solve this issue. The list of dgName (ObjNameType) wou=
ld become a list of dgRefs (DestGrpRefType).

Not related to this question, there are two other points I raised in the ma=
iling list:

 1.  The framework document states: "If the response to the Get operation i=
ncludes object(s) that extend the BasicObjType, the Registry MUST include t=
he 'cDate' and 'mDate', if applicable.". In the examples section in the SOA=
P document (section 10), for the Get examples, the elements cDate and mDate=
 are not part of the returned responses.
 2.  According to the framework document, an egress route is added by the o=
riginating SSP to the registry. The originating SSP must be a peering organ=
ization of the SED group to which the egress route is associated. Thus, an =
egress route is an element owned by the originating SSP. The rant field of =
the egress route would then identify the originating SSP and not the owner =
of the SED group. Also, in the SOAP document in section 10.17, the rant fie=
ld has the value iana-en:111 as expected. There is an error in the SOAP doc=
ument in section 10.11. The rant field has the value iana-en:222 where it s=
hould have the value iana-en:111 that identifies SSP1.

Also, a new version of the REST draft is available at http://tools.ietf.org=
/html/draft-marrache-drinks-spp-protocol-rest-02. It would be great if you =
can take a look at it and comment.

Thanks,
Mickael

________________________________
This e-mail message is for the sole use of the intended recipient(s)and may
contain confidential and privileged information of Transaction Network Serv=
ices.
Any unauthorised review, use, disclosure or distribution is prohibited. If =
you
are not the intended recipient, please contact the sender by reply e-mail a=
nd destroy all copies of the original message.


--_000_B4254E341B54864B92D28BC2138A9DC30328C920CDTNSMAILNAwin2_
Content-Type: text/html; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable

<html xmlns:v=3D"urn:schemas-microsoft-com:vml" xmlns:o=3D"urn:schemas-micr=
osoft-com:office:office" xmlns:w=3D"urn:schemas-microsoft-com:office:word" =
xmlns:m=3D"http://schemas.microsoft.com/office/2004/12/omml" xmlns=3D"http:=
//www.w3.org/TR/REC-html40">
<head>
<meta http-equiv=3D"Content-Type" content=3D"text/html; charset=3Dus-ascii"=
>
<meta name=3D"Generator" content=3D"Microsoft Word 14 (filtered medium)">
<style><!--
/* Font Definitions */
@font-face
	{font-family:Calibri;
	panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
	{font-family:Tahoma;
	panose-1:2 11 6 4 3 5 4 4 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
	{margin:0in;
	margin-bottom:.0001pt;
	font-size:12.0pt;
	font-family:"Times New Roman","serif";}
a:link, span.MsoHyperlink
	{mso-style-priority:99;
	color:blue;
	text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
	{mso-style-priority:99;
	color:purple;
	text-decoration:underline;}
pre
	{mso-style-priority:99;
	mso-style-link:"HTML Preformatted Char";
	margin:0in;
	margin-bottom:.0001pt;
	font-size:10.0pt;
	font-family:"Courier New";}
span.EmailStyle17
	{mso-style-type:personal-reply;
	font-family:"Calibri","sans-serif";
	color:#1F497D;}
span.HTMLPreformattedChar
	{mso-style-name:"HTML Preformatted Char";
	mso-style-priority:99;
	mso-style-link:"HTML Preformatted";
	font-family:"Courier New";}
.MsoChpDefault
	{mso-style-type:export-only;
	font-family:"Calibri","sans-serif";}
@page WordSection1
	{size:8.5in 11.0in;
	margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
	{page:WordSection1;}
/* List Definitions */
@list l0
	{mso-list-id:205726260;
	mso-list-template-ids:-1377681152;}
@list l1
	{mso-list-id:433594972;
	mso-list-template-ids:-1093228542;}
@list l1:level1
	{mso-level-tab-stop:.5in;
	mso-level-number-position:left;
	text-indent:-.25in;}
@list l1:level2
	{mso-level-tab-stop:1.0in;
	mso-level-number-position:left;
	text-indent:-.25in;}
@list l1:level3
	{mso-level-tab-stop:1.5in;
	mso-level-number-position:left;
	text-indent:-.25in;}
@list l1:level4
	{mso-level-tab-stop:2.0in;
	mso-level-number-position:left;
	text-indent:-.25in;}
@list l1:level5
	{mso-level-tab-stop:2.5in;
	mso-level-number-position:left;
	text-indent:-.25in;}
@list l1:level6
	{mso-level-tab-stop:3.0in;
	mso-level-number-position:left;
	text-indent:-.25in;}
@list l1:level7
	{mso-level-tab-stop:3.5in;
	mso-level-number-position:left;
	text-indent:-.25in;}
@list l1:level8
	{mso-level-tab-stop:4.0in;
	mso-level-number-position:left;
	text-indent:-.25in;}
@list l1:level9
	{mso-level-tab-stop:4.5in;
	mso-level-number-position:left;
	text-indent:-.25in;}
ol
	{margin-bottom:0in;}
ul
	{margin-bottom:0in;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext=3D"edit" spidmax=3D"1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext=3D"edit">
<o:idmap v:ext=3D"edit" data=3D"1" />
</o:shapelayout></xml><![endif]-->
</head>
<body lang=3D"EN-US" link=3D"blue" vlink=3D"purple">
<div class=3D"WordSection1">
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;font-family:&quot;Ca=
libri&quot;,&quot;sans-serif&quot;;color:#1F497D">W.r.t the following two p=
oints from the email below<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;font-family:&quot;Ca=
libri&quot;,&quot;sans-serif&quot;;color:#1F497D"><o:p>&nbsp;</o:p></span><=
/p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;font-family:&quot;Ca=
libri&quot;,&quot;sans-serif&quot;;color:#1F497D">=3D=3D=3D<o:p></o:p></spa=
n></p>
<p class=3D"MsoNormal" style=3D"mso-margin-top-alt:auto;mso-margin-bottom-a=
lt:auto">Not related to this question, there are two other points I raised =
in the mailing list:<o:p></o:p></p>
<ol start=3D"1" type=3D"1">
<li class=3D"MsoNormal" style=3D"mso-margin-top-alt:auto;mso-margin-bottom-=
alt:auto;mso-list:l1 level1 lfo2">
<span style=3D"font-family:&quot;Arial&quot;,&quot;sans-serif&quot;">The fr=
amework document states:&nbsp;&quot;If the response to the Get operation in=
cludes object(s) that extend&nbsp;the BasicObjType, the Registry MUST inclu=
de the 'cDate' and 'mDate',&nbsp;if applicable.&quot;.&nbsp;In the examples=
 section
 in the SOAP document (section 10), for the Get examples, the elements cDat=
e and mDate are not part of the returned responses.</span><o:p></o:p>
<div style=3D"mso-element:para-border-div;border:none;border-bottom:double =
windowtext 2.25pt;padding:0in 0in 1.0pt 0in;margin-left:.25in;margin-right:=
0in">
</div>
</li><li class=3D"MsoNormal" style=3D"mso-margin-top-alt:auto;mso-margin-bo=
ttom-alt:auto;margin-left:.25in;mso-list:l1 level1 lfo2;border:none;padding=
:0in">
<span style=3D"font-family:&quot;Arial&quot;,&quot;sans-serif&quot;">Accord=
ing to the framework document, an egress route is added by the originating =
SSP to the registry. The originating SSP must be a peering organization of =
the SED group to which the egress route is associated.
 Thus, an egress route is an element owned by the originating SSP. The rant=
 field of the egress route would then identify the originating SSP and not =
the owner of the SED group. Also, in the SOAP document in section 10.17, th=
e rant field has the value iana-en:111
 as expected. There is an error in the SOAP document in section 10.11. The =
rant field has the value iana-en:222 where it should have the value iana-en=
:111 that identifies SSP1.</span><o:p></o:p></li></ol>
</div>
<ol>
</ol>
<p class=3D"MsoNormal" style=3D"mso-margin-top-alt:auto;mso-margin-bottom-a=
lt:auto;margin-left:.25in">
<span style=3D"font-family:&quot;Arial&quot;,&quot;sans-serif&quot;"><o:p>&=
nbsp;</o:p></span></p>
<p class=3D"MsoNormal" style=3D"mso-margin-top-alt:auto;mso-margin-bottom-a=
lt:auto;margin-left:.25in">
<span style=3D"font-family:&quot;Arial&quot;,&quot;sans-serif&quot;">For #1=
 &#8211; &#8220;cDate&#8221; is part of all GET examples (http://tools.ietf=
.org/html/draft-ietf-drinks-spp-protocol-over-soap-03.txt). &#8220;mDate&#8=
221; is an optional parameter that comes only if the record has been modifi=
ed.
</span><span style=3D"font-size:11.0pt;font-family:&quot;Calibri&quot;,&quo=
t;sans-serif&quot;;color:#1F497D">The framework document section 7.3 says &=
#8220;</span>the Registry MUST include the 'cDate' and 'mDate',<span style=
=3D"font-size:10.0pt;font-family:&quot;Courier New&quot;">&nbsp;&nbsp; if a=
pplicable.&#8221;,
 &#8220;if applicable&#8221; is key. <o:p></o:p></span></p>
<p class=3D"MsoNormal" style=3D"mso-margin-top-alt:auto;mso-margin-bottom-a=
lt:auto;margin-left:.25in">
<span style=3D"font-size:10.0pt;font-family:&quot;Courier New&quot;">For #2=
 &#8211; Its just an example and each example can be seen in isolation. The=
 document does not state that SSP1 has registrant ID &#8220;</span><span st=
yle=3D"font-family:&quot;Arial&quot;,&quot;sans-serif&quot;">iana-en:11&#82=
21; always.</span><o:p></o:p></p>
<p class=3D"MsoNormal" style=3D"margin-left:.25in"><span style=3D"font-size=
:11.0pt;font-family:&quot;Calibri&quot;,&quot;sans-serif&quot;;color:#1F497=
D"><o:p>&nbsp;</o:p></span></p>
<p class=3D"MsoNormal" style=3D"margin-left:.25in"><span style=3D"font-size=
:11.0pt;font-family:&quot;Calibri&quot;,&quot;sans-serif&quot;;color:#1F497=
D">Thanks,<o:p></o:p></span></p>
<p class=3D"MsoNormal" style=3D"margin-left:.25in"><span style=3D"font-size=
:11.0pt;font-family:&quot;Calibri&quot;,&quot;sans-serif&quot;;color:#1F497=
D">Vikas<o:p></o:p></span></p>
<p class=3D"MsoNormal" style=3D"margin-left:.25in"><b><span style=3D"font-s=
ize:10.0pt;font-family:&quot;Tahoma&quot;,&quot;sans-serif&quot;">From:</sp=
an></b><span style=3D"font-size:10.0pt;font-family:&quot;Tahoma&quot;,&quot=
;sans-serif&quot;"> drinks-bounces@ietf.org [mailto:drinks-bounces@ietf.org=
]
<b>On Behalf Of </b>Mickael Marrache<br>
<b>Sent:</b> Wednesday, April 24, 2013 2:51 PM<br>
<b>To:</b> drinks@ietf.org<br>
<b>Subject:</b> [drinks] Following today's meeting<o:p></o:p></span></p>
<p class=3D"MsoNormal" style=3D"margin-left:.25in"><o:p>&nbsp;</o:p></p>
<div>
<p class=3D"MsoNormal" style=3D"margin-left:.25in">Hi,<o:p></o:p></p>
<div>
<p class=3D"MsoNormal" style=3D"margin-left:.25in"><o:p>&nbsp;</o:p></p>
</div>
<div>
<p class=3D"MsoNormal" style=3D"margin-left:.25in">During the call, we agre=
ed that the cardinality on the DG side of the PubId-DG association should b=
e 0..1 instead of 0...n. We also agreed that this cardinality should not be=
 interpreted as limiting a PI to be
 associated to at most one DG. However, this cardinality should be interpre=
ted as limiting a PI instance to be associated to at most one DG. Thus, for=
 example, the &quot;same&quot; telephone number may be associated to multip=
le DGs by the use of multiple TN instances.
 This way is made possible by including the dgName element as part of the k=
ey, so that for a given registrant and a given value (e.g. tn, tnp, start/e=
nd...), different values for the dgName element are allowed.<o:p></o:p></p>
</div>
<div>
<p class=3D"MsoNormal" style=3D"margin-left:.25in"><o:p>&nbsp;</o:p></p>
</div>
<div>
<p class=3D"MsoNormal" style=3D"margin-left:.25in">I think that the dgName =
element should not be part of the key because it is optional. While it may =
be acceptable for a key attribute to be optional in some cases, I think it'=
s relatively rare. Also, it becomes
 more difficult to define a URI for each public identifier concrete type. F=
or example, an obvious URI for a TN resource would represent the key attrib=
utes as path parameters such as /rant/{rant}/TN/dgName/{dgName}/tn/{tn}. Ho=
wever, dgName is optional and may
 not have a value. We can solve this problem by using a special string to r=
epresent the absence of a value, or by using other types of URI parameters =
(e.g. query parameters), but I don't think it's the right way to go.<o:p></=
o:p></p>
</div>
<div>
<p class=3D"MsoNormal" style=3D"margin-left:.25in"><o:p>&nbsp;</o:p></p>
</div>
<div>
<p class=3D"MsoNormal" style=3D"margin-left:.25in">What I proposed during t=
he call was to exclude the dgName element from the key. So, there would be =
only one PI instance for a particular value, that is identified by the regi=
strant that owns the PI, and the value
 of the PI (e.g. tn, tnp...). In order to allow a PI to be associated to mu=
ltiple DGs, the maxOccurs attribute of the dgName element should be set to =
unbounded. The registrant organization would only deal with one instance fo=
r a given PI value. The URI for
 the TN resource would then be /rant/{rant}/TN/{tn}.<o:p></o:p></p>
</div>
<div>
<p class=3D"MsoNormal" style=3D"margin-left:.25in"><o:p>&nbsp;</o:p></p>
</div>
<div>
<p class=3D"MsoNormal" style=3D"margin-left:.25in">Concerning the carrier-o=
f-record concern, the question is: Is there a meaning to let a registrant o=
rganization provision the same PI (in terms of value) with different COR in=
formation? The current model allows
 such a feature by the use of multiple PI instances (thus, allowing multipl=
e corInfos). If this is a real use case, the corInfo element should be an a=
ttribute of the PI-DG association since it is not intrisic to the PI itself=
 but depends on an external factor
 (in this case, the association with a particular DG). Creating a new compl=
ex type DestGrpRefType that includes the DG key and the corInfo element wou=
ld solve this issue. The list of dgName (ObjNameType) would become a list o=
f dgRefs (DestGrpRefType).<o:p></o:p></p>
</div>
<div>
<p class=3D"MsoNormal" style=3D"margin-left:.25in"><o:p>&nbsp;</o:p></p>
</div>
<div>
<p class=3D"MsoNormal" style=3D"margin-left:.25in">Not related to this ques=
tion, there are two other points I raised in the mailing list:<o:p></o:p></=
p>
</div>
<div>
<ol start=3D"1" type=3D"1">
<li class=3D"MsoNormal" style=3D"mso-margin-top-alt:auto;mso-margin-bottom-=
alt:auto;margin-left:.75in;mso-list:l0 level1 lfo1">
<span style=3D"font-family:&quot;Arial&quot;,&quot;sans-serif&quot;">The fr=
amework document states:&nbsp;&quot;If the response to the Get operation in=
cludes object(s) that extend&nbsp;the BasicObjType, the Registry MUST inclu=
de the 'cDate' and 'mDate',&nbsp;if applicable.&quot;.&nbsp;In the examples=
 section
 in the SOAP document (section 10), for the Get examples, the elements cDat=
e and mDate are not part of the returned responses.</span><o:p></o:p></li><=
li class=3D"MsoNormal" style=3D"mso-margin-top-alt:auto;mso-margin-bottom-a=
lt:auto;margin-left:.75in;mso-list:l0 level1 lfo1">
<span style=3D"font-family:&quot;Arial&quot;,&quot;sans-serif&quot;">Accord=
ing to the framework document, an egress route is added by the originating =
SSP to the registry. The originating SSP must be a peering organization of =
the SED group to which the egress route is associated.
 Thus, an egress route is an element owned by the originating SSP. The rant=
 field of the egress route would then identify the originating SSP and not =
the owner of the SED group. Also, in the SOAP document in section 10.17, th=
e rant field has the value iana-en:111
 as expected. There is an error in the SOAP document in section 10.11. The =
rant field has the value iana-en:222 where it should have the value iana-en=
:111 that identifies SSP1.</span><o:p></o:p></li></ol>
<div>
<p class=3D"MsoNormal" style=3D"margin-left:.25in"><o:p>&nbsp;</o:p></p>
</div>
<div>
<p class=3D"MsoNormal" style=3D"margin-left:.25in"><span style=3D"font-fami=
ly:&quot;Arial&quot;,&quot;sans-serif&quot;">Also, a new version of the RES=
T draft is available at&nbsp;</span><a href=3D"http://tools.ietf.org/html/d=
raft-marrache-drinks-spp-protocol-rest-02">http://tools.ietf.org/html/draft=
-marrache-drinks-spp-protocol-rest-02</a>.
 It would be great if you can take a look at it and comment.<o:p></o:p></p>
</div>
<div>
<p class=3D"MsoNormal" style=3D"margin-left:.25in"><o:p>&nbsp;</o:p></p>
</div>
<div>
<p class=3D"MsoNormal" style=3D"margin-left:.25in"><span style=3D"font-fami=
ly:&quot;Arial&quot;,&quot;sans-serif&quot;">Thanks,</span><o:p></o:p></p>
</div>
</div>
<div>
<p class=3D"MsoNormal" style=3D"margin-left:.25in"><span style=3D"font-fami=
ly:&quot;Arial&quot;,&quot;sans-serif&quot;">Mickael</span><o:p></o:p></p>
</div>
</div>
<div></div>
<br>
<hr>
<font face=3D"Arial" color=3D"Gray" size=3D"1">This e-mail message is for t=
he sole use of the intended recipient(s)and may<br>
contain confidential and privileged information of Transaction Network Serv=
ices.<br>
Any unauthorised review, use, disclosure or distribution is prohibited. If =
you<br>
are not the intended recipient, please contact the sender by reply e-mail a=
nd destroy all copies of the original message.<br>
<br>
</font>
</body>
</html>

--_000_B4254E341B54864B92D28BC2138A9DC30328C920CDTNSMAILNAwin2_--

From kcartwright@tnsi.com  Fri May 10 11:39:09 2013
Return-Path: <kcartwright@tnsi.com>
X-Original-To: drinks@ietfa.amsl.com
Delivered-To: drinks@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 8126021F90C3 for <drinks@ietfa.amsl.com>; Fri, 10 May 2013 11:39:09 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.998
X-Spam-Level: 
X-Spam-Status: No, score=-1.998 tagged_above=-999 required=5 tests=[BAYES_00=-2.599, HTML_MESSAGE=0.001, J_CHICKENPOX_31=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 Y3aQnfTpP9bF for <drinks@ietfa.amsl.com>; Fri, 10 May 2013 11:39:01 -0700 (PDT)
Received: from relayus.tnsi.com (relayus.tnsi.com [208.224.248.44]) by ietfa.amsl.com (Postfix) with ESMTP id 6046A21F902D for <drinks@ietf.org>; Fri, 10 May 2013 11:38:59 -0700 (PDT)
X-IronPort-Anti-Spam-Filtered: true
X-IronPort-Anti-Spam-Result: AqcEAK89jVGsEQfn/2dsb2JhbABICoJDe7ddiD6BEnSCHwEBBRoNBjoHBBcCAQgRBAEBIQEGByERFAkIAQEEARIIE4dfAxu1Og2IIoxSgRoKgQEEBxQIEAeCbmEDk12Ba4MKim2ITYFW
X-IronPort-AV: E=Sophos;i="4.87,650,1363132800"; d="scan'208,217";a="2411470"
Received: from mail-hub-na.win2k.corp.tnsi.com ([172.17.7.231]) by relayus.tnsi.com with ESMTP/TLS/RC4-MD5; 10 May 2013 19:25:58 +0100
Received: from TNS-MAIL-NA.win2k.corp.tnsi.com ([172.17.7.214]) by MAIL-HUB-NA.win2k.corp.tnsi.com ([172.17.7.231]) with mapi; Fri, 10 May 2013 14:38:56 -0400
From: "Cartwright, Ken" <kcartwright@tnsi.com>
To: Mickael Marrache <mickaelmarrache@gmail.com>, "drinks@ietf.org" <drinks@ietf.org>
Date: Fri, 10 May 2013 14:38:54 -0400
Thread-Topic: [drinks] Following today's meeting
Thread-Index: Ac5Mv4cCMrFeumrzQ9+OyIfjhlf04gAAI/AwADYPLlA=
Message-ID: <B4254E341B54864B92D28BC2138A9DC30328C9231E@TNS-MAIL-NA.win2k.corp.tnsi.com>
References: <CA+=4G23E5J4pS8x_kW90pkbN1qpfykdZyZghen65FYg3bX7AyQ@mail.gmail.com> <B4254E341B54864B92D28BC2138A9DC30328C92048@TNS-MAIL-NA.win2k.corp.tnsi.com> <CA+=4G20j-NLeF+Q+_FmPPLZLbtvgbSyUqe2yoXY1SoxfaZPaWA@mail.gmail.com> 
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
acceptlanguage: en-US
Content-Type: multipart/alternative; boundary="_000_B4254E341B54864B92D28BC2138A9DC30328C9231ETNSMAILNAwin2_"
MIME-Version: 1.0
Subject: Re: [drinks] Following today's meeting
X-BeenThere: drinks@ietf.org
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: IETF DRINKS WG <drinks.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/drinks>, <mailto:drinks-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/drinks>
List-Post: <mailto:drinks@ietf.org>
List-Help: <mailto:drinks-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/drinks>, <mailto:drinks-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 10 May 2013 18:39:09 -0000

--_000_B4254E341B54864B92D28BC2138A9DC30328C9231ETNSMAILNAwin2_
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable

And not that I've given the REST mapping any deep thought, but the more I t=
hink about it, the more it seems to me that the below is clear/simple/good =
and would support what the model says should be supported.  I also see no r=
eason why a Rest implementation would have issues with this (in fact it loo=
ks like vanilla Rest to me).  There are many examples in the real world of =
needing to work with objects that reside inside _and_ outside of some hiera=
rchical container/collection.  Rest certainly supports that very easily.  I=
 can also think of a couple other approaches and variations of the approach=
 below that also make sense.  Given this, I can't see a  reason why the Res=
t question that arose would necessitate a change to the model.

//How to list and get one or more rants - but this may or may not not be a =
feature that is supported

sppapi.example.com/rants/{rantIdentifier}
sppapi.example.com/rants

//For a given Rant, how to list and get one or more of the Dest Groups

sppapi.example.com/rants/{rantIdentifier}/destGroups/{destGroupIdentifier}
sppapi.example.com/rants/{rantIdentifier}/destGroups

//For a given Rant, how to list and get one or more PIs/TNs associated with=
 (in) a Dest Group

sppapi.example.com/rants/{rantIdentifier}/destGroups/{destGroupIdentifier}/=
TNs/{tnIdentifier}
sppapi.example.com/rants/{rantIdentifier}/destGroups/{destGroupIdentifier}/=
TNs

//For a given Rant, how to list and get one or more PIs/TNs not associated =
with (not in) a Dest Group

sppapi.example.com/rants/{rantIdentifier}/TNs/{tnIdentifier}
sppapi.example.com/rants/{rantIdentifier}/TNs

//For a given Rant, how to list and get one or more SEDGroups

sppapi.example.com/rants/{rantIdentifier}/SEDGroups/{sedGroupIdentifier}
sppapi.example.com/rants/{rantIdentifier}/SEDGroups

//etc, etc for other object types


From: Cartwright, Ken
Sent: Thursday, May 09, 2013 10:36 AM
To: 'Mickael Marrache'; drinks@ietf.org
Subject: RE: [drinks] Following today's meeting

Ok.  My apologies if I "didn't answer the key question" in the way you want=
ed.  I think I responded directly to your points.  And I think that the URL=
 structures that I propose are very clean and intuitive, not complicated or=
 esoteric.  You did not say anything about "optional parameters" until this=
 reply.  So perhaps I can now speak to that question now that you have pose=
d it.  The model in the doc is what it is, if the group decides to change i=
t, then so be it.  But, SOAP has no issue dealing with it and I believe tha=
t Rest has no real issue dealing with it either, and as I stated I think th=
e resulting URL structure is very clear and simple.  I also do not really s=
ee this as an "optional parameter" type situation.  The example in the link=
 you describe was speaking to someone wanting to put a "format" selection i=
n the main body of the output URL path so that they know if it is XML or JS=
ON or etc.  The situation here is more of including a  hierarchical relatio=
nship as part of the URL path, which is done all the time.  And of course n=
ot all objects in a model will always have the same hierarchical relationsh=
ips.

But, that's my $.02.  Take it fwiw.  :)

Ken

From: Mickael Marrache [mailto:mickaelmarrache@gmail.com]
Sent: Thursday, May 09, 2013 10:14 AM
To: Cartwright, Ken; drinks@ietf.org<mailto:drinks@ietf.org>
Subject: Re: [drinks] Following today's meeting

Hi,

Concerning the first point, this is what I meant. I just explained the curr=
ent approach as a prerequisite for the next part.

Concerning the second point, I think you don't answer the real question.

Firstly, using optional path parameters introduces an implementation issue.=
 Also, JAX-RS, which will probably be the most used solution for implementi=
ng SPPP over REST in Java, does not support easily optional parameters (see=
 http://www.nakov.com/blog/2009/07/15/jax-rs-path-pathparam-and-optional-pa=
rameters/). There are workarounds to this "issue" but this lack of support =
shows this is a rare way of defining URIs in REST. Optional path parameters=
 are generally discouraged in REST.

I think the real question is why to include the name of the destination gro=
up as part of the PI key, not how to represent optional path parameters in =
REST. Also, I don't see how excluding the dgName from the PI key would redu=
ce flexibility of the model. On the other hand, I think that including the =
dgName as part of the PI key increases complexity of RESTful implementation=
s for the reasons I mentioned in the previous paragraph. Also, I think that=
 defining two URI templates for PIs (one for PIs that are part of DGs and a=
nother for PIs that are not part of DGs) makes the REST API less intuitive =
for the clients, and adds complexity for implementors. I don't really see e=
nough advantages with the current model, that would convince me to accept t=
his implementation complexity.

Concerning the COR aspect, it's only a question we raised during the last m=
eeting. I agree that the COR is intrinsic to the PI, so we don't need to mo=
ve it at the PI-DG association level.

Thanks,
Mickael
On Thu, May 9, 2013 at 3:56 PM, Cartwright, Ken <kcartwright@tnsi.com<mailt=
o:kcartwright@tnsi.com>> wrote:
Hi,

Thanks for these thoughts.  Very insightful.  My $.02 is as follows (sorry =
for any grammar/typos, putting this response together in a rush):

"During the call, we agreed that the cardinality on the DG side of the PubI=
d-DG association should be 0..1 instead of 0...n."

KJC:  I'd state it like this...The cardinality in the body of the framework=
 document and in the XSD are already correct/whatWeIntended, 0..1.  But the=
 diagram in the intro of the framework document incorrectly illustrates 0..=
n because it was a carry-over from the requirements document diagram, which=
 was more notional (and was referring to the requirement that a given TN/TN=
Range/etc can be in one or more DGs, or not in a DG).  So we decided on the=
 recent call that it would be best to change the diagram in the framework d=
ocument to represent the implementation construct in the XSD that uses a PI=
Type, rather than the notional concepts in the requirements document.  The =
operative point being that we are not really "changing" a cardinality, but =
are making a clerical correction to a diagram, albeit a good correction.  G=
ood catch.

---

"For example, an obvious URI for a TN resource would represent the key attr=
ibutes as path parameters such as /rant/{rant}/TN/dgName/{dgName}/tn/{tn}. =
However, dgName is optional and may not have a value. We can solve this pro=
blem by using a special string to represent the absence of a value, or by u=
sing other types of URI parameters (e.g. query parameters), but I don't thi=
nk it's the right way to go."

KJC:  Hierarchical relationships in REST URIs are "optional".  If the hiera=
rchical relationship exists then it is in the URI, if it does not exist, th=
en it is not in the URI.  So a reasonable approach to resolving your Rest U=
RI question is to not implement the TNs/PIs->DG relationship as a mandatory=
 hierarchy where the DG "contains" the TNs/PIs.  This can be accomplished i=
n at least a couple ways as follows...


1)      Consider modeling the URI in a way that is analogous to the SOAP XS=
D;s approach, with an attribute of the TN/PI containing the DG relationship=
.    If you do that, then instead of having this: /rant/{rant}/TN/DGNAME/{d=
gName}/TN/{tn}
You'd have this:
/rant/{rant}/TN/{tn}/DG/{dgName}
Examples:
/rant/SomeCompany/TN/17039876543
/rant/SomeCompany/TN/13013456789/DG/NorthEast
In this approach your quandary goes away.  If there is no DG relationship, =
then that portion of the URI is just not necessary and is therefore not the=
re.  Note that this is basically how the SOAP XSD design does it.


2)      You could alternatively do it like this:
/rant/{rant}/DG/{dgName}/TN/{tn}
Examples:
/rant/SomeCompany/DG/NorthEast/TN/17039876543
/rant/SomeCompany/TN/13019876543

Some TNs are "in" DGs and some are not.  There should be no issue with that=
 approach either.

Imo, also adding in the concept of the PI to the URL may be a valid additio=
n to the URIs, since they are all just types of PIs
/rant/{rant}/PI/{PIString}/DG/{dgName}
Examples:
/rant/SomeCompany/PI/Prefix/17039
/rant/SomeCompany/PI/TN/13019876543/DG/NorthEast
/rant/SomeCompany/PI/Range/13010000000-13019999999/DG/NorthEast
/rant/SomeCompany/PI/LRN/19059876543/DG/SouthEast

---


I also noticed that the text in section 3.1, bullet two, about Destination =
groups says "can be

      associated with one or more SED Groups".  That should say "can be ass=
ociated with zero or more SED Groups"



---

"the corInfo element should be an attribute of the PI-DG association since =
it is not intrisic to the PI itself"



KJC:  I believe that the COR claim is intrinsic to the PI.  And putting it =
on an association between the PI and the DG would add further complexity to=
 the XSD and the model.



In general, I think making this change would reduce the flexibility that is=
 in the current model, while not reducing the complexity.



Thanks


From: drinks-bounces@ietf.org<mailto:drinks-bounces@ietf.org> [mailto:drink=
s-bounces@ietf.org<mailto:drinks-bounces@ietf.org>] On Behalf Of Mickael Ma=
rrache
Sent: Wednesday, April 24, 2013<tel:2013> 2:51 PM
To: drinks@ietf.org<mailto:drinks@ietf.org>
Subject: [drinks] Following today's meeting

Hi,

During the call, we agreed that the cardinality on the DG side of the PubId=
-DG association should be 0..1 instead of 0...n. We also agreed that this c=
ardinality should not be interpreted as limiting a PI to be associated to a=
t most one DG. However, this cardinality should be interpreted as limiting =
a PI instance to be associated to at most one DG. Thus, for example, the "s=
ame" telephone number may be associated to multiple DGs by the use of multi=
ple TN instances. This way is made possible by including the dgName element=
 as part of the key, so that for a given registrant and a given value (e.g.=
 tn, tnp, start/end...), different values for the dgName element are allowe=
d.

I think that the dgName element should not be part of the key because it is=
 optional. While it may be acceptable for a key attribute to be optional in=
 some cases, I think it's relatively rare. Also, it becomes more difficult =
to define a URI for each public identifier concrete type. For example, an o=
bvious URI for a TN resource would represent the key attributes as path par=
ameters such as /rant/{rant}/TN/dgName/{dgName}/tn/{tn}. However, dgName is=
 optional and may not have a value. We can solve this problem by using a sp=
ecial string to represent the absence of a value, or by using other types o=
f URI parameters (e.g. query parameters), but I don't think it's the right =
way to go.

What I proposed during the call was to exclude the dgName element from the =
key. So, there would be only one PI instance for a particular value, that i=
s identified by the registrant that owns the PI, and the value of the PI (e=
.g. tn, tnp...). In order to allow a PI to be associated to multiple DGs, t=
he maxOccurs attribute of the dgName element should be set to unbounded. Th=
e registrant organization would only deal with one instance for a given PI =
value. The URI for the TN resource would then be /rant/{rant}/TN/{tn}.

Concerning the carrier-of-record concern, the question is: Is there a meani=
ng to let a registrant organization provision the same PI (in terms of valu=
e) with different COR information? The current model allows such a feature =
by the use of multiple PI instances (thus, allowing multiple corInfos). If =
this is a real use case, the corInfo element should be an attribute of the =
PI-DG association since it is not intrisic to the PI itself but depends on =
an external factor (in this case, the association with a particular DG). Cr=
eating a new complex type DestGrpRefType that includes the DG key and the c=
orInfo element would solve this issue. The list of dgName (ObjNameType) wou=
ld become a list of dgRefs (DestGrpRefType).

Not related to this question, there are two other points I raised in the ma=
iling list:

 1.  The framework document states: "If the response to the Get operation i=
ncludes object(s) that extend the BasicObjType, the Registry MUST include t=
he 'cDate' and 'mDate', if applicable.". In the examples section in the SOA=
P document (section 10), for the Get examples, the elements cDate and mDate=
 are not part of the returned responses.
 2.  According to the framework document, an egress route is added by the o=
riginating SSP to the registry. The originating SSP must be a peering organ=
ization of the SED group to which the egress route is associated. Thus, an =
egress route is an element owned by the originating SSP. The rant field of =
the egress route would then identify the originating SSP and not the owner =
of the SED group. Also, in the SOAP document in section 10.17, the rant fie=
ld has the value iana-en:111 as expected. There is an error in the SOAP doc=
ument in section 10.11. The rant field has the value iana-en:222 where it s=
hould have the value iana-en:111 that identifies SSP1.

Also, a new version of the REST draft is available at http://tools.ietf.org=
/html/draft-marrache-drinks-spp-protocol-rest-02. It would be great if you =
can take a look at it and comment.

Thanks,
Mickael

________________________________
This e-mail message is for the sole use of the intended recipient(s)and may
contain confidential and privileged information of Transaction Network Serv=
ices.
Any unauthorised review, use, disclosure or distribution is prohibited. If =
you
are not the intended recipient, please contact the sender by reply e-mail a=
nd destroy all copies of the original message.


________________________________
This e-mail message is for the sole use of the intended recipient(s)and may
contain confidential and privileged information of Transaction Network Serv=
ices.
Any unauthorised review, use, disclosure or distribution is prohibited. If =
you
are not the intended recipient, please contact the sender by reply e-mail a=
nd destroy all copies of the original message.


--_000_B4254E341B54864B92D28BC2138A9DC30328C9231ETNSMAILNAwin2_
Content-Type: text/html; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable

<html xmlns:v=3D"urn:schemas-microsoft-com:vml" xmlns:o=3D"urn:schemas-micr=
osoft-com:office:office" xmlns:w=3D"urn:schemas-microsoft-com:office:word" =
xmlns:x=3D"urn:schemas-microsoft-com:office:excel" xmlns:m=3D"http://schema=
s.microsoft.com/office/2004/12/omml" xmlns=3D"http://www.w3.org/TR/REC-html=
40">
<head>
<meta http-equiv=3D"Content-Type" content=3D"text/html; charset=3Dus-ascii"=
>
<meta name=3D"Generator" content=3D"Microsoft Word 14 (filtered medium)">
<!--[if !mso]><style>v\:* {behavior:url(#default#VML);}
o\:* {behavior:url(#default#VML);}
w\:* {behavior:url(#default#VML);}
.shape {behavior:url(#default#VML);}
</style><![endif]--><style><!--
/* Font Definitions */
@font-face
	{font-family:Wingdings;
	panose-1:5 0 0 0 0 0 0 0 0 0;}
@font-face
	{font-family:Wingdings;
	panose-1:5 0 0 0 0 0 0 0 0 0;}
@font-face
	{font-family:Calibri;
	panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
	{font-family:Tahoma;
	panose-1:2 11 6 4 3 5 4 4 2 4;}
@font-face
	{font-family:Consolas;
	panose-1:2 11 6 9 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
	{margin:0in;
	margin-bottom:.0001pt;
	font-size:12.0pt;
	font-family:"Times New Roman","serif";}
a:link, span.MsoHyperlink
	{mso-style-priority:99;
	color:blue;
	text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
	{mso-style-priority:99;
	color:purple;
	text-decoration:underline;}
p
	{mso-style-priority:99;
	mso-margin-top-alt:auto;
	margin-right:0in;
	mso-margin-bottom-alt:auto;
	margin-left:0in;
	font-size:12.0pt;
	font-family:"Times New Roman","serif";}
pre
	{mso-style-priority:99;
	mso-style-link:"HTML Preformatted Char";
	margin:0in;
	margin-bottom:.0001pt;
	font-size:10.0pt;
	font-family:"Courier New";}
p.MsoAcetate, li.MsoAcetate, div.MsoAcetate
	{mso-style-priority:99;
	mso-style-link:"Balloon Text Char";
	margin:0in;
	margin-bottom:.0001pt;
	font-size:8.0pt;
	font-family:"Tahoma","sans-serif";}
p.MsoListParagraph, li.MsoListParagraph, div.MsoListParagraph
	{mso-style-priority:34;
	margin-top:0in;
	margin-right:0in;
	margin-bottom:0in;
	margin-left:.5in;
	margin-bottom:.0001pt;
	font-size:12.0pt;
	font-family:"Times New Roman","serif";}
span.HTMLPreformattedChar
	{mso-style-name:"HTML Preformatted Char";
	mso-style-priority:99;
	mso-style-link:"HTML Preformatted";
	font-family:Consolas;}
span.BalloonTextChar
	{mso-style-name:"Balloon Text Char";
	mso-style-priority:99;
	mso-style-link:"Balloon Text";
	font-family:"Tahoma","sans-serif";}
span.EmailStyle23
	{mso-style-type:personal;
	font-family:"Calibri","sans-serif";
	color:#1F497D;}
span.EmailStyle24
	{mso-style-type:personal-reply;
	font-family:"Calibri","sans-serif";
	color:#1F497D;}
.MsoChpDefault
	{mso-style-type:export-only;
	font-size:10.0pt;}
@page WordSection1
	{size:8.5in 11.0in;
	margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
	{page:WordSection1;}
/* List Definitions */
@list l0
	{mso-list-id:219638541;
	mso-list-template-ids:1027924206;}
@list l1
	{mso-list-id:329141588;
	mso-list-template-ids:-1281163622;}
@list l1:level1
	{mso-level-number-format:bullet;
	mso-level-text:\F0B7;
	mso-level-tab-stop:.5in;
	mso-level-number-position:left;
	text-indent:-.25in;
	mso-ansi-font-size:10.0pt;
	font-family:Symbol;}
@list l1:level2
	{mso-level-number-format:bullet;
	mso-level-text:\F0B7;
	mso-level-tab-stop:1.0in;
	mso-level-number-position:left;
	text-indent:-.25in;
	mso-ansi-font-size:10.0pt;
	font-family:Symbol;}
@list l1:level3
	{mso-level-number-format:bullet;
	mso-level-text:\F0B7;
	mso-level-tab-stop:1.5in;
	mso-level-number-position:left;
	text-indent:-.25in;
	mso-ansi-font-size:10.0pt;
	font-family:Symbol;}
@list l1:level4
	{mso-level-number-format:bullet;
	mso-level-text:\F0B7;
	mso-level-tab-stop:2.0in;
	mso-level-number-position:left;
	text-indent:-.25in;
	mso-ansi-font-size:10.0pt;
	font-family:Symbol;}
@list l1:level5
	{mso-level-number-format:bullet;
	mso-level-text:\F0B7;
	mso-level-tab-stop:2.5in;
	mso-level-number-position:left;
	text-indent:-.25in;
	mso-ansi-font-size:10.0pt;
	font-family:Symbol;}
@list l1:level6
	{mso-level-number-format:bullet;
	mso-level-text:\F0B7;
	mso-level-tab-stop:3.0in;
	mso-level-number-position:left;
	text-indent:-.25in;
	mso-ansi-font-size:10.0pt;
	font-family:Symbol;}
@list l1:level7
	{mso-level-number-format:bullet;
	mso-level-text:\F0B7;
	mso-level-tab-stop:3.5in;
	mso-level-number-position:left;
	text-indent:-.25in;
	mso-ansi-font-size:10.0pt;
	font-family:Symbol;}
@list l1:level8
	{mso-level-number-format:bullet;
	mso-level-text:\F0B7;
	mso-level-tab-stop:4.0in;
	mso-level-number-position:left;
	text-indent:-.25in;
	mso-ansi-font-size:10.0pt;
	font-family:Symbol;}
@list l1:level9
	{mso-level-number-format:bullet;
	mso-level-text:\F0B7;
	mso-level-tab-stop:4.5in;
	mso-level-number-position:left;
	text-indent:-.25in;
	mso-ansi-font-size:10.0pt;
	font-family:Symbol;}
@list l2
	{mso-list-id:414938875;
	mso-list-template-ids:-1904198420;}
@list l2:level1
	{mso-level-number-format:bullet;
	mso-level-text:\F0B7;
	mso-level-tab-stop:.5in;
	mso-level-number-position:left;
	text-indent:-.25in;
	mso-ansi-font-size:10.0pt;
	font-family:Symbol;}
@list l2:level2
	{mso-level-number-format:bullet;
	mso-level-text:\F0B7;
	mso-level-tab-stop:1.0in;
	mso-level-number-position:left;
	text-indent:-.25in;
	mso-ansi-font-size:10.0pt;
	font-family:Symbol;}
@list l2:level3
	{mso-level-number-format:bullet;
	mso-level-text:\F0B7;
	mso-level-tab-stop:1.5in;
	mso-level-number-position:left;
	text-indent:-.25in;
	mso-ansi-font-size:10.0pt;
	font-family:Symbol;}
@list l2:level4
	{mso-level-number-format:bullet;
	mso-level-text:\F0B7;
	mso-level-tab-stop:2.0in;
	mso-level-number-position:left;
	text-indent:-.25in;
	mso-ansi-font-size:10.0pt;
	font-family:Symbol;}
@list l2:level5
	{mso-level-number-format:bullet;
	mso-level-text:\F0B7;
	mso-level-tab-stop:2.5in;
	mso-level-number-position:left;
	text-indent:-.25in;
	mso-ansi-font-size:10.0pt;
	font-family:Symbol;}
@list l2:level6
	{mso-level-number-format:bullet;
	mso-level-text:\F0B7;
	mso-level-tab-stop:3.0in;
	mso-level-number-position:left;
	text-indent:-.25in;
	mso-ansi-font-size:10.0pt;
	font-family:Symbol;}
@list l2:level7
	{mso-level-number-format:bullet;
	mso-level-text:\F0B7;
	mso-level-tab-stop:3.5in;
	mso-level-number-position:left;
	text-indent:-.25in;
	mso-ansi-font-size:10.0pt;
	font-family:Symbol;}
@list l2:level8
	{mso-level-number-format:bullet;
	mso-level-text:\F0B7;
	mso-level-tab-stop:4.0in;
	mso-level-number-position:left;
	text-indent:-.25in;
	mso-ansi-font-size:10.0pt;
	font-family:Symbol;}
@list l2:level9
	{mso-level-number-format:bullet;
	mso-level-text:\F0B7;
	mso-level-tab-stop:4.5in;
	mso-level-number-position:left;
	text-indent:-.25in;
	mso-ansi-font-size:10.0pt;
	font-family:Symbol;}
@list l3
	{mso-list-id:433594972;
	mso-list-template-ids:-1093228542;}
@list l3:level1
	{mso-level-tab-stop:.5in;
	mso-level-number-position:left;
	text-indent:-.25in;}
@list l3:level2
	{mso-level-tab-stop:1.0in;
	mso-level-number-position:left;
	text-indent:-.25in;}
@list l3:level3
	{mso-level-tab-stop:1.5in;
	mso-level-number-position:left;
	text-indent:-.25in;}
@list l3:level4
	{mso-level-tab-stop:2.0in;
	mso-level-number-position:left;
	text-indent:-.25in;}
@list l3:level5
	{mso-level-tab-stop:2.5in;
	mso-level-number-position:left;
	text-indent:-.25in;}
@list l3:level6
	{mso-level-tab-stop:3.0in;
	mso-level-number-position:left;
	text-indent:-.25in;}
@list l3:level7
	{mso-level-tab-stop:3.5in;
	mso-level-number-position:left;
	text-indent:-.25in;}
@list l3:level8
	{mso-level-tab-stop:4.0in;
	mso-level-number-position:left;
	text-indent:-.25in;}
@list l3:level9
	{mso-level-tab-stop:4.5in;
	mso-level-number-position:left;
	text-indent:-.25in;}
@list l4
	{mso-list-id:1339310388;
	mso-list-template-ids:2037400322;}
@list l4:level1
	{mso-level-number-format:bullet;
	mso-level-text:\F0B7;
	mso-level-tab-stop:.5in;
	mso-level-number-position:left;
	text-indent:-.25in;
	mso-ansi-font-size:10.0pt;
	font-family:Symbol;}
@list l4:level2
	{mso-level-number-format:bullet;
	mso-level-text:\F0B7;
	mso-level-tab-stop:1.0in;
	mso-level-number-position:left;
	text-indent:-.25in;
	mso-ansi-font-size:10.0pt;
	font-family:Symbol;}
@list l4:level3
	{mso-level-number-format:bullet;
	mso-level-text:\F0B7;
	mso-level-tab-stop:1.5in;
	mso-level-number-position:left;
	text-indent:-.25in;
	mso-ansi-font-size:10.0pt;
	font-family:Symbol;}
@list l4:level4
	{mso-level-number-format:bullet;
	mso-level-text:\F0B7;
	mso-level-tab-stop:2.0in;
	mso-level-number-position:left;
	text-indent:-.25in;
	mso-ansi-font-size:10.0pt;
	font-family:Symbol;}
@list l4:level5
	{mso-level-number-format:bullet;
	mso-level-text:\F0B7;
	mso-level-tab-stop:2.5in;
	mso-level-number-position:left;
	text-indent:-.25in;
	mso-ansi-font-size:10.0pt;
	font-family:Symbol;}
@list l4:level6
	{mso-level-number-format:bullet;
	mso-level-text:\F0B7;
	mso-level-tab-stop:3.0in;
	mso-level-number-position:left;
	text-indent:-.25in;
	mso-ansi-font-size:10.0pt;
	font-family:Symbol;}
@list l4:level7
	{mso-level-number-format:bullet;
	mso-level-text:\F0B7;
	mso-level-tab-stop:3.5in;
	mso-level-number-position:left;
	text-indent:-.25in;
	mso-ansi-font-size:10.0pt;
	font-family:Symbol;}
@list l4:level8
	{mso-level-number-format:bullet;
	mso-level-text:\F0B7;
	mso-level-tab-stop:4.0in;
	mso-level-number-position:left;
	text-indent:-.25in;
	mso-ansi-font-size:10.0pt;
	font-family:Symbol;}
@list l4:level9
	{mso-level-number-format:bullet;
	mso-level-text:\F0B7;
	mso-level-tab-stop:4.5in;
	mso-level-number-position:left;
	text-indent:-.25in;
	mso-ansi-font-size:10.0pt;
	font-family:Symbol;}
ol
	{margin-bottom:0in;}
ul
	{margin-bottom:0in;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext=3D"edit" spidmax=3D"1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext=3D"edit">
<o:idmap v:ext=3D"edit" data=3D"1" />
</o:shapelayout></xml><![endif]-->
</head>
<body lang=3D"EN-US" link=3D"blue" vlink=3D"purple">
<div class=3D"WordSection1">
<p class=3D"MsoNormal" style=3D"line-height:13.5pt;vertical-align:baseline"=
><span style=3D"font-size:10.5pt;font-family:&quot;Arial&quot;,&quot;sans-s=
erif&quot;;color:black">And not that I&#8217;ve given the REST mapping any =
deep thought, but the more I think about it, the more it seems to
 me that the below is clear/simple/good and would support what the model sa=
ys should be supported.&nbsp; I also see no reason why a Rest implementatio=
n would have issues with this (in fact it looks like vanilla Rest to me).&n=
bsp; There are many examples in the real world
 of needing to work with objects that reside inside _<i>and</i>_ outside of=
 some hierarchical container/collection.&nbsp; Rest certainly supports that=
 very easily.&nbsp; I can also think of a couple other approaches and varia=
tions of the approach below that also make
 sense.&nbsp; Given this, I can&#8217;t see a &nbsp;reason why the Rest que=
stion that arose would necessitate a change to the model.<o:p></o:p></span>=
</p>
<p class=3D"MsoNormal" style=3D"line-height:13.5pt;vertical-align:baseline"=
><span style=3D"font-size:10.5pt;font-family:&quot;Arial&quot;,&quot;sans-s=
erif&quot;;color:black"><o:p>&nbsp;</o:p></span></p>
<p class=3D"MsoNormal" style=3D"line-height:13.5pt;vertical-align:baseline"=
><span style=3D"font-size:10.5pt;font-family:&quot;Arial&quot;,&quot;sans-s=
erif&quot;;color:black">//How to list and get one or more rants &#8211; but=
 this may or may not not be a feature that is supported<o:p></o:p></span></=
p>
<p class=3D"MsoNormal" style=3D"line-height:13.5pt;vertical-align:baseline"=
><span style=3D"font-size:10.5pt;font-family:&quot;Arial&quot;,&quot;sans-s=
erif&quot;;color:black"><o:p>&nbsp;</o:p></span></p>
<p class=3D"MsoNormal" style=3D"line-height:13.5pt;vertical-align:baseline"=
><span style=3D"font-size:10.5pt;font-family:&quot;Arial&quot;,&quot;sans-s=
erif&quot;;color:black">sppapi.example.com/rants/{rantIdentifier}<o:p></o:p=
></span></p>
<p class=3D"MsoNormal" style=3D"line-height:13.5pt;vertical-align:baseline"=
><span style=3D"font-size:10.5pt;font-family:&quot;Arial&quot;,&quot;sans-s=
erif&quot;;color:black">sppapi.example.com/rants<o:p></o:p></span></p>
<p class=3D"MsoNormal" style=3D"line-height:13.5pt;vertical-align:baseline"=
><span style=3D"font-size:10.5pt;font-family:&quot;Arial&quot;,&quot;sans-s=
erif&quot;;color:black"><o:p>&nbsp;</o:p></span></p>
<p class=3D"MsoNormal" style=3D"line-height:13.5pt;vertical-align:baseline"=
><span style=3D"font-size:10.5pt;font-family:&quot;Arial&quot;,&quot;sans-s=
erif&quot;;color:black">//For a given Rant, how to list and get one or more=
 of the Dest Groups<o:p></o:p></span></p>
<p class=3D"MsoNormal" style=3D"line-height:13.5pt;vertical-align:baseline"=
><span style=3D"font-size:10.5pt;font-family:&quot;Arial&quot;,&quot;sans-s=
erif&quot;;color:black"><o:p>&nbsp;</o:p></span></p>
<p class=3D"MsoNormal" style=3D"line-height:13.5pt;vertical-align:baseline"=
><span style=3D"font-size:10.5pt;font-family:&quot;Arial&quot;,&quot;sans-s=
erif&quot;;color:black">sppapi.example.com/rants/{rantIdentifier}/destGroup=
s/{destGroupIdentifier}<o:p></o:p></span></p>
<p class=3D"MsoNormal" style=3D"line-height:13.5pt;vertical-align:baseline"=
><span style=3D"font-size:10.5pt;font-family:&quot;Arial&quot;,&quot;sans-s=
erif&quot;;color:black">sppapi.example.com/rants/{rantIdentifier}/destGroup=
s<o:p></o:p></span></p>
<p class=3D"MsoNormal" style=3D"line-height:13.5pt;vertical-align:baseline"=
><span style=3D"font-size:10.5pt;font-family:&quot;Arial&quot;,&quot;sans-s=
erif&quot;;color:black"><o:p>&nbsp;</o:p></span></p>
<p class=3D"MsoNormal" style=3D"line-height:13.5pt;vertical-align:baseline"=
><span style=3D"font-size:10.5pt;font-family:&quot;Arial&quot;,&quot;sans-s=
erif&quot;;color:black">//For a given Rant, how to list and get one or more=
 PIs/TNs associated with (in) a Dest Group<o:p></o:p></span></p>
<p class=3D"MsoNormal" style=3D"line-height:13.5pt;vertical-align:baseline"=
><span style=3D"font-size:10.5pt;font-family:&quot;Arial&quot;,&quot;sans-s=
erif&quot;;color:black"><o:p>&nbsp;</o:p></span></p>
<p class=3D"MsoNormal" style=3D"line-height:13.5pt;vertical-align:baseline"=
><span style=3D"font-size:10.5pt;font-family:&quot;Arial&quot;,&quot;sans-s=
erif&quot;;color:black">sppapi.example.com/rants/{rantIdentifier}/destGroup=
s/{destGroupIdentifier}/TNs/{tnIdentifier}<o:p></o:p></span></p>
<p class=3D"MsoNormal" style=3D"line-height:13.5pt;vertical-align:baseline"=
><span style=3D"font-size:10.5pt;font-family:&quot;Arial&quot;,&quot;sans-s=
erif&quot;;color:black">sppapi.example.com/rants/{rantIdentifier}/destGroup=
s/{destGroupIdentifier}/TNs<o:p></o:p></span></p>
<p class=3D"MsoNormal" style=3D"line-height:13.5pt;vertical-align:baseline"=
><span style=3D"font-size:10.5pt;font-family:&quot;Arial&quot;,&quot;sans-s=
erif&quot;;color:black"><o:p>&nbsp;</o:p></span></p>
<p class=3D"MsoNormal" style=3D"line-height:13.5pt;vertical-align:baseline"=
><span style=3D"font-size:10.5pt;font-family:&quot;Arial&quot;,&quot;sans-s=
erif&quot;;color:black">//For a given Rant, how to list and get one or more=
 PIs/TNs not associated with (not in) a Dest Group<o:p></o:p></span></p>
<p class=3D"MsoNormal" style=3D"line-height:13.5pt;vertical-align:baseline"=
><span style=3D"font-size:10.5pt;font-family:&quot;Arial&quot;,&quot;sans-s=
erif&quot;;color:black"><o:p>&nbsp;</o:p></span></p>
<p class=3D"MsoNormal" style=3D"line-height:13.5pt;vertical-align:baseline"=
><span style=3D"font-size:10.5pt;font-family:&quot;Arial&quot;,&quot;sans-s=
erif&quot;;color:black">sppapi.example.com/rants/{rantIdentifier}/TNs/{tnId=
entifier}<o:p></o:p></span></p>
<p class=3D"MsoNormal" style=3D"line-height:13.5pt;vertical-align:baseline"=
><span style=3D"font-size:10.5pt;font-family:&quot;Arial&quot;,&quot;sans-s=
erif&quot;;color:black">sppapi.example.com/rants/{rantIdentifier}/TNs<o:p><=
/o:p></span></p>
<p class=3D"MsoNormal" style=3D"line-height:13.5pt;vertical-align:baseline"=
><span style=3D"font-size:10.5pt;font-family:&quot;Arial&quot;,&quot;sans-s=
erif&quot;;color:black"><o:p>&nbsp;</o:p></span></p>
<p class=3D"MsoNormal" style=3D"line-height:13.5pt;vertical-align:baseline"=
><span style=3D"font-size:10.5pt;font-family:&quot;Arial&quot;,&quot;sans-s=
erif&quot;;color:black">//For a given Rant, how to list and get one or more=
 SEDGroups<o:p></o:p></span></p>
<p class=3D"MsoNormal" style=3D"line-height:13.5pt;vertical-align:baseline"=
><span style=3D"font-size:10.5pt;font-family:&quot;Arial&quot;,&quot;sans-s=
erif&quot;;color:black"><o:p>&nbsp;</o:p></span></p>
<p class=3D"MsoNormal" style=3D"line-height:13.5pt;vertical-align:baseline"=
><span style=3D"font-size:10.5pt;font-family:&quot;Arial&quot;,&quot;sans-s=
erif&quot;;color:black">sppapi.example.com/rants/{rantIdentifier}/SEDGroups=
/{sedGroupIdentifier}<o:p></o:p></span></p>
<p class=3D"MsoNormal" style=3D"line-height:13.5pt;vertical-align:baseline"=
><span style=3D"font-size:10.5pt;font-family:&quot;Arial&quot;,&quot;sans-s=
erif&quot;;color:black">sppapi.example.com/rants/{rantIdentifier}/SEDGroups=
<o:p></o:p></span></p>
<p class=3D"MsoNormal" style=3D"line-height:13.5pt;vertical-align:baseline"=
><span style=3D"font-size:10.5pt;font-family:&quot;Arial&quot;,&quot;sans-s=
erif&quot;;color:black"><o:p>&nbsp;</o:p></span></p>
<p class=3D"MsoNormal" style=3D"line-height:13.5pt;vertical-align:baseline"=
><span style=3D"font-size:10.5pt;font-family:&quot;Arial&quot;,&quot;sans-s=
erif&quot;;color:black">//etc, etc for other object types<o:p></o:p></span>=
</p>
<p class=3D"MsoNormal" style=3D"line-height:13.5pt;vertical-align:baseline"=
><span style=3D"font-size:10.5pt;font-family:&quot;Arial&quot;,&quot;sans-s=
erif&quot;;color:black"><o:p>&nbsp;</o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;font-family:&quot;Ca=
libri&quot;,&quot;sans-serif&quot;;color:#1F497D"><o:p>&nbsp;</o:p></span><=
/p>
<div>
<div style=3D"border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0in =
0in 0in">
<p class=3D"MsoNormal"><b><span style=3D"font-size:10.0pt;font-family:&quot=
;Tahoma&quot;,&quot;sans-serif&quot;">From:</span></b><span style=3D"font-s=
ize:10.0pt;font-family:&quot;Tahoma&quot;,&quot;sans-serif&quot;"> Cartwrig=
ht, Ken
<br>
<b>Sent:</b> Thursday, May 09, 2013 10:36 AM<br>
<b>To:</b> 'Mickael Marrache'; drinks@ietf.org<br>
<b>Subject:</b> RE: [drinks] Following today's meeting<o:p></o:p></span></p=
>
</div>
</div>
<p class=3D"MsoNormal"><o:p>&nbsp;</o:p></p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;font-family:&quot;Ca=
libri&quot;,&quot;sans-serif&quot;;color:#1F497D">Ok.&nbsp; My apologies if=
 I &#8220;didn&#8217;t answer the key question&#8221; in the way you wanted=
. &nbsp;I think I responded directly to your points.&nbsp; And I think that=
 the URL structures
 that I propose are very clean and intuitive, not complicated or esoteric. =
&nbsp;You did not say anything about &#8220;optional parameters&#8221; unti=
l this reply.&nbsp; So perhaps I can now speak to that question now that yo=
u have posed it.&nbsp; The model in the doc is what it is,
 if the group decides to change it, then so be it.&nbsp; But, SOAP has no i=
ssue dealing with it and I believe that Rest has no real issue dealing with=
 it either, and as I stated I think the resulting URL structure is very cle=
ar and simple.&nbsp; I also do not really
 see this as an &#8220;optional parameter&#8221; type situation.&nbsp; The =
example in the link you describe was speaking to someone wanting to put a &=
#8220;format&#8221; selection in the main body of the output URL path so th=
at they know if it is XML or JSON or etc.&nbsp; The situation here
 is more of including a &nbsp;hierarchical relationship as part of the URL =
path, which is done all the time.&nbsp; And of course not all objects in a =
model will always have the same hierarchical relationships.<o:p></o:p></spa=
n></p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;font-family:&quot;Ca=
libri&quot;,&quot;sans-serif&quot;;color:#1F497D"><o:p>&nbsp;</o:p></span><=
/p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;font-family:&quot;Ca=
libri&quot;,&quot;sans-serif&quot;;color:#1F497D">But, that&#8217;s my $.02=
.&nbsp; Take it fwiw.&nbsp;
</span><span style=3D"font-size:11.0pt;font-family:Wingdings;color:#1F497D"=
>J</span><span style=3D"font-size:11.0pt;font-family:&quot;Calibri&quot;,&q=
uot;sans-serif&quot;;color:#1F497D"><o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;font-family:&quot;Ca=
libri&quot;,&quot;sans-serif&quot;;color:#1F497D"><o:p>&nbsp;</o:p></span><=
/p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;font-family:&quot;Ca=
libri&quot;,&quot;sans-serif&quot;;color:#1F497D">Ken<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;font-family:&quot;Ca=
libri&quot;,&quot;sans-serif&quot;;color:#1F497D"><o:p>&nbsp;</o:p></span><=
/p>
<p class=3D"MsoNormal"><b><span style=3D"font-size:10.0pt;font-family:&quot=
;Tahoma&quot;,&quot;sans-serif&quot;">From:</span></b><span style=3D"font-s=
ize:10.0pt;font-family:&quot;Tahoma&quot;,&quot;sans-serif&quot;"> Mickael =
Marrache [<a href=3D"mailto:mickaelmarrache@gmail.com">mailto:mickaelmarrac=
he@gmail.com</a>]
<br>
<b>Sent:</b> Thursday, May 09, 2013 10:14 AM<br>
<b>To:</b> Cartwright, Ken; <a href=3D"mailto:drinks@ietf.org">drinks@ietf.=
org</a><br>
<b>Subject:</b> Re: [drinks] Following today's meeting<o:p></o:p></span></p=
>
<p class=3D"MsoNormal"><o:p>&nbsp;</o:p></p>
<div>
<p class=3D"MsoNormal" style=3D"margin-bottom:12.0pt">Hi,<br>
<br>
Concerning the first point, this is what I meant. I just explained the curr=
ent approach as a prerequisite for the next part.<br>
<br>
Concerning the second point, I think you don't answer the real question.<br=
>
<br>
Firstly, using optional path parameters introduces an implementation issue.=
 Also, JAX-RS, which will probably be the most used solution for implementi=
ng SPPP over REST in Java, does not support easily optional parameters (see
<a href=3D"http://www.nakov.com/blog/2009/07/15/jax-rs-path-pathparam-and-o=
ptional-parameters/">
http://www.nakov.com/blog/2009/07/15/jax-rs-path-pathparam-and-optional-par=
ameters/</a>). There are workarounds to this &quot;issue&quot; but this lac=
k of support shows this is a rare way of defining URIs in REST. Optional pa=
th parameters are generally discouraged in
 REST.<br>
<br>
I think the real question is why to include the name of the destination gro=
up as part of the PI key, not how to represent optional path parameters in =
REST. Also, I don't see how excluding the dgName from the PI key would redu=
ce flexibility of the model. On
 the other hand, I think that including the dgName as part of the PI key in=
creases complexity of RESTful implementations for the reasons I mentioned i=
n the previous paragraph. Also, I think that defining two URI templates for=
 PIs (one for PIs that are part
 of DGs and another for PIs that are not part of DGs) makes the REST API le=
ss intuitive for the clients, and adds complexity for implementors. I don't=
 really see enough advantages with the current model, that would convince m=
e to accept this implementation
 complexity.<br>
<br>
Concerning the COR aspect, it's only a question we raised during the last m=
eeting. I agree that the COR is intrinsic to the PI, so we don't need to mo=
ve it at the PI-DG association level.<br>
<br>
Thanks,<br>
Mickael <o:p></o:p></p>
<div>
<p class=3D"MsoNormal">On Thu, May 9, 2013 at 3:56 PM, Cartwright, Ken &lt;=
<a href=3D"mailto:kcartwright@tnsi.com" target=3D"_blank">kcartwright@tnsi.=
com</a>&gt; wrote:<o:p></o:p></p>
<div>
<div>
<p class=3D"MsoNormal" style=3D"mso-margin-top-alt:auto;mso-margin-bottom-a=
lt:auto"><span style=3D"font-size:11.0pt;font-family:&quot;Calibri&quot;,&q=
uot;sans-serif&quot;;color:#1F497D">Hi,</span><o:p></o:p></p>
<p class=3D"MsoNormal" style=3D"mso-margin-top-alt:auto;mso-margin-bottom-a=
lt:auto"><span style=3D"font-size:11.0pt;font-family:&quot;Calibri&quot;,&q=
uot;sans-serif&quot;;color:#1F497D"><br>
Thanks for these thoughts.&nbsp; Very insightful.&nbsp; My $.02 is as follo=
ws (sorry for any grammar/typos, putting this response together in a rush):=
</span><o:p></o:p></p>
<p class=3D"MsoNormal" style=3D"mso-margin-top-alt:auto;mso-margin-bottom-a=
lt:auto"><span style=3D"font-size:11.0pt;font-family:&quot;Calibri&quot;,&q=
uot;sans-serif&quot;;color:#1F497D">&nbsp;</span><o:p></o:p></p>
<p class=3D"MsoNormal" style=3D"mso-margin-top-alt:auto;mso-margin-bottom-a=
lt:auto">&#8220;During the call, we agreed that the cardinality on the DG s=
ide of the PubId-DG association should be 0..1 instead of 0...n.&#8221;<o:p=
></o:p></p>
<p class=3D"MsoNormal" style=3D"mso-margin-top-alt:auto;mso-margin-bottom-a=
lt:auto">&nbsp;<o:p></o:p></p>
<p class=3D"MsoNormal" style=3D"mso-margin-top-alt:auto;mso-margin-bottom-a=
lt:auto">KJC:&nbsp; I&#8217;d state it like this&#8230;The cardinality in t=
he body of the framework document and in the XSD are already correct/whatWe=
Intended, 0..1.&nbsp; But the diagram in the intro of the
 framework document incorrectly illustrates 0..n because it was a carry-ove=
r from the requirements document diagram, which was more notional (and was =
referring to the requirement that a given TN/TNRange/etc can be in one or m=
ore DGs, or not in a DG).&nbsp; So we
 decided on the recent call that it would be best to change the diagram in =
the framework document to represent the implementation construct in the XSD=
 that uses a PIType, rather than the notional concepts in the requirements =
document.&nbsp; The operative point being
 that we are not really &#8220;changing&#8221; a cardinality, but are makin=
g a clerical correction to a diagram, albeit a good correction.&nbsp; Good =
catch.<o:p></o:p></p>
<p class=3D"MsoNormal" style=3D"mso-margin-top-alt:auto;mso-margin-bottom-a=
lt:auto">&nbsp;<o:p></o:p></p>
<p class=3D"MsoNormal" style=3D"mso-margin-top-alt:auto;mso-margin-bottom-a=
lt:auto">---<o:p></o:p></p>
<p class=3D"MsoNormal" style=3D"mso-margin-top-alt:auto;mso-margin-bottom-a=
lt:auto">&nbsp;<o:p></o:p></p>
<p class=3D"MsoNormal" style=3D"mso-margin-top-alt:auto;mso-margin-bottom-a=
lt:auto">&#8220;For example, an obvious URI for a TN resource would represe=
nt the key attributes as path parameters such as /rant/{rant}/TN/dgName/{dg=
Name}/tn/{tn}. However, dgName is optional
 and may not have a value. We can solve this problem by using a special str=
ing to represent the absence of a value, or by using other types of URI par=
ameters (e.g. query parameters), but I don't think it's the right way to go=
.&#8221;<o:p></o:p></p>
<p class=3D"MsoNormal" style=3D"mso-margin-top-alt:auto;mso-margin-bottom-a=
lt:auto">&nbsp;<o:p></o:p></p>
<p class=3D"MsoNormal" style=3D"mso-margin-top-alt:auto;mso-margin-bottom-a=
lt:auto">KJC: &nbsp;Hierarchical relationships in REST URIs are &#8220;opti=
onal&#8221;.&nbsp; If the hierarchical relationship exists then it is in th=
e URI, if it does not exist, then it is not in the URI.&nbsp; So
 a reasonable approach to resolving your Rest URI question is to not implem=
ent the TNs/PIs-&gt;DG relationship as a mandatory hierarchy where the DG &=
#8220;contains&#8221; the TNs/PIs.&nbsp; This can be accomplished in at lea=
st a couple ways as follows&#8230;<o:p></o:p></p>
<p class=3D"MsoNormal" style=3D"mso-margin-top-alt:auto;mso-margin-bottom-a=
lt:auto">&nbsp;<o:p></o:p></p>
<p>1)<span style=3D"font-size:7.0pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>=
Consider modeling the URI in a way that is analogous to the SOAP XSD;s appr=
oach, with an attribute of the TN/PI containing the DG relationship.&nbsp; =
&nbsp;&nbsp;If you do that, then instead of having this: /rant/{rant}/TN/DG=
NAME/{dgName}/TN/{tn}<o:p></o:p></p>
<p class=3D"MsoNormal" style=3D"mso-margin-top-alt:auto;mso-margin-bottom-a=
lt:auto;margin-left:.25in">
You&#8217;d have this:<o:p></o:p></p>
<p class=3D"MsoNormal" style=3D"mso-margin-top-alt:auto;mso-margin-bottom-a=
lt:auto;margin-left:.25in">
/rant/{rant}/TN/{tn}/DG/{dgName}<o:p></o:p></p>
<p class=3D"MsoNormal" style=3D"mso-margin-top-alt:auto;mso-margin-bottom-a=
lt:auto;margin-left:.25in">
Examples:&nbsp; <o:p></o:p></p>
<p class=3D"MsoNormal" style=3D"mso-margin-top-alt:auto;mso-margin-bottom-a=
lt:auto;margin-left:.25in">
/rant/SomeCompany/TN/17039876543<o:p></o:p></p>
<p class=3D"MsoNormal" style=3D"mso-margin-top-alt:auto;mso-margin-bottom-a=
lt:auto;margin-left:.25in">
/rant/SomeCompany/TN/13013456789/DG/NorthEast<o:p></o:p></p>
<p class=3D"MsoNormal" style=3D"mso-margin-top-alt:auto;mso-margin-bottom-a=
lt:auto;margin-left:.25in">
In this approach your quandary goes away.&nbsp; If there is no DG relations=
hip, then that portion of the URI is just not necessary and is therefore no=
t there.&nbsp; Note that this is basically how the SOAP XSD design does it.=
<o:p></o:p></p>
<p class=3D"MsoNormal" style=3D"mso-margin-top-alt:auto;mso-margin-bottom-a=
lt:auto;margin-left:.25in">
&nbsp;<o:p></o:p></p>
<p>2)<span style=3D"font-size:7.0pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>=
You could alternatively do it like this:<o:p></o:p></p>
<p class=3D"MsoNormal" style=3D"mso-margin-top-alt:auto;mso-margin-bottom-a=
lt:auto;margin-left:.25in">
/rant/{rant}/DG/{dgName}/TN/{tn}<o:p></o:p></p>
<p class=3D"MsoNormal" style=3D"mso-margin-top-alt:auto;mso-margin-bottom-a=
lt:auto;margin-left:.25in">
Examples:<o:p></o:p></p>
<p class=3D"MsoNormal" style=3D"mso-margin-top-alt:auto;mso-margin-bottom-a=
lt:auto;margin-left:.25in">
/rant/SomeCompany/DG/NorthEast/TN/17039876543<o:p></o:p></p>
<p class=3D"MsoNormal" style=3D"mso-margin-top-alt:auto;mso-margin-bottom-a=
lt:auto;margin-left:.25in">
/rant/SomeCompany/TN/13019876543<o:p></o:p></p>
<p class=3D"MsoNormal" style=3D"mso-margin-top-alt:auto;mso-margin-bottom-a=
lt:auto">&nbsp;<o:p></o:p></p>
<p class=3D"MsoNormal" style=3D"mso-margin-top-alt:auto;mso-margin-bottom-a=
lt:auto;margin-left:.25in">
Some TNs are &#8220;in&#8221; DGs and some are not.&nbsp; There should be n=
o issue with that approach either.<o:p></o:p></p>
<p class=3D"MsoNormal" style=3D"mso-margin-top-alt:auto;mso-margin-bottom-a=
lt:auto">&nbsp;<o:p></o:p></p>
<p class=3D"MsoNormal" style=3D"mso-margin-top-alt:auto;mso-margin-bottom-a=
lt:auto">Imo, also adding in the concept of the PI to the URL may be a vali=
d addition to the URIs, since they are all just types of PIs<o:p></o:p></p>
<p class=3D"MsoNormal" style=3D"mso-margin-top-alt:auto;mso-margin-bottom-a=
lt:auto;text-indent:.5in">
/rant/{rant}/PI/{PIString}/DG/{dgName}<o:p></o:p></p>
<p class=3D"MsoNormal" style=3D"mso-margin-top-alt:auto;mso-margin-bottom-a=
lt:auto;text-indent:.5in">
Examples:<o:p></o:p></p>
<p class=3D"MsoNormal" style=3D"mso-margin-top-alt:auto;mso-margin-bottom-a=
lt:auto;text-indent:.5in">
/rant/SomeCompany/PI/Prefix/17039<o:p></o:p></p>
<p class=3D"MsoNormal" style=3D"mso-margin-top-alt:auto;mso-margin-bottom-a=
lt:auto;text-indent:.5in">
/rant/SomeCompany/PI/TN/13019876543/DG/NorthEast<o:p></o:p></p>
<p class=3D"MsoNormal" style=3D"mso-margin-top-alt:auto;mso-margin-bottom-a=
lt:auto;text-indent:.5in">
/rant/SomeCompany/PI/Range/13010000000-13019999999/DG/NorthEast<o:p></o:p><=
/p>
<p class=3D"MsoNormal" style=3D"mso-margin-top-alt:auto;mso-margin-bottom-a=
lt:auto;text-indent:.5in">
/rant/SomeCompany/PI/LRN/19059876543/DG/SouthEast<o:p></o:p></p>
<p class=3D"MsoNormal" style=3D"mso-margin-top-alt:auto;mso-margin-bottom-a=
lt:auto">&nbsp;<o:p></o:p></p>
<p class=3D"MsoNormal" style=3D"mso-margin-top-alt:auto;mso-margin-bottom-a=
lt:auto">---<o:p></o:p></p>
<p class=3D"MsoNormal" style=3D"mso-margin-top-alt:auto;mso-margin-bottom-a=
lt:auto">&nbsp;<o:p></o:p></p>
<pre>I also noticed that the text in section 3.1, bullet two, about Destina=
tion groups says &#8220;can be<o:p></o:p></pre>
<pre>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; associated with one or more SED Groups&=
#8221;.&nbsp; That should say &#8220;can be associated with zero or more SE=
D Groups&#8221;<o:p></o:p></pre>
<pre>&nbsp;<o:p></o:p></pre>
<pre>---<o:p></o:p></pre>
<pre>&#8220;the corInfo element should be an attribute of the PI-DG associa=
tion since it is not intrisic to the PI itself&#8221;<o:p></o:p></pre>
<pre>&nbsp;<o:p></o:p></pre>
<pre>KJC:&nbsp; I believe that the COR claim is intrinsic to the PI.&nbsp; =
And putting it on an association between the PI and the DG would add furthe=
r complexity to the XSD and the model.<o:p></o:p></pre>
<pre>&nbsp;<o:p></o:p></pre>
<pre>In general, I think making this change would reduce the flexibility th=
at is in the current model, while not reducing the complexity.<o:p></o:p></=
pre>
<pre>&nbsp;<o:p></o:p></pre>
<pre>Thanks<o:p></o:p></pre>
<p class=3D"MsoNormal" style=3D"mso-margin-top-alt:auto;mso-margin-bottom-a=
lt:auto"><span style=3D"font-size:10.0pt;font-family:&quot;Courier New&quot=
;">&nbsp;</span><o:p></o:p></p>
<p class=3D"MsoNormal" style=3D"mso-margin-top-alt:auto;mso-margin-bottom-a=
lt:auto"><span style=3D"font-size:11.0pt;font-family:&quot;Calibri&quot;,&q=
uot;sans-serif&quot;;color:#1F497D">&nbsp;</span><o:p></o:p></p>
<p class=3D"MsoNormal" style=3D"mso-margin-top-alt:auto;mso-margin-bottom-a=
lt:auto"><b><span style=3D"font-size:10.0pt;font-family:&quot;Tahoma&quot;,=
&quot;sans-serif&quot;">From:</span></b><span style=3D"font-size:10.0pt;fon=
t-family:&quot;Tahoma&quot;,&quot;sans-serif&quot;">
<a href=3D"mailto:drinks-bounces@ietf.org" target=3D"_blank">drinks-bounces=
@ietf.org</a> [mailto:<a href=3D"mailto:drinks-bounces@ietf.org" target=3D"=
_blank">drinks-bounces@ietf.org</a>]
<b>On Behalf Of </b>Mickael Marrache<br>
<b>Sent:</b> Wednesday, April 24, <a href=3D"tel:2013" target=3D"_blank">20=
13</a> 2:51 PM<br>
<b>To:</b> <a href=3D"mailto:drinks@ietf.org" target=3D"_blank">drinks@ietf=
.org</a><br>
<b>Subject:</b> [drinks] Following today's meeting</span><o:p></o:p></p>
<div>
<div>
<p class=3D"MsoNormal" style=3D"mso-margin-top-alt:auto;mso-margin-bottom-a=
lt:auto">&nbsp;<o:p></o:p></p>
<div>
<p class=3D"MsoNormal" style=3D"mso-margin-top-alt:auto;mso-margin-bottom-a=
lt:auto">Hi,<o:p></o:p></p>
<div>
<p class=3D"MsoNormal" style=3D"mso-margin-top-alt:auto;mso-margin-bottom-a=
lt:auto">&nbsp;<o:p></o:p></p>
</div>
<div>
<p class=3D"MsoNormal" style=3D"mso-margin-top-alt:auto;mso-margin-bottom-a=
lt:auto">During the call, we agreed that the cardinality on the DG side of =
the PubId-DG association should be 0..1 instead of 0...n. We also agreed th=
at this cardinality should not be interpreted
 as limiting a PI to be associated to at most one DG. However, this cardina=
lity should be interpreted as limiting a PI instance to be associated to at=
 most one DG. Thus, for example, the &quot;same&quot; telephone number may =
be associated to multiple DGs by the use of
 multiple TN instances. This way is made possible by including the dgName e=
lement as part of the key, so that for a given registrant and a given value=
 (e.g. tn, tnp, start/end...), different values for the dgName element are =
allowed.<o:p></o:p></p>
</div>
<div>
<p class=3D"MsoNormal" style=3D"mso-margin-top-alt:auto;mso-margin-bottom-a=
lt:auto">&nbsp;<o:p></o:p></p>
</div>
<div>
<p class=3D"MsoNormal" style=3D"mso-margin-top-alt:auto;mso-margin-bottom-a=
lt:auto">I think that the dgName element should not be part of the key beca=
use it is optional. While it may be acceptable for a key attribute to be op=
tional in some cases, I think it's relatively
 rare. Also, it becomes more difficult to define a URI for each public iden=
tifier concrete type. For example, an obvious URI for a TN resource would r=
epresent the key attributes as path parameters such as /rant/{rant}/TN/dgNa=
me/{dgName}/tn/{tn}. However, dgName
 is optional and may not have a value. We can solve this problem by using a=
 special string to represent the absence of a value, or by using other type=
s of URI parameters (e.g. query parameters), but I don't think it's the rig=
ht way to go.<o:p></o:p></p>
</div>
<div>
<p class=3D"MsoNormal" style=3D"mso-margin-top-alt:auto;mso-margin-bottom-a=
lt:auto">&nbsp;<o:p></o:p></p>
</div>
<div>
<p class=3D"MsoNormal" style=3D"mso-margin-top-alt:auto;mso-margin-bottom-a=
lt:auto">What I proposed during the call was to exclude the dgName element =
from the key. So, there would be only one PI instance for a particular valu=
e, that is identified by the registrant
 that owns the PI, and the value of the PI (e.g. tn, tnp...). In order to a=
llow a PI to be associated to multiple DGs, the maxOccurs attribute of the =
dgName element should be set to unbounded. The registrant organization woul=
d only deal with one instance for
 a given PI value. The URI for the TN resource would then be /rant/{rant}/T=
N/{tn}.<o:p></o:p></p>
</div>
<div>
<p class=3D"MsoNormal" style=3D"mso-margin-top-alt:auto;mso-margin-bottom-a=
lt:auto">&nbsp;<o:p></o:p></p>
</div>
<div>
<p class=3D"MsoNormal" style=3D"mso-margin-top-alt:auto;mso-margin-bottom-a=
lt:auto">Concerning the carrier-of-record concern, the question is: Is ther=
e a meaning to let a registrant organization provision the same PI (in term=
s of value) with different COR information?
 The current model allows such a feature by the use of multiple PI instance=
s (thus, allowing multiple corInfos). If this is a real use case, the corIn=
fo element should be an attribute of the PI-DG association since it is not =
intrisic to the PI itself but depends
 on an external factor (in this case, the association with a particular DG)=
. Creating a new complex type DestGrpRefType that includes the DG key and t=
he corInfo element would solve this issue. The list of dgName (ObjNameType)=
 would become a list of dgRefs (DestGrpRefType).<o:p></o:p></p>
</div>
<div>
<p class=3D"MsoNormal" style=3D"mso-margin-top-alt:auto;mso-margin-bottom-a=
lt:auto">&nbsp;<o:p></o:p></p>
</div>
<div>
<p class=3D"MsoNormal" style=3D"mso-margin-top-alt:auto;mso-margin-bottom-a=
lt:auto">Not related to this question, there are two other points I raised =
in the mailing list:<o:p></o:p></p>
</div>
<div>
<ol start=3D"1" type=3D"1">
<li class=3D"MsoNormal" style=3D"mso-margin-top-alt:auto;mso-margin-bottom-=
alt:auto;mso-list:l3 level1 lfo3">
<span style=3D"font-family:&quot;Arial&quot;,&quot;sans-serif&quot;">The fr=
amework document states:&nbsp;&quot;If the response to the Get operation in=
cludes object(s) that extend&nbsp;the BasicObjType, the Registry MUST inclu=
de the 'cDate' and 'mDate',&nbsp;if applicable.&quot;.&nbsp;In the examples=
 section
 in the SOAP document (section 10), for the Get examples, the elements cDat=
e and mDate are not part of the returned responses.</span><o:p></o:p></li><=
li class=3D"MsoNormal" style=3D"mso-margin-top-alt:auto;mso-margin-bottom-a=
lt:auto;mso-list:l3 level1 lfo3">
<span style=3D"font-family:&quot;Arial&quot;,&quot;sans-serif&quot;">Accord=
ing to the framework document, an egress route is added by the originating =
SSP to the registry. The originating SSP must be a peering organization of =
the SED group to which the egress route is associated.
 Thus, an egress route is an element owned by the originating SSP. The rant=
 field of the egress route would then identify the originating SSP and not =
the owner of the SED group. Also, in the SOAP document in section 10.17, th=
e rant field has the value iana-en:111
 as expected. There is an error in the SOAP document in section 10.11. The =
rant field has the value iana-en:222 where it should have the value iana-en=
:111 that identifies SSP1.</span><o:p></o:p></li></ol>
<div>
<p class=3D"MsoNormal" style=3D"mso-margin-top-alt:auto;mso-margin-bottom-a=
lt:auto">&nbsp;<o:p></o:p></p>
</div>
<div>
<p class=3D"MsoNormal" style=3D"mso-margin-top-alt:auto;mso-margin-bottom-a=
lt:auto"><span style=3D"font-family:&quot;Arial&quot;,&quot;sans-serif&quot=
;">Also, a new version of the REST draft is available at&nbsp;</span><a hre=
f=3D"http://tools.ietf.org/html/draft-marrache-drinks-spp-protocol-rest-02"=
 target=3D"_blank">http://tools.ietf.org/html/draft-marrache-drinks-spp-pro=
tocol-rest-02</a>.
 It would be great if you can take a look at it and comment.<o:p></o:p></p>
</div>
<div>
<p class=3D"MsoNormal" style=3D"mso-margin-top-alt:auto;mso-margin-bottom-a=
lt:auto">&nbsp;<o:p></o:p></p>
</div>
<div>
<p class=3D"MsoNormal" style=3D"mso-margin-top-alt:auto;mso-margin-bottom-a=
lt:auto"><span style=3D"font-family:&quot;Arial&quot;,&quot;sans-serif&quot=
;">Thanks,</span><o:p></o:p></p>
</div>
</div>
<div>
<p class=3D"MsoNormal" style=3D"mso-margin-top-alt:auto;mso-margin-bottom-a=
lt:auto"><span style=3D"font-family:&quot;Arial&quot;,&quot;sans-serif&quot=
;">Mickael</span><o:p></o:p></p>
</div>
</div>
</div>
</div>
</div>
<p class=3D"MsoNormal"><o:p>&nbsp;</o:p></p>
<div class=3D"MsoNormal" align=3D"center" style=3D"text-align:center">
<hr size=3D"2" width=3D"100%" align=3D"center">
</div>
<p class=3D"MsoNormal" style=3D"margin-bottom:12.0pt"><span style=3D"font-s=
ize:7.5pt;font-family:&quot;Arial&quot;,&quot;sans-serif&quot;;color:gray">=
This e-mail message is for the sole use of the intended recipient(s)and may=
<br>
contain confidential and privileged information of Transaction Network Serv=
ices.<br>
Any unauthorised review, use, disclosure or distribution is prohibited. If =
you<br>
are not the intended recipient, please contact the sender by reply e-mail a=
nd destroy all copies of the original message.</span><o:p></o:p></p>
</div>
</div>
<p class=3D"MsoNormal"><o:p>&nbsp;</o:p></p>
</div>
</div>
<br>
<hr>
<font face=3D"Arial" color=3D"Gray" size=3D"1">This e-mail message is for t=
he sole use of the intended recipient(s)and may<br>
contain confidential and privileged information of Transaction Network Serv=
ices.<br>
Any unauthorised review, use, disclosure or distribution is prohibited. If =
you<br>
are not the intended recipient, please contact the sender by reply e-mail a=
nd destroy all copies of the original message.<br>
<br>
</font>
</body>
</html>

--_000_B4254E341B54864B92D28BC2138A9DC30328C9231ETNSMAILNAwin2_--

From sumanth@cablelabs.com  Fri May 10 16:18:51 2013
Return-Path: <sumanth@cablelabs.com>
X-Original-To: drinks@ietfa.amsl.com
Delivered-To: drinks@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id F26D821F910D for <drinks@ietfa.amsl.com>; Fri, 10 May 2013 16:18:50 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -0.463
X-Spam-Level: 
X-Spam-Status: No, score=-0.463 tagged_above=-999 required=5 tests=[BAYES_00=-2.599, HELO_EQ_MODEMCABLE=0.768, HOST_EQ_MODEMCABLE=1.368]
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 ooybYG36KAQT for <drinks@ietfa.amsl.com>; Fri, 10 May 2013 16:18:45 -0700 (PDT)
Received: from ondar.cablelabs.com (ondar.cablelabs.com [192.160.73.61]) by ietfa.amsl.com (Postfix) with ESMTP id AF41C21F914C for <Drinks@ietf.org>; Fri, 10 May 2013 16:18:41 -0700 (PDT)
Received: from kyzyl.cablelabs.com (kyzyl [10.253.0.7]) by ondar.cablelabs.com (8.14.5/8.14.5) with ESMTP id r4ANIeOC030170 for <Drinks@ietf.org>; Fri, 10 May 2013 17:18:40 -0600
Received: from exchange.cablelabs.com (10.5.0.19) by kyzyl.cablelabs.com (F-Secure/fsigk_smtp/407/kyzyl.cablelabs.com); Fri, 10 May 2013 17:18:40 -0600 (MDT)
X-Virus-Status: clean(F-Secure/fsigk_smtp/407/kyzyl.cablelabs.com)
Received: from EXCHANGE.cablelabs.com ([fe80::797a:96d1:3c53:18ee]) by EXCHANGE.cablelabs.com ([fe80::797a:96d1:3c53:18ee%11]) with mapi id 14.03.0123.003; Fri, 10 May 2013 17:18:40 -0600
From: Sumanth Channabasappa <sumanth@cablelabs.com>
To: "Drinks@ietf.org" <Drinks@ietf.org>
Thread-Topic: Rough notes from the design team call on 5/9
Thread-Index: AQHOTdS0HYfJie9rakGjBybw2GTqJA==
Date: Fri, 10 May 2013 23:18:40 +0000
Message-ID: <CDB2D9C2.323B1%sumanth@cablelabs.com>
In-Reply-To: <76AC5FEF83F1E64491446437EA81A61F7D1FF40003@srvxchg>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
user-agent: Microsoft-MacOutlook/14.3.2.130206
x-originating-ip: [10.5.0.27]
Content-Type: text/plain; charset="us-ascii"
Content-ID: <A58A16FDEB98034D94F01F22BAFF5B74@cablelabs.com>
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-Approved: ondar
Subject: [drinks] Rough notes from the design team call on 5/9
X-BeenThere: drinks@ietf.org
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: IETF DRINKS WG <drinks.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/drinks>, <mailto:drinks-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/drinks>
List-Post: <mailto:drinks@ietf.org>
List-Help: <mailto:drinks-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/drinks>, <mailto:drinks-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 10 May 2013 23:18:51 -0000

IETF DRINKS DESIGN TEAM CALL
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D
5/9/2013, 11:00a-11:45a (Eastern)

Participants
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
- David Schwartz
- Dean Willis
- Vikas Bhatia
- Mickael Marrache=20

- Sumanth Channabasappa




Rough Notes
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
- The design team discussed the topic from the mailing list: retaining TN
+ DG (Destination Group) as the key, or to retain only the TN as the key
  > See recent mailing list exchanges for this topic
- David suggested - and Sumanth (as the chair) concurred -  that we take
REST out of the equation, and look at the current design to see if we
should leave it that way or change it as being suggested by Mickael.
- Vikas provided his view on the discussion and what is lost or gained;
and recommended that we don't make a change unless we are absolutely sure
- Dean made another suggestion, whereby he suggested that the DG be made
an attribute - which should provide the same functionality as it does
today?


- We did not come to specific conclusions since we felt that the rest of
the team was not present
- Sumanth (as the chair) suggested the following:
  > Keep RESTful implementations out of this discussion; and see if there
are merits to the current model v/s any changes
     - Mickael offered to send a proposal
  > Discuss the proposals (pros and cons) and ensure that we make a
decision that gets documented (to avoid rehashing this discussion)
     - Via mailing list discussions, and the next call (tentatively, next
Thu at 11a Eastern)








From mickaelmarrache@gmail.com  Mon May 13 06:56:01 2013
Return-Path: <mickaelmarrache@gmail.com>
X-Original-To: drinks@ietfa.amsl.com
Delivered-To: drinks@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 1CB2A21F93C4 for <drinks@ietfa.amsl.com>; Mon, 13 May 2013 06:56:01 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -3.598
X-Spam-Level: 
X-Spam-Status: No, score=-3.598 tagged_above=-999 required=5 tests=[BAYES_00=-2.599, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_LOW=-1]
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 tTdhvdxTlzZ8 for <drinks@ietfa.amsl.com>; Mon, 13 May 2013 06:55:56 -0700 (PDT)
Received: from mail-lb0-f173.google.com (mail-lb0-f173.google.com [209.85.217.173]) by ietfa.amsl.com (Postfix) with ESMTP id 4E0E021F92EC for <drinks@ietf.org>; Mon, 13 May 2013 06:55:55 -0700 (PDT)
Received: by mail-lb0-f173.google.com with SMTP id t10so2340225lbi.4 for <drinks@ietf.org>; Mon, 13 May 2013 06:55:54 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:x-received:date:message-id:subject:from:to :content-type; bh=OdlYNtxDfOnPnIbH9pQ+u9gDdTcoD0r16IuzeJKDB0g=; b=XE6/tcSWN0e5H6+gPSoIJZ6zF2xxYxN+E7GexFbxL2sPDu2LpS9WmQDEHPyligR6VP r0STkoJ+PgBRdJYuybb7H5i8/G8pNB3u3Mp1En/Xf3WEjxRzRde32+meb4OJ5O8v7kNP cK6qkCRAwHNYI99bdIBgNxYR5kQB58aUtQHsMJ+DB638BEESNFrZDsieNESpBc2PHZJ6 7vo1Avp6GidYzeLxK7H36WaBJljwXxYIA/d75BoiBoLAWTWLGBd0pU7IB9nuWilIEFD1 Zv5sh7ku9ip9g6eZu+J4F7vz6SRKq/zijY/Mjw9DMMLEK5yHa/UnfuTo1qiVjBEFrwXU QSkg==
MIME-Version: 1.0
X-Received: by 10.112.159.1 with SMTP id wy1mr12880905lbb.80.1368453354194; Mon, 13 May 2013 06:55:54 -0700 (PDT)
Received: by 10.114.184.20 with HTTP; Mon, 13 May 2013 06:55:54 -0700 (PDT)
Date: Mon, 13 May 2013 16:55:54 +0300
Message-ID: <CA+=4G21EcQjbeAAp9HcNqUPFQ_YwMpjbqb_fKO7kkvcnjDngig@mail.gmail.com>
From: Mickael Marrache <mickaelmarrache@gmail.com>
To: drinks@ietf.org
Content-Type: multipart/alternative; boundary=001a11c33e64118b6504dc99e0ff
Subject: [drinks] Change proposal
X-BeenThere: drinks@ietf.org
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: IETF DRINKS WG <drinks.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/drinks>, <mailto:drinks-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/drinks>
List-Post: <mailto:drinks@ietf.org>
List-Help: <mailto:drinks-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/drinks>, <mailto:drinks-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 13 May 2013 13:56:01 -0000

--001a11c33e64118b6504dc99e0ff
Content-Type: text/plain; charset=ISO-8859-1

Hi,

- Exclude the Destination Group's name from the Public Identifier key in
section 5.2.2 of the framework document. Note that I don't mean to exclude
the DG name from the PI type.
- Update section 6.2 and 12 of the framework document accordingly. It
consist of adding a maxOccurs attribute to the dgName element with the
value unbounded. This way, it will be possible to associate the PI with
multiple DGs. After the change, the PubIdType would look like:

<complexType name="PubIdType" abstract="true">
    <complexContent>
     <extension base="sppfb:BasicObjType">
      <sequence>
       <element name="dgName" type="sppfb:ObjNameType" minOccurs="0"
maxOccurs="unbounded"/>
      </sequence>
     </extension>
    </complexContent>
</complexType>

Since we agreed the COR is intrinsic to the PI (i.e. it doesn't depend on
the association with a particular DG), this element should stay in the
derived types of PubIdType.

- Update sections 7.1.2 and 9 of the SOAP document.

*Pros:*
-For REST, the API is more intuitive since a single URI template is defined
for PIs while two URI templates are defined with the current model (i.e.
one for in-DG PIs and another for standalone PIs).
-Less duplication of data when PIs are manipulated. For example, in order
to associate the number 12345 to 4 DGs with the current model, 4 ADD
requests are sent. These requests contain the same data except the dgName
element. With the proposed changes, only 1 ADD request is sent.
-With the current model, different COR may be provided for the number 12345
and it is an error as we discussed. With the proposed changes, for a given
PI, the COR is defined only once so this unexpected scenario cannot happen.
-Also concerning COR, with the current model, if the registry is
authoritative, a registrant would have to set the same COR for a telephone
number when it associates it to multiple DGssince a registrant must set the
COR when it associates

*Cons:*
-Lack of flexibility. If flexibility means the ability to populate
different information for the "same" PI depending on which DG it is
associated to, I think the right way to do is to use a dedicated type for
the association as it is done for the SED Group-SED Record association. The
only thing I see behind the term flexibility is the fact that the current
model is better suited for data distribution where for example, multiple
PIs representing the same telephone number are stored at different places.
But, I think this concept is irrelevant at the provisioning protocol level.
-Need to make some modifications to both documents while they are closed to
become RFCs. The changes are not big and I can allocate time to write them.

*Another related point:*

Currently, there are no additional elements that describe the PI-DG
association (as for example, the priority element in the SED Group-SED
Record association). Therefore, the association is represented by a list of
ObjNameType (i.e. simple string). With the current model, this is enough
since a new PI instance is created for each PI-DG association. With the
proposed changes, it would be better to follow the same model as for the
SED Group-SED Record association (i.e. using a new type, for example,
DestGrpRefType) so that additional attributes may be added to the
association in the future.

Mickael

--001a11c33e64118b6504dc99e0ff
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr">Hi,<br><br>- Exclude the Destination Group&#39;s name from=
 the Public Identifier key in section 5.2.2 of the framework document. Note=
 that I don&#39;t mean to exclude the DG name from the PI type.<br>
- Update section 6.2 and 12 of the framework document accordingly. It consi=
st of adding a maxOccurs attribute to the dgName element with the value unb=
ounded. This way, it will be possible to associate the PI with multiple DGs=
. After the change, the PubIdType would look like:<br>


<pre>&lt;complexType name=3D&quot;PubIdType&quot; abstract=3D&quot;true&quo=
t;&gt;
    &lt;complexContent&gt;
     &lt;extension base=3D&quot;sppfb:BasicObjType&quot;&gt;
      &lt;sequence&gt;
       &lt;element name=3D&quot;dgName&quot; type=3D&quot;sppfb:ObjNameType=
&quot; minOccurs=3D&quot;0&quot; maxOccurs=3D&quot;unbounded&quot;/&gt;
      &lt;/sequence&gt;
     &lt;/extension&gt;
    &lt;/complexContent&gt;
&lt;/complexType&gt;<br></pre>Since we agreed the COR is intrinsic to the P=
I (i.e. it doesn&#39;t depend on the association with a particular DG), thi=
s element should stay in the derived types of PubIdType.<br><br>- Update se=
ctions 7.1.2 and 9 of the SOAP document.<br>
<br>
<u>Pros:</u><br>
-For REST, the API is more intuitive since a single URI template is defined=
 for PIs while two URI templates are defined with the current model (i.e. o=
ne for in-DG PIs and another for standalone PIs).<br>-Less duplication of d=
ata when PIs are manipulated. For example, in order to associate the number=
 12345 to 4 DGs with the current model, 4 ADD requests are sent. These requ=
ests contain the same data except the dgName element. With the proposed cha=
nges, only 1 ADD request is sent.<br>


-With the current model, different COR may be provided for the number 12345=
 and it is an error as we discussed. With the proposed changes, for a given=
 PI, the COR is defined only once so this unexpected scenario cannot happen=
.<br>


-Also concerning COR, with the current model, if the registry is authoritat=
ive, a registrant would have to set the same COR for a telephone number whe=
n it associates it to multiple DGssince a registrant must set the COR when =
it associates <br>


<br><u>Cons:</u><br>-Lack of flexibility. If flexibility means the ability =
to populate different information for the &quot;same&quot; PI depending on =
which DG it is associated to, I think the right way to do is to use a dedic=
ated type for the association as it is done for the SED Group-SED Record as=
sociation. The only thing I see behind the term flexibility is the fact tha=
t the current model is better suited for data distribution where for exampl=
e, multiple PIs representing the same telephone number are stored at differ=
ent places. But, I think this concept is irrelevant at the provisioning pro=
tocol level.<br>


-Need to make some modifications to both documents while they are closed to=
 become RFCs. The changes are not big and I can allocate time to write them=
.<br><br><u>Another related point:</u><br><br>Currently, there are no addit=
ional elements that describe the PI-DG association (as for example, the pri=
ority element in the SED Group-SED Record association). Therefore, the asso=
ciation is represented by a list of ObjNameType (i.e. simple string). With =
the current model, this is enough since a new PI instance is created for ea=
ch PI-DG association. With the proposed changes, it would be better to foll=
ow the same model as for the SED Group-SED Record association (i.e. using a=
 new type, for example, DestGrpRefType) so that additional attributes may b=
e added to the association in the future.<br>
<br>Mickael<br>

</div>

--001a11c33e64118b6504dc99e0ff--

From dean.willis@softarmor.com  Thu May 16 09:10:24 2013
Return-Path: <dean.willis@softarmor.com>
X-Original-To: drinks@ietfa.amsl.com
Delivered-To: drinks@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 72DA011E80FC for <drinks@ietfa.amsl.com>; Thu, 16 May 2013 09:10:24 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -101.977
X-Spam-Level: 
X-Spam-Status: No, score=-101.977 tagged_above=-999 required=5 tests=[BAYES_00=-2.599, FM_FORGED_GMAIL=0.622, HTML_MESSAGE=0.001, NO_RELAYS=-0.001, USER_IN_WHITELIST=-100]
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 RXzLot6Obn5I for <drinks@ietfa.amsl.com>; Thu, 16 May 2013 09:10:22 -0700 (PDT)
Received: from mail-qc0-x22c.google.com (mail-qc0-x22c.google.com [IPv6:2607:f8b0:400d:c01::22c]) by ietfa.amsl.com (Postfix) with ESMTP id 90A1421F93B1 for <drinks@ietf.org>; Thu, 16 May 2013 09:10:22 -0700 (PDT)
Received: by mail-qc0-f172.google.com with SMTP id z1so1153736qcx.31 for <drinks@ietf.org>; Thu, 16 May 2013 09:10:22 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=softarmor.com; s=google; h=mime-version:x-received:in-reply-to:references:date:message-id :subject:from:to:cc:content-type; bh=FoYxzcG/pYUQ5ad4kxNZG7LICla21MFWC0Rc2aaUMm4=; b=OCyAadPCMG0WzQDCwKqwAK/HwOxQmUOMytXbqxSifE/y+ZpXSHSO1MJTKHsdEqFQM3 TOhcm5/QmYx+DlbZC3uSrljp9ddpVcmdSxJ/j82J67ExikeB0f3dIDGhKrdCdec2LQ+M lPxiVxxXJeaOF0/2aJ5sib7pxcXNyv+2fyvaU=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20120113; h=mime-version:x-received:in-reply-to:references:date:message-id :subject:from:to:cc:content-type:x-gm-message-state; bh=FoYxzcG/pYUQ5ad4kxNZG7LICla21MFWC0Rc2aaUMm4=; b=Fnjv+FM9ZVSilgoVT+ngiXoEtTdnAqNGKQNT+ugcKO8DxHYauGd8F/d5slFDPjc7jk XfdULjDnFSe2MSzoBXN9uClV+Rij5QYRwLm9mnQM37lzaIK7GG0LVXET/aFyfQq9ofMi 3d+wHH3qsN54Letlulq8JuuVutYt7QzWrAi8sbyZ+aAlMrauDgbDVMavZavZy7kCFUt8 qyEjYXPJGuBlJSWTAuNNiE5uTtRRR2N2CXwCgZlbH7aAPhyDpd7aNbxgFQDF/zI0TlIA 03ZKxINad6eFlBHGwcgJeODgV0BoR0uo1E5RqRQHynR0sf8bV0gZLa2avzqTDfEi9Yh0 Q/nQ==
MIME-Version: 1.0
X-Received: by 10.49.14.135 with SMTP id p7mr6545682qec.57.1368720621966; Thu, 16 May 2013 09:10:21 -0700 (PDT)
Received: by 10.49.104.50 with HTTP; Thu, 16 May 2013 09:10:21 -0700 (PDT)
In-Reply-To: <CA+=4G21EcQjbeAAp9HcNqUPFQ_YwMpjbqb_fKO7kkvcnjDngig@mail.gmail.com>
References: <CA+=4G21EcQjbeAAp9HcNqUPFQ_YwMpjbqb_fKO7kkvcnjDngig@mail.gmail.com>
Date: Thu, 16 May 2013 11:10:21 -0500
Message-ID: <CAOHm=4u76h=be8=5yXCARcuRnR0pswMd5VvE9RHCNTjY8_QWxg@mail.gmail.com>
From: Dean Willis <dean.willis@softarmor.com>
To: Mickael Marrache <mickaelmarrache@gmail.com>
Content-Type: multipart/alternative; boundary=047d7bb04e36782b1404dcd81a54
X-Gm-Message-State: ALoCoQmtTjl0eKpFDjH0S+faWXByNV0ckeS0cQIqmkRanvFozj7f6eckd4UkUvrvECmV84J2gA3e
Cc: "drinks@ietf.org" <drinks@ietf.org>
Subject: Re: [drinks] Change proposal
X-BeenThere: drinks@ietf.org
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: IETF DRINKS WG <drinks.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/drinks>, <mailto:drinks-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/drinks>
List-Post: <mailto:drinks@ietf.org>
List-Help: <mailto:drinks-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/drinks>, <mailto:drinks-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 16 May 2013 16:10:24 -0000

--047d7bb04e36782b1404dcd81a54
Content-Type: text/plain; charset=ISO-8859-1

I think the current "optional key" model is complicated.

If we need the functionality, there are alternative structures that could
provide it with fewer headaches.

If we don't need the functionality, then Mickael's modification makes the
structure simpler and easier to understand.

And I think "simpler and easier to understand" is a good selling point for
wider adoption of the protocol.

So: first question: Do we need the functionality?


On Mon, May 13, 2013 at 8:55 AM, Mickael Marrache <mickaelmarrache@gmail.com
> wrote:

> Hi,
>
> - Exclude the Destination Group's name from the Public Identifier key in
> section 5.2.2 of the framework document. Note that I don't mean to exclude
> the DG name from the PI type.
> - Update section 6.2 and 12 of the framework document accordingly. It
> consist of adding a maxOccurs attribute to the dgName element with the
> value unbounded. This way, it will be possible to associate the PI with
> multiple DGs. After the change, the PubIdType would look like:
>
> <complexType name="PubIdType" abstract="true">
>     <complexContent>
>      <extension base="sppfb:BasicObjType">
>       <sequence>
>        <element name="dgName" type="sppfb:ObjNameType" minOccurs="0" maxOccurs="unbounded"/>
>       </sequence>
>      </extension>
>     </complexContent>
> </complexType>
>
> Since we agreed the COR is intrinsic to the PI (i.e. it doesn't depend on
> the association with a particular DG), this element should stay in the
> derived types of PubIdType.
>
> - Update sections 7.1.2 and 9 of the SOAP document.
>
> *Pros:*
> -For REST, the API is more intuitive since a single URI template is
> defined for PIs while two URI templates are defined with the current model
> (i.e. one for in-DG PIs and another for standalone PIs).
> -Less duplication of data when PIs are manipulated. For example, in order
> to associate the number 12345 to 4 DGs with the current model, 4 ADD
> requests are sent. These requests contain the same data except the dgName
> element. With the proposed changes, only 1 ADD request is sent.
> -With the current model, different COR may be provided for the number
> 12345 and it is an error as we discussed. With the proposed changes, for a
> given PI, the COR is defined only once so this unexpected scenario cannot
> happen.
> -Also concerning COR, with the current model, if the registry is
> authoritative, a registrant would have to set the same COR for a telephone
> number when it associates it to multiple DGssince a registrant must set the
> COR when it associates
>
> *Cons:*
> -Lack of flexibility. If flexibility means the ability to populate
> different information for the "same" PI depending on which DG it is
> associated to, I think the right way to do is to use a dedicated type for
> the association as it is done for the SED Group-SED Record association. The
> only thing I see behind the term flexibility is the fact that the current
> model is better suited for data distribution where for example, multiple
> PIs representing the same telephone number are stored at different places.
> But, I think this concept is irrelevant at the provisioning protocol level.
> -Need to make some modifications to both documents while they are closed
> to become RFCs. The changes are not big and I can allocate time to write
> them.
>
> *Another related point:*
>
> Currently, there are no additional elements that describe the PI-DG
> association (as for example, the priority element in the SED Group-SED
> Record association). Therefore, the association is represented by a list of
> ObjNameType (i.e. simple string). With the current model, this is enough
> since a new PI instance is created for each PI-DG association. With the
> proposed changes, it would be better to follow the same model as for the
> SED Group-SED Record association (i.e. using a new type, for example,
> DestGrpRefType) so that additional attributes may be added to the
> association in the future.
>
> Mickael
>
> _______________________________________________
> drinks mailing list
> drinks@ietf.org
> https://www.ietf.org/mailman/listinfo/drinks
>
>

--047d7bb04e36782b1404dcd81a54
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr">I think the current &quot;optional key&quot; model is comp=
licated.<div><br></div><div style>If we need the functionality, there are a=
lternative structures that could provide it with fewer headaches.<br><br>If=
 we don&#39;t need the functionality, then Mickael&#39;s modification makes=
 the structure simpler and easier to understand.</div>
<div style><br></div><div style>And I think &quot;simpler and easier to und=
erstand&quot; is a good selling point for wider adoption of the protocol.=
=A0<br><br>So: first question: Do we need the functionality?</div></div><di=
v class=3D"gmail_extra">
<br><br><div class=3D"gmail_quote">On Mon, May 13, 2013 at 8:55 AM, Mickael=
 Marrache <span dir=3D"ltr">&lt;<a href=3D"mailto:mickaelmarrache@gmail.com=
" target=3D"_blank">mickaelmarrache@gmail.com</a>&gt;</span> wrote:<br><blo=
ckquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1px #c=
cc solid;padding-left:1ex">
<div dir=3D"ltr">Hi,<br><br>- Exclude the Destination Group&#39;s name from=
 the Public Identifier key in section 5.2.2 of the framework document. Note=
 that I don&#39;t mean to exclude the DG name from the PI type.<br>
- Update section 6.2 and 12 of the framework document accordingly. It consi=
st of adding a maxOccurs attribute to the dgName element with the value unb=
ounded. This way, it will be possible to associate the PI with multiple DGs=
. After the change, the PubIdType would look like:<br>



<pre>&lt;complexType name=3D&quot;PubIdType&quot; abstract=3D&quot;true&quo=
t;&gt;
    &lt;complexContent&gt;
     &lt;extension base=3D&quot;sppfb:BasicObjType&quot;&gt;
      &lt;sequence&gt;
       &lt;element name=3D&quot;dgName&quot; type=3D&quot;sppfb:ObjNameType=
&quot; minOccurs=3D&quot;0&quot; maxOccurs=3D&quot;unbounded&quot;/&gt;
      &lt;/sequence&gt;
     &lt;/extension&gt;
    &lt;/complexContent&gt;
&lt;/complexType&gt;<br></pre>Since we agreed the COR is intrinsic to the P=
I (i.e. it doesn&#39;t depend on the association with a particular DG), thi=
s element should stay in the derived types of PubIdType.<br><br>- Update se=
ctions 7.1.2 and 9 of the SOAP document.<br>

<br>
<u>Pros:</u><br>
-For REST, the API is more intuitive since a single URI template is defined=
 for PIs while two URI templates are defined with the current model (i.e. o=
ne for in-DG PIs and another for standalone PIs).<br>-Less duplication of d=
ata when PIs are manipulated. For example, in order to associate the number=
 12345 to 4 DGs with the current model, 4 ADD requests are sent. These requ=
ests contain the same data except the dgName element. With the proposed cha=
nges, only 1 ADD request is sent.<br>



-With the current model, different COR may be provided for the number 12345=
 and it is an error as we discussed. With the proposed changes, for a given=
 PI, the COR is defined only once so this unexpected scenario cannot happen=
.<br>



-Also concerning COR, with the current model, if the registry is authoritat=
ive, a registrant would have to set the same COR for a telephone number whe=
n it associates it to multiple DGssince a registrant must set the COR when =
it associates <br>



<br><u>Cons:</u><br>-Lack of flexibility. If flexibility means the ability =
to populate different information for the &quot;same&quot; PI depending on =
which DG it is associated to, I think the right way to do is to use a dedic=
ated type for the association as it is done for the SED Group-SED Record as=
sociation. The only thing I see behind the term flexibility is the fact tha=
t the current model is better suited for data distribution where for exampl=
e, multiple PIs representing the same telephone number are stored at differ=
ent places. But, I think this concept is irrelevant at the provisioning pro=
tocol level.<br>



-Need to make some modifications to both documents while they are closed to=
 become RFCs. The changes are not big and I can allocate time to write them=
.<br><br><u>Another related point:</u><br><br>Currently, there are no addit=
ional elements that describe the PI-DG association (as for example, the pri=
ority element in the SED Group-SED Record association). Therefore, the asso=
ciation is represented by a list of ObjNameType (i.e. simple string). With =
the current model, this is enough since a new PI instance is created for ea=
ch PI-DG association. With the proposed changes, it would be better to foll=
ow the same model as for the SED Group-SED Record association (i.e. using a=
 new type, for example, DestGrpRefType) so that additional attributes may b=
e added to the association in the future.<span class=3D"HOEnZb"><font color=
=3D"#888888"><br>

<br>Mickael<br>

</font></span></div>
<br>_______________________________________________<br>
drinks mailing list<br>
<a href=3D"mailto:drinks@ietf.org">drinks@ietf.org</a><br>
<a href=3D"https://www.ietf.org/mailman/listinfo/drinks" target=3D"_blank">=
https://www.ietf.org/mailman/listinfo/drinks</a><br>
<br></blockquote></div><br></div>

--047d7bb04e36782b1404dcd81a54--

From alexander.mayrhofer@nic.at  Tue May 21 03:20:35 2013
Return-Path: <alexander.mayrhofer@nic.at>
X-Original-To: drinks@ietfa.amsl.com
Delivered-To: drinks@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 61EEB21F9008 for <drinks@ietfa.amsl.com>; Tue, 21 May 2013 03:20:35 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -9.43
X-Spam-Level: 
X-Spam-Status: No, score=-9.43 tagged_above=-999 required=5 tests=[BAYES_00=-2.599, HELO_EQ_AT=0.424, HOST_EQ_AT=0.745, RCVD_IN_DNSWL_HI=-8]
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 3Eh1+IPrN6L2 for <drinks@ietfa.amsl.com>; Tue, 21 May 2013 03:20:30 -0700 (PDT)
Received: from mail.sbg.nic.at (mail.sbg.nic.at [83.136.33.227]) by ietfa.amsl.com (Postfix) with ESMTP id AA61921F920E for <drinks@ietf.org>; Tue, 21 May 2013 03:20:27 -0700 (PDT)
Received: from nics-exch2.sbg.nic.at ([10.17.175.6]) by mail.sbg.nic.at over TLS secured channel (TLSv1:AES128-SHA:128) with XWall v3.49 ; Tue, 21 May 2013 12:17:04 +0200
Received: from NICS-EXCH2.sbg.nic.at ([fe80::a5b2:6e42:e54d:9d57]) by NICS-EXCH2.sbg.nic.at ([fe80::a5b2:6e42:e54d:9d57%12]) with mapi id 14.03.0123.003; Tue, 21 May 2013 12:20:20 +0200
From: Alexander Mayrhofer <alexander.mayrhofer@nic.at>
To: "drinks@ietf.org" <drinks@ietf.org>
Thread-Topic: DRAFT minutes of the 2013-05-16 conference call.
Thread-Index: Ac5WC2CkxZZE/wXAQJ+MeSaZ2npL5A==
Date: Tue, 21 May 2013 10:20:19 +0000
Message-ID: <19F54F2956911544A32543B8A9BDE0750A24C705@NICS-EXCH2.sbg.nic.at>
Accept-Language: en-US, de-DE
Content-Language: de-DE
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-originating-ip: [10.10.0.162]
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-XWALL-BCKS: auto
Subject: [drinks] DRAFT minutes of the 2013-05-16 conference call.
X-BeenThere: drinks@ietf.org
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: IETF DRINKS WG <drinks.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/drinks>, <mailto:drinks-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/drinks>
List-Post: <mailto:drinks@ietf.org>
List-Help: <mailto:drinks-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/drinks>, <mailto:drinks-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 21 May 2013 10:20:35 -0000

DRINKS design team conference call
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D

2013-05-16, 08:30 - 09:00am Pacific Time

Participants
--------------

  - Mickael Marrache
  - Dean Willis
  - Alex Mayrhofer
  - David Schwartz
  - Syed Ali
  - Vikas Bhatia

AI
---

1/ (All) Post PROs and CONs regarding DGname as component of PI Key Type to=
 mailing list  (if not yet posted)
2/ (Design Team) Make informed decision based on full information

Minutes
----------

1) clarification that cardinality mistake in diagram is solved - will be ch=
anged  (Figure 2 - Relation between PI and DG)

2) discussion about whether DGname should be part of the publickeytype.

Vikas: What new information came to table that we didn't have before?
David: Implementation work brought this up.
Alex (individual): Having optional attribute as key component sounds illogi=
cal (although understand that NULL values can be key components)
Vikas: What do we gain when we remove it?
David: Implementation is much easier.
Dean: Simplification might subsequently lead to more deployment?

Vikas: two options - again, what new has come to light to change this forme=
r decision?
Dean: Optional keys & hibernation in DB are complex..
Vikas: We need more arguments than just "this is complex"
David: Only Counter-argument he hears is "let's not change it" - Can someon=
e come up with a use case why this is needen, What the advantage is to leav=
e it in besides avoiding a change?
Vikas: Argument is not inertia, but what is the new information?
David: new info is implementation experience.
David: Optional parameter as key component is not the way to do data modesl=
.=20
Vikas: Depends on the case.

Alex (as chair):=20
Conclusion: No concensus yet. We Need more information - Please post PROs a=
nd CONs to the list,=20
so that we can make an informed decision, hopefully over the course of the =
next week

Call concludes.



From sumanth@cablelabs.com  Wed May 22 15:27:07 2013
Return-Path: <sumanth@cablelabs.com>
X-Original-To: drinks@ietfa.amsl.com
Delivered-To: drinks@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id D80F811E813A for <drinks@ietfa.amsl.com>; Wed, 22 May 2013 15:27:07 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -0.463
X-Spam-Level: 
X-Spam-Status: No, score=-0.463 tagged_above=-999 required=5 tests=[BAYES_00=-2.599, HELO_EQ_MODEMCABLE=0.768, HOST_EQ_MODEMCABLE=1.368]
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 QAaq2N52WWGr for <drinks@ietfa.amsl.com>; Wed, 22 May 2013 15:27:03 -0700 (PDT)
Received: from ondar.cablelabs.com (ondar.cablelabs.com [192.160.73.61]) by ietfa.amsl.com (Postfix) with ESMTP id 3DB6711E814B for <drinks@ietf.org>; Wed, 22 May 2013 15:27:00 -0700 (PDT)
Received: from kyzyl.cablelabs.com (kyzyl [10.253.0.7]) by ondar.cablelabs.com (8.14.5/8.14.5) with ESMTP id r4MMQxZ1029160 for <drinks@ietf.org>; Wed, 22 May 2013 16:26:59 -0600
Received: from exchange.cablelabs.com (10.5.0.19) by kyzyl.cablelabs.com (F-Secure/fsigk_smtp/407/kyzyl.cablelabs.com); Wed, 22 May 2013 16:26:59 -0600 (MDT)
X-Virus-Status: clean(F-Secure/fsigk_smtp/407/kyzyl.cablelabs.com)
Received: from EXCHANGE.cablelabs.com ([fe80::797a:96d1:3c53:18ee]) by EXCHANGE.cablelabs.com ([fe80::797a:96d1:3c53:18ee%11]) with mapi id 14.03.0123.003; Wed, 22 May 2013 16:26:59 -0600
From: Sumanth Channabasappa <sumanth@cablelabs.com>
To: "drinks@ietf.org" <drinks@ietf.org>
Thread-Topic: [drinks] DRAFT minutes of the 2013-05-16 conference call.
Thread-Index: Ac5WC2CkxZZE/wXAQJ+MeSaZ2npL5ABMBd2A
Date: Wed, 22 May 2013 22:26:58 +0000
Message-ID: <CDC2A1E6.33D19%sumanth@cablelabs.com>
In-Reply-To: <19F54F2956911544A32543B8A9BDE0750A24C705@NICS-EXCH2.sbg.nic.at>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
user-agent: Microsoft-MacOutlook/14.3.4.130416
x-originating-ip: [10.5.0.27]
Content-Type: text/plain; charset="us-ascii"
Content-ID: <CC6CE58ADE36ED459D6EF9A5784D04DB@cablelabs.com>
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-Approved: ondar
Subject: Re: [drinks] DRAFT minutes of the 2013-05-16 conference call.
X-BeenThere: drinks@ietf.org
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: IETF DRINKS WG <drinks.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/drinks>, <mailto:drinks-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/drinks>
List-Post: <mailto:drinks@ietf.org>
List-Help: <mailto:drinks-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/drinks>, <mailto:drinks-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 22 May 2013 22:27:08 -0000

Folks,

Can you please post your thoughts around the pros and cons as you seem
them so that we can resolve this topic? It will be useful to have this (on
the list) before we have another design team call. See below for details.

Thanks!
- S (as the co-chair)

On 5/21/13 4:20 AM, "Alexander Mayrhofer" <alexander.mayrhofer@nic.at>
wrote:

>
>DRINKS design team conference call
>=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D
>
>2013-05-16, 08:30 - 09:00am Pacific Time
>
>Participants
>--------------
>
>  - Mickael Marrache
>  - Dean Willis
>  - Alex Mayrhofer
>  - David Schwartz
>  - Syed Ali
>  - Vikas Bhatia
>
>AI
>---
>
>1/ (All) Post PROs and CONs regarding DGname as component of PI Key Type
>to mailing list  (if not yet posted)
>2/ (Design Team) Make informed decision based on full information
>
>Minutes
>----------
>
>1) clarification that cardinality mistake in diagram is solved - will be
>changed  (Figure 2 - Relation between PI and DG)
>
>2) discussion about whether DGname should be part of the publickeytype.
>
>Vikas: What new information came to table that we didn't have before?
>David: Implementation work brought this up.
>Alex (individual): Having optional attribute as key component sounds
>illogical (although understand that NULL values can be key components)
>Vikas: What do we gain when we remove it?
>David: Implementation is much easier.
>Dean: Simplification might subsequently lead to more deployment?
>
>Vikas: two options - again, what new has come to light to change this
>former decision?
>Dean: Optional keys & hibernation in DB are complex..
>Vikas: We need more arguments than just "this is complex"
>David: Only Counter-argument he hears is "let's not change it" - Can
>someone come up with a use case why this is needen, What the advantage is
>to leave it in besides avoiding a change?
>Vikas: Argument is not inertia, but what is the new information?
>David: new info is implementation experience.
>David: Optional parameter as key component is not the way to do data
>modesl.=20
>Vikas: Depends on the case.
>
>Alex (as chair):=20
>Conclusion: No concensus yet. We Need more information - Please post PROs
>and CONs to the list,
>so that we can make an informed decision, hopefully over the course of
>the next week
>
>Call concludes.
>
>
>_______________________________________________
>drinks mailing list
>drinks@ietf.org
>https://www.ietf.org/mailman/listinfo/drinks
>


From kcartwright@tnsi.com  Tue May 28 13:01:05 2013
Return-Path: <kcartwright@tnsi.com>
X-Original-To: drinks@ietfa.amsl.com
Delivered-To: drinks@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id C24EF21F92B7 for <drinks@ietfa.amsl.com>; Tue, 28 May 2013 13:01:05 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.598
X-Spam-Level: 
X-Spam-Status: No, score=-2.598 tagged_above=-999 required=5 tests=[BAYES_00=-2.599, HTML_MESSAGE=0.001]
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 5xBjqn50IOgB for <drinks@ietfa.amsl.com>; Tue, 28 May 2013 13:01:00 -0700 (PDT)
Received: from relayus.tnsi.com (relayus.tnsi.com [208.224.248.44]) by ietfa.amsl.com (Postfix) with ESMTP id 1A88621F9104 for <drinks@ietf.org>; Tue, 28 May 2013 13:00:59 -0700 (PDT)
X-IronPort-Anti-Spam-Filtered: true
X-IronPort-Anti-Spam-Result: AqUFAOULpVGsEQfn/2dsb2JhbABZgkR0wiKBHXSCIwEBBS1cAgEIEQQBASgHMhQJCAEBBAESCMN+jWuBAQQzAQaCbWEDk2qYPIFV
X-IronPort-AV: E=Sophos;i="4.87,759,1363132800"; d="scan'208,217";a="2468762"
Received: from mail-hub-na.win2k.corp.tnsi.com ([172.17.7.231]) by relayus.tnsi.com with ESMTP/TLS/RC4-MD5; 28 May 2013 20:46:33 +0100
Received: from TNS-MAIL-NA.win2k.corp.tnsi.com ([172.17.7.219]) by MAIL-HUB-NA.win2k.corp.tnsi.com ([172.17.7.231]) with mapi; Tue, 28 May 2013 16:00:57 -0400
From: "Cartwright, Ken" <kcartwright@tnsi.com>
To: Mickael Marrache <mickaelmarrache@gmail.com>, "drinks@ietf.org" <drinks@ietf.org>
Date: Tue, 28 May 2013 16:00:57 -0400
Thread-Topic: [drinks] Change proposal
Thread-Index: Ac5P4Z7zfDGbgC50TKWHUeI4wZ9jLAL+dzRw
Message-ID: <B4254E341B54864B92D28BC2138A9DC3032971FFB3@TNS-MAIL-NA.win2k.corp.tnsi.com>
References: <CA+=4G21EcQjbeAAp9HcNqUPFQ_YwMpjbqb_fKO7kkvcnjDngig@mail.gmail.com>
In-Reply-To: <CA+=4G21EcQjbeAAp9HcNqUPFQ_YwMpjbqb_fKO7kkvcnjDngig@mail.gmail.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
acceptlanguage: en-US
Content-Type: multipart/alternative; boundary="_000_B4254E341B54864B92D28BC2138A9DC3032971FFB3TNSMAILNAwin2_"
MIME-Version: 1.0
Subject: Re: [drinks] Change proposal
X-BeenThere: drinks@ietf.org
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: IETF DRINKS WG <drinks.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/drinks>, <mailto:drinks-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/drinks>
List-Post: <mailto:drinks@ietf.org>
List-Help: <mailto:drinks-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/drinks>, <mailto:drinks-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 28 May 2013 20:01:06 -0000

--_000_B4254E341B54864B92D28BC2138A9DC3032971FFB3TNSMAILNAwin2_
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable

Hi All,

After discussions with some others on this proposed change, I think I can l=
ive with this change, although some intrinsic changes would have to be made=
 to the way an existing system works to accommodate this change.  So from m=
y perspective, feel free to make this change if you feel the need to do so.

Ken

From: drinks-bounces@ietf.org [mailto:drinks-bounces@ietf.org] On Behalf Of=
 Mickael Marrache
Sent: Monday, May 13, 2013 9:56 AM
To: drinks@ietf.org
Subject: [drinks] Change proposal

Hi,

- Exclude the Destination Group's name from the Public Identifier key in se=
ction 5.2.2 of the framework document. Note that I don't mean to exclude th=
e DG name from the PI type.
- Update section 6.2 and 12 of the framework document accordingly. It consi=
st of adding a maxOccurs attribute to the dgName element with the value unb=
ounded. This way, it will be possible to associate the PI with multiple DGs=
. After the change, the PubIdType would look like:

<complexType name=3D"PubIdType" abstract=3D"true">

    <complexContent>

     <extension base=3D"sppfb:BasicObjType">

      <sequence>

       <element name=3D"dgName" type=3D"sppfb:ObjNameType" minOccurs=3D"0" =
maxOccurs=3D"unbounded"/>

      </sequence>

     </extension>

    </complexContent>

</complexType>
Since we agreed the COR is intrinsic to the PI (i.e. it doesn't depend on t=
he association with a particular DG), this element should stay in the deriv=
ed types of PubIdType.

- Update sections 7.1.2 and 9 of the SOAP document.

Pros:
-For REST, the API is more intuitive since a single URI template is defined=
 for PIs while two URI templates are defined with the current model (i.e. o=
ne for in-DG PIs and another for standalone PIs).
-Less duplication of data when PIs are manipulated. For example, in order t=
o associate the number 12345 to 4 DGs with the current model, 4 ADD request=
s are sent. These requests contain the same data except the dgName element.=
 With the proposed changes, only 1 ADD request is sent.
-With the current model, different COR may be provided for the number 12345=
 and it is an error as we discussed. With the proposed changes, for a given=
 PI, the COR is defined only once so this unexpected scenario cannot happen=
.
-Also concerning COR, with the current model, if the registry is authoritat=
ive, a registrant would have to set the same COR for a telephone number whe=
n it associates it to multiple DGssince a registrant must set the COR when =
it associates

Cons:
-Lack of flexibility. If flexibility means the ability to populate differen=
t information for the "same" PI depending on which DG it is associated to, =
I think the right way to do is to use a dedicated type for the association =
as it is done for the SED Group-SED Record association. The only thing I se=
e behind the term flexibility is the fact that the current model is better =
suited for data distribution where for example, multiple PIs representing t=
he same telephone number are stored at different places. But, I think this =
concept is irrelevant at the provisioning protocol level.
-Need to make some modifications to both documents while they are closed to=
 become RFCs. The changes are not big and I can allocate time to write them=
.

Another related point:

Currently, there are no additional elements that describe the PI-DG associa=
tion (as for example, the priority element in the SED Group-SED Record asso=
ciation). Therefore, the association is represented by a list of ObjNameTyp=
e (i.e. simple string). With the current model, this is enough since a new =
PI instance is created for each PI-DG association. With the proposed change=
s, it would be better to follow the same model as for the SED Group-SED Rec=
ord association (i.e. using a new type, for example, DestGrpRefType) so tha=
t additional attributes may be added to the association in the future.

Mickael

________________________________
This e-mail message is for the sole use of the intended recipient(s)and may
contain confidential and privileged information of Transaction Network Serv=
ices.
Any unauthorised review, use, disclosure or distribution is prohibited. If =
you
are not the intended recipient, please contact the sender by reply e-mail a=
nd destroy all copies of the original message.


--_000_B4254E341B54864B92D28BC2138A9DC3032971FFB3TNSMAILNAwin2_
Content-Type: text/html; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable

<html xmlns:v=3D"urn:schemas-microsoft-com:vml" xmlns:o=3D"urn:schemas-micr=
osoft-com:office:office" xmlns:w=3D"urn:schemas-microsoft-com:office:word" =
xmlns:m=3D"http://schemas.microsoft.com/office/2004/12/omml" xmlns=3D"http:=
//www.w3.org/TR/REC-html40">
<head>
<meta http-equiv=3D"Content-Type" content=3D"text/html; charset=3Dus-ascii"=
>
<meta name=3D"Generator" content=3D"Microsoft Word 14 (filtered medium)">
<style><!--
/* Font Definitions */
@font-face
	{font-family:Calibri;
	panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
	{font-family:Tahoma;
	panose-1:2 11 6 4 3 5 4 4 2 4;}
@font-face
	{font-family:Consolas;
	panose-1:2 11 6 9 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
	{margin:0in;
	margin-bottom:.0001pt;
	font-size:12.0pt;
	font-family:"Times New Roman","serif";}
a:link, span.MsoHyperlink
	{mso-style-priority:99;
	color:blue;
	text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
	{mso-style-priority:99;
	color:purple;
	text-decoration:underline;}
pre
	{mso-style-priority:99;
	mso-style-link:"HTML Preformatted Char";
	margin:0in;
	margin-bottom:.0001pt;
	font-size:10.0pt;
	font-family:"Courier New";}
span.HTMLPreformattedChar
	{mso-style-name:"HTML Preformatted Char";
	mso-style-priority:99;
	mso-style-link:"HTML Preformatted";
	font-family:Consolas;}
span.EmailStyle19
	{mso-style-type:personal-reply;
	font-family:"Calibri","sans-serif";
	color:#1F497D;}
.MsoChpDefault
	{mso-style-type:export-only;
	font-family:"Calibri","sans-serif";}
@page WordSection1
	{size:8.5in 11.0in;
	margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
	{page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext=3D"edit" spidmax=3D"1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext=3D"edit">
<o:idmap v:ext=3D"edit" data=3D"1" />
</o:shapelayout></xml><![endif]-->
</head>
<body lang=3D"EN-US" link=3D"blue" vlink=3D"purple">
<div class=3D"WordSection1">
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;font-family:&quot;Ca=
libri&quot;,&quot;sans-serif&quot;;color:#1F497D">Hi All,<o:p></o:p></span>=
</p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;font-family:&quot;Ca=
libri&quot;,&quot;sans-serif&quot;;color:#1F497D"><o:p>&nbsp;</o:p></span><=
/p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;font-family:&quot;Ca=
libri&quot;,&quot;sans-serif&quot;;color:#1F497D">After discussions with so=
me others on this proposed change, I think I can live with this change, alt=
hough some intrinsic changes would have to be made to the
 way an existing system works to accommodate this change.&nbsp; So from my =
perspective, feel free to make this change if you feel the need to do so.<o=
:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;font-family:&quot;Ca=
libri&quot;,&quot;sans-serif&quot;;color:#1F497D"><o:p>&nbsp;</o:p></span><=
/p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;font-family:&quot;Ca=
libri&quot;,&quot;sans-serif&quot;;color:#1F497D">Ken<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;font-family:&quot;Ca=
libri&quot;,&quot;sans-serif&quot;;color:#1F497D"><o:p>&nbsp;</o:p></span><=
/p>
<p class=3D"MsoNormal"><b><span style=3D"font-size:10.0pt;font-family:&quot=
;Tahoma&quot;,&quot;sans-serif&quot;">From:</span></b><span style=3D"font-s=
ize:10.0pt;font-family:&quot;Tahoma&quot;,&quot;sans-serif&quot;"> drinks-b=
ounces@ietf.org [mailto:drinks-bounces@ietf.org]
<b>On Behalf Of </b>Mickael Marrache<br>
<b>Sent:</b> Monday, May 13, 2013 9:56 AM<br>
<b>To:</b> drinks@ietf.org<br>
<b>Subject:</b> [drinks] Change proposal<o:p></o:p></span></p>
<p class=3D"MsoNormal"><o:p>&nbsp;</o:p></p>
<div>
<p class=3D"MsoNormal">Hi,<br>
<br>
- Exclude the Destination Group's name from the Public Identifier key in se=
ction 5.2.2 of the framework document. Note that I don't mean to exclude th=
e DG name from the PI type.<br>
- Update section 6.2 and 12 of the framework document accordingly. It consi=
st of adding a maxOccurs attribute to the dgName element with the value unb=
ounded. This way, it will be possible to associate the PI with multiple DGs=
. After the change, the PubIdType
 would look like:<o:p></o:p></p>
<pre>&lt;complexType name=3D&quot;PubIdType&quot; abstract=3D&quot;true&quo=
t;&gt;<o:p></o:p></pre>
<pre>&nbsp;&nbsp;&nbsp; &lt;complexContent&gt;<o:p></o:p></pre>
<pre>&nbsp;&nbsp;&nbsp;&nbsp; &lt;extension base=3D&quot;sppfb:BasicObjType=
&quot;&gt;<o:p></o:p></pre>
<pre>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;sequence&gt;<o:p></o:p></pre>
<pre>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;element name=3D&quot;dgName&q=
uot; type=3D&quot;sppfb:ObjNameType&quot; minOccurs=3D&quot;0&quot; maxOccu=
rs=3D&quot;unbounded&quot;/&gt;<o:p></o:p></pre>
<pre>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/sequence&gt;<o:p></o:p></pre>
<pre>&nbsp;&nbsp;&nbsp;&nbsp; &lt;/extension&gt;<o:p></o:p></pre>
<pre>&nbsp;&nbsp;&nbsp; &lt;/complexContent&gt;<o:p></o:p></pre>
<pre>&lt;/complexType&gt;<o:p></o:p></pre>
<p class=3D"MsoNormal">Since we agreed the COR is intrinsic to the PI (i.e.=
 it doesn't depend on the association with a particular DG), this element s=
hould stay in the derived types of PubIdType.<br>
<br>
- Update sections 7.1.2 and 9 of the SOAP document.<br>
<br>
<u>Pros:</u><br>
-For REST, the API is more intuitive since a single URI template is defined=
 for PIs while two URI templates are defined with the current model (i.e. o=
ne for in-DG PIs and another for standalone PIs).<br>
-Less duplication of data when PIs are manipulated. For example, in order t=
o associate the number 12345 to 4 DGs with the current model, 4 ADD request=
s are sent. These requests contain the same data except the dgName element.=
 With the proposed changes, only
 1 ADD request is sent.<br>
-With the current model, different COR may be provided for the number 12345=
 and it is an error as we discussed. With the proposed changes, for a given=
 PI, the COR is defined only once so this unexpected scenario cannot happen=
.<br>
-Also concerning COR, with the current model, if the registry is authoritat=
ive, a registrant would have to set the same COR for a telephone number whe=
n it associates it to multiple DGssince a registrant must set the COR when =
it associates
<br>
<br>
<u>Cons:</u><br>
-Lack of flexibility. If flexibility means the ability to populate differen=
t information for the &quot;same&quot; PI depending on which DG it is assoc=
iated to, I think the right way to do is to use a dedicated type for the as=
sociation as it is done for the SED Group-SED
 Record association. The only thing I see behind the term flexibility is th=
e fact that the current model is better suited for data distribution where =
for example, multiple PIs representing the same telephone number are stored=
 at different places. But, I think
 this concept is irrelevant at the provisioning protocol level.<br>
-Need to make some modifications to both documents while they are closed to=
 become RFCs. The changes are not big and I can allocate time to write them=
.<br>
<br>
<u>Another related point:</u><br>
<br>
Currently, there are no additional elements that describe the PI-DG associa=
tion (as for example, the priority element in the SED Group-SED Record asso=
ciation). Therefore, the association is represented by a list of ObjNameTyp=
e (i.e. simple string). With the
 current model, this is enough since a new PI instance is created for each =
PI-DG association. With the proposed changes, it would be better to follow =
the same model as for the SED Group-SED Record association (i.e. using a ne=
w type, for example, DestGrpRefType)
 so that additional attributes may be added to the association in the futur=
e.<br>
<br>
Mickael<o:p></o:p></p>
</div>
</div>
<br>
<hr>
<font face=3D"Arial" color=3D"Gray" size=3D"1">This e-mail message is for t=
he sole use of the intended recipient(s)and may<br>
contain confidential and privileged information of Transaction Network Serv=
ices.<br>
Any unauthorised review, use, disclosure or distribution is prohibited. If =
you<br>
are not the intended recipient, please contact the sender by reply e-mail a=
nd destroy all copies of the original message.<br>
<br>
</font>
</body>
</html>

--_000_B4254E341B54864B92D28BC2138A9DC3032971FFB3TNSMAILNAwin2_--
