Internet-Draft | SDP Mapping into HTTP structured headers | February 2021 |
Gruessing | Expires 19 August 2021 | [Page] |
This document specifies a HTTP header based representation of the Session Description Protocol which can be used in describing media being negotiated or delivered via HTTP.¶
RFC Editor: please remove this section before publication¶
Source code and issues for this draft can be found at https://github.com/fiestajetsam/I-D/tree/main/draft-gruessing-sdp-http.¶
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 https://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 19 August 2021.¶
Copyright (c) 2021 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 (https://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.¶
Services either negotiating or offering media over HTTP may want to express a greater amount of information beyond a MIME type of content and its preference.¶
The Session Description Protocol [RFC8866] describes multimedia sessions for the purpose of session announcement and initiation.¶
The Session-Description and Session-Media headers may be used for either a HTTP request or response and may be included as part of any HTTP method.¶
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in BCP 14 [RFC2119] [RFC8174] when, and only when, they appear in all capitals, as shown here.¶
The Session-Description header field conveys the entire session description information, using [I-D.ietf-httpbis-header-structure] to describe the structure. Its value MUST be a dictionary containing containing only the following keys, receivers MUST ignore all other values. Dictionary keys MUST be ordered in the order presented in this document, but MAY be omitted where they are explicitly declared as OPTIONAL.¶
All values within time description fields that represent wall time MUST be values shown as integers which represent NTP timestamps with second resolution. To facilitate ease of parsing, fields that are used to represet a time duration or offset as described in Section 5.10 of [RFC8866] MUST NOT use the compact version e.g "1h" instead of "3600".¶
bwtype
as listed in the IANA
registry, or a string prefixed "X-" to denote an experiemental value. The
second element is an integer type and MUST NOT be negative.¶
The Session-Media header describes each media element within the session, and at the top level is an sh-list.¶
Each media representation may additionally contain a media title (i), connection information (c), or bandwidth (b).¶
The Session-Description header MAY be sent at the same time in a response with a
HTTP body that also contains the SDP payload for backwards compatibility. In
such case the values of the header MUST be identical in semantic meaning to the
body payload and not include additional information or redaction. It may also,
dependant on implementation be sent in response to a HEAD request - in such
cases the body MUST be omitted but the server MUST also send the
"application/sdp" Content-Type
HTTP header.¶
TODO: Cover character sets¶
This specification registers the following entry in the Permanent Message Header Field Names registry established by [RFC3864]:¶
o Header field name: Session-Description¶
o Applicable protocol: http¶
o Status: standard¶
o Author/Change Controller: IETF¶
o Specification document(s): [this document]¶
o Related information:¶
o Header field name: Session-Media¶
o Applicable protocol: http¶
o Status: standard¶
o Author/Change Controller: IETF¶
o Specification document(s): [this document]¶
o Related information:¶
TODO: Incorporate things like secure transport (HTTPS), in addition to considerations raised in the structured header draft.¶
The author would like to thank Colin Perkins for very early feedback on this document.¶