Internet DRAFT - draft-hutton-mmusic-bundled-ice-candidates
draft-hutton-mmusic-bundled-ice-candidates
Internet Engineering Task Force A. Hutton, Ed.
Internet-Draft T. Stach
Intended status: Standards Track Siemens Enterprise Communications
Expires: September 29, 2013 March 28, 2013
Multiplexing Negotiation Using ICE Candidate Extension
draft-hutton-mmusic-bundled-ice-candidates-00
Abstract
This document describes a mechanism for extending ICE candidates with
an optional parameter which can be used to negotiate the usage of
bundled media, which refers to the usage of a single 5-tuple for
multiple RTP streams. In a scenario where a party initiating the
negotiation supports ICE [RFC5245] this mechanism provides the
ability to provide an SDP offer which is both backwards compatible
and able to fully specify the use of bundled media. Therefore, this
mechanism allows bundled and non-bundled media to be negotiated in a
single offer/answer exchange when both parties support ICE and this
extension. The mechanism complements the procedures described in
[draft-ietf-mmusic-sdp-bundle-negotiation].
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 September 29, 2013.
Copyright Notice
Copyright (c) 2013 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
Hutton & Stach Expires September 29, 2013 [Page 1]
Internet-Draft BUNDLE WITH ICE CANDIDATES March 2013
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.
Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2
1.1. Requirements Language . . . . . . . . . . . . . . . . . . 3
2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 3
3. SDP Offerer Procedures . . . . . . . . . . . . . . . . . . . 3
4. SDP Answerer Procedures . . . . . . . . . . . . . . . . . . . 5
5. Extension to ICE candidate attribute . . . . . . . . . . . . 5
6. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 6
7. IANA considerations . . . . . . . . . . . . . . . . . . . . . 6
8. Security Considerations . . . . . . . . . . . . . . . . . . . 6
9. Normative References . . . . . . . . . . . . . . . . . . . . 7
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 7
1. Introduction
This document describes a mechanism for extending ICE candidates with
an optional parameter which can be used to negotiate the usage of
bundled media, which refers to the usage of a single 5-tuple for
multiple RTP streams. In a scenario where a party initiating the
negotiation supports ICE [RFC5245] this mechanism provides the
ability to provide an SDP offer which is both backwards compatible
and able to fully specify the use of bundled media. Therefore, this
mechanism allows bundled and non-bundled media to be negotiated in a
single offer/answer exchange when both parties support ICE and this
extension.
The mechanism complements the procedures within
[draft-ietf-mmusic-sdp-bundle-negotiation] with explicitly signalled
ports (OPEN ISSUE: Possibly also IP Address for the bundle media in
each candidate that may form part of a bundle). If the MMUSIC
working group agrees this could be considered as an enhancement for
incorporation in to [draft-ietf-mmusic-sdp-bundle-negotiation].
A problem with the existing bundling proposals is that it does not
appear possible to create a single initial offer that will allow
bundle to be negotiated but maintain interworking with bundle unaware
implementations and therefore it is necessary to perform an initial
offer/answer exchange which does not fully describe or at least only
implicitly describes what the offerer really wants to offer. The
existing bundle proposals also don't take account of the fact that
Hutton & Stach Expires September 29, 2013 [Page 2]
Internet-Draft BUNDLE WITH ICE CANDIDATES March 2013
when both parties support ICE [RFC5245] the port in the m-line of the
initial offer may not be used at all, for example due to a dual stack
offer endpoint offering IPv4 and IPv6 addresses in parallel.
Also the existing bundle proposals have not considered some of the
more complex ICE scenarios involving multiple candidates. For
example when an SDP m-line contains multiple ICE host candidates
during dual stack negotiation, the candidates cannot be considered
equivalent with regard to bundling with candidates on in another
m-line and therefore some way of indicating which candidates can be
bundled seems to be desirable. This could be achieved by including
the complete bundle transport address (IP and Port) in the candidate
or by providing some kind of bundle linkage within the ICE candidate
lines.
OPEN ISSUE: Some analysis is required to determine whether it is also
necessary to specify the bundle IP Address in the ICE candidate in
addition to the bundleport. Explicitly stating the complete
transport address for the bundle seems advantageous. This might also
be necessary if for example different relay IP addresses are
specified for audio and video in the non-bundled case but a single
bundled IP address is required.
1.1. Requirements Language
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
document are to be interpreted as described in RFC 2119 [RFC2119].
2. Terminology
5-tuple: A collection of the following values: source address, source
port, destination address, destination port and protocol.
Bundled media: Two or more RTP streams using a single 5-tuple. The
RTCP streams associated with the RTP streams also use a single
5-tuple, which might be the same, but can also be different, as the
one used by the RTP streams.
3. SDP Offerer Procedures
This document defines an ICE candidate extension to the ICE candidate
with an attribute named "bundleport" which specifies the port to be
used to bundle media.
When generating an SDP offer which is to include a bundle group and
also ICE candidates the offerer follows the procedures as specified
in [draft-ietf-mmusic-sdp-bundle-negotiation] and in addition also
Hutton & Stach Expires September 29, 2013 [Page 3]
Internet-Draft BUNDLE WITH ICE CANDIDATES March 2013
includes in each ICE candidate which relates to a bundle the new
bundleport extension which specifies the port to be used for the
multiplex.
By following the additional procedures specified in this document the
following advantages are realised:
o In the case when the answerer supports ICE the initial offer can
be both bundle and non-bundle compatible.
o Only one offer/answer cycle is needed to negotiate bundle or non-
bundle cases. A second offer/answer may be needed following the
initial negotiation which is normal ICE procedures
o It works for the dual stack scenario in which the port eventually
used may only initially be signalled in the candidate line..
An example SDP Offer is shown below. Note that the a=candidate:
attributes are split over two lines.
v=0
o=alice 2890844526 2890844526 IN IP4 host.atlanta.com
s=
c=IN IP4 192.0.2.2
t=0 0
a=group:BUNDLE foo bar
m=audio 10000 RTP/AVP 0 8 97
a=mid:foo
b=AS:200
a=rtpmap:0 PCMU/8000
a=rtpmap:8 PCMA/8000
a=rtpmap:97 iLBC/8000
a=candidate:1 1 UDP 1694498815 2001:db8::1 10000 typ host
bundleport 10000
a=candidate:2 1 UDP 1694498814 192.0.2.2 20000 typ host
bundleport 20000
a=candidate:1 2 UDP 1694498815 2001:db8::2:2 30000 typ srflx
raddr 2001:db8::1 rport 10000 bundleport 30000
a=candidate:2 2 UDP 1694498815 198.51.100.3 40000 typ srflx
raddr 192.0.2.2 rport 20000 bundleport 40000
a=candidate:1 3 UDP 1694498815 2001:db8::3:3 50000 typ relay
raddr 2001:db8::1 rport 10000 bundleport 50000
a=candidate:2 3 UDP 1694498815 203.0.113.4 60000 typ relay
raddr 192.0.2.2 rport 20000 bundleport 60000
m=video 10002 RTP/AVP 31 32
a=mid:bar
b=AS:1000
Hutton & Stach Expires September 29, 2013 [Page 4]
Internet-Draft BUNDLE WITH ICE CANDIDATES March 2013
a=rtpmap:31 H261/90000
a=rtpmap:32 MPV/90000
a=candidate:1 1 UDP 1694498815 2001:db8::1 10002 typ host
bundleport 10000
a=candidate:2 1 UDP 1694498814 192.0.2.2 20002 typ host
bundleport 20000
a=candidate:1 2 UDP 1694498815 2001:db8::2:2 30002 typ srflx
raddr 2001:::1 rport 10002 bundleport 30000
a=candidate:2 2 UDP 1694498815 198.51.100.3 40002 typ srflx
raddr 192.0.2.2 rport 20002 bundleport 40000
a=candidate:1 3 UDP 1694498815 2001:db8::3:3 50002 typ relay
raddr 2001:db8::1 rport 10002 bundleport 50000
a=candidate:2 3 UDP 1694498815 203.0.113.4 60002 typ relay
raddr 192.0.2.2 rport 20002 bundleport 60000
4. SDP Answerer Procedures
When an SDP Answerer receives an SDP Offer which contains a "BUNDLE"
group, and the SDP Answerer accepts the offered "BUNDLE" group, the
SDP Answerer MUST generate an SDP Answer as specified in
[draft-ietf-mmusic-sdp-bundle-negotiation] with the exception that
rather than using the port associated with the first "m=" line in the
"BUNDLE" group it MUST use the bundleport from the selected ICE
candidates relating to the bundle.
Actually the requirement to use the port associated with the first
"m=" line in the "BUNDLE" group whilst waiting for a second offer
with identical ports in the m lines does not work in some ICE
scenarios. For example when receiving an offer from a dual stack
device the port on the "m=" line may refer to the transport for the
wrong address family and may not even work if there is no
connectivity
5. Extension to ICE candidate attribute
The ICE [RFC5245] a=candidate attribute is extended as follows:
candidate-attribute = "candidate" ":" foundation SP component-id SP
transport SP
priority SP
connection-address SP ;from RFC 4566
port ;port from RFC 4566
SP cand-type
[SP rel-addr]
Hutton & Stach Expires September 29, 2013 [Page 5]
Internet-Draft BUNDLE WITH ICE CANDIDATES March 2013
[SP rel-port]
[SP bundleport]
*(SP extension-att-name SP
extension-att-value)
bundleport = "bundleport" SP port
Alternatively if the IP address and port is fully specified in the
a=candidate attribute would be extended as follows:
candidate-attribute = "candidate" ":" foundation SP component-id SP
transport SP
priority SP
connection-address SP ;from RFC 4566
port ;port from RFC 4566
SP cand-type
[SP rel-addr]
[SP rel-port]
[SP bundle]
*(SP extension-att-name SP
extension-att-value)
bundle = "bundle" SP connection-address SP port
6. Acknowledgements
tbd
7. IANA considerations
If this document moves forward, it requests a new extension attribute
"bundleport", to be defined for the ICE candidate-attribute to be
reserved.
8. Security Considerations
TBD
Hutton & Stach Expires September 29, 2013 [Page 6]
Internet-Draft BUNDLE WITH ICE CANDIDATES March 2013
9. Normative References
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119, March 1997.
[RFC4566] Handley, M., Jacobson, V., and C. Perkins, "SDP: Session
Description Protocol", RFC 4566, July 2006.
[RFC5245] Rosenberg, J., "Interactive Connectivity Establishment
(ICE): A Protocol for Network Address Translator (NAT)
Traversal for Offer/Answer Protocols", RFC 5245, April
2010.
[draft-ietf-mmusic-sdp-bundle-negotiation]
C. Holmberg, H. Alvestrand, C. Jennings , "Multiplexing
Negotiation Using Session Description Protocol (SDP) Port
Numbers ", 2013, <http://tools.ietf.org/html/draft-ietf-
mmusic-sdp-bundle-negotiation>.
Authors' Addresses
Andrew Hutton (editor)
Siemens Enterprise Communications
Technology Drive
Nottingham NG9 1LA
UK
Email: andrew.hutton@siemens-enterprise.com
Thomas Stach
Siemens Enterprise Communications
Dietrichgasse 27-29
Vienna 1030
AT
Email: thomas.stach@siemens-enterprise.com
Hutton & Stach Expires September 29, 2013 [Page 7]