Re: draft-york-sipping-p-charge-info-12: ABNF
"Asveren, Tolga" <[email protected]> Wed, 30 Nov 2011 15:18:45 -0500
| Newsgroups | gmane.ietf.sipping |
|---|---|
| Message-ID | <033458F56EC2A64E8D2D7B759FA3E7E7040C614C@sonusmail04.sonusnet.com> |
This is a multi-part message in MIME format. --===============4176076014655661954== Content-class: urn:content-classes:message Content-Type: multipart/alternative; boundary="----_=_NextPart_001_01CCAF9D.436DCDED" This is a multi-part message in MIME format. ------_=_NextPart_001_01CCAF9D.436DCDED Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable Brett, =20 The answer for your question is "both", at least that was the intention. =20 Thanks, Tolga =20 From: Haluska, John J [mailto:[email protected]]=20 Sent: Wednesday, November 30, 2011 8:11 AM To: Dan York; Brett Tate Cc: Asveren, Tolga; [email protected] Subject: RE: draft-york-sipping-p-charge-info-12: ABNF =20 Dan, =20 I'll take a look and let you know - I'm out of MIPS at the moment. =20 Thanks for continuing with this even though you've moved on. =20 =20 John =20 =20 =20 From: Dan York [mailto:[email protected]]=20 Sent: Tuesday, November 29, 2011 2:38 PM To: Brett Tate Cc: Tolga Asveren; [email protected]; Haluska, John J Subject: Re: draft-york-sipping-p-charge-info-12: ABNF =20 Brett, (and replying from a slightly different address so that it will go to the SIPPING list) =20 Thank you for the feedback and question. The ABNF in the draft has evolved over the past almost-4 years as various people more literate than I in ABNF have given us feedback and we've updated the draft. =20 In the ABNF section, "chargeparam" is intended to represent that you could optionally have the "noa", "npi" parameters - or any other generic parameters found in RFC 3261(such as "user=3Dphone") =20 Originally, the ABNF read: =20 P-Charge-Info =3D "P-Charge-Info" HCOLON (name-addr / = addr-spec)* (SEMI charge-param) ; name-addr and addr-spec are specified in RFC 3261 <http://tools.ietf.org/html/rfc3261>=20 charge-param =3D npi-param / noa-param / generic-param =20 I thought that was fairly clear and made sense. However, I changed the ABNF in rev -10 in October 2010 to more simply: =20 P-Charge-Info =3D "P-Charge-Info" HCOLON (name-addr / = addr-spec) ; name-addr and addr-spec are specified in RFC 3261 <http://tools.ietf.org/html/rfc3261>=20 charge-param =3D npi-param / noa-param / generic-param =20 after someone strongly made the case that the "* (SEMI charge-param)" was not required because it was a "userinfo parameter" to the name-addr/addr-spec element. Unfortunately, the email exchange about this seems to have NOT taken place on the mailing list but rather in a private email exchange - and I no longer have access to the archives of the email account where that occurred (I am no longer with Voxeo) - so I don't know who it was that argued for this change. =20 I'm directly cc'ing John Haluska as he was involved in with a number of those exchanges and can perhaps clarify this. =20 In reviewing section 19.1.1 of RFC 3261 ( http://tools.ietf.org/html/rfc3261#section-19.1.1 ) and sections 19.1.2, 19.1.3, and 19.1.6 as well as the ABNF in section 25, I am guessing that the rationale was because the "charge-param" does fit into the "user" section of the URI. =20 So that's a roundabout way of saying that it is part of "user", as I interpret the ABNF in RFC 3261. =20 Do you have suggestions for how to make this clearer in the draft? Would the original ABNF be more useful to you? Should the sentence "charge-param is used as a userinfo parameter in P-Charge-Info" indicate that it is the "user" part of the "userinfo" field? =20 Thanks, Dan =20 P.S. After not receiving any feedback for many, many months I suddenly have received two email questions/comments about P-Charge-Info today. I don't know if this is as a result of the mention on a mailing list that Richard Shockey mentioned... but I was surprised.=20 =20 On Nov 29, 2011, at 1:35 PM, Brett Tate wrote: =20 Howdy, Draft-york-sipping-p-charge-info-12 includes the following ABNF without explicitly indicating if the charge-param is part of user, telephone-subscriber, or both. I'm not sure how to interpret the charge-param statement since userinfo has no parameters (although user and telephone-subscriber can have them). Is charge-param part of user, telephone-subscriber, or both? I recommend updating section 7 to remove the ambiguity. Thanks, Brett ------ Draft-york-sipping-p-charge-info-12: "The syntax of the P-Charge-Info header is described as follows: P-Charge-Info =3D "P-Charge-Info" HCOLON (name-addr / addr-spec) ; name-addr and addr-spec are specified in RFC 3261 charge-param =3D npi-param / noa-param / generic-param npi-param =3D ";npi" EQUAL npi-value ; generic-param is specifed in RFC 3261 npi-value =3D gen-value noa-param =3D ";noa" EQUAL noa-value noa-value =3D gen-value The SIP URI contained in the name-addr/addr-spec is the billing indicator that is passed between the parties. charge-param is used as a userinfo parameter in P-Charge-Info." RFC 3261: userinfo =3D ( user / telephone-subscriber ) [ ":" password ] "@" user =3D 1*( unreserved / escaped / user-unreserved ) RFC 2806: telephone-subscriber =3D global-phone-number / local-phone-number =20 --=20 Dan York [email protected] Phone: +1-802-735-1624 skype:danyork http://www.danyork.com/ =20 http://twitter.com/danyork =20 =20 --=20 Dan York [email protected] http://www.danyork.com/ skype:danyork Phone: +1-802-735-1624 Twitter - http://twitter.com/danyork -------------------------------------------------------- All comments and opinions are entirely my own and have no connection whatsoever to any employer, past or present. Indeed, by tomorrow even I might be disavowing these comments. -------------------------------------------------------- =20 ------_=_NextPart_001_01CCAF9D.436DCDED 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-microsoft-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=3DGenerator 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";} 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";} 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; 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";} span.EmailStyle22 {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;} --></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=3DEN-US link=3Dblue = vlink=3Dpurple><div class=3DWordSection1><p class=3DMsoNormal><span = style=3D'font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497= D'>Brett,<o:p></o:p></span></p><p class=3DMsoNormal><span = style=3D'font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497= D'><o:p> </o:p></span></p><p class=3DMsoNormal><span = style=3D'font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497= D'>The answer for your question is “both”, at least that was = the intention.<o:p></o:p></span></p><p class=3DMsoNormal><span = style=3D'font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497= D'><o:p> </o:p></span></p><p class=3DMsoNormal><span = style=3D'font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497= D'>Thanks,<o:p></o:p></span></p><p class=3DMsoNormal><span = style=3D'font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497= D'>Tolga<o:p></o:p></span></p><p class=3DMsoNormal><span = style=3D'font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497= D'><o:p> </o:p></span></p><div = style=3D'border:none;border-left:solid blue 1.5pt;padding:0in 0in 0in = 4.0pt'><div><div style=3D'border:none;border-top:solid #B5C4DF = 1.0pt;padding:3.0pt 0in 0in 0in'><p class=3DMsoNormal><b><span = style=3D'font-size:10.0pt;font-family:"Tahoma","sans-serif"'>From:</span>= </b><span style=3D'font-size:10.0pt;font-family:"Tahoma","sans-serif"'> = Haluska, John J [mailto:[email protected]] <br><b>Sent:</b> = Wednesday, November 30, 2011 8:11 AM<br><b>To:</b> Dan York; Brett = Tate<br><b>Cc:</b> Asveren, Tolga; [email protected]<br><b>Subject:</b> = RE: draft-york-sipping-p-charge-info-12: = ABNF<o:p></o:p></span></p></div></div><p = class=3DMsoNormal><o:p> </o:p></p><p class=3DMsoNormal><span = style=3D'font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497= D'>Dan,<o:p></o:p></span></p><p class=3DMsoNormal><span = style=3D'font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497= D'><o:p> </o:p></span></p><p class=3DMsoNormal><span = style=3D'font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497= D'>I’ll take a look and let you know – I’m out of MIPS = at the moment.<o:p></o:p></span></p><p class=3DMsoNormal><span = style=3D'font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497= D'><o:p> </o:p></span></p><p class=3DMsoNormal><span = style=3D'font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497= D'>Thanks for continuing with this even though you’ve moved = on.<o:p></o:p></span></p><p class=3DMsoNormal><span = style=3D'font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497= D'><o:p> </o:p></span></p><p class=3DMsoNormal><span = style=3D'font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497= D'><o:p> </o:p></span></p><p class=3DMsoNormal><span = style=3D'font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497= D'>John<o:p></o:p></span></p><p class=3DMsoNormal><span = style=3D'font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497= D'><o:p> </o:p></span></p><p class=3DMsoNormal><span = style=3D'font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497= D'><o:p> </o:p></span></p><p class=3DMsoNormal><span = style=3D'font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497= D'><o:p> </o:p></span></p><div><div = style=3D'border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0in = 0in 0in'><p class=3DMsoNormal><b><span = style=3D'font-size:10.0pt;font-family:"Tahoma","sans-serif"'>From:</span>= </b><span style=3D'font-size:10.0pt;font-family:"Tahoma","sans-serif"'> = Dan York [mailto:[email protected]] <br><b>Sent:</b> Tuesday, = November 29, 2011 2:38 PM<br><b>To:</b> Brett Tate<br><b>Cc:</b> Tolga = Asveren; [email protected]; Haluska, John J<br><b>Subject:</b> Re: = draft-york-sipping-p-charge-info-12: = ABNF<o:p></o:p></span></p></div></div><p = class=3DMsoNormal><o:p> </o:p></p><div><p class=3DMsoNormal>Brett, = (and replying from a slightly different address so that it will go to = the SIPPING list)<o:p></o:p></p></div><div><p = class=3DMsoNormal><o:p> </o:p></p></div><div><p = class=3DMsoNormal>Thank you for the feedback and question. The = ABNF in the draft has evolved over the past almost-4 years as various = people more literate than I in ABNF have given us feedback and we've = updated the draft.<o:p></o:p></p></div><div><p = class=3DMsoNormal><o:p> </o:p></p></div><div><p = class=3DMsoNormal>In the ABNF section, "chargeparam" is = intended to represent that you could optionally have the = "noa", "npi" parameters - or any other generic = parameters found in RFC 3261(such as = "user=3Dphone")<o:p></o:p></p></div><div><p = class=3DMsoNormal><o:p> </o:p></p></div><div><p = class=3DMsoNormal>Originally, the ABNF read:<o:p></o:p></p></div><div><p = class=3DMsoNormal><o:p> </o:p></p></div><div><div><pre = style=3D'page-break-before:always;orphans: = 2;text-align:-webkit-auto;widows: 2;-webkit-text-size-adjust: = auto;-webkit-text-stroke-width: 0px;word-spacing:0px'><span = style=3D'font-size:12.0pt;color:black'> &nbs= p; P-Charge-Info =3D "P-Charge-Info" HCOLON = (name-addr / addr-spec)*<o:p></o:p></span></pre><pre = style=3D'page-break-before:always'><span = style=3D'font-size:12.0pt;color:black'> &nbs= p; (SEMI = charge-param)<o:p></o:p></span></pre><pre = style=3D'page-break-before:always'><span = style=3D'font-size:12.0pt;color:black'> &nbs= p; ; = name-addr and addr-spec are specified in <a = href=3D"http://tools.ietf.org/html/rfc3261">RFC = 3261</a><o:p></o:p></span></pre><pre = style=3D'page-break-before:always'><span = style=3D'font-size:12.0pt;color:black'> &nbs= p; charge-param =3D npi-param / = noa-param / generic-param<o:p></o:p></span></pre><div><p = class=3DMsoNormal><o:p> </o:p></p></div></div></div><div><p = class=3DMsoNormal>I thought that was fairly clear and made sense. = However, I changed the ABNF in rev -10 in October 2010 to more = simply:<o:p></o:p></p></div><div><p = class=3DMsoNormal><o:p> </o:p></p></div><div><pre = style=3D'page-break-before:always;orphans: = 2;text-align:-webkit-auto;widows: 2;-webkit-text-size-adjust: = auto;-webkit-text-stroke-width: 0px;word-spacing:0px'><span = style=3D'font-size:12.0pt;color:black'> &nbs= p; P-Charge-Info =3D "P-Charge-Info" HCOLON = (name-addr / addr-spec)<o:p></o:p></span></pre><pre = style=3D'page-break-before:always'><span = style=3D'font-size:12.0pt;color:black'> &nbs= p; ; = name-addr and addr-spec are specified in <a = href=3D"http://tools.ietf.org/html/rfc3261">RFC = 3261</a><o:p></o:p></span></pre><pre = style=3D'page-break-before:always'><span = style=3D'font-size:12.0pt;color:black'> &nbs= p; charge-param =3D npi-param / = noa-param / generic-param<o:p></o:p></span></pre><div><p = class=3DMsoNormal><o:p> </o:p></p></div></div><div><p = class=3DMsoNormal>after someone strongly made the case that the "* = (SEMI charge-param)" was not required because it was a = "userinfo parameter" to the name-addr/addr-spec element. = Unfortunately, the email exchange about this seems to have NOT = taken place on the mailing list but rather in a private email exchange - = and I no longer have access to the archives of the email account where = that occurred (I am no longer with Voxeo) - so I don't know who it was = that argued for this change.<o:p></o:p></p></div><div><p = class=3DMsoNormal><o:p> </o:p></p></div><div><p = class=3DMsoNormal>I'm directly cc'ing John Haluska as he was involved in = with a number of those exchanges and can perhaps clarify = this.<o:p></o:p></p></div><div><p = class=3DMsoNormal><o:p> </o:p></p></div><div><p = class=3DMsoNormal>In reviewing section 19.1.1 of RFC 3261 ( <a = href=3D"http://tools.ietf.org/html/rfc3261#section-19.1.1">http://tools.i= etf.org/html/rfc3261#section-19.1.1</a> ) and sections 19.1.2, = 19.1.3, and 19.1.6 as well as the ABNF in section 25, I am = guessing that the rationale was because the "charge-param" = does fit into the "user" section of the = URI.<o:p></o:p></p></div><div><p = class=3DMsoNormal><o:p> </o:p></p></div><div><p = class=3DMsoNormal>So that's a roundabout way of saying that it is part = of "user", as I interpret the ABNF in RFC = 3261.<o:p></o:p></p></div><div><p = class=3DMsoNormal><o:p> </o:p></p></div><div><p = class=3DMsoNormal>Do you have suggestions for how to make this clearer = in the draft? Would the original ABNF be more useful to you? = Should the sentence "charge-param is used as a userinfo = parameter in P-Charge-Info" indicate that it is the = "user" part of the "userinfo" = field?<o:p></o:p></p></div><div><p = class=3DMsoNormal><o:p> </o:p></p></div><div><p = class=3DMsoNormal>Thanks,<o:p></o:p></p></div><div><p = class=3DMsoNormal>Dan<o:p></o:p></p></div><div><p = class=3DMsoNormal><o:p> </o:p></p></div><p class=3DMsoNormal>P.S. = After not receiving any feedback for many, many months I suddenly have = received two email questions/comments about P-Charge-Info today. I don't = know if this is as a result of the mention on a mailing list that = Richard Shockey mentioned... but I was = surprised. <o:p></o:p></p><div><p = class=3DMsoNormal><o:p> </o:p></p><div><div><p class=3DMsoNormal>On = Nov 29, 2011, at 1:35 PM, Brett Tate wrote:<o:p></o:p></p></div><p = class=3DMsoNormal = style=3D'margin-bottom:12.0pt'><o:p> </o:p></p><div><p = class=3DMsoNormal = style=3D'margin-bottom:12.0pt'>Howdy,<br><br>Draft-york-sipping-p-charge-= info-12 includes the following ABNF without explicitly indicating if the = charge-param is part of user, telephone-subscriber, or both. I'm = not sure how to interpret the charge-param statement since userinfo has = no parameters (although user and telephone-subscriber can have = them).<br><br>Is charge-param part of user, telephone-subscriber, or = both? I recommend updating section 7 to remove the = ambiguity.<br><br>Thanks,<br>Brett<br><br><br>------<br><br>Draft-york-si= pping-p-charge-info-12:<br><br>"The syntax of the P-Charge-Info = header is described as = follows:<br><br> P-Charge-= Info =3D "P-Charge-Info" HCOLON (name-addr / = addr-spec)<br>  = ; ; name-addr and addr-spec are = specified in RFC = 3261<br>  = ; charge-param =3D npi-param / noa-param / = generic-param<br> &n= bsp; npi-param =3D ";npi" EQUAL = npi-value<br> = ; generic-param is specifed in RFC = 3261<br>  = ; npi-value =3D = gen-value<br> = noa-param =3D ";noa" EQUAL = noa-value<br> = noa-value =3D gen-value<br><br> The SIP URI = contained in the name-addr/addr-spec is the = billing<br> indicator that is passed between the = parties.<br><br> charge-param is used as a userinfo parameter = in P-Charge-Info."<br><br><br>RFC 3261:<br><br>userinfo =3D ( = user / telephone-subscriber ) [ ":" password ] = "@"<br>user =3D 1*( unreserved / = escaped / user-unreserved )<br><br>RFC 2806:<br><br>telephone-subscriber = =3D global-phone-number / = local-phone-number<o:p></o:p></p></div></div><p = class=3DMsoNormal><o:p> </o:p></p><div><div><div><div><div><p = class=3DMsoNormal>-- <br>Dan York <a = href=3D"mailto:[email protected]">[email protected]</a><o:p></o:p></p= ></div><div><p class=3DMsoNormal>Phone: +1-802-735-1624 <a = href=3D"skype:danyork">skype:danyork</a><br><a = href=3D"http://www.danyork.com/">http://www.danyork.com/</a> <= br><a = href=3D"http://twitter.com/danyork">http://twitter.com/danyork</a><o:p></= o:p></p></div></div></div></div></div><p = class=3DMsoNormal><o:p> </o:p></p></div><p class=3DMsoNormal = style=3D'margin-bottom:12.0pt'><o:p> </o:p></p><div><div><div><div><= p class=3DMsoNormal>-- <br>Dan York <a = href=3D"mailto:[email protected]">[email protected]</a><br><a = href=3D"http://www.danyork.com/">http://www.danyork.com/</a> &= nbsp;<a href=3D"skype:danyork">skype:danyork</a><br>Phone: = +1-802-735-1624<br>Twitter - <a = href=3D"http://twitter.com/danyork">http://twitter.com/danyork</a><o:p></= o:p></p></div><div><p = class=3DMsoNormal>-------------------------------------------------------= -<o:p></o:p></p></div></div><div><p class=3DMsoNormal>All comments and = opinions are entirely my own and have no connection whatsoever to any = employer, past or present. Indeed, by tomorrow even I might be = disavowing these comments.<o:p></o:p></p></div><div><p = class=3DMsoNormal>-------------------------------------------------------= -<o:p></o:p></p></div></div></div><p = class=3DMsoNormal><o:p> </o:p></p></div></div></body></html> ------_=_NextPart_001_01CCAF9D.436DCDED-- --===============4176076014655661954== Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline _______________________________________________ Sipping mailing list https://www.ietf.org/mailman/listinfo/sipping This list is for NEW development of the application of SIP Use [email protected] for questions on current sip Use [email protected] for new developments of core SIP --===============4176076014655661954==--