idnits 2.17.00 (12 Aug 2021) /tmp/idnits14852/draft-johansson-sip-he-connection-01.txt: Checking boilerplate required by RFC 5378 and the IETF Trust (see https://trustee.ietf.org/license-info): ---------------------------------------------------------------------------- No issues found here. Checking nits according to https://www.ietf.org/id-info/1id-guidelines.txt: ---------------------------------------------------------------------------- No issues found here. Checking nits according to https://www.ietf.org/id-info/checklist : ---------------------------------------------------------------------------- ** The abstract seems to contain references ([RFC3261], [RFC6555]), which it shouldn't. Please replace those with straight textual mentions of the documents in question. Miscellaneous warnings: ---------------------------------------------------------------------------- == The copyright year in the IETF Trust and authors Copyright Line does not match the current year -- The document date (October 21, 2016) is 2031 days in the past. Is this intentional? Checking references for intended status: Proposed Standard ---------------------------------------------------------------------------- (See RFCs 3967 and 4897 for information about using normative references to lower-maturity documents in RFCs) ** Obsolete normative reference: RFC 6555 (Obsoleted by RFC 8305) Summary: 2 errors (**), 0 flaws (~~), 1 warning (==), 1 comment (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 2 SIPCORE O. Johansson 3 Internet-Draft Edvina AB 4 Intended status: Standards Track G. Salgueiro 5 Expires: April 24, 2017 Cisco Systems 6 D. Worley 7 Ariadne 8 October 21, 2016 10 Setting up a SIP (Session Initiation Protocol) connection in a dual 11 stack network using connection oriented transports 12 draft-johansson-sip-he-connection-01 14 Abstract 16 The Session Initiation Protocol (SIP) supports multiple transports 17 running both over IPv4 and IPv6 protocols. In more and more cases, a 18 SIP user agent (UA) is connected to multiple network interfaces. In 19 these cases setting up a connection from a dual stack client to a 20 dual stack server may suffer from the issues described in RFC 6555 21 [RFC6555] - Happy Eyeballs - significant delays in the process of 22 setting up a working flow to a server. This negatively affects user 23 experience. 25 This document builds on RFC 6555 and explains how a RFC3261 [RFC3261] 26 compliant SIP implementation can quickly set up working flows to a 27 given hostname (located by using DNS NAPTR and SRV lookups) in a dual 28 stack network using connection oriented transport protocols. A 29 solution for connectionless transport protocols is discussed in a 30 separate document. 32 Status of This Memo 34 This Internet-Draft is submitted in full conformance with the 35 provisions of BCP 78 and BCP 79. 37 Internet-Drafts are working documents of the Internet Engineering 38 Task Force (IETF). Note that other groups may also distribute 39 working documents as Internet-Drafts. The list of current Internet- 40 Drafts is at http://datatracker.ietf.org/drafts/current/. 42 Internet-Drafts are draft documents valid for a maximum of six months 43 and may be updated, replaced, or obsoleted by other documents at any 44 time. It is inappropriate to use Internet-Drafts as reference 45 material or to cite them other than as "work in progress." 47 This Internet-Draft will expire on April 24, 2017. 49 Internet-DrafSIP Happy Eyeballs - connection-oriented trans October 2016 51 Copyright Notice 53 Copyright (c) 2016 IETF Trust and the persons identified as the 54 document authors. All rights reserved. 56 This document is subject to BCP 78 and the IETF Trust's Legal 57 Provisions Relating to IETF Documents 58 (http://trustee.ietf.org/license-info) in effect on the date of 59 publication of this document. Please review these documents 60 carefully, as they describe your rights and restrictions with respect 61 to this document. Code Components extracted from this document must 62 include Simplified BSD License text as described in Section 4.e of 63 the Trust Legal Provisions and are provided without warranty as 64 described in the Simplified BSD License. 66 Table of Contents 68 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 69 2. Terminology and Conventions Used in This Document . . . . . . 3 70 3. Background: DNS Procedures in a Dual-Stack Network . . . . . 4 71 4. Setting up the connection . . . . . . . . . . . . . . . . . . 4 72 5. Security Considerations . . . . . . . . . . . . . . . . . . . 4 73 6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 4 74 7. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 4 75 8. References . . . . . . . . . . . . . . . . . . . . . . . . . 5 76 8.1. Normative References . . . . . . . . . . . . . . . . . . 5 77 8.2. Informative References . . . . . . . . . . . . . . . . . 5 78 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 5 80 1. Introduction 82 The core SIP [RFC3261] RFCs were written with support for both IPv4 83 and IPv6 in mind, but they were not fully equipped to handle highly 84 hybridized environments during this transitional phase of migration 85 from IPv4 to IPv6 networks, where many server and client 86 implementations run on dual stack hosts. In such environments, a 87 dual-stack host will likely suffer greater connection delay, and by 88 extension an inferior user experience, than an IPv4-only host. The 89 need to remedy this diminished performance of dual-stack hosts led to 90 the development of the Happy Eyeballs [RFC6555] algorithm, that has 91 since been implemented in many applications. 93 This document updates RFC 3261[RFC3261] procedures so that a dual- 94 stack client using connection oriented transport SHOULD set up 95 multiple connections in parallell, based on the result of DNS 96 queries. This document starts at the point where a SIP 97 implementation has a hostname that resolves in A and AAAA records. 98 This can either be part of a SIP URI including a port number or the 100 Internet-DrafSIP Happy Eyeballs - connection-oriented trans October 2016 102 result of a lookup using DNS NAPTR and SRV records as described in 103 RFC 3263[RFC3261], updated by RFC 7984[RFC7984] 105 Procedures for connectionless transport protocols for SIP will be 106 described in a separate document. 108 While this document use the term "dual-stack" based on RFC 6555 and 109 earlier terminology, the authors acknowledge that the same solution 110 can be applied to multi-interface environments as well as future 111 versions of IP alongside with the current ones. 113 2. Terminology and Conventions Used in This Document 115 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 116 "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this 117 document are to be interpreted as described in RFC 2119 [RFC2119]. 119 RFC 3261 [RFC3261] defines additional terms used in this document 120 that are specific to the SIP domain such as "proxy"; "registrar"; 121 "redirect server"; "user agent server" or "UAS"; "user agent client" 122 or "UAC"; "back-to-back user agent" or "B2BUA"; "dialog"; 123 "transaction"; "server transaction". 125 This document uses the term "SIP Server" that is defined to include 126 the following SIP entities: user agent server, registrar, redirect 127 server, a SIP proxy in the role of user agent server, and a B2BUA in 128 the role of a user agent server. 130 This document also uses the following terminology to make clear 131 distinction between SIP entities supporting only IPv4, only IPv6 or 132 supporting both IPv4 and IPv6. 134 IPv4-only UA/UAC/UAS: An IPv4-only UA/UAC/UAS supports SIP signaling 135 and media only on the IPv4 network. It does not understand IPv6 136 addresses. 138 IPv6-only UA/UAC/UAS: An IPv6-only UA/UAC/UAS supports SIP signaling 139 and media only on the IPv6 network. It does not understand IPv4 140 addresses. 142 IPv4/IPv6 UA/UAC/UAS: A UA/UAC/UAS that supports SIP signaling and 143 media on both IPv4 and IPv6 networks; such a UA/UAC/UAS is known 144 (and will be referred to in this document) as a "dual-stack" 145 [RFC4213] UA/UAC/UAS. 147 Discussion: Do we need special handling of websocket transport? 149 Internet-DrafSIP Happy Eyeballs - connection-oriented trans October 2016 151 3. Background: DNS Procedures in a Dual-Stack Network 153 SIP used DNS to find a server based on a SIP URI. This process is 154 described in RFC 3263[RFC3263] and updated in draft-ietf-sipcore-dns- 155 dual-stack. Using these procedures, a host name is selected and DNS 156 lookups of address records for all address families will generate a 157 list of IP addresses to connect to. This list will be used as input 158 for setting up a connection. 160 4. Setting up the connection 162 The Happy Eyeballs RFC [RFC6555] does not specify the algorithm used, 163 but requirements on algorithms used for quickly setting up a working 164 connection for the user. The reader is encouraged to read the 165 available documentation as well as study Open Source implementations 166 in order to learn from experience since the publishing of RFC 6555 in 167 2012. 169 In short, the SIP client is expected to set up two connections, with 170 some head start for one address family (which possibly should be 171 configurable) and then select the first working connection and close 172 the other one. The SIP message is sent on the selected connection 173 only. 175 The reason behind this is to avoid the timeout on one connection 176 before another address will be tested - which in the case of SIP with 177 default timers is 32 seconds. Waiting for timeout before trying with 178 a secondary address will lead to a very poor user experience. 180 5. Security Considerations 182 This document makes two normative changes to the existing procedures 183 in the SIP protocol. The specific security vulnerabilities, attacks 184 and threat models of the various protocols discussed in this document 185 (SIP, DNS, SRV records, etc.) are well documented in their respective 186 specifications. 188 6. IANA Considerations 190 This document does not require any actions by IANA. 192 7. Acknowledgements 194 The author would like to acknowledge the support and contribution of 195 the SIP Forum IPv6 Working Group. This document is based on a lot of 196 tests and discussions at SIPit events, organized by the SIP Forum. 198 Acknowledgements for reviews and input: Your name can be here! 200 Internet-DrafSIP Happy Eyeballs - connection-oriented trans October 2016 202 8. References 204 8.1. Normative References 206 [RFC6555] Wing, D. and A. Yourtchenko, "Happy Eyeballs: Success with 207 Dual-Stack Hosts", RFC 6555, DOI 10.17487/RFC6555, April 208 2012, . 210 8.2. Informative References 212 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate 213 Requirement Levels", BCP 14, RFC 2119, 214 DOI 10.17487/RFC2119, March 1997, 215 . 217 [RFC3261] Rosenberg, J., Schulzrinne, H., Camarillo, G., Johnston, 218 A., Peterson, J., Sparks, R., Handley, M., and E. 219 Schooler, "SIP: Session Initiation Protocol", RFC 3261, 220 DOI 10.17487/RFC3261, June 2002, 221 . 223 [RFC3263] Rosenberg, J. and H. Schulzrinne, "Session Initiation 224 Protocol (SIP): Locating SIP Servers", RFC 3263, 225 DOI 10.17487/RFC3263, June 2002, 226 . 228 [RFC4213] Nordmark, E. and R. Gilligan, "Basic Transition Mechanisms 229 for IPv6 Hosts and Routers", RFC 4213, 230 DOI 10.17487/RFC4213, October 2005, 231 . 233 [RFC7984] Johansson, O., Salgueiro, G., Gurbani, V., and D. Worley, 234 Ed., "Locating Session Initiation Protocol (SIP) Servers 235 in a Dual-Stack IP Network", RFC 7984, 236 DOI 10.17487/RFC7984, September 2016, 237 . 239 Authors' Addresses 241 Olle E. Johansson 242 Edvina AB 243 Runbovaegen 10 244 Sollentuna SE-192 48 245 SE 247 Email: oej@edvina.net 249 Internet-DrafSIP Happy Eyeballs - connection-oriented trans October 2016 251 Gonzalo Salgueiro 252 Cisco Systems 253 7200-12 Kit Creek Road 254 Research Triangle Park, NC 27709 255 US 257 Email: gsalguei@cisco.com 259 Dale R. Worley 260 Ariadne Internet Services 261 738 Main St. 262 Waltham, MA 02451 263 US 265 Email: worley@ariadne.com