<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE rfc [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">
]>
<?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
<!-- generated by https://github.com/cabo/kramdown-rfc version 1.7.19 (Ruby 3.0.2) -->
<?rfc comments="yes"?>
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-schott-sip-avors-02" category="info" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.23.1 -->
  <front>
    <title abbrev="AVORS">Avoiding Registration Storms by adapted Registration Behavior for Voice Cloud Applications</title>
    <seriesInfo name="Internet-Draft" value="draft-schott-sip-avors-02"/>
    <author initials="R." surname="Schott" fullname="Roland Schott">
      <organization>Deutsche Telekom</organization>
      <address>
        <postal>
          <street>Deutsche-Telekom-Allee 9</street>
          <city>Darmstadt</city>
          <code>64295</code>
          <country>Germany</country>
        </postal>
        <email>roland.schott@telekom.de</email>
        <uri>https://www.telekom.de</uri>
      </address>
    </author>
    <author initials="M." surname="Kreipl" fullname="Michael Kreipl">
      <organization>Deutsche Telekom</organization>
      <address>
        <postal>
          <street>Dieselstraße 43</street>
          <city>Nuremberg</city>
          <code>90441</code>
          <country>Germany</country>
        </postal>
        <email>michael.kreipl@telekom.de</email>
      </address>
    </author>
    <author initials="B." surname="Dreyer" fullname="Bastian Dreyer">
      <organization>Deutsche Telekom</organization>
      <address>
        <postal>
          <street>Budapester Straße 18</street>
          <city>Hamburg</city>
          <code>20359</code>
          <country>Germany</country>
        </postal>
        <email>Bastian.Dreyer@telekom.de</email>
      </address>
    </author>
    <author initials="R." surname="Jesske" fullname="Roland Jesske">
      <organization>Deutsche Telekom</organization>
      <address>
        <postal>
          <street>Deutsche-Telekom-Allee 9</street>
          <city>Darmstadt</city>
          <code>64295</code>
          <country>Germany</country>
        </postal>
        <email>r.jesske@telekom.de</email>
      </address>
    </author>
    <date year="2024" month="September" day="19"/>
    <area>Applications and Real-Time Area</area>
    <workgroup>ART</workgroup>
    <keyword>application, cloud, re-registration, sip, stateless, resumption</keyword>
    <abstract>
      <?line 92?>

<t>This document describes the AVORS (Avoiding Registration Storms) concept that allows the resumption of active UE (User Equipment) registrations on other SIP Proxies within the SIP voice architecture. 
The concept can be mapped on any architecture having a distributed structure and could work for different protocols. 
In this document, the concept is exemplary explained regarding an architecture for voice and could also be mapped on a 3GPP (3rd Generation Partnership Project) architecture.
The AVORS concept increases service continuity, improves network resilience and offers savings potential.
Additionally, this document gives an outlook regarding stateless voice architectures, load calculation aspects, and Service Based Interfaces (SBI) with session data base interworking.
Security aspects are considered in the security chapter. As stated above the AVORS principle is not only limited to the SIP protocol and could be adopted by other protocols.</t>
    </abstract>
  </front>
  <middle>
    <?line 103?>

<section anchor="introduction">
      <name>Introduction</name>
      <t>The AVORS "Avoiding Registration Storms" concept in context of SIP and IMS (IP-Multimedia Subsystem) respectively helps, as the name suggests, to reduce registration storms in case of an outage especially site outages.
