Subject: Re: [Sip] Question regarding conflicting grammar for IPV6 SIP URI andRFC 3986

From: "Dale Worley" <[email-masked]>
Date: Tue, 03 Mar 2009 13:26:47 -0500

I would like to resume the discussion of the problem of IPv6 host
addresses in SIP URIs.

To abbreviate my previous message, SIP URIs appear to be intended to be
a subset of RFC 3986 "path-rootless" URIs (as are mailto: URIs).  Of the
characters that RFC 3261 permits in the user/host part of the URI, which
corresponds to the "hier-part" of RFC 3986, the following characters are
not allowed by the syntax of RFC 3986:

? (permitted in user-parts)
/ (permitted in user-parts)
[ (permitted as part of an IPv6 address)
] (permitted as part of an IPv6 address)

In order to straighten out this problem, I propose that we modify the
RFC 3261 definition to bring it into line with RFC 3986.  Specifically,
we should:

1. Remove "?" and "/" from the user-unreserved set.  (These characters
can still be used in their escaped form, which is equivalent to their
unescaped form under the current rules.)

2. Replace "[" and "]" in host-addresses by their escaped forms, "%5B"
and "%5D" (as is done in mailto: URIs).

This will inconvenience any implementation currently using the two
characters in user-names, or using IPv6 addresses.  But it avoids having
to change the master URI syntax of RFC 3986, which is a task of much
broader scope.

Comments?

Dale

---

From: Theo Zourzouvillys <[email-masked]>
Date: Wed, 4 Mar 2009 12:34:59 +0000

On Tue, Mar 3, 2009 at 6:26 PM, Dale Worley <[email-masked]> wrote:

> But it avoids having

Both are going to require change (although we don't need world AND dog
to agree with a 3261 update), but seems to me that updating 3986 seems
like a far more appropriate path to take given the number of other
affected URI schemes as Hadriel pointed out.

I have no objection to the removal of '/' and '?' from the user part,
but the replacing of '[' and ']' seems quiet urgh.

... i've just quickly scanned through apps-discuss and haven't seen
any discussion on it there, should we perhaps test the water to see
what sort of reaction there would be to suggesting such an update if
it's the right thing to do?

 ~ Theo

---

From: Dean Willis <[email-masked]>
Date: Wed, 4 Mar 2009 12:03:29 -0600

> it's the right thing to do?

I'm afraid I have to concur with Theo. 3986 is just broken.

--
Dean

---

From: "Dale Worley" <[email-masked]>
Date: Wed, 04 Mar 2009 16:08:23 -0500

> affected URI schemes as Hadriel pointed out.

As far as I can see, all the schemes that Hadriel pointed out have
exactly the same problem as sip:, they permit "mailbox"-style components
but do not specify how they are to be encoded if the characters in
question are not valid by RFC 3986.

> but the replacing of '[' and ']' seems [quite] urgh.

It's "urgh" only if you've implemented IPv6, I suppose.  Conveniently,
our project hasn't.

Dale

---

From: "Dale Worley" <[email-masked]>
Date: Wed, 04 Mar 2009 16:09:51 -0500

> I'm afraid I have to concur with Theo. 3986 is just broken.

Perhaps so, given that the different URI formats have different sets of
acceptable characters -- why would that be?

But what is the plan for going forward?

Dale

---

From: Hadriel Kaplan <[email-masked]>
Date: Wed, 4 Mar 2009 17:54:51 -0500

How about: ignorance is bliss?  :)

Seriously, what does RFC 3986 do??  How does it affect anything for common URI formats not to comply with it? (or really, for *it* not to comply with common URI formats)

-hadriel

> -----Original Message-----
> From: [email-masked] [mailto:[email-masked]] On Behalf Of Dale
> Worley
> Sent: Wednesday, March 04, 2009 4:10 PM
> To: Dean Willis
> Cc: SIP
> Subject: Re: [Sip] Question regarding conflicting grammar for IPV6 SIP URI
> andRFC 3986
>
> _______________________________________________
> Sip mailing list  https://www.ietf.org/mailman/listinfo/sip
> This list is for NEW development of the core SIP Protocol
> Use [email-masked] for questions on current sip
> Use [email-masked] for new developments on the application of sip

---

From: Theo Zourzouvillys <[email-masked]>
Date: Fri, 6 Mar 2009 00:36:27 +0000

On Wed, Mar 4, 2009 at 10:54 PM, Hadriel Kaplan <[email-masked]> wrote:

> Seriously, what does RFC 3986 do??

   The URI syntax defines a grammar that is a superset of all
   valid URIs, allowing an implementation to parse the common components
   of a URI reference without knowing the scheme-specific requirements
   of every possible identifier.

> How does it affect anything for common URI formats not to comply with it?

We'd be saying that a SIP URI is no longer guaranteed to be compatible
with the generic URI syntax, and there in lies dragons.

While it would unlikely have any direct effect on SIP elements
themselves, there are a whole bunch of assumptions made (and we should
be able to continue to make) around a SIP URI being compatible with
the syntax of a URI, notably in 3rd party tools.  some things that
spring to mind that would be affected are:

 - XML Schema syntax for a URI
 - in <a href="xxx"> - i.e, any hyperlink on a HTML page.
 - PHP (or any other language) parse_uri()
 - draft-roach-sip-http-subscribe Link header values
 - subjectAltName URI in a SSL certificate
 - a RDBMS "URI" data type

... being able to put a SIP URI anywhere that there is a "URI" field
is a fairly useful thing for developers when it comes to re-usability

even worse, anything that presumes they are a URI will work most the
time, until an IPv6 address is used.

> (or really, for *it* not to comply with common URI formats)

i'm not sure how many other common URI formats have notably been
affected by the missing IPv6 yet: the lack of universal IPv6
deployment along with SIP being fairly likely to want to include
literal IPv6 addresses in the URI makes it more obvious for us to
notice other other schemes, so perhaps we're just ahead of the game?

 ~ Theo

---

From: Hadriel Kaplan <[email-masked]>
Date: Thu, 5 Mar 2009 21:28:13 -0500

OK, sounds useful enough - in a previous email from Cullen on this topic (with his AD hat), he suggested emailing the APPS Area list ([email-masked]) since rfc3986 is in their camp.

-hadriel

> From: Theo Zourzouvillys [mailto:[email-masked]]
> Sent: Thursday, March 05, 2009 7:36 PM
>

---

From: "Horvath, Ernst" <[email-masked]>
Date: Fri, 6 Mar 2009 09:28:25 +0100

I would also think the problem should be solved within RFC3986, for a
pure economic reason. 
On a quick scan through registered URI schemes I identified the
following schemes having the same problem as sip/sips: 

	mailto, im, pres, h323, iax, xmpp.

and I may have missed some. Makes more than have a dozen RFCs to be
updated against one (RFC3986).

Regards,
Ernst

> From: [email-masked] [mailto:[email-masked]] On 
> Behalf Of Hadriel Kaplan
> Sent: Friday, March 06, 2009 3:28 AM
> To: Theo Zourzouvillys
> Cc: SIP; Dean Willis
> Subject: Re: [Sip] Question regarding conflicting grammar for 
> IPV6 SIP URI andRFC 3986
> 
> 
> OK, sounds useful enough - in a previous email from Cullen on 
> this topic (with his AD hat), he suggested emailing the APPS 
> Area list ([email-masked]) since rfc3986 is in their camp.
> 
> -hadriel
> 
> 
> > > How does it affect anything for common URI formats not to 
> comply with
> > it?
> >