Network Working Group M. McRoberts Internet-Draft Project Baird Intended status: Informational July 7, 2010 Expires: January 8, 2011 Uniform Resource Identifiers for Digital Video Broadcasting (DVB) draft-mcroberts-uri-dvb-04 Abstract This document defines the "dvb" URI scheme for the benefit of the Internet community, given its definition as part of the Digital Video Broadcasting (DVB) suite of ETSI standards. Status of this Memo This Internet-Draft is submitted in full conformance with the provisions of BCP 78 and BCP 79. Internet-Drafts are working documents of the Internet Engineering Task Force (IETF). Note that other groups may also distribute working documents as Internet-Drafts. The list of current Internet- Drafts is at http://datatracker.ietf.org/drafts/current/. Internet-Drafts are draft documents valid for a maximum of six months and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet-Drafts as reference material or to cite them other than as "work in progress." This Internet-Draft will expire on January 8, 2011. Copyright Notice Copyright (c) 2010 IETF Trust and the persons identified as the document authors. All rights reserved. This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents (http://trustee.ietf.org/license-info) in effect on the date of publication of this document. Please review these documents carefully, as they describe your rights and restrictions with respect to this document. Code Components extracted from this document must include Simplified BSD License text as described in Section 4.e of the Trust Legal Provisions and are provided without warranty as described in the Simplified BSD License. McRoberts Expires January 8, 2011 [Page 1] Internet-Draft URIs for DVB July 2010 1. Introduction Standards governing televisions, set-top boxes and other consumer electronics devices have for some time been developed with the Internet in mind. The use of Universal Resource Identifiers (URIs) [RFC 3986] is now commonplace, including for the purpose of identifying resources delivered by way of terrestrial, satellite and cable broadcasts. For this purpose, a URI scheme was developed as part of the Digital Video Broadcasting [DVB] suite of standards specifically for the purpose of identifying broadcasts delivered by way of DVB-compliant broadcasting systems. McRoberts Expires January 8, 2011 [Page 2] Internet-Draft URIs for DVB July 2010 2. Digital Video Broadcasting URI The DVB URI is defined by [ETSI TS 102 851], and that shall be considered the authoritative source of the definition of the scheme- specific-part of the DVB URI. The remainder of this section is therefore non-normative. URIs employing the dvb scheme are URLs. DVB URLs may refer to any of the following kinds of resource: o A DVB service o Components within a DVB service (such as an audio or video stream) o An event (for example, a programme) o A transport stream o A file contained within a DSM-CC object carousel o Interactive applications 2.1. Syntax DVB URLs conform to one of the two following formats: "dvb://" original_network_id "." [ transport_stream_id ] [ "." service_id [ "." component-set [ "$" carousel-id ] ] [ event-constraint ] ] [ path-absolute ] "dvb://'" textual_service_id "'" [ "." component-set [ "$" carousel-id ] ] [ event-constraint ] [ path-absolute ] The URL format is defined in terms of the Augmented Backus-Naur Form (ABNF) notation of [RFC 5234] below. The ABNF below makes use of the following core ABNF syntax rules defined by that specification: DIGIT, ALPHA, and HEXDIG. Additionally, it below makes use of host, path-absolute, unreserved and pct-encoded as defined by [RFC 3986]. dvb_url = scheme ":" hier-part scheme = "dvb" hier-part = net-path / abs-path net-path = "//" ( entity [ abs-path ] ) / app-entity entity-path = entity abs-path McRoberts Expires January 8, 2011 [Page 3] Internet-Draft URIs for DVB July 2010 entity = ts | service | service-comp ts = original_network_id "." transport_stream_id service = service-no-event [ event-constraint ] service-comp = service-no-event "." component-set [ "$" carousel-id ] [ event-constraint ] service-no-event = orignal_network_id "." [ transport_stream_id ] "." service_id | "'" textual_service_id "'" component-set = comp-tag-set | qual-comp-set comp-tag-set = component_tag *( "&" component_tag ) qual-comp-set = qual-comp *( "&" qual-comp ) qual-comp = comp-type "=" component-id comp-type = "video" | "audio" | "data" | "subtitle" | "teletext" | "dvbst" component-id = component_string | "default" | "current" | "hearing_impaired" | "visually_impared" | "none" component_string = iso639-lang-code | component_tag app-entity = svc-context | svc-comp-context | ait-specifier svc-context = "current" | "original" svc-comp-context = "current.audio" | "current.video" | "current.av" ait-specifier = ait-filter "." "ait" ait-abs-path ait-filter = "current" | service-no-event ait-abs-path = "/" ait-entity ait-entity = "app_root" | ait-app ait-app = org_id_part "." app_id_part [ "?" ait-params ] McRoberts Expires January 8, 2011 [Page 4] Internet-Draft URIs for DVB July 2010 ait-params = "arg_" 1 * digit "=" *uric [ "&" ait-params ] event-constraint = event-id-mode | tva-id-only-mode | timespec event-id-mode = ";" event_id [ ";" tva-id ] [ timespec ] tva-id-only-mode = ";;" tva-id [ timespec ] timespec = "~" start-time "--" duration start-time = date "T" time "Z" duration = "PT" hours "H" minutes "M" [ seconds "S" ] date = year month day time = hours minutes [ seconds ] carousel-id = transaction_id ; [ETSI EN 301 192] original_network_id = hex_string transport_stream_id = hex_string service_id = hex_string component_tag = hex_string event_id = hex_string transaction_id = hex_string abs-path = path-absolute ; [RFC 3986], Section 3.3 textual_service_id = host ; [RFC 3986], Section 3.2.2 org_id_part = 1 * HEXDIG ; [ETSI TS 102 812] app_id_part = 1 * HEXDIG ; [ETSI TS 102 812] iso639-lang-code = 3 * ALPHA hex_string = 1 * HEXDIG tva-id = 1 * HEXDIG year = 4 DIGIT McRoberts Expires January 8, 2011 [Page 5] Internet-Draft URIs for DVB July 2010 month = 2 DIGIT day = 2 DIGIT hours = 2 DIGIT minutes = 2 DIGIT seconds = 2 DIGIT uric = unreserved / pct-encoded / ";" / "?" / ":" / "@" / "&" / "=" / "+" / "$" / "," / "/" 2.1.1. Encoding Section 5 of [ETSI TS 102 851] specifies that: "All characters not within the range of characters allowed in a URI must be encoded into UTF-8 and included in the URI as a sequence of escaped octets. An escaped octet is encoded as a character triplet, consisting of the percent character "%" followed by the two hexadecimal digits representing the octet code." 2.2. Applications dvb URIs are used most often within the context of DVB itself: interactive television applications use them in order to locate resources and to reference services and programmes which are broadcast. There are, however, wider applications: a dvb URI may be used by anything wishing to identify a DVB service, event, or even specific resource. For example, a receiver connected to a local area network might allow other devices to query it for information regarding the current programme or service: in this context, a dvb URI would typically be the most authoritative single identifier which could be used to to refer to that programme. Similarly, a web service could be implemented by a platform operator or a broadcaster (or some party working on their behalf) which allows resolution of dvb URIs - this would allow a device to retrieve web pages or other content which relate to the current programme (or some other entry in the device's Electronic Programme Guide). Implementing such a system would naturally require some mechanism for devices to discover an appropriate resolution service, and no standard mechanism exists to date, however RadioDNS [RADIODNS] has developed a generic service discovery system for use with broadcast McRoberts Expires January 8, 2011 [Page 6] Internet-Draft URIs for DVB July 2010 radio which could be applied to DVB (or indeed other broadcast systems) with little in the way of modification. 2.3. Historical Syntax Prior to the standardisation of [ETSI TS 102 851], a syntax for dvb URIs was defined by [DAVIC9], Section 9.5.2. The syntax defined in [ETSI TS 102 851] was designed to allow applications to work with both the current DVB syntax of URIs and also the historical syntax defined by DAVIC. McRoberts Expires January 8, 2011 [Page 7] Internet-Draft URIs for DVB July 2010 The syntax below makes use of HEXDIG from the core ABNF syntax rules defined by [RFC 5234]. Additionally, it makes use of unreserved and escaped as defined by [RFC 3986]. dvb_url = scheme ":" hier-part scheme = "dvb" hier-part = net-path / abs-path net-path = "//" entity [ abs-path ] entity = transport-stream / service / service-component transport-stream = original_network_id "." transport_stream_id service = original_network_id [ "." transport_stream_id ] "." service_id [ event-constraint ] service-component = service "." component-tag-set [ event-constraint ] component-tag-set = component-tag *( "&" component-tag ) event-constraint = ";" event_id abs-path = "/" segment path_segments = segment *( "/" segment ) segment = *pchar *( ";" param ) param = *pchar pchar = unreserved | escaped | ":" | "@" | "&" | "=" | "+" | "$" | "," original_network_id = hex_string transport_stream_id = hex_string service_id = hex_string component_tag = hex_string event_id = hex_string McRoberts Expires January 8, 2011 [Page 8] Internet-Draft URIs for DVB July 2010 hex_string = 1 * HEXDIG 2.4. Examples dvb://233a.1041 DVB transport stream dvb://233a.1041.10bf DVB service dvb://233a.1004.1044;8fff Event within a DVB service dvb://233a.1004.1044;8fff~20100706T000315Z--PT00H03M00S Time-constrained event on a DVB service dvb://233a.1004.1044;8fff@2010-07-06T00:03:15Z/PT00H03M00S Time-constrained event on a DVB service (historical syntax) dvb://233a.1041.10bf/doc/form.pdf File in a subdirectory of the default object carousel of a specific DVB service dvb:/image.png File in root directory of the default object carousel on the current service McRoberts Expires January 8, 2011 [Page 9] Internet-Draft URIs for DVB July 2010 3. IANA Considerations This specification requests the IANA provisionally register the "dvb" URI scheme as specified in this document and summarized in the following template, per [BCP 115]: URI scheme name. dvb Status. provisional URI scheme syntax. See Table 1 of [ETSI TS 102 851] URI scheme semantics. The dvb scheme references services and resources which are transmitted using Digital Video Broadcasting-compliant broadcasting systems. Encoding considerations. See Section 5 of [ETSI TS 102 851] Applications/protocols that use this URI scheme name. dvb URIs are used throughout DVB-compliant broadcasting systems, for example within Freeview and Freesat in the United Kingdom. They are also used in TV-Anytime [TV-ANYTIME] metadata where it relates to services transmitted by DVB systems. Interoperability considerations. None known. Security considerations. See Section 4. Contact. Mo McRoberts Author/Change controller. Mo McRoberts References. See Section 5. McRoberts Expires January 8, 2011 [Page 10] Internet-Draft URIs for DVB July 2010 4. Security Considerations Section 7 of [RFC 3986] describes general security considerations for URI schemes. The sections relating to reliability and consistency, malicious construction, back-end transcoding, rare IP address formats and semantic attacks all apply to dvb URIs. The section relating to sensitive information does not apply, given that dvb URIs do not contain authentication information. The security considerations of the Digital Video Broadcasting suite of standards in general are not covered in this document. McRoberts Expires January 8, 2011 [Page 11] Internet-Draft URIs for DVB July 2010 5. References 5.1. Normative References [RFC 3986] Berners-Lee, T., Fielding, R., and L. Masinter, "Uniform Resource Identifier (URI): Generic Syntax", RFC 3986, January 2005. [ETSI TS 102 851] European Broadcasting Union, DVB Project, and European Telecommunications Standards Institute, "Digital Video Broadcasting (DVB); Uniform Resource Identifiers (URI) for DVB Systems", ETSI TS 102 851, January 2010, . 5.2. Informative References [DVB] "DVB Project", . [TV-ANYTIME] "TV Anytime Forum", . [RFC 5234] Crocker, D., Ed. and P. Overell, "Augmented BNF for Syntax Specifications: ABNF", RFC 5234, STD 68, January 2008. [ETSI TS 102 812] European Broadcasting Union, DVB Project, and European Telecommunications Standards Institute, "Digital Video Broadcasting (DVB); Multimedia Home Platform (MHP) Specification 1.1.1", ETSI TS 102 812, August 2008, . [DAVIC9] Digital Audio-Video Council, "DAVIC 1.4.1 Specification Part 9: Information Representation", 1999. [BCP 115] Hansen, T., Hardie, T., and L. Masinter, "Guidelines and Registration Procedures for New URI Schemes", RFC 4395, BCP 115, February 2006. [RADIODNS] "RadioDNS", . McRoberts Expires January 8, 2011 [Page 12] Internet-Draft URIs for DVB July 2010 Author's Address Mo McRoberts Project Baird Email: mo.mcroberts@nexgenta.com URI: http://projectbaird.com/ McRoberts Expires January 8, 2011 [Page 13]