A Session Initiation Protocol (SIP) Usage for Incremental Provisioning of Candidates for the Interactive Connectivity Establishment (Trickle ICE)
RFC 8840

Document Type RFC - Proposed Standard (January 2021; No errata)
Authors Emil Ivov  , Thomas Stach  , Enrico Marocco  , Christer Holmberg 
Last updated 2021-01-18
Stream Internent Engineering Task Force (IETF)
Formats plain text html xml pdf htmlized (tools) htmlized bibtex
Stream WG state Submitted to IESG for Publication
Document shepherd Flemming Andreasen
Shepherd write-up Show (last changed 2017-11-14)
IESG IESG state RFC 8840 (Proposed Standard)
Action Holders
Consensus Boilerplate Yes
Telechat date
Responsible AD Ben Campbell
Send notices to (None)
IANA IANA review state Version Changed - Review Needed
IANA action state RFC-Ed-Ack

Internet Engineering Task Force (IETF)                           E. Ivov
Request for Comments: 8840                                         Jitsi
Category: Standards Track                                       T. Stach
ISSN: 2070-1721                                             Unaffiliated
                                                              E. Marocco
                                                          Telecom Italia
                                                             C. Holmberg
                                                            January 2021

 A Session Initiation Protocol (SIP) Usage for Incremental Provisioning
 of Candidates for the Interactive Connectivity Establishment (Trickle


   The Interactive Connectivity Establishment (ICE) protocol describes a
   Network Address Translator (NAT) traversal mechanism for UDP-based
   multimedia sessions established with the Offer/Answer model.  The ICE
   extension for Incremental Provisioning of Candidates (Trickle ICE)
   defines a mechanism that allows ICE Agents to shorten session
   establishment delays by making the candidate gathering and
   connectivity checking phases of ICE non-blocking and by executing
   them in parallel.

   This document defines usage semantics for Trickle ICE with the
   Session Initiation Protocol (SIP).  The document also defines a new
   SIP Info Package to support this usage together with the
   corresponding media type.  Additionally, a new Session Description
   Protocol (SDP) "end-of-candidates" attribute and a new SIP option tag
   "trickle-ice" are defined.

Status of This Memo

   This is an Internet Standards Track document.

   This document is a product of the Internet Engineering Task Force
   (IETF).  It represents the consensus of the IETF community.  It has
   received public review and has been approved for publication by the
   Internet Engineering Steering Group (IESG).  Further information on
   Internet Standards is available in Section 2 of RFC 7841.

   Information about the current status of this document, any errata,
   and how to provide feedback on it may be obtained at

Copyright Notice

   Copyright (c) 2021 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
   (https://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.

Table of Contents

   1.  Introduction
   2.  Terminology
   3.  Protocol Overview
     3.1.  Discovery Issues
     3.2.  Relationship with the Offer/Answer Model
   4.  Incremental Signaling of ICE Candidates
     4.1.  Initial Offer/Answer Exchange
       4.1.1.  Sending the Initial Offer
       4.1.2.  Receiving the Initial Offer
       4.1.3.  Sending the Initial Answer
       4.1.4.  Receiving the Initial Answer
     4.2.  Subsequent Offer/Answer Exchanges
     4.3.  Establishing the Dialog
       4.3.1.  Establishing Dialog State through Reliable Offer/Answer
       4.3.2.  Establishing Dialog State through Unreliable Offer/
               Answer Delivery
       4.3.3.  Initiating Trickle ICE without an SDP Answer
     4.4.  Delivering Candidates in INFO Requests
   5.  Initial Discovery of Trickle ICE Support
     5.1.  Provisioning Support for Trickle ICE
     5.2.  Trickle ICE Discovery with Globally Routable User Agent
           URIs (GRUUs)
     5.3.  Fall Back to Half Trickle
   6.  Considerations for RTP and RTCP Multiplexing
   7.  Considerations for Media Multiplexing
   8.  SDP "end-of-candidates" Attribute
     8.1.  Definition
     8.2.  Offer/Answer Procedures
   9.  Content Type "application/trickle-ice-sdpfrag"
     9.1.  Overall Description
     9.2.  Grammar
   10. Info Package
     10.1.  Rationale -- Why INFO?
     10.2.  Overall Description
     10.3.  Applicability
     10.4.  Info Package Name
     10.5.  Info Package Parameters
     10.6.  SIP Option Tags
     10.7.  INFO Request Body Parts
     10.8.  Info Package Usage Restrictions
     10.9.  Rate of INFO Requests
     10.10. Info Package Security Considerations
   11. Deployment Considerations
   12. IANA Considerations
     12.1.  SDP "end-of-candidates" Attribute
     12.2.  Media Type "application/trickle-ice-sdpfrag"
     12.3.  SIP Info Package "trickle-ice"
     12.4.  SIP Option Tag "trickle-ice"
   13. Security Considerations
   14. References
Show full document text