Internet DRAFT - draft-groves-clue-latent-config
draft-groves-clue-latent-config
CLUE C. Groves, Ed.
Internet-Draft W. Yang
Intended status: Informational R. Even
Expires: July 30, 2014 Huawei
January 26, 2014
CLUE and latent configurations
draft-groves-clue-latent-config-00
Abstract
This document proposes to use Latent Configurations as described by
the SDP media capability negotiation framework [RFC6871] for the
description and negotiation of CLUE encodings.
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 July 30, 2014.
Copyright Notice
Copyright (c) 2014 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.
Groves, et al. Expires July 30, 2014 [Page 1]
Internet-Draft CLUE and latent config January 2014
Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2
2. Latent Configurations and CLUE . . . . . . . . . . . . . . . 3
2.1. Semantics . . . . . . . . . . . . . . . . . . . . . . . . 3
2.2. Messaging . . . . . . . . . . . . . . . . . . . . . . . . 3
2.3. Correlation . . . . . . . . . . . . . . . . . . . . . . . 4
2.4. Returning an Answer . . . . . . . . . . . . . . . . . . . 5
2.5. Interworking . . . . . . . . . . . . . . . . . . . . . . 5
2.6. Relation to BUNDLE . . . . . . . . . . . . . . . . . . . 6
2.7. Open Issues . . . . . . . . . . . . . . . . . . . . . . . 6
3. Example . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
4. Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
5. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 11
6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 11
7. Security Considerations . . . . . . . . . . . . . . . . . . . 11
8. References . . . . . . . . . . . . . . . . . . . . . . . . . 11
8.1. Normative References . . . . . . . . . . . . . . . . . . 11
8.2. Informative References . . . . . . . . . . . . . . . . . 11
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 12
1. Introduction
One of the issues faced in CLUE is how to describe the encodings
associated with the Advertised Captures. It was recently decided
that this encoding information would not be described in CLUE itself.
This means that other methods such as the use of SDP are required to
transmit this encoding information. When considering the use of SDP
(and in particular the use of SDP Offer/Answer) it should be
recognized that there is a semantic difference between a CLUE
encoding and an SDP media stream description. Given the nature of a
CLUE exchange the encoding represents a Capture/Stream that may occur
in the future (i.e. no resources are reserved) whereas a SDP Offer
typically relates to resources that are available at that point in
time. This does lead to complications when trying to describe CLUE
encodings using standard SDP O/A mechanisms.
An alternate approach to using the standard SDP O/A mechanisms for
describing CLUE encodings is to use the "SDP Capability Negotiation
framework" [RFC5939] and in particular to use the SDP Media
Capabilities Negotiation [RFC6871]. [RFC6871] defines "Latent
Configurations" as a means to describe media streams that may be used
in the future.
Groves, et al. Expires July 30, 2014 [Page 2]
Internet-Draft CLUE and latent config January 2014
2. Latent Configurations and CLUE
The sections below discuss different aspects and benefits of using
Latent Configurations to describe CLUE encodings.
2.1. Semantics
[RFC6501] defines a Latent Configuration as:
A latent configuration indicates which combinations of
capabilities could be used in a future negotiation for the
session and its associated media stream components. Latent
configurations are neither ready for use nor offered for actual
or potential use in the current offer/answer exchange. Latent
configurations merely inform the other side of possible
configurations supported by the entity. Those latent
configurations may be used to guide subsequent offer/answer
exchanges, but they are not offered for use as part of the
current offer/answer exchange.
From the above description it can be seen that the semantic of a
Latent Configurations closely matches a CLUE message flow. I.e. A
set of possible Captures/Encodings (e.g. configurations) are
Advertised, the receiver can choose particular Captures/Encodings and
then the actual media stream is subsequently established. Therefore
the authors believe that use of latent configurations is a good
semantic fit with CLUE to describe the encodings.
2.2. Messaging
It has been recognized that CLUE Advertisements may contain a large
number of Captures and as there may be multiple encodings per capture
potentially a larger number of encodings.
Section 4.2 of CLUE signaling draft [I-D.kyzivat-clue-signaling]
indicates the CLUE Provider uses an "m" line for each separate
encoding and utilizes the "a=inactive", "a=sendonly" and "a=recvonly"
to manage when the media flows are instantiated.
This means that ports must be allocated for these "m" lines and the
SDP Offer/Answer [RFC3264] rules regarding maintaining these "m"
lines must be followed.
This results in potentially very large SDP descriptions containing
superfluous information that must be maintained for the life of the
session.
Groves, et al. Expires July 30, 2014 [Page 3]
Internet-Draft CLUE and latent config January 2014
Latent Configurations allow a Provider to advertise potential media
without allocating multiple "m" lines or allocating ports for the
configurations. The SDP O/A model doesn't apply to Latent
Configurations which means that less data is sent over the life of a
session.
This allows a Provider to offer a basic media stream for immediate
use (i.e. an audio "m" line) and a list of latent configurations for
later use without the need for additional m-lines. This is described
by [RFC6871]:
A new attribute ("a=lcfg") specifies latent media stream
configurations when no corresponding media line ("m=") is
offered. An example is the offer of latent configurations for
video even though no video is currently offered. If the peer
indicates support for one or more offered latent configurations,
the corresponding media stream(s) may be added via a new offer/
answer exchange.
AND
The "lcfg" attribute is defined as a media-level attribute since
it specifies a possible future media stream. However, the "lcfg"
attribute is not necessarily related to the media description
within which it is provided. Each media line in an SDP
description represents an offered simultaneous media stream,
whereas each latent configuration represents an additional stream
that may be negotiated in a future offer/answer exchange.
The use of Latent Configurations also means that resources aren't
tied up and can be allocated when they are needed. i.e. from
[RFC6871]:
A latent configuration represents a future capability; hence, the
"pt=" parameter is not directly meaningful in the "lcfg"
attribute because no actual media session is being offered or
accepted. It is permitted in order to tie any payload type
number parameters within attributes to the proper media format.
Therefore the authors believe that Latent Configurations provide a
clear benefit in terms of messaging size and complexity over normal
SDP Offer/Answer mechanism for Advertising CLUE encodings.
2.3. Correlation
One of the issues recognized in the CLUE work it that there needs to
be a correlation between the Captures signaled in CLUE and the
encodings defined in SDP. The encoding identity (EncodeID) is used
Groves, et al. Expires July 30, 2014 [Page 4]
Internet-Draft CLUE and latent config January 2014
as an identity in CLUE. This same identity is then assigned to the
encoding in SDP. Currently [I-D.kyzivat-clue-signaling] indicates
that the label attribute [RFC4574] is used to identify the encoding
and that it is set per "m" line.
This same method can be used with Latent configurations as they allow
the use of SDP attributes in the configurations' description.
Section 3.3.8/[RFC6871] shows an example of the use of "label" with a
latent configuration, e.g.
a=lcfg:4 mt=video t=1 m=1 a=41,42
a=acap:41 label:13
a=acap:42 content:slides
The use of Latent Configurations does not require any new SDP
attributes to be defined in order for it to be used for CLUE
encodings.
2.4. Returning an Answer
A consumer upon receiving an SDP Offer containing CLUE related latent
configurations from the Provider could immediately send an SDP answer
with the configurations that it could support, i.e. section 3.3.6.1/
[RFC6871]:
Potential and/or latent configuration attributes may be returned
within an answer SDP to indicate the ability of the answerer to
support alternative configurations of the corresponding
stream(s).
The consumer would then send a CLUE Configure indicating the Capture
Encodings it wants. The Provider can then subsequently offer actual
media streams for the encodings.
2.5. Interworking
One aspect to be considered is the level of adoption of the SDP media
capabilities negotiation framework in network entities. Whilst the
framework is not widely deployed it is supported by 3GPP (e.g.
[SDO-3GPP.24.292]) and is supported by the ITU-T (e.g.
[ITU.H248.80.2014] and [ITU.T38.2010].
It must also be recognized that CLUE itself is something completely
new and clients and network equipment must be upgraded to support
CLUE signaling. Thus this equipment could also be upgraded to
support Latent Configurations at the same time.
Groves, et al. Expires July 30, 2014 [Page 5]
Internet-Draft CLUE and latent config January 2014
In cases where a CLUEfull client sends SDP requesting a CLUE channel
and a number of latent configurations to a client that doesn't
support CLUE or the media capability framework, the receiving client
will ignore the attributes associated with the latent configuration
as per normal SDP behavior. Thus there are no interworking issues in
this case.
In cases where a CLUEfull client sends SDP requesting a CLUE channel
and a number of latent configurations to a client that doesn't
support CLUE but DOES support the media capability framework, the
receiving client would ignore the CLUE related attributes but could
respond with what latent configurations it could support. This would
allow the sender to decide if it wanted to offer subsequent media
streams. Again there are no interworking issues in this case.
In either of the above cases the session between the clients wouldn't
be forced to maintain "m" lines for media that would never be used.
2.6. Relation to BUNDLE
At its core BUNDLE is about using SDP to describe that several "m"
lines use the same IP Address/Port for the transport of RTP media.
If SDP O/A is being used to describe CLUE encodings then there is a
potential interaction in that the CLUE encoding "m" lines would all
be subject the BUNDLE procedures whether or not they were actually
used for media.
The use of Latent Configurations would simplify this interaction
because Latent Configurations do not allocate or specify ports. They
would not be subject to BUNDLE procedures. Once the use of BUNDLE is
established (i.e. for the base media streams), then only the media
streams (Capture Encodings) that have been chosen by the Consumer can
be added to the BUNDLE.
2.7. Open Issues
There are several issues that need to be clarified in [RFC6871] with
respect to latent configurations.
1. Latent configurations are specified as media level attributes and
thus may be associated with any m-line in an SDP O/A as they
don't really pertain to a particular media. There appears to be
no guidance as to with m-line they should be associated with in
the case of multiple m-line in a SDP Offer.
2. It's not clear from [RFC6871] what happens to latent
configurations when an endpoint decides to instantiate the latent
configuration as an m-line through an updated SDP Offer.
Groves, et al. Expires July 30, 2014 [Page 6]
Internet-Draft CLUE and latent config January 2014
Section 3.4.4/[RFC6871] discusses modifying the session but has
minimal information. It is assumed by the authors that the
latent configuration is removed once instantiated.
3. It needs to be clarified whether [RFC6871] indicates that the SDP
Answerer SHOULD reply with the latent configurations it supports
or whether this is optional. If it's optional what does it mean?
4. [RFC6871] allows an SDP Answerer to reply with additional latent
configurations. However it doesn't specify what action the SDP
Offerer should take. This needs to be clarified.
3. Example
This section describes an example session establishment utilizing
CLUE and latent configurations. The Provider offers a base audio
stream, a CLUE channel (according to [I-D.ietf-mmusic-sctp-sdp] and
several latent configurations related to video captures.
v=0
o=alice 2890844526 2890844526 IN IP4 host.anywhere.com
s=
c=IN IP4 host.anywhere.com
t=0 0
m=audio 49170 RTP/AVP 0 ; Base audio stream
a=rtpmap:0 PCMU/8000
; CLUE channel establishment request
m=application 49172 SCTP 49172
a=setup:actpass
a=connection:new
a=sctpmap:49172 CLUE 1
;Offered configurations
a=rmcap:1 H264/90000 ; this is needed for the m=
a=rmcap:2 VP8/90000
a=tcap:1 RTP/AVPF ; for the t=
a=acap:5 sendonly
a=acap:1 label:encoding1
a=lcfg:1 mt=video t=1 m=1|2 a=1,5 pt=1:100,2:101
a=acap:2 label:encoding2
a=lcfg:2 mt=video t=1 m=1|2 a=2,5 pt=1:102,2:103
a=acap:3 label:encoding3
a=lcfg:3 mt=video t=1 m=1|2 a=3,5 pt=1:104,2:105
a=acap:4 label:encoding4
a=lcfg:4 mt=video t=1 m=1|2 a=4,5 pt=1:106,2:107
Figure 1: Initial Offer
Groves, et al. Expires July 30, 2014 [Page 7]
Internet-Draft CLUE and latent config January 2014
The receiver is CLUE capable and responds indicating support of the
CLUE channel and indicates the IP Address/Port where the Provider
should establish a connection to. It also indicates that it only
supports H264 encoding.
v=0
o=bob 2890844730 2890844730 IN IP4 host.example.com
s=
c=IN IP4 host.example.com
t=0 0
m=audio 49920 RTP/AVP 0
a=rtpmap:0 PCMU/8000
; Accepted SCTP CLUE connection
m=application 54321 SCTP 54321
c=IN IP4 192.0.2.1
a=setup:passive
a=connection:new
a=sctpmap:54321 CLUE 1
;Accepted configurations
a=rmcap:1 H264/90000 ; this is needed for the m=
a=tcap:1 RTP/AVPF ; for the t=
a=acap:5 sendonly
a=acap:1 label:encoding1
a=lcfg:1 mt=video t=1 m=1|2 a=1,5 pt=1:100
a=acap:2 label:encoding2
a=lcfg:2 mt=video t=1 m=1|2 a=2,5 pt=1:102
a=acap:3 label:encoding3
a=lcfg:3 mt=video t=1 m=1|2 a=3,5 pt=1:104
a=acap:4 label:encoding4
a=lcfg:4 mt=video t=1 m=1|2 a=4,5 pt=1:106
Figure 2: Answer
Author's note: In the signaling document the grouping framework
[RFC5888] is used to indicate the "m" lines that are under CLUE
control. It's not clear whether a=group:CLUE and a=mid is needed at
this stage or during the updated-Offer. It could be assumed that the
above latent configurations are related to CLUE due to the fact they
appear under the m=application SCTP/CLUE line.
On receipt of the SDP Answer the Provider establishes the SCTP
connection, performs CLUE version and capability negotiation (not
shown) and then sends the initial CLUE Advertisement. In it the
Provider advertises a single Capture Scene described by three video
captures (i.e. Left,Centre,Right) or a video capture of the entire
scene.
Groves, et al. Expires July 30, 2014 [Page 8]
Internet-Draft CLUE and latent config January 2014
Author's note: According to the current CLUE protocol work
[I-D.presta-clue-protocol], it's the consumer that sends the first
Advertisement. The author believes that the Provider should send the
first Advertisement to align with the Offer.
+-----------------------|---------------------------------+
| Capture Scene #1 | |
+-----------------------|---------------------------------+
| VC1 | CaptureArea=Left |
| | EncodingGroup=EG1 |
| VC2 | CaptureArea=Centre |
| | EncodingGroup=EG2 |
| VC3 | CaptureArea=Right |
| | EncodingGroup=EG3 |
| VC4 | CaptureArea=All |
| | EncodingGroup=EG4 |
| CSE(VC1,VC2,VC3) | |
| CSE(VC4) | |
+-----------------------|---------------------------------+
| EncodingGroups | |
+-----------------------|---------------------------------+
| EG1 | EncodeID=encoding1 |
| EG2 | EncodeID=encoding2 |
| EG3 | EncodeID=encoding3 |
| EG4 | EncodeID=encoding4 |
+=======================+=================================+
Figure 3: Advertisement
On receipt of the Advertisement the Consumer determines that it wants
the three video captures representing left/centre/right. It sends a
CLUE Configure to the Provider:
+-----------------------+---------------------------------+
| VC1 | encoding1 |
| VC2 | encoding2 |
| VC3 | encoding3 |
+-----------------------|---------------------------------+
Figure 4: Configure
On receipt of the CLUE Configure the Provider determines that the
Consumer wants to see VC1, VC2 and VC3 according to encoding1,
encoding2 and encoding3 respectively. The Provider then issues an
updated SDP Offer for three additional video streams. Note: The
latent configurations have been removed but the latent configuration
related to VC4/encoding4 could also be maintained if still available.
Groves, et al. Expires July 30, 2014 [Page 9]
Internet-Draft CLUE and latent config January 2014
The grouping framework [RFC5888] is used to indicate that the
additional video streams are under CLUE control.
v=0
o=alice 2890844526 2890844526 IN IP4 host.anywhere.com
s=
a=group:CLUE 1 2 3
c=IN IP4 host.anywhere.com
t=0 0
m=audio 49170 RTP/AVP 0 ; Base audio stream
a=rtpmap:0 PCMU/8000
; CLUE channel estab. Req.
m=application 49172 SCTP 49172
a=setup:actpass
a=connection:new
a=sctpmap:49172 CLUE 1
;Additional video streams
m=video 49174 RTP/AVPF 100
a=rtpmap:100 H264/90000
a=label:encoding1
a=mid:1
a=sendonly
m=video 49176 RTP/AVPF 102
a=rtpmap:102 H264/90000
a=label:encoding2
a=mid:2
a=sendonly
m=video 49178 RTP/AVPF 104
a=rtpmap:104 H264/90000
a=label:encoding3
a=mid:3
a=sendonly
Figure 5: Updated Offer
The Consumer then receives the Updated Offer and confirms with an
updated Answer. Media flow for the 3 video streams then starts to
flow.
Groves, et al. Expires July 30, 2014 [Page 10]
Internet-Draft CLUE and latent config January 2014
4. Summary
The authors believe that the use of Latent Configurations is an ideal
way to indicate CLUE encoding information. It is proposed that the
use of Latent Configuration is the preferred way of describing CLUE
encoding information.
5. Acknowledgements
This template was derived from an initial version written by Pekka
Savola and contributed by him to the xml2rfc project.
6. IANA Considerations
It is not expected that the proposed changes present the need for any
IANA registrations.
7. Security Considerations
It is not expected that the proposed changes present any addition
security issues to the current framework.
8. References
8.1. Normative References
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119, March 1997.
8.2. Informative References
[I-D.ietf-mmusic-sctp-sdp]
Loreto, S. and G. Camarillo, "Stream Control Transmission
Protocol (SCTP)-Based Media Transport in the Session
Description Protocol (SDP)", draft-ietf-mmusic-sctp-sdp-05
(work in progress), October 2013.
[I-D.kyzivat-clue-signaling]
Kyzivat, P., Xiao, L., Groves, C., and R. Hansen, "CLUE
Signaling", draft-kyzivat-clue-signaling-05 (work in
progress), September 2013.
[I-D.presta-clue-protocol]
Presta, R. and S. Romano, "CLUE protocol", draft-presta-
clue-protocol-03 (work in progress), November 2013.
Groves, et al. Expires July 30, 2014 [Page 11]
Internet-Draft CLUE and latent config January 2014
[ITU.H248.80.2014]
International Telecommunications Union, "Usage of the
revised SDP offer / answer model with H.248", ITU-T
Recommendation H.248.80, 2014.
[ITU.T38.2010]
International Telecommunications Union, "Procedures for
real time Group 3 facsimile communication between
terminals using IP Networks", ITU-T Recommendation T.38,
2010.
[RFC2629] Rose, M., "Writing I-Ds and RFCs using XML", RFC 2629,
June 1999.
[RFC3264] Rosenberg, J. and H. Schulzrinne, "An Offer/Answer Model
with Session Description Protocol (SDP)", RFC 3264, June
2002.
[RFC5888] Camarillo, G. and H. Schulzrinne, "The Session Description
Protocol (SDP) Grouping Framework", RFC 5888, June 2010.
[RFC5939] Andreasen, F., "Session Description Protocol (SDP)
Capability Negotiation", RFC 5939, September 2010.
[RFC6871] Gilman, R., Even, R., and F. Andreasen, "Session
Description Protocol (SDP) Media Capabilities
Negotiation", RFC 6871, February 2013.
[SDO-3GPP.24.292]
3GPP, "IP Multimedia (IM) Core Network (CN) subsystem
Centralized Services (ICS); Stage 3", 3GPP TS 24.292
10.11.0, June 2013.
Authors' Addresses
Christian Groves (editor)
Huawei
Melbourne
Australia
Email: Christian.Groves@nteczone.com
Weiwei Yang
Huawei
P.R.China
Email: tommy@huawei.com
Groves, et al. Expires July 30, 2014 [Page 12]
Internet-Draft CLUE and latent config January 2014
Roni Even
Huawei
Tel Aviv
Isreal
Email: roni.even@mail01.huawei.com
Groves, et al. Expires July 30, 2014 [Page 13]