Subject: SDP assigned names

From: Mark Handley <[email-masked]>
Date: Tue, 25 Mar 1997 15:34:35 -0500

One of the things I believe we need to do to take SDP forward to
proposed standard is to define a procedure for registering new
protocols, formats, attributes, etc with IANA.  As a first step, I've
collected together all the identifiers I believe are in current use or
are defined in the SDP or other specs.  

The following list is what I believe are actually in use, a brief
description of their purpose, and where their use is specified.  I've
almost certainly forgotten some.  Please let me know if you're using
anything not listed here.

Mark

--------

Registered Names for the Session Description Protocol (SDP)
===========================================================

Mark Handley, ISI
25th March 1997

The session description protocol provides a mechanism for describing a
multimedia session in sufficient detail that the possessor of such a
description can decide whether or not it is capable of joining the
session, and to join the session if desired.  Many values used by SDP
such as protocols, formats and attributes possess specific meaning.
To use them in an SDP description their use should be defined in a
specification document and registered with the Internet Assigned
Numbers Authority.  The exception to this is attributes, which may be
used unassigned, but unassigned attributes must avoid clashes with
defined attributes and must be ignored by SDP receivers that do not
understand them.

The following SDP values may currently be used with the SDP
specification.  For each value, a brief description of its meaning is
given and a reference to where the use of this value is more fully
defined.  This list may be extended by IANA.

Network Type
============
Value           Meaning
-----           -------
IN              Internetwork

Address Type
============
Value           Meaning
-----           -------
IP4             IP version 4
                (use is defined in SDP specification: RFC????)

IP6             IP version 6
                (use is defined in SDP specification: RFC????)

Bandwidth Modifiers
===================
The SDP specification describes the use of experimental bandwidth modifiers,
which can safely be ignored by a client.

An unknown non-experimental bandwidth attribute should cause the
session to be rejected.

Value           Meaning
-----           -------
CT              Conference Total 
                (use is defined in SDP specification: RFC????)

AS              Application Specific Maximum 
                (use is defined in SDP specification: RFC????)

Encryption Key Access Mechanisms
================================
An unknown encryption key access mechanism means the session cannot be
joined.

Value           Meaning
-----           -------
clear           The key field contains the untransformed encryption key.
                (use is defined in SDP specification: RFC????)

base64          The key field contains the base 64 encode key
                (use is defined in SDP specification: RFC????)

uri             The key field contains a URI to be used to obtain the key.
                (use is defined in SDP specification: RFC????)

prompt          The user should be prompted for the key
                (use is defined in SDP specification: RFC????)

Media
=====

SDP allows descriptions of various media streams.  Proliferation of
top-level media types is discouraged.  An unknown media means the
session cannot be joined completely, and clients may choose to reject
the entire session.

Value           Meaning
-----           -------
audio           An audio data stream.

video           A video data stream.

whiteboard      A whiteboard or drawing program.

text            A text-based communications channel.

control         A conference control channel.

data            Raw data such as program code not intended for live presentation.

Transport Protocols and Payload Formats
=======================================

SDP allows both a transport protocol and a payload format to be
defined.  In some cases it is not clear that there is a distinction
between transport protocol and payload format.  In such cases, the
protocol name (typically the application name in such cases) goes in
the format field, and a transport protocol such as "udp" or "tcp" is
specified.

Payload format names are only meaningful in the context of a transport
protocol and media.

Unknown protocols or formats mean the session cannot be joined
completely, and clients may choose to reject the entire session.

Media   Transport  Format     Meaning
-----   ---------  ------     -------
audio   RTP/AVP    <numeric>  Audio data transported using RTP (rfc 1889) and 
                              the Audio/Video profile (rfc 1890).  The format
                              value is numeric and gives the payload type as
                              specified in rfc 1890, or a dynamic payload type
                              accompanied by an rtpmap attribute.
                              (use is defined in SDP specification: RFC????)

audio   vat        pcm        Audio data transported using LBL's old Visual
audio   vat        pcm2       Audio Tool packet format. (use is depricated)
audio   vat        pcm4       
audio   vat        dvi        
audio   vat        dvi2       
audio   vat        dvi4       
audio   vat        gsm        
audio   vat        lpc4       

video   RTP/AVP    <numeric>  Video data transported using RTP (rfc 1889) and
                              the Audio/Video profile (rfc 1890).  The format
                              value is numeric and gives the payload type as
                              specified in rfc 1890, or a dynamic payload type
                              accompanied by an rtpmap attribute.
                              (use is defined in SDP specification: RFC????)

video   rtp        h261       Video data transported using RTP version 1
video   rtp        nv         (use is depricated)
video   rtp        celb
video   rtp        jpeg

whiteboard udp     wb         Whiteboard data in LBL whiteboard format.
                              (use is defined in SDP specification: RFC????)

text    udp        nt         Text editor data in UCL Network Text Editor 
                              format.
                              (use is defined in SDP specification: RFC????)

control H323       mc         Control channel used to contact the H.323 
                              multipoint controller in an H.332 session.
                              (use is defined in H.332 specification)

control H323       caps       Control channel used to contact the H.323 
                              capability negotiation server in an H.332 
                              session.
                              (use is defined in H.332 specification)

Attributes
==========

