Skip to main content

SDP Mapping into HTTP structured headers
draft-gruessing-sdp-http-00

The information below is for an old version of the document.
Document Type
This is an older version of an Internet-Draft whose latest revision state is "Expired".
Author James Gruessing
Last updated 2020-02-19
RFC stream (None)
Formats
Stream Stream state (No stream defined)
Consensus boilerplate Unknown
RFC Editor Note (None)
IESG IESG state I-D Exists
Telechat date (None)
Responsible AD (None)
Send notices to (None)
draft-gruessing-sdp-http-00
Multiparty Multimedia Session Control                       J. Gruessing
Internet-Draft                          British Broadcasting Corporation
Intended status: Standards Track                        19 February 2020
Expires: 22 August 2020

                SDP Mapping into HTTP structured headers
                      draft-gruessing-sdp-http-00

Abstract

   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.

Note to Readers

   _RFC Editor: please remove this section before publication_

   Source code and issues for this draft can be found at
   https://github.com/bbc/draft-gruessing-sdp-http
   (https://github.com/bbc/draft-gruessing-sdp-http).

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 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 22 August 2020.

Copyright Notice

   Copyright (c) 2020 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.

Gruessing                Expires 22 August 2020                 [Page 1]
Internet-Draft  SDP Mapping into HTTP structured headers   February 2020

   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.

Table of Contents

   1.  Introduction  . . . . . . . . . . . . . . . . . . . . . . . .   2
     1.1.  Notational Conventions  . . . . . . . . . . . . . . . . .   2
   2.  The Session-Description Header  . . . . . . . . . . . . . . .   3
     2.1.  Session Description . . . . . . . . . . . . . . . . . . .   3
       2.1.1.  Time Description  . . . . . . . . . . . . . . . . . .   4
     2.2.  The Session-Media Header  . . . . . . . . . . . . . . . .   4
     2.3.  Implementation Considerations . . . . . . . . . . . . . .   4
       2.3.1.  Character set usage . . . . . . . . . . . . . . . . .   5
   3.  Examples  . . . . . . . . . . . . . . . . . . . . . . . . . .   5
   4.  IANA Considerations . . . . . . . . . . . . . . . . . . . . .   5
   5.  Security Considerations . . . . . . . . . . . . . . . . . . .   5
   6.  Acknowledgements  . . . . . . . . . . . . . . . . . . . . . .   6
   7.  Normative References  . . . . . . . . . . . . . . . . . . . .   6
   Author's Address  . . . . . . . . . . . . . . . . . . . . . . . .   6

1.  Introduction

   The Session Description Protocol [RFC4566] 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.

1.1.  Notational Conventions

   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.

Gruessing                Expires 22 August 2020                 [Page 2]
Internet-Draft  SDP Mapping into HTTP structured headers   February 2020

2.  The Session-Description Header

   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.

2.1.  Session Description

   v  The version, represented as an sh-integer that MUST be set 0.
   o  The originator of the session, whose value is an sh-list.  The
      order of values present in the list MUST map to the order
      specified in Section 5.2 of [RFC4566].
   s  The name of the SDP, whose values is a string and MUST NOT be
      empty.
   i  An OPTIONAL description of the session, whose value is a string.
   u  An OPTIONAL URI reference containing additional information about
      the session, whose value is a string and SHOULD be represented as
      [RFC3986].
   e  An OPTIONAL email address, whose value is a string and SHOULD be
      represented using [RFC5322] address semantics.
   p  An OPTIONAL phone number whose value is a string, which SHOULD be
      represented as [E.164].
   c  An OPTIONAL field containing connection data, whose value is an
      inner-list, and whose elements are each a string type matching the
      order of elements as defined in Section 5.7 of [RFC4566].  This
      field MUST be set if no media entities in the description contain
      connection information.
   b  An OPTIONAL field containing the proposed bandwidth to be used by
      the session, whose value is an inner-list with only two elements,
      the first being a string type whose value corresponds to a
      "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.
   k  An OPTIONAL field containing encryption key information, whose
      field is an inner-list containing up to two elements.  The first
      element

Gruessing                Expires 22 August 2020                 [Page 3]
Internet-Draft  SDP Mapping into HTTP structured headers   February 2020

2.1.1.  Time Description

   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 [RFC4566] MUST NOT use the compact version e.g "1h"
   instead of "3600".

   t  An OPTIONAL field containing the start and end times of the
      session, whose value is an inner-list containing two elements -
      the first being the wall time start time, and the latter being the
      stopping time.
   r  An OPTIONAL field containing the repeat times, whose value is an
      inner-list containing three elements.  The first element contains
      the repeat interval whose value is an integer, and the second
      element containing the active duration whose value is an integer.
      The third element of the offsets from start-time whose value is an
      inner-list containing two elements containing integer values
      representing the offsets.
   z  An OPTIONAL field containing time zone adjustment information,
      whose value is an inner-list containing elements where each is an
      inner-list with two elements; the first element being an integer
      representing the wall time which the adjustment should take place,
      and the second element whose value is an integer representing the
      offset.
   a  An OPTIONAL field containing session-level attributes, whose value
      is an inner-list.  Each element may either be a sh-dictionary when
      representing a value attribute, or a string where it is a property
      attribute.  For value attributes, the contents MUST be a single
      name/value pair with the name being the attribute name, and the
      value as a string.

2.2.  The Session-Media Header

   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), bandwidth (b), or encryption key (k).

