Internet DRAFT - draft-bhatia-mmusic-sdp-altcap
draft-bhatia-mmusic-sdp-altcap
MMUSIC Working Group
Internet Draft M. Bhatia
Expires: January 10, 2005 J. Oliver
NexTone Communications
July 12, 2004
Alternate Simultaneous Capabilities and Offers in the Session
Description Protocol (SDP)
draft-bhatia-mmusic-sdp-altcap-00.txt
Status of this Memo
By submitting this Internet-Draft, I certify that any applicable
patent or other IPR claims of which I am aware have been disclosed,
and any of which I become aware will be disclosed, in accordance with
RFC 3668.
Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF), its areas, and its working groups. Note that other
groups may also distribute working documents as Internet-Drafts.
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."
The list of current Internet-Drafts can be accessed at
http://www.ietf.org/ietf/1id-abstracts.txt.
The list of Internet-Draft Shadow Directories can be accessed at
http://www.ietf.org/shadow.html.
This Internet-Draft will expire on January 10, 2005.
Copyright Notice
Copyright (C) The Internet Society (2004). All Rights Reserved.
Abstract
This document defines Session Description Protocol (SDP) attributes
and semantics to express alternate capabilities and offers. The
attribute "cgroupö is defined to express alternate simultaneous sets
of capabilities. The ôALTSö semantics are defined to express specific
alternate simultaneous offers. Existing methods like the MIME
multipart/alternative subtype and the use of multiple session
descriptions in SDP are also discussed.
Bhatia & Oliver Expires û January 10, 2005 [Page 1]
Alternate Capabilities and Offers for SDP July 2004
Table of Contents
1. Introduction...................................................2
2. Terminology....................................................3
3. The need for expressing alternate simultaneous capabilities....3
4. Requirements and considerations for mechanisms to specify
simultaneous alternate capabilities...............................3
5. The ALTS semantics for constructing alternate simultaneous offers
..................................................................4
5.1 Specifying preference among alternate offers...............4
5.2 Offer/Answer and ALTS......................................4
5.3 Example of ALTS............................................4
6. The ôcgroupö attribute for grouping capabilities...............5
7. The ALTC semantics for expressing alternate simultaneous
capabilities......................................................5
7.1 Specifying preference among alternate capabilities.........6
8. The MIME multipart/alternative subtype.........................6
9. Security Considerations........................................7
10. IANA Considerations...........................................8
11. References....................................................8
11.1 Informative References....................................8
11.2 Normative References......................................9
Author's Addresses................................................9
Copyright Statement...............................................9
1. Introduction
The SDP framework as specified in RFC 2327 [5] has limitations for
expressing capabilities and complex relationships which can exist
among media types while constructing an offer. Several efforts have
been made in this regard. RFC 3407 [9] defines a method to express
simple capabilities and RFC 3388 [7] defines a means to express
relationship among media lines. Definition of methods to express
alternate simultaneous capabilities and offers has been moved into
the SDPng framework [3].
For brevity, we will use the following terms to speak of these two
problems:
AltOffer: A mechanism capable of representing alternate simultaneous
offers
AltCap: A mechanism capable of representing alternate simultaneous
capabilities.
We feel that there is a need to address these issues in the current
SDP framework and its extensions. While these issues may warrant
separate documents eventually, we start by presenting three methods
Bhatia & Oliver Expires - January 10, 2005 [Page 2]
Alternate Capabilities and Offers for SDP July 2004
for discussion by the internet community. The three methods we
propose are based on the following:
1. Definition of a grouping framework for capabilities. We define a
ôcgroupö attribute for capabilities similar to the ôgroupö
attribute defined in RFC 3388 [7] for media lines. This
addresses the AltCap problem.
2. Semantics based on grouping framework for media lines defined in
RFC 3388 [7]. This addresses the AltOffer problem.
3. The MIME multipart/alternative subtype in protocols such as SIP
[6]. This is a scenario where the syntax exists, and the
offer/answer semantics need to be extended to specify behavior.
2. Terminology
In this document, the key words "MUST", "MUST NOT", "REQUIRED",
"SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT
RECOMMENDED", "MAY", and "OPTIONAL" are to be interpreted as
described in BCP 14, RFC 2119 [1] and indicate requirement levels for
compliant implementations.
3. The need for expressing alternate simultaneous capabilities
1. SDPng and its scope: While the scope of the SDPng effort is
substantial, ôSDPng is not anticipated to be backwards
compatible with SDP and work on SDPng is currently in the early
stages. Several other protocols, e.g. SIP [6] and Media Gateway
Control Protocol (MGCP) [2], use SDP and are likely to continue
doing so for the foreseeable future. In many cases these
signaling protocols have an urgent need for some limited form of
capability negotiationö RFC 3407 [9].
2. Support of similar feature in other protocols: H.245 [4] used by
the H.323 suit of protocols allows elaborate mechanisms for
endpoints to be able to specify constraints on capabilities and
offers. We feel that using SDP, these endpoints should be able
to achieve the same level of functionality.
3. Interworking between SDP and H.245: As carriers are increasingly
adopting SIP [6], it becomes pertinent that Interworking between
these protocols is possible to the extent that existing
functionality is not lost, but only improved. Alternate
simultaneous capabilities allow for optimal call setup both in
terms of resource usage on the caller as well as quality of
media traffic received by the called party.
4. Requirements and considerations for mechanisms to specify
simultaneous alternate capabilities
Bhatia & Oliver Expires - January 10, 2005 [Page 3]
Alternate Capabilities and Offers for SDP July 2004
Before we come up with extensions to SDP to specify these mechanisms,
it is worthwhile to summarize the requirements such mechanisms should
satisfy:
The mechanism MUST be compatible with existing implementations based on RFC
RFC 3264 [8] and RFC 2327 [5]. Newer implementations which use such a
mechanism must be able to complete calls with existing implementations which
are based on these specifications.
5. The ALTS semantics for constructing alternate simultaneous offers
We define a new semantics attribute within the SDP grouping framework
[7]: ALTS. This attribute addresses the AltOffer problem.
Each set of media lines grouped using the ALTS semantics provides an
alternative offer for establishing a session. Media lines within a
group provide a simultaneous offer. An entity constructing an offer
based on these semantics MUST be ready to receive (or send) media
over any set of the grouped m= lines.
5.1 Specifying preference among alternate offers
An offer may contain several groups of media lines grouped using the
ALTS semantics. The order in which the ôgroupö session level
attribute appears in the offer specifies a decreasing level of
preference among the alternate offers.
The order of identifiers of media streams within a group line does
not specify any order of preference relevant among the alternate
offers.
5.2 Offer/Answer and ALTS
An offerer using SIP [6] to send its offer SHOULD place the sdp-
session option-tag [WIP] in a Require header field.
An answerer receiving a session description that uses the ALTS
semantics MUST set the ports of m= lines in all groups besides the
group it accepts to zero.
The answerer may use locally defined policy and available bandwidth
as well as the callerÆs order of preference when making the decision
as to which group to pick for the answer.
5.3 Example of ALTS
The following SDP represents two alternate offers: {1,2} representing
{G.711, H.261} and {3,4} representing {G.729, H.262}. In this case
Bhatia & Oliver Expires - January 10, 2005 [Page 4]
Alternate Capabilities and Offers for SDP July 2004
the endpoint intends to operate the H.262 codec only with a low
complexity codec G.711 codec.
v=0
o=bob 280744730 28977631 IN IP4 host.example.com
s=
t=0 0
a=group:ALTS 1 2
a=group:ALTS 3 4
m=audio 6886 RTP/AVP 0
c=IN IP6 2001:0600::1
a=mid:1
m=audio 22334 RTP/AVP 18
c=IN IP4 192.0.2.2
a=mid:3
m=video 9000 RTP/AVP 34
c=IN IP4 192.0.2.2
a=rtpmap:34 .....
a=mid:2
m=video 9001 RTP/AVP 35
c=IN IP4 192.0.2.2
a=rtpmap:35 .....
a=mid:4
6. The ôcgroupö attribute for grouping capabilities
A new "cgroup" session-level attribute is defined. It is used for
grouping together different capability attributes as specified in RFC
3407 [9]. A group attribute is of the form:
a=cgroup: <semantics-token> <cap-num-list>
We define the ALTC semantics token below. The <cap-num-list> is a
list of <cap-num> as specified in RFC 3407 [9] for each capability in
a capability attribute line.
7. The ALTC semantics for expressing alternate simultaneous capabilities
An application that receives SDP containing capabilities grouped
together by the ALTC semantics should treat capabilities within each
group as simultaneous and the groups themselves as alternate to each
other.
For example:
Bhatia & Oliver Expires - January 10, 2005 [Page 5]
Alternate Capabilities and Offers for SDP July 2004
v=0
o=- 25678 753849 IN IP4 128.96.41.1
s=
c=IN IP4 128.96.41.1
t=0 0
a=cgroup: ALTC 1 3
a=cgroup: ALTC 2 4
m=audio 3456 RTP/AVP 0
a=sqn: 0
a=cdsc: 1 audio RTP/AVP 0
a=cdsc: 2 audio RTP/AVP 18
m=video 3458 RTP/AVP 31
a=cdsc: 3 video RTP/AVP 31
a=cdsc: 4 video RTP/AVP 34
7.1 Specifying preference among alternate capabilities
The order in which the cgroup lines appear in the SDP specifies the
decreasing order of preference among the capabilities.
8. The MIME multipart/alternative subtype
For protocols such as SIP [6], the MIME multipart/alternative
approach is a method to include alternate sets of offers. An example
of such an offer is:
Content-Type: multipart/alternative; boundary=ÆxxxÆ
--xxx
Content-Type: application/sdp
v=0
o=- 25678 753849 IN IP4 128.96.41.1
s=
c=IN IP4 128.96.41.1
t=0 0
m=audio 3456 RTP/AVP 0
m=video 3458 RTP/AVP 31
--xxx
Content-Type: application/sdp
v=0
o=- 25678 753849 IN IP4 128.96.41.1
s=
c=IN IP4 128.96.41.1
t=0 0
m=audio 3456 RTP/AVP 18
m=video 3458 RTP/AVP 34
Bhatia & Oliver Expires - January 10, 2005 [Page 6]
Alternate Capabilities and Offers for SDP July 2004
--xxxù
The order in which the message bodies occur also specifies the
increasing order of preference for the offerer.
All message bodies are returned by the answerer, with port number = 0
in SDPs which are not accepted. Any media streams within an
individual SDP may also be rejected by setting the port number to 0,
as per RFC 3264 [8]. For example:
Content-Type: multipart/alternative; boundary=ÆxxxÆ
--xxx
Content-Type: application/sdp
v=0
o=- 25678 753849 IN IP4 128.96.41.1
s=
c=IN IP4 128.96.41.1
t=0 0
m=audio 49000 RTP/AVP 0
m=video 59000 RTP/AVP 31
--xxx
Content-Type: application/sdp
v=0
o=- 25678 753849 IN IP4 128.96.41.1
s=
c=IN IP4 128.96.41.1
t=0 0
m=audio 0 RTP/AVP 18
m=video 0 RTP/AVP 34
--xxx--
This method could potentially also be use to specify alternate sets
of capabilities
9. Security Considerations
It is STRONGLY RECOMMENDED that integrity protection be applied to
the SDP session descriptions. For session descriptions carried in SIP
[6], S/MIME is the natural choice to provide such end-to-end
integrity protection, as described in RFC 3261 [6]. Other
applications MAY use a different form of integrity protection
Bhatia & Oliver Expires - January 10, 2005 [Page 7]
Alternate Capabilities and Offers for SDP July 2004
10. IANA Considerations
This document defines one SDP attribute: "cgroup".
The "cgroup" attribute is used for grouping together different media
capabilities and its format is defined in Section 6.
This document defines a framework to group media lines in SDP using
different semantics. Semantics to be used with this framework are
registered by the IANA when they are published in standards track
RFCs.
The IANA Considerations section of the RFC MUST include the following
information, which appears in the IANA registry along with the RFC
number of the publication.
o A brief description of the semantics.
o Token to be used within the group attribute. This token may be
of any length, but SHOULD be no more than four characters long.
Reference to an standards track RFC.
The only entry in the registry for the time being is:
Semantics Token Reference
------------------- ----- -----------
Alternate Capabilities ALTC RFC XXXX
IANA needs to register the following new ``semantics'' attribute for
the SDP grouping framework [7]:
Semantics Token Reference
------------------- ----- ---------
Alternate Sessions ALTS RFCxxxx
It should be registered in the SDP parameters registry (http://
www.iana.org/assignments/sdp-parameters) under Semantics for the
"group" SDP Attribute.
11. References
11.1 Informative References
[1] Bradner, S., "Key words for use in RFCs to Indicate Requirement
Levels", BCP 14, RFC 2119, March 1997.
[2] Arango, M., Dugan, A., Elliott, I., Huitema, C. and S. Pickett,
"Media Gateway Control Protocol (MGCP) Version 1.0", RFC 2705,
October 1999.
Bhatia & Oliver Expires - January 10, 2005 [Page 8]
Alternate Capabilities and Offers for SDP July 2004
[3] Dirk Kutscher, Joerg Ott, Carsten Bormann, "Session Description
and Capability Negotiation", Internet Draft draft-ietf-mmusic-
sdpng-06.txt, Work in Progress, March 2003.
[4] ITU-T Recommendation H.245, Control Protocol for Multimedia
Communication, July 2000.
11.2 Normative References
[5] Handley, M. and V. Jacobson, "SDP: Session Description
Protocol", RFC 2327, April 1998.
[6] Rosenberg, J., Schulzrinne, H., Camarillo, G., Johnston, A.,
Peterson, J., Sparks, R., Handley, M. and E. Schooler,
"SIP:Session Initiation Protocol", RFC 3261, June 2002.
[7] Camarillo, G., Eriksson, G., Holler, J. and H. Schulzrinne,
"Grouping of Media Lines in the Session Description Protocol
(SDP)", RFC 3388, December 2002.
[8] Rosenberg, J. and H. Schulzrinne, "An Offer/Answer Model with
the Session Description Protocol (SDP)", RFC 3264, June 2002.
[9] F. Andreasen, ôSession Description Protocol (SDP) Simple
Capability Declarationö, RFC 3407, October 2002.
Author's Addresses
Medhavi Bhatia
NexTone Communications
101 Orchard Ridge Drive
Gaithersburg, MD 20878
Email: mbhatia@nextone.com
John Oliver
NexTone Communications
101 Orchard Ridge Drive
Gaithersburg, MD 20878
Email: joliver@nextone.com
Copyright Statement
Copyright (C) The Internet Society (2004). This document is subject
to the rights, licenses and restrictions contained in BCP 78, and
except as set forth therein, the authors retain all their rights."
"This document and the information contained herein are provided on
an "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE
Bhatia & Oliver Expires - January 10, 2005 [Page 9]
Alternate Capabilities and Offers for SDP July 2004
REPRESENTS OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY AND THE
INTERNET ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF
THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED
WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE."
Bhatia & Oliver Expires - January 10, 2005 [Page 10]