SDP attributes may only make sense when used at the session-level, at
the media-level or both.  Unknown attributes may be safely ignored.
Attributes defined in this document should not be ignored.

Session Level Attributes Only
-----------------------------
Value           Meaning
-----           -------
cat             The attribute gives a categorisation of the session.
                (use is defined in SDP specification: RFC????)

keywds          The attribute gives keywords that may be use to 
                identify relevant sessions.
                (use is defined in SDP specification: RFC????)

type            The attribute gives the session type.
                (use is defined in SDP specification: RFC????)
                Valid values are:
type:broadcast  The session is a loosely coupled broadcast.
                (use is defined in SDP specification: RFC????)
type:meeting    The session is a loosely coupled meeting.
                (use is defined in SDP specification: RFC????)
type:moderated  The session is a moderated meeting.
                (use is defined in SDP specification: RFC????)
type:H332        The session is an H.Loosely-coupled session
                (use is defined in ITU H.Loosely-coupled)
type:test       The session is a test
                (use is defined in SDP specification: RFC????)

charset         This attribute gives the character set for other SDP records.
                (use is defined in SDP specification: RFC????)
                The default if the attribute is not specified is ISO-8859-1.
                Valid values are:
charset:unicode-1-1-utf-7
                The session description uses the ISO 10646 character set
                encoded using the UTF-7 (RFC 1642) tranform.
                (use is defined in SDP specification: RFC????)

tool            The attribute gives the name and version number of the tool
                used to create the session description
                (use is defined in SDP specification: RFC????)

Session and Media Level Attributes
----------------------------------
These attributes can be used at session and media levels.  When used
at the session-level, they apply to all media unless overridden by the
same media level attribute.  In addition, the session level attributes
(especially "type") may imply defaults for these.

Value           Meaning
-----           -------
recvonly        The session or medium is unidirectional (receive only).
                (use is defined in SDP specification: RFC????)

sendrecv        The session or medium is bidirectional
                This is the default if not specified, and is only required
                to override a session-level recvonly or sendonly attribute.
                (use is defined in SDP specification: RFC????)

sendonly        The session or medium is unidirectional (send-only)
                Note: recvonly, sendrecv, and sendonly are mutually exclusive.
                (use is defined in SDP specification: RFC????)

Media Level Attributes
----------------------
Some media level attributes are only meaningful with specific media,
protocols or formats.

Value           Used with                Meaning
-----           ---------                -------
ptime           audio media             The length of time in milliseconds 
                                        in each audio packet.
                                        (use is defined in SDP spec: RFC????)

orient          whiteboard type media   The orientation of the page.
                                        (use is defined in SDP spec: RFC????)
                                        Permitted values are:
orient:portrait                         Portrait format
                                        (use is defined in SDP spec: RFC????)
orient:landscape                        Landscape format
                                        (use is defined in SDP spec: RFC????)
orient:seascape                         Upside-down landscape format
                                        (use is defined in SDP spec: RFC????)

framerate       video media             The video frame rate
                                        (use is defined in SDP spec: RFC????)

quality         media with lossy        The quality value.
                compression             (use is defined in SDP spec: RFC????)

rtpmap          RTP protocol            Defines the mapping between codec name
                                        and an RTP dynamic payload type
                                        (use is defined in SDP spec: RFC????)

rtpred1         RTP audio using         Gives the payload type of the primary
                redundancy              encoding in an audio stream with
                                        redundancy.
                                        (use is defined in redundancy
                                         specification: RFC ????)
 
rtpred2         RTP audio using         Gives the payload type of secondary
                redundancy              encoding in an audio stream with
                                        redundancy.
                                        (use is defined in redundancy
                                         specification: RFC ????)

---

From: Peter Parnes <[email-masked]>
Date: Tue, 25 Mar 1997 23:11:25 +0100

[email-masked] said:
> Media =====

I'd like to see an addition for multicasted HTML for which there exists several application today (I know of at least three different projects). 
Type = html

Another media-type I use here is talk (should that be chat following de-facto non-unix "standards"? The word chat makes it also much easier to explain to non-unix freaks what it does :-) ) for text based multicasted text-"talk".  
Type = text

/P

---

From: Mark Handley <[email-masked]>
Date: Tue, 25 Mar 1997 17:31:45 -0500

>I'd like to see an addition for multicasted HTML for which there exists severa
>l application today (I know of at least three different projects). 
>Type = html

Yes, I know of the existence of several projects too.  I believe these
fall under "text" media.  What I don't have is any reference to any
protocol.

I suggest protocol=udp, format=some-short-form-of-the-application-name.  
If there's anything in active use, then let me know, I'll add it to
the initial set that I hand to IANA.

Otherwise people can always write a spec later and request it be
registered.

>Another media-type I use here is talk (should that be chat following de-facto 
>non-unix "standards"? The word chat makes it also much easier to explain to no
>n-unix freaks what it does :-) ) for text based multicasted text-"talk".  
>Type = text

Yes, again:
media=text, protocol=udp, format=some-short-form-of-the-application-name.

Same applies - let me know what's in current usage.

The general guideline is that if the protocol is standards track, or
needs to be used with muliple formats, you get to name it directly in
the protocol field.  If it's not, you don't, and specify "udp" as the
protocol.  vat was an exception for historical reasons.

Mark