Nowadays, registration storms are mitigated by overcapacity. This overcapacity can be used by other applications, if applicable or it is idling until an outage occurs. The idling is causing electricity cost even in the case of
intelligent power management. 
In stateless architectures the registration context is stored in a session data base and normally all instances could access this session data base. 
According to <xref target="TS_23.228"/> Service Based Architecture (SBA) and Service Based Interfaces (SBI) offer in principal access to the session data base for voice cloud-based applications. 
Regarding the current standardized registration behavior the UE (User Equipment) MUST initiate a new initial registration. This registration needs to pass the outbound proxy (SIP Proxy)
and the registrar (SIP Server) before reaching the data base. 
With the AVORS principle the outbound proxy (SIP Proxy) has a dip into the session data base and recognizes that a UE is already registered and is able to resume the registration. 
Resuming of a registration of a session is feasible because the registration session context can be stored in a session data base.
Instead of sending an initial registration in case of an outage the UE will send a re-register message to the secondary outbound proxy namely a failover SIP Proxy. This SIP Proxy could be a geo-redundant one.
The latter is able to retrieve the session information out of the session data base and is able to resume the registration without sending the message via the registrar. 
This works especially when the registrar is fully stateless and shortens the amount of messages being sent in case of a failover scenario.
The idea of resumption of a registration or a session is working also for other protocols than SIP e.g., TLS 1.2 <xref target="RFC5246"/> or TLS 1.3 <xref target="RFC8446"/>. AVORS use the idea of session resumption for SIP via a session data base dip from the SIP Proxy as an alternative
approach to optimize registration behavior especially in case of heavy outages and registration storms. The mechanism does not obsolete the original or classical registration behavior and is complementary.
The UE or end devices can run either in classical or AVORS mode in order to trigger registration resumption. The SIP core systems can operate in classical and AVORS mode in parallel. In this case only the UE supporting the AVORS mode, trigger the registration resumption feature. 
The AVORS mode is also working in the case that the failover SIP Proxy (secondary outbound proxy) uses a different IP address compared to the primary one. The mechanism can be combined with TLS resumption in the wireline case. The aim of this document is to specify how resumption for SIP registration works in combination with a session data base.
The focus of this document is on the aspect of registrations and recovery time in case of outages e.g., site outages. A fully session resumption including resumption of media streams needs to be analyzed in an additional work. This principle is described above for the geo-redundancy use case and also works for local redundant instances or in combination.</t>
    </section>
    <section anchor="terminology">
      <name>Terminology</name>
      <t>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 <xref target="RFC2119"/>.</t>
    </section>
    <section anchor="rationale-of-the-usage-of-avors-mode-for-sip-sessions">
      <name>Rationale of the usage of AVORS mode for SIP sessions</name>
      <t>By using the AVORS mode for SIP sessions the overcapacity within the SIP Core or voice systems can be reduced because the amount of message flows are reduced when the SIP Proxy is able to resume the registration directly.
The approach fits into the SBA of 3GPP and the introduction of a session data base in context of 5G. Recovery time of the system is also optimized and shortened which is beneficial for the users. In future cloud based
SIP applications will run as virtual instances or in containers and will have a session data base anyway. Therefore, it is reasonable to provide an adapted registration or re-registration mechanism when migrating
the SIP systems into the cloud.</t>
      <t>Regarding the UE there are two paths possible:</t>
      <ul spacing="normal">
        <li>
          <t>UE agnostic approach requiring that the voice SIP core applies the AVORS mode to all register messages. No special indication is given by the UE that it works in either the classical or the AVORS mode.</t>
        </li>
        <li>
          <t>UE AVORS approach where the UE sends an AVORS header or parameter indicating that it is working in AVORS mode. Without sending this AVORS parameter, it is assumed that the UE is working in classical registration mode and the voice core does not apply the AVORS mode to the regarding register messages.</t>
        </li>
      </ul>
      <t>Depending on the installed basis of the operator or the operational requirements both options are valid approaches. In case the UE indicates that it operates in AVORS mode an AVORS header needs to be specified.</t>
    </section>
    <section anchor="architecture-overview-of-avors-concept">
      <name>Architecture Overview of AVORS Concept</name>
      <t>This section gives an overview of the registration resumption concept for SIP sessions.