2.3.  Implementation Considerations

   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

Gruessing                Expires 22 August 2020                 [Page 4]
Internet-Draft  SDP Mapping into HTTP structured headers   February 2020

   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.

2.3.1.  Character set usage

   TODO: Cover character sets

3.  Examples

   TODO: Examples

4.  IANA Considerations

   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:

5.  Security Considerations

   TODO: Incorporate things like secure transport (HTTPS), in addition
   to considerations raised in the structured header draft.

   -back

Gruessing                Expires 22 August 2020                 [Page 5]
Internet-Draft  SDP Mapping into HTTP structured headers   February 2020

6.  Acknowledgements

   TODO

7.  Normative References

   [RFC2119]  Bradner, S., "Key words for use in RFCs to Indicate
              Requirement Levels", BCP 14, RFC 2119,
              DOI 10.17487/RFC2119, March 1997,
              <https://www.rfc-editor.org/info/rfc2119>.

   [RFC3864]  Klyne, G., Nottingham, M., and J. Mogul, "Registration
              Procedures for Message Header Fields", BCP 90, RFC 3864,
              DOI 10.17487/RFC3864, September 2004,
              <https://www.rfc-editor.org/info/rfc3864>.

   [RFC3986]  Berners-Lee, T., Fielding, R., and L. Masinter, "Uniform
              Resource Identifier (URI): Generic Syntax", STD 66,
              RFC 3986, DOI 10.17487/RFC3986, January 2005,
              <https://www.rfc-editor.org/info/rfc3986>.

   [RFC5322]  Resnick, P., Ed., "Internet Message Format", RFC 5322,
              DOI 10.17487/RFC5322, October 2008,
              <https://www.rfc-editor.org/info/rfc5322>.

   [RFC4566]  Handley, M., Jacobson, V., and C. Perkins, "SDP: Session
              Description Protocol", RFC 4566, DOI 10.17487/RFC4566,
              July 2006, <https://www.rfc-editor.org/info/rfc4566>.

   [RFC8174]  Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC
              2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174,
              May 2017, <https://www.rfc-editor.org/info/rfc8174>.

   [I-D.ietf-httpbis-header-structure]
              Nottingham, M. and P. Kamp, "Structured Headers for HTTP",
              Work in Progress, Internet-Draft, draft-ietf-httpbis-
              header-structure-15, 28 January 2020,
              <http://www.ietf.org/internet-drafts/draft-ietf-httpbis-
              header-structure-15.txt>.

   [E.164]    "The international public telecommunication numbering
              plan", November 2010, <https://www.itu.int/rec/
              dologin_pub.asp?lang=e&id=T-REC-E.164-201011-I!!PDF-
              E&type=items>.

Author's Address

Gruessing                Expires 22 August 2020                 [Page 6]
Internet-Draft  SDP Mapping into HTTP structured headers   February 2020

   James Gruessing
   British Broadcasting Corporation

   Email: james.gruessing@bbc.co.uk

Gruessing                Expires 22 August 2020                 [Page 7]