draft-ietf-mmusic-trickle-ice-sip-16.txt   draft-ietf-mmusic-trickle-ice-sip-17.txt 
Network Working Group E. Ivov Network Working Group E. Ivov
Internet-Draft Jitsi Internet-Draft Jitsi
Intended status: Standards Track T. Stach Intended status: Standards Track T. Stach
Expires: December 9, 2018 Unaffiliated Expires: December 23, 2018 Unaffiliated
E. Marocco E. Marocco
Telecom Italia Telecom Italia
C. Holmberg C. Holmberg
Ericsson Ericsson
June 7, 2018 June 21, 2018
A Session Initiation Protocol (SIP) Usage for Incremental Provisioning A Session Initiation Protocol (SIP) Usage for Incremental Provisioning
of Candidates for the Interactive Connectivity Establishment (Trickle of Candidates for the Interactive Connectivity Establishment (Trickle
ICE) ICE)
draft-ietf-mmusic-trickle-ice-sip-16 draft-ietf-mmusic-trickle-ice-sip-17
Abstract Abstract
The Interactive Connectivity Establishment (ICE) protocol describes a The Interactive Connectivity Establishment (ICE) protocol describes a
Network Address Translator (NAT) traversal mechanism for UDP-based Network Address Translator (NAT) traversal mechanism for UDP-based
multimedia sessions established with the Offer/Answer model. The ICE multimedia sessions established with the Offer/Answer model. The ICE
extension for Incremental Provisioning of Candidates (Trickle ICE) extension for Incremental Provisioning of Candidates (Trickle ICE)
defines a mechanism that allows ICE Agents to shorten session defines a mechanism that allows ICE Agents to shorten session
establishment delays by making the candidate gathering and establishment delays by making the candidate gathering and
connectivity checking phases of ICE non-blocking and by executing connectivity checking phases of ICE non-blocking and by executing
them in parallel. them in parallel.
This document defines usage semantics for Trickle ICE with the This document defines usage semantics for Trickle ICE with the
Session Initiation Protocol (SIP), defines a new SIP Info Package to Session Initiation Protocol (SIP). The document also defines a new
support this usage together with the corresponding media type, SDP SIP Info Package to support this usage together with the
attribute and SIP option tag. corresponding media type. Additionally, a new SDP 'end-of-
candidates' attribute and a new SIP Option Tag 'trickle-ice' are
defined.
Status of This Memo Status of This Memo
This Internet-Draft is submitted in full conformance with the This Internet-Draft is submitted in full conformance with the
provisions of BCP 78 and BCP 79. provisions of BCP 78 and BCP 79.
Internet-Drafts are working documents of the Internet Engineering Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF). Note that other groups may also distribute Task Force (IETF). Note that other groups may also distribute
working documents as Internet-Drafts. The list of current Internet- working documents as Internet-Drafts. The list of current Internet-
Drafts is at https://datatracker.ietf.org/drafts/current/. Drafts is at https://datatracker.ietf.org/drafts/current/.
Internet-Drafts are draft documents valid for a maximum of six months Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress." material or to cite them other than as "work in progress."
This Internet-Draft will expire on December 23, 2018.
This Internet-Draft will expire on December 9, 2018.
Copyright Notice Copyright Notice
Copyright (c) 2018 IETF Trust and the persons identified as the Copyright (c) 2018 IETF Trust and the persons identified as the
document authors. All rights reserved. document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents Provisions Relating to IETF Documents
(https://trustee.ietf.org/license-info) in effect on the date of (https://trustee.ietf.org/license-info) in effect on the date of
publication of this document. Please review these documents publication of this document. Please review these documents
skipping to change at page 2, line 42 skipping to change at page 2, line 43
4.1.4. Receiving the Initial Answer . . . . . . . . . . . . 10 4.1.4. Receiving the Initial Answer . . . . . . . . . . . . 10
4.2. Subsequent Offer/Answer Exchanges . . . . . . . . . . . . 10 4.2. Subsequent Offer/Answer Exchanges . . . . . . . . . . . . 10
4.3. Establishing the Dialog . . . . . . . . . . . . . . . . . 10 4.3. Establishing the Dialog . . . . . . . . . . . . . . . . . 10
4.3.1. Establishing Dialog State through Reliable 4.3.1. Establishing Dialog State through Reliable
Offer/Answer Delivery . . . . . . . . . . . . . . . . 11 Offer/Answer Delivery . . . . . . . . . . . . . . . . 11
4.3.2. Establishing Dialog State through Unreliable 4.3.2. Establishing Dialog State through Unreliable
Offer/Answer Delivery . . . . . . . . . . . . . . . . 12 Offer/Answer Delivery . . . . . . . . . . . . . . . . 12
4.3.3. Initiating Trickle ICE without an SDP Answer . . . . 14 4.3.3. Initiating Trickle ICE without an SDP Answer . . . . 14
4.4. Delivering Candidates in INFO Requests . . . . . . . . . 16 4.4. Delivering Candidates in INFO Requests . . . . . . . . . 16
5. Initial Discovery of Trickle ICE Support . . . . . . . . . . 20 5. Initial Discovery of Trickle ICE Support . . . . . . . . . . 20
5.1. Provisioning Support for Trickle ICE . . . . . . . . . . 21 5.1. Provisioning Support for Trickle ICE . . . . . . . . . . 20
5.2. Trickle ICE Discovery with Globally Routable User Agent 5.2. Trickle ICE Discovery with Globally Routable User Agent
URIs (GRUU) . . . . . . . . . . . . . . . . . . . . . . . 21 URIs (GRUU) . . . . . . . . . . . . . . . . . . . . . . . 20
5.3. Fall-back to Half Trickle . . . . . . . . . . . . . . . . 22 5.3. Fall-back to Half Trickle . . . . . . . . . . . . . . . . 21
6. Considerations for RTP and RTCP Multiplexing . . . . . . . . 24 6. Considerations for RTP and RTCP Multiplexing . . . . . . . . 23
7. Considerations for Media Multiplexing . . . . . . . . . . . . 26 7. Considerations for Media Multiplexing . . . . . . . . . . . . 26
8. SDP 'end-of-candidates' Attribute . . . . . . . . . . . . . . 28 8. SDP 'end-of-candidates' Attribute . . . . . . . . . . . . . . 28
8.1. Definition . . . . . . . . . . . . . . . . . . . . . . . 28 8.1. Definition . . . . . . . . . . . . . . . . . . . . . . . 28
8.2. Offer/Answer Procedures . . . . . . . . . . . . . . . . . 29 8.2. Offer/Answer Procedures . . . . . . . . . . . . . . . . . 29
9. Content Type 'application/trickle-ice-sdpfrag' . . . . . . . 29 9. Content Type 'application/trickle-ice-sdpfrag' . . . . . . . 29
9.1. Overall Description . . . . . . . . . . . . . . . . . . . 29 9.1. Overall Description . . . . . . . . . . . . . . . . . . . 29
9.2. Grammar . . . . . . . . . . . . . . . . . . . . . . . . . 29 9.2. Grammar . . . . . . . . . . . . . . . . . . . . . . . . . 29
10. Info Package . . . . . . . . . . . . . . . . . . . . . . . . 32 10. Info Package . . . . . . . . . . . . . . . . . . . . . . . . 32
10.1. Rationale - Why INFO? . . . . . . . . . . . . . . . . . 32 10.1. Rationale - Why INFO? . . . . . . . . . . . . . . . . . 32
10.2. Overall Description . . . . . . . . . . . . . . . . . . 33 10.2. Overall Description . . . . . . . . . . . . . . . . . . 33
10.3. Applicability . . . . . . . . . . . . . . . . . . . . . 33 10.3. Applicability . . . . . . . . . . . . . . . . . . . . . 33
10.4. Info Package Name . . . . . . . . . . . . . . . . . . . 34 10.4. Info Package Name . . . . . . . . . . . . . . . . . . . 34
10.5. Info Package Parameters . . . . . . . . . . . . . . . . 34 10.5. Info Package Parameters . . . . . . . . . . . . . . . . 34
10.6. SIP Option Tags . . . . . . . . . . . . . . . . . . . . 34 10.6. SIP Option Tags . . . . . . . . . . . . . . . . . . . . 34
skipping to change at page 13, line 6 skipping to change at page 13, line 6
[RFC EDITOR NOTE: The section 6.1.1 in above sentence is correct for [RFC EDITOR NOTE: The section 6.1.1 in above sentence is correct for
version 20 of said I-D. Authors need to cross-check during Auth48 version 20 of said I-D. Authors need to cross-check during Auth48
since it could have have changed in the meantime.] since it could have have changed in the meantime.]
The Offerer MUST send a Trickle ICE INFO request as soon as it The Offerer MUST send a Trickle ICE INFO request as soon as it
receives an SDP Answer in an unreliable provisional response. This receives an SDP Answer in an unreliable provisional response. This
INFO request MUST repeat the candidates that were already provided in INFO request MUST repeat the candidates that were already provided in
the Offer (as would be the case when Half Trickle is performed or the Offer (as would be the case when Half Trickle is performed or
when new candidates have not been learned since then). The first when new candidates have not been learned since then). The first
case could happen when Half Trickle is used and all candidate were case could happen when Half Trickle is used and all candidate are
already in the initial offer. The second case could happen when Full already in the initial offer. The second case could happen when Full
Trickle is used and the offerer is currently gathering additional Trickle is used and the offerer is currently gathering additional
candidates, but did not yet get them. Also, if the initial Offer did candidates, but did not yet get them. Also, if the initial Offer did
not contain any candidates, depending on how the Offerer gathers its not contain any candidates, depending on how the Offerer gathers its
candidates and how long it takes to do so, this INFO could still candidates and how long it takes to do so, this INFO could still
contain no candidates. contain no candidates.
When Full Trickle is used and if newly learned candidates are When Full Trickle is used and if newly learned candidates are
available, the Offerer SHOULD also deliver these candidates in said available, the Offerer SHOULD also deliver these candidates in said
INFO request, unless it wants to hold back some candidates in INFO request, unless it wants to hold back some candidates in
skipping to change at page 16, line 31 skipping to change at page 16, line 31
payload MUST be set to 'application/trickle-ice-sdpfrag' as defined payload MUST be set to 'application/trickle-ice-sdpfrag' as defined
in Section 9. The Info request body adheres to the grammar as in Section 9. The Info request body adheres to the grammar as
specified in Section 9.2. specified in Section 9.2.
Since neither the "a=candidate:" nor the "a=end-of-candidates" Since neither the "a=candidate:" nor the "a=end-of-candidates"
attributes contain information that would allow correlating them to a attributes contain information that would allow correlating them to a
specific "m=" line, this is handled through the use of pseudo "m=" specific "m=" line, this is handled through the use of pseudo "m="
lines. lines.
Pseudo "m=" lines follow the SDP syntax for "m=" lines as defined in Pseudo "m=" lines follow the SDP syntax for "m=" lines as defined in
[RFC4566] It is linked to the corresponding "m=" line in the SDP [RFC4566] and are linked to the corresponding "m=" line in the SDP
Offer or Answer via the identification tag in a "a=mid:" attribute Offer or Answer via the identification tag in a "a=mid:" attribute
which is defined in [RFC5888]. A pseudo "m=" line does not provide [RFC5888]. A pseudo "m=" line does not provide semantics other than
semantics other than indicating to which "m=" line a candidate indicating to which "m=" line a candidate belongs. Consequently, the
belongs. Consequently, the receiving agent MUST ignore any remaining receiving agent MUST ignore any remaining content of the pseudo "m="
content of the pseudo "m=" line, which is not defined in this line, which is not defined in this document. This guarantees that
document. This guarantees that the 'application/trickle-ice-sdpfrag' the 'application/trickle-ice-sdpfrag' bodies do not interfere with
bodies do not interfere with the Offer/Answer procedures as specified the Offer/Answer procedures as specified in [RFC3264].
in [RFC3264].
When sending the INFO request, the agent MAY, if already known to the When sending the INFO request, the agent MAY, if already known to the
agent, include the same content into the pseudo "m=" line as for the agent, include the same content into the pseudo "m=" line as for the
"m=" line in the corresponding Offer or Answer. However, since "m=" line in the corresponding Offer or Answer. However, since
Trickle-ICE might be decoupled from the Offer/Answer negotiation this Trickle-ICE might be decoupled from the Offer/Answer negotiation this
content might be unknown to the agent. In this case, the agent MUST content might be unknown to the agent. In this case, the agent MUST
include the following default values. include the following default values.
o The media field is set to 'audio'. o The media field is set to 'audio'.
skipping to change at page 43, line 35 skipping to change at page 43, line 35
and Bundle, various other editorial improvements/corrections based and Bundle, various other editorial improvements/corrections based
on comments from Adam Roach on comments from Adam Roach
o Modified text on rate limitation of INFO requests based on o Modified text on rate limitation of INFO requests based on
comments of Mirja Kuehlewind, Adam Roach and Roman Shpount comments of Mirja Kuehlewind, Adam Roach and Roman Shpount
o some editorial corrections o some editorial corrections
Changes from draft-ietf-mmusic-trickle-ice-sip-15 Changes from draft-ietf-mmusic-trickle-ice-sip-15
Corrections in section 7 on Media Multiplexing o Corrections in section 7 on Media Multiplexing
Changes from draft-ietf-mmusic-trickle-ice-sip-16
o some editorial corrections
16. References 16. References
16.1. Normative References 16.1. Normative References
[I-D.ietf-ice-rfc5245bis] [I-D.ietf-ice-rfc5245bis]
Keranen, A., Holmberg, C., and J. Rosenberg, "Interactive Keranen, A., Holmberg, C., and J. Rosenberg, "Interactive
Connectivity Establishment (ICE): A Protocol for Network Connectivity Establishment (ICE): A Protocol for Network
Address Translator (NAT) Traversal", draft-ietf-ice- Address Translator (NAT) Traversal", draft-ietf-ice-
rfc5245bis-20 (work in progress), March 2018. rfc5245bis-20 (work in progress), March 2018.
 End of changes. 12 change blocks. 
22 lines changed or deleted 27 lines changed or added

This html diff was produced by rfcdiff 1.47. The latest version is available from http://tools.ietf.org/tools/rfcdiff/