As stated above the classical registration mechanism in case of a failure of a site or a SIP Proxy failure is to start a new initial registration towards
the secondary outbound proxy and SIP Proxy respectively.
The registration process invokes SIP Proxy, SIP Server and the session data base. With AVORS the SIP Proxy is able to resume a registration by
handling a normal re-register message of the UE. Instead of starting a new initial registration the UE sends the normal re-registration
message to the secondary outbound proxy namely SIP Proxy. The SIP Proxy gets the session registration context out of the data base where the session context
is stored, i.e., session data base. In case of using a TLS session the session resumption process can be implemented for both protocols, TLS and SIP,
making the recovery and failover process more efficient. The spare overcapacity needed for processing the initial registration process can be reduced
and the recovery mechanism is kept efficient. TCP session resumption is no prerequisite for TLS session resumption in case a TCP session is used instead of UDP.</t>
      <t>The AVORS architecture is described in the following figures.
<xref target="georedundancy"/> describes the geo-redundancy use case.</t>
      <figure anchor="georedundancy">
        <name>AVORS Geo-Redundancy.</name>
        <artwork><![CDATA[
Initial register.

                    +---------+
   +-------+        |         | 
   |       |        |SIP Proxy|
   |  DNS  |        | Site #1 |  
   |       |       /|         | \                
   +-------+      / +---------+  \             
       |         /                \               
       |        /                  \               
       |       / sip                \              
       |      /  initial           +---------+     
   +-------+ /   register          | Session |      
   |       |/                      |  Data   |    
   |  UE   |                       |  Base   | 
   |       |                       |         |  
   +-------+                       +---------+
                                   /
                    +---------+   /
                    |         |  /
                    |SIP Proxy| /
                    | Site #2 |/
                    |         |
                    +---------+ 
                                        
Registration resumption in case of a failover to 
the secondary outbound proxy or SIP Proxy respectively.

                     \     /
                    +---------+
   +-------+        |  \ /    | 
   |       |        |SIP Proxy|
   |  DNS  |        | Site #1 |  
   |       |        | /    \  | \                
   +-------+        +---------+  \          
       |            /        \    \                
       |                           \           
       |                            \         
       |                           +---------+
   +-------+                       | Session |     
   |       |                       |  Data   |    
   |  UE   |\                      |  Base   |
   |       | \                     |         |
   +-------+  \                    +---------+
               \                   /
                \   +---------+   /
      sip        \  |         |  /
      registration\ |SIP Proxy| /
      resumption   \| Site #2 |/
                    |         |
                    +---------+ 
]]></artwork>
      </figure>
      <t><xref target="localredundancy"/> describes the local-redundancy use case.</t>
      <figure anchor="localredundancy">
        <name>AVORS Local-Redundancy.</name>
        <artwork><![CDATA[
Initial register.

                    +---------+
   +-------+        |         | 
   |       |        |SIP Proxy|
   |  DNS  |        | Inst.#1 |  
   |       |       /|         | \                
   +-------+      / +---------+  \             
       |         /                \               
       |        /                  \               
       |       / sip                \              
       |      /  initial           +---------+     
   +-------+ /   register          |  Local  |      
   |       |/                      |  Data   |    
   |  UE   |                       |  Base   | 
   |       |                       |         |  
   +-------+                       +---------+
                                   /
                    +---------+   /
                    |         |  /
                    |SIP Proxy| /
                    | Inst.#2 |/
                    |         |
                    +---------+ 
                                        
Registration resumption in case of a failover to 
the secondary local SIP Proxy instance.

                     \     /
                    +---------+
   +-------+        |  \ /    | 
   |       |        |SIP Proxy|
   |  DNS  |        | Inst.#1 |  
   |       |        | /    \  | \                
   +-------+        +---------+  \          
       |            /        \    \                
       |                           \           
       |                            \         
       |                           +---------+
   +-------+                       |  Local  |     
   |       |                       |  Data   |    
   |  UE   |\                      |  Base   |
   |       | \                     |         |
   +-------+  \                    +---------+
               \                   /
                \   +---------+   /
      sip        \  |         |  /
      registration\ |SIP Proxy| /
      resumption   \| Inst.#2 |/
                    |         |
                    +---------+ 
]]></artwork>
      </figure>
    </section>
    <section anchor="avors-procedure-for-sip">
      <name>AVORS Procedure for SIP</name>
      <t>AVORS (Avoidance of Registration Storms):
