Re: [Uri-review] In WG last call review of URI Schemes rtsp, rtsps and rtspu

Larry Masinter <masinter@adobe.com> Mon, 07 May 2012 23:28 UTC

Return-Path: <masinter@adobe.com>
X-Original-To: uri-review@ietfa.amsl.com
Delivered-To: uri-review@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 272B421F8691 for <uri-review@ietfa.amsl.com>; Mon, 7 May 2012 16:28:10 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -107.599
X-Spam-Level:
X-Spam-Status: No, score=-107.599 tagged_above=-999 required=5 tests=[AWL=1.000, BAYES_00=-2.599, GB_I_LETTER=-2, RCVD_IN_DNSWL_MED=-4, 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 FgJ09fR3r9+e for <uri-review@ietfa.amsl.com>; Mon, 7 May 2012 16:28:09 -0700 (PDT)
Received: from exprod6og101.obsmtp.com (exprod6og101.obsmtp.com [64.18.1.181]) by ietfa.amsl.com (Postfix) with ESMTP id A2F9621F866B for <uri-review@ietf.org>; Mon, 7 May 2012 16:27:59 -0700 (PDT)
Received: from outbound-smtp-2.corp.adobe.com ([193.104.215.16]) by exprod6ob101.postini.com ([64.18.5.12]) with SMTP ID DSNKT6haft5w9XCa6dq0c23fiwLXiVvo3trh@postini.com; Mon, 07 May 2012 16:28:08 PDT
Received: from inner-relay-1.corp.adobe.com (ms-exchange.macromedia.com [153.32.1.51]) by outbound-smtp-2.corp.adobe.com (8.12.10/8.12.10) with ESMTP id q47NRtIf002250; Mon, 7 May 2012 16:27:56 -0700 (PDT)
Received: from nahub02.corp.adobe.com (nahub02.corp.adobe.com [10.8.189.98]) by inner-relay-1.corp.adobe.com (8.12.10/8.12.10) with ESMTP id q47NRtvm021444; Mon, 7 May 2012 16:27:55 -0700 (PDT)
Received: from SJ1SWM219.corp.adobe.com (10.5.77.61) by nahub02.corp.adobe.com (10.8.189.98) with Microsoft SMTP Server (TLS) id 8.3.192.1; Mon, 7 May 2012 16:27:54 -0700
Received: from nambxv01a.corp.adobe.com ([10.8.189.95]) by SJ1SWM219.corp.adobe.com ([fe80::d55c:7209:7a34:fcf7%12]) with mapi; Mon, 7 May 2012 16:27:54 -0700
From: Larry Masinter <masinter@adobe.com>
To: Magnus Westerlund <magnus.westerlund@ericsson.com>, Ted Hardie <ted.ietf@gmail.com>
Date: Mon, 7 May 2012 16:27:53 -0700
Thread-Topic: [Uri-review] In WG last call review of URI Schemes rtsp, rtsps and rtspu
Thread-Index: Ac0oZqtt6oyhWe7FSkO63PRg9hvz9QEQcmZg
Message-ID: <C68CB012D9182D408CED7B884F441D4D194AD547DE@nambxv01a.corp.adobe.com>
References: <4F99665D.8060404@ericsson.com> <CA+9kkMAvr6eXHzB_HMVgGqBHpUpeuh-mrWRP6-Ap0w3SZLvV-Q@mail.gmail.com> <4FA13522.6020103@ericsson.com>
In-Reply-To: <4FA13522.6020103@ericsson.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
acceptlanguage: en-US
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
Cc: "uri-review@ietf.org" <uri-review@ietf.org>, "mmusic-chairs@tools.ietf.org" <mmusic-chairs@tools.ietf.org>
Subject: Re: [Uri-review] In WG last call review of URI Schemes rtsp, rtsps and rtspu
X-BeenThere: uri-review@ietf.org
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: Proposed URI Schemes <uri-review.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/uri-review>, <mailto:uri-review-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/uri-review>
List-Post: <mailto:uri-review@ietf.org>
List-Help: <mailto:uri-review-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/uri-review>, <mailto:uri-review-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 07 May 2012 23:28:10 -0000

Please note that the URI/IRI registration guidelines (4395bis) have a proposed "fix":

http://wiki.tools.ietf.org/wg/iri/trac/ticket/125

to add the sentence:

"However, the registration defines <scheme> and the syntax and semantics of <fragment>  depends only on the media type of the representation accessed. New scheme definitions MUST NOT define syntax or semantics of fragment identifiers; that is, registration specifications should define the syntax of <scheme-specific-part> and its meaning for each <scheme> defined."

That is, the recommendation is that scheme registrations do *not* specify the syntax or meaning of fragment identifiers.

So "Added a fragment part to the RTSP URI.  " might not be considered an improvement.

Regards,

Larry
--
http://larry.masinter.net


-----Original Message-----
From: uri-review-bounces@ietf.org On Behalf Of Magnus Westerlund
Sent: Wednesday, May 02, 2012 6:23 AM
To: Ted Hardie
Cc: uri-review@ietf.org; mmusic-chairs@tools.ietf.org
Subject: Re: [Uri-review] In WG last call review of URI Schemes rtsp, rtsps and rtspu

Hi Ted,

Thanks for the review.

On 2012-04-27 16:40, Ted Hardie wrote:
> Howdy,
> 
> The registrations below note that there were changes in URI syntax.  I
> could not find a summary of
> them in 2326bis; can you provide a pointer?

The changes section in the I-D says the following that applies to the URI.

      *  Added a fragment part to the RTSP URI.  This seemed to be
         indicated by the note below the definition, however, it was not
         part of the ABNF.

Which is clearly not the whole story. Thus I have also checked the
Syntax differences between the two specs.

RFC2326 defines the URI as:

   rtsp_URL  =   ( "rtsp:" | "rtspu:" )
                 "//" host [ ":" port ] [ abs_path ]
   host      =   <A legal Internet host domain name of IP address
                 (in dotted decimal form), as defined by Section 2.1
                 of RFC 1123>
   port      =   *DIGIT

   abs_path is defined in [H3.2.1].

>From RFC 2068:

          abs_path       = "/" rel_path
          rel_path       = [ path ] [ ";" params ] [ "?" query ]

          path           = fsegment *( "/" segment )
          fsegment       = 1*pchar
          segment        = *pchar

          params         = param *( ";" param )
          param          = *( pchar | "/" )

          scheme         = 1*( ALPHA | DIGIT | "+" | "-" | "." )
          net_loc        = *( pchar | ";" | "?" )

          query          = *( uchar | reserved )
          fragment       = *( uchar | reserved )

          pchar          = uchar | ":" | "@" | "&" | "=" | "+"
          uchar          = unreserved | escape
          unreserved     = ALPHA | DIGIT | safe | extra | national

          escape         = "%" HEX HEX
          reserved       = ";" | "/" | "?" | ":" | "@" | "&" | "=" | "+"
          extra          = "!" | "*" | "'" | "(" | ")" | ","
          safe           = "$" | "-" | "_" | "."
          unsafe         = CTL | SP | <"> | "#" | "%" | "<" | ">"
          national       = <any OCTET excluding ALPHA, DIGIT,
                           reserved, extra, safe, and unsafe>


While draft-ietf-mmusic-rfc2326bis-29 defines it as:

   RTSP-URI       =  schemes ":" URI-rest
   RTSP-REQ-URI   =  schemes ":" URI-req-rest
   RTSP-URI-Ref   =  RTSP-URI / RTSP-Relative
   RTSP-REQ-Ref   =  RTSP-REQ-URI / RTSP-REQ-Rel
   schemes        =  "rtsp" / "rtsps" / scheme
   scheme         =  < As defined in RFC 3986>
   URI-rest       =  hier-part [ "?" query ] [ "#" fragment ]
   URI-req-rest   =  hier-part [ "?" query ]
                     ; Note fragment part not allowed in requests
   hier-part      =  "//" authority path-abempty

   RTSP-Relative  =  relative-part [ "?" query ] [ "#" fragment ]
   RTSP-REQ-Rel   =  relative-part [ "?" query ]
   relative-part  =  "//" authority path-abempty
                     / path-absolute
                     / path-noscheme
                     / path-empty

   authority      =  < As defined in RFC 3986>
   query          =  < As defined in RFC 3986>
   fragment       =  < As defined in RFC 3986>

   path           =  path-abempty    ; begins with "/" or is empty
                     / path-absolute ; begins with "/" but not "//"
                     / path-noscheme ; begins with a non-colon segment
                     / path-rootless ; begins with a segment
                     / path-empty    ; zero characters

   path-abempty   =  *( "/" segment )
   path-absolute  =  "/" [ segment-nz *( "/" segment ) ]
   path-noscheme  =  segment-nz-nc *( "/" segment )
   path-rootless  =  segment-nz *( "/" segment )
   path-empty     =  0<pchar>

   segment        =  *pchar [";" *pchar]
   segment-nz     =  ( 1*pchar [";" *pchar]) / (";" *pchar)
   segment-nz-nc  =  ( 1*pchar-nc [";" *pchar-nc]) / (";" *pchar-nc)
                     ; non-zero-length segment without any colon ":"

   UPALPHA         =  %x41-5A ; any US-ASCII uppercase letter "A".."Z"
   LOALPHA         =  %x61-7A ;any US-ASCII lowercase letter "a".."z"
   ALPHA           =  UPALPHA / LOALPHA
   DIGIT           =  %x30-39 ; any US-ASCII digit "0".."9"
   safe            =  "$" / "-" / "_" / "." / "+"
   extra           =  "!" / "*" / "'" / "(" / ")" / ","
   unreserved      =  ALPHA / DIGIT / safe / extra
   pct-encoded    =  < As defined in RFC 3987>

   pchar          =  unreserved / pct-encoded / sub-delims / ":" / "@"
   pchar-nc       =  unreserved / pct-encoded / sub-delims / "@"

   sub-delims     =  "!" / "$" / "&" / "'" / "(" / ")"
                     / "*" / "+" / "," / "="

So actual changes for the rtsp scheme I have found are:

- Fragments added with syntax. As the previous change comments says
there are discussion of URI fragments in RFC2326 but no syntax defined.
However, fragments are not allowed in request URIs.

- Support for IPV6 literal in host part and future IP literals through
RFC 3986 defined mechanism.

- It defines a relative format to use in RTSP protocol elements that is
not required to start with "/". This was not allowed in RFC2326 due to
the syntax definition.

There might be more but I have reviewed the syntax fairly careful. But

In addition the URI related changes the ID does are:

- Defining the syntax for the rtsps scheme which is in use but not defined.

- Register the rtspu scheme defined in RFC 2326 but not registered.


> 
> rtsp was already registered in the URI Schemes registry as permanent;
> significant changes to the syntax
> would probably require minting a new scheme to avoid the
> interoperability problems you note below.

I agree that if we would have significant changes it would be
problematic. At the same time introducing a new scheme for rtsp would
also have been problematic. I consider the above changes to be minor and
to extend the functionality of the old definition, not change what has
existed since RFC 2326. The new extended functionality can cause failure
if you try to use these. Thus the documentation of these changes needs
to be improved. I will take it as WG last call comment.

Cheers

Magnus Westerlund

----------------------------------------------------------------------
Multimedia Technologies, Ericsson Research EAB/TVM
----------------------------------------------------------------------
Ericsson AB                | Phone  +46 10 7148287
Färögatan 6                | Mobile +46 73 0949079
SE-164 80 Stockholm, Sweden| mailto: magnus.westerlund@ericsson.com
----------------------------------------------------------------------

_______________________________________________
Uri-review mailing list
Uri-review@ietf.org
https://www.ietf.org/mailman/listinfo/uri-review