The following sections describes the procedures for AVORS which allows a seamless switch over of UE in case of a faulty connection towards the first SIP proxy where the UE is connected.
When changing the SIP proxy a simple (Re-) REGISTER is needed to reconnect instead of an challenged initial registration procedure.</t>
      <t>The following SIP option tag shall apply:
This amendment specifies a single option tag, avors.  The
   required information for this registration, as specified in <xref target="RFC3261"/>,
   is:</t>
      <artwork><![CDATA[
  Name: avors
]]></artwork>
      <t>Description: This option tag is for the procedure used to send a re-register
instead of a register when changing the first network proxy due to network failure/proxy failure.
To allow this procedure the network will indicate if this procedure is implemented.</t>
      <t>The next part describes a possible process.
It is requested to include the SIP Instance-ID in the Contact-Header.
For TCP based protocols TFO (TCP Fast Open) according to <xref target="RFC7413"/> shall be supported.
Latter is relevant for the SIP Proxy instances. 
For TLS based transport protocols TLS session resumption according to <xref target="RFC8446"/> is used
at the failover SIP Proxy instance. Additionally, the "avors" option tag in order to 
query SIP Proxy support for Registration Recovery Procedure or registration resumption, 
respectively, is introduced.</t>
      <artwork><![CDATA[
The following procedures shall apply: 
1.      The UE determines a SIP Proxy instance by a standard SIP Proxy 
        discovery mechanism.

2.      The UE performs an initial SIP registration at the SIP Proxy.
a.      In addition, the UE sends an option tag "avors" in the 
        Supported header field in any SIP register request message. 
b.      The UE expects an option tag "avors" in the Supported header
        field in the 200 OK response to a SIP registration from 
        the SIP Proxy. If the SIP Proxy supports AVORS, the UE receives 
        an option tag "avors" in the Supported header field 
        of the 200 OK.
        
3.      For all cases that require the UE to change to a different 
        SIP Proxy instance and a registration was successfully 
        negotiated, the following behavior applies:
        Note: For AVORS, a re-register on a new SIP Proxy is 
        considered as new request in an existing dialog.
        Note: The Contact header field may contain no port number 
        or port number according to {{RFC3261}}. 
        For UEs supporting AVORS, the Contact header field must not 
        be changed on a re-register to a new SIP Proxy.
        Note: It is requested that the UE supports SIP Instance-ID
        and includes it in the Contact header field.
        Note: For AVORS, any re-register sent to a new SIP Proxy 
        MUST also perform re-registration procedures regarding 
        commitment to nonce, retaining the call-id and increase of 
        the CSeq by at least the value 1.
a.  If TLS was used as a transport protocol:
 i.  If TCP session used by the TLS transport fails and 
        the „Timer F“ has not expired, the UE shall not immediately 
        try to send a Re-register message to the secondary 
        SIP Proxy until the re-registration timer is expired. 
        This avoids a mass registration at the secondary 
        SIP Proxy, the re-registration gets spread over the 
        UE re-registration time of a defined value of e.g., x min.
 ii. In case of a failed TCP session the UE shall attempt 
        a TLS session resumption according to {{RFC8446}} on the 
        new SIP Proxy instance using the TLS session data 
        obtained from the initial handshake on the original 
        SIP Proxy instance.
        The UE shall delete the TLS session data determined 
        during the initial TLS handshake with the original 
        SIP Proxy from its internal memory when a new initial
        register for this contact has to be executed or if the 
        timers belonging to the TLS session have expired
        or the TLS resumption failed.
 iii.The UE will send a re-register request to the new SIP Proxy 
        instance instead of an initial register message.
b.  If UDP is used between UE and SIP Proxy:
 i.  If a SIP message is not answered or in case that a 
        keepalive is failed, the UE will send a re-register 
        request to the new SIP Proxy instance instead of 
        a register. 
 ii. The UE shall not immediately try to send a re-register message 
        to the secondary SIP Proxy until the Re-registration timer 
        is expired. This avoids a mass registration at the 
        secondary SIP Proxy, the re-registration gets spread over the 
        UE re-registration time of a defined time e.g., x min.
c.      If TCP is used between UE and SIP Proxy:
 i.     If TCP session used with or without TLS fails and 
        the „Timer F“ has not expired, the UE shall not 
        immediately trying to send a Re-register message to the
        secondary SIP Proxy until the Re-Registration timer is expired. 
        This avoids a mass registration at the secondary SIP Proxy, 
        the Re-Registration gets spread over the UE Re-Registration
        time of a defined value of x min.
 ii. In case of a failed TCP session the UE shall attempt a TCP 
        session resumption (TCP Fast Open (TFO)) according to 
        {{RFC7413}} on a new SIP Proxy instance using the TFO session 
        cookie obtained from the initial handshake on the original 
        SIP Proxy instance.
 iii. The UE shall delete the TFO session cookie determined during 
        the initial TCP handshake with the original SIP Proxy from its
        internal memory when the user de-registers or gets 
        de-registered by the network or if the timers belonging to
        the TFO session cookie have expired or the TCP session 
        resumption failed.
 iv. The UE will send a Re-Register request to the new SIP Proxy 
        instance instead of an initial Register message.

4.  Optional “Re-register on not answered Invite message”
 i.  If an Invite message to primary SIP Proxy receives no response, 
        the UE shall send a re-register to secondary SIP Proxy and, 
        after receiving 200 OK, shall send the Invite message to 
        secondary SIP Proxy. 
        Note: Upon receiving a 503 (Service Unavailable) response 
        to an initial invite request containing a Retry-After header
        field, then the originating UE shall not automatically 
        reattempt the request until after the period
        indicated by the Retry-After header field contents.
                
5.  UE behavior if SIP Proxy doesn’t support AVORS
 i.  If SIP Proxy doesn’t support option tag "avors" in the 
        Supported header field in the 200 OK of a 
        SIP registration, an initial registration 
        has to be performed when 
        switching to a new SIP Proxy IP address
        (no change to current behavior).
        
]]></artwork>
    </section>
    <section anchor="functions-of-registration-resumption-feature">
      <name>Functions of Registration Resumption Feature</name>
      <t>This document is focusing on the introduction of registration resumption in a SIP (Session Initiation Protocol) environment. 
The method can be used for SIP-Proxies and SIP-Registrars. 
It also works in context of 3GPP SBA (Service Based Architecture) and with a session data base <xref target="TS_29.598"/>.
In a second step, one can consider using a similar advanced mechanism for complete session resumption. 
The procedure and functions described here are part of a stateless voice architecture and are suitable for use in a cloud environment.</t>
    </section>
    <section anchor="related-work">
      <name>Related work</name>
      <t>Related work can be found in the referenced standards.</t>
    </section>
    <section anchor="security-and-operational-considerations">
      <name>Security and operational considerations</name>
      <t>Registration or session resumption leads to a situation where security plays a role to avoid unauthenticated and unauthorized access to the platform. 
The security can be hardened in case the sip session resumption is combined with a TLS session resumption. The AVORS mechanism helps in
special failure situations to increase the recovery of the platform. It is up to the implementation to request a new initial registration
after a longer time interval. Such kind of mechanism would increase security. In case of TCP or TLS the IP address spoofing is not or
difficult to achieve. In case of UDP a nonce and next-nonce mechanism with short re-registration timer ensures security. This is also
valid in case of using AVORS.</t>
      <t>Other security considerations will be addressed in future versions of the document.</t>
    </section>
    <section anchor="abbreviations">
      <name>Abbreviations</name>
      <table>
        <thead>
          <tr>
            <th align="left">Abbrev.</th>
            <th align="left">Description</th>
          </tr>
        </thead>
        <tbody>
          <tr>
            <td align="left">AVORS</td>
            <td align="left">Avoiding Registration Storms</td>
          </tr>
          <tr>
            <td align="left">IAD</td>
            <td align="left">Integrated Access Device</td>
          </tr>
          <tr>
            <td align="left">RG</td>
            <td align="left">Residential Gateway</td>
          </tr>
          <tr>
            <td align="left">UE</td>
            <td align="left">User Equipment</td>
          </tr>
        </tbody>
      </table>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <t>TBD</t>
    </section>
    <section anchor="acknowledgements">
      <name>Acknowledgements</name>
      <t>This work has been supported by various contributors.
Special thanks to them.
TBD</t>
    </section>
  </middle>
  <back>
    <references anchor="sec-combined-references">
      <name>References</name>
      <references anchor="sec-normative-references">
        <name>Normative References</name>
        <reference anchor="RFC2246" target="https://www.rfc-editor.org/info/rfc2246" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.2246.xml">
          <front>
            <title>The TLS Protocol Version 1.0</title>
            <author fullname="T. Dierks" initials="T." surname="Dierks"/>
            <author fullname="C. Allen" initials="C." surname="Allen"/>
            <date month="January" year="1999"/>
            <abstract>
              <t>This document specifies Version 1.0 of the Transport Layer Security (TLS) protocol. The TLS protocol provides communications privacy over the Internet. The protocol allows client/server applications to communicate in a way that is designed to prevent eavesdropping, tampering, or message forgery.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="2246"/>
          <seriesInfo name="DOI" value="10.17487/RFC2246"/>
        </reference>
        <reference anchor="RFC3261" target="https://www.rfc-editor.org/info/rfc3261" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.3261.xml">
          <front>
            <title>SIP: Session Initiation Protocol</title>
            <author fullname="J. Rosenberg" initials="J." surname="Rosenberg"/>
            <author fullname="H. Schulzrinne" initials="H." surname="Schulzrinne"/>
            <author fullname="G. Camarillo" initials="G." surname="Camarillo"/>
            <author fullname="A. Johnston" initials="A." surname="Johnston"/>
            <author fullname="J. Peterson" initials="J." surname="Peterson"/>
            <author fullname="R. Sparks" initials="R." surname="Sparks"/>
            <author fullname="M. Handley" initials="M." surname="Handley"/>
            <author fullname="E. Schooler" initials="E." surname="Schooler"/>
            <date month="June" year="2002"/>
            <abstract>
              <t>This document describes Session Initiation Protocol (SIP), an application-layer control (signaling) protocol for creating, modifying, and terminating sessions with one or more participants. These sessions include Internet telephone calls, multimedia distribution, and multimedia conferences. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="3261"/>
          <seriesInfo name="DOI" value="10.17487/RFC3261"/>
        </reference>
        <reference anchor="RFC5246" target="https://www.rfc-editor.org/info/rfc5246" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.5246.xml">
          <front>
            <title>The Transport Layer Security (TLS) Protocol Version 1.2</title>
            <author fullname="T. Dierks" initials="T." surname="Dierks"/>
            <author fullname="E. Rescorla" initials="E." surname="Rescorla"/>
            <date month="August" year="2008"/>
            <abstract>
              <t>This document specifies Version 1.2 of the Transport Layer Security (TLS) protocol. The TLS protocol provides communications security over the Internet. The protocol allows client/server applications to communicate in a way that is designed to prevent eavesdropping, tampering, or message forgery. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="5246"/>
          <seriesInfo name="DOI" value="10.17487/RFC5246"/>
        </reference>
        <reference anchor="RFC6223" target="https://www.rfc-editor.org/info/rfc6223" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.6223.xml">
          <front>
            <title>Indication of Support for Keep-Alive</title>
            <author fullname="C. Holmberg" initials="C." surname="Holmberg"/>
            <date month="April" year="2011"/>
            <abstract>
              <t>This specification defines a new Session Initiation Protocol (SIP) Via header field parameter, "keep", which allows adjacent SIP entities to explicitly negotiate usage of the Network Address Translation (NAT) keep-alive mechanisms defined in SIP Outbound, in cases where SIP Outbound is not supported, cannot be applied, or where usage of keep-alives is not implicitly negotiated as part of the SIP Outbound negotiation. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6223"/>
          <seriesInfo name="DOI" value="10.17487/RFC6223"/>
        </reference>
        <reference anchor="RFC7413" target="https://www.rfc-editor.org/info/rfc7413" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.7413.xml">
          <front>
            <title>TCP Fast Open</title>
            <author fullname="Y. Cheng" initials="Y." surname="Cheng"/>
            <author fullname="J. Chu" initials="J." surname="Chu"/>
            <author fullname="S. Radhakrishnan" initials="S." surname="Radhakrishnan"/>
            <author fullname="A. Jain" initials="A." surname="Jain"/>
            <date month="December" year="2014"/>
            <abstract>
              <t>This document describes an experimental TCP mechanism called TCP Fast Open (TFO). TFO allows data to be carried in the SYN and SYN-ACK packets and consumed by the receiving end during the initial connection handshake, and saves up to one full round-trip time (RTT) compared to the standard TCP, which requires a three-way handshake (3WHS) to complete before data can be exchanged. However, TFO deviates from the standard TCP semantics, since the data in the SYN could be replayed to an application in some rare circumstances. Applications should not use TFO unless they can tolerate this issue, as detailed in the Applicability section.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7413"/>
          <seriesInfo name="DOI" value="10.17487/RFC7413"/>
        </reference>
        <reference anchor="RFC8446" target="https://www.rfc-editor.org/info/rfc8446" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8446.xml">
          <front>
            <title>The Transport Layer Security (TLS) Protocol Version 1.3</title>
            <author fullname="E. Rescorla" initials="E." surname="Rescorla"/>
            <date month="August" year="2018"/>
            <abstract>
              <t>This document specifies version 1.3 of the Transport Layer Security (TLS) protocol. TLS allows client/server applications to communicate over the Internet in a way that is designed to prevent eavesdropping, tampering, and message forgery.</t>
              <t>This document updates RFCs 5705 and 6066, and obsoletes RFCs 5077, 5246, and 6961. This document also specifies new requirements for TLS 1.2 implementations.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8446"/>
          <seriesInfo name="DOI" value="10.17487/RFC8446"/>
        </reference>
      </references>
      <references anchor="sec-informative-references">
        <name>Informative References</name>
        <reference anchor="TS_23.228">
          <front>
            <title>IP Multimedia Subsystem (IMS); Stage 2</title>
            <author>
              <organization/>
            </author>
            <date year="2020" month="October"/>
          </front>
        </reference>
        <reference anchor="TS_24.224">
          <front>
            <title>IP Multimedia Call Control Protocol based on Session Initiation Protocol (SIP) and Session Description Protocol (SDP); Stage 3</title>
            <author>
              <organization/>
            </author>
            <date year="2020" month="July"/>
          </front>
        </reference>
        <reference anchor="TS_29.598">
          <front>
            <title>Unstructured Data Storage Services; Stage 3</title>
            <author>
              <organization/>
            </author>
            <date year="2024" month="June"/>
          </front>
        </reference>
        <reference anchor="RFC2119" target="https://www.rfc-editor.org/info/rfc2119" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.2119.xml">
          <front>
            <title>Key words for use in RFCs to Indicate Requirement Levels</title>
            <author fullname="S. Bradner" initials="S." surname="Bradner"/>
            <date month="March" year="1997"/>
            <abstract>
              <t>In many standards track documents several words are used to signify the requirements in the specification. These words are often capitalized. This document defines these words as they should be interpreted in IETF documents. This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="2119"/>
          <seriesInfo name="DOI" value="10.17487/RFC2119"/>
        </reference>
      </references>
    </references>
  </back>
  <!-- ##markdown-source:
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
w8GVMXd8v8ytRSY8qw0m/D+zHwpLy1kAAA==

-->

</rfc>
