[MMUSIC] FQDN support in ice-sip-sdp
Roman Shpount <roman@telurix.com> Wed, 03 April 2019 16:47 UTC
Return-Path: <roman@telurix.com>
X-Original-To: mmusic@ietfa.amsl.com
Delivered-To: mmusic@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id EDB54120094 for <mmusic@ietfa.amsl.com>; Wed, 3 Apr 2019 09:47:12 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.89
X-Spam-Level:
X-Spam-Status: No, score=-1.89 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIMWL_WL_MED=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, T_SPF_PERMERROR=0.01] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=telurix-com.20150623.gappssmtp.com
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id xbeONjDwqY_G for <mmusic@ietfa.amsl.com>; Wed, 3 Apr 2019 09:47:10 -0700 (PDT)
Received: from mail-pl1-x630.google.com (mail-pl1-x630.google.com [IPv6:2607:f8b0:4864:20::630]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 07CAE120046 for <mmusic@ietf.org>; Wed, 3 Apr 2019 09:47:10 -0700 (PDT)
Received: by mail-pl1-x630.google.com with SMTP id w23so5373658ply.4 for <mmusic@ietf.org>; Wed, 03 Apr 2019 09:47:10 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=telurix-com.20150623.gappssmtp.com; s=20150623; h=mime-version:from:date:message-id:subject:to:cc; bh=NuUC82/O29pGtWUvBLfq2KbKeDtn+53yNiWTnxCcF5E=; b=JO8UL2iTRZr4DpSHduhCstMdi9Nxbja1QWfuPb8RS++w93p1x1YZ5JmRvvhG2omSl4 DLI72smd1i3N7Rhb2QFt1XjrO1fFGDE12Lcz/Y/gcedGWZjr5rlcC4rQq4GNg45wGUaL UKbEU+9NusVtpeOrDnxxT7HEVmazSzvvA61ktI4EdtRZnkpbMry9Awgtxe/mNt09dQo+ Lhk2SNHHL5yrTS5Tcr4lGK5VkUlbMm+MAe1kOlbW1uWAmknIEgLArXGxosv4Tz/Ek5w+ 6TOn4fBjXJeE9JH3ypnoguWE+09/jP7HsNKdoz+u5a89vagvdIp1jWdPTBOutSKqeDZw ulZA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:from:date:message-id:subject:to:cc; bh=NuUC82/O29pGtWUvBLfq2KbKeDtn+53yNiWTnxCcF5E=; b=WrX8b/lVv4CESPH29zjZoxTVVxfT0eD+5XFtWJ7tJ6Dft8dHxng91MD9u517CGYoN9 ahIgC5PSa6Y+rpYmfAzg5SdXQExYZ6eyW5nCN9Kn0AJS8oCnZpwILgrGmoOh2EO8g9RN OpQVC4ZXADBt480MMuvkcJxs673L2nDOyBNbkPDnRcBmRjvRokaA565rSryBnzuZJogJ b2y8MgxwnCOnuT0YmwGIqPMGqoviCxLPG2nkAMS5nMwrOy/24uGmWMcIlvR4nvKNY5y6 uJNNld4m0W7ffMv4Rv47rYN1aY9RSVx2E7pd5Hx5L9ZoV5M7fW+KudHuPiIeJQq7FSo4 10QA==
X-Gm-Message-State: APjAAAXCK1l+CexGh6E7kTGN8Yqjm6b+oSUweX2Q2BVz+Xrc5kB09WG4 z6SsI6DOX8HLQF4u+PXoVINnswKV7aE=
X-Google-Smtp-Source: APXvYqy9qC4Ozd3vf/Xexk4seKtGkgwguVXq1kbi7D+C1Wsak51d4367AemlpgVQuraKl0FCig2KzA==
X-Received: by 2002:a17:902:28a7:: with SMTP id f36mr905706plb.169.1554310029191; Wed, 03 Apr 2019 09:47:09 -0700 (PDT)
Received: from mail-pf1-f177.google.com (mail-pf1-f177.google.com. [209.85.210.177]) by smtp.gmail.com with ESMTPSA id x8sm5408292pgp.48.2019.04.03.09.47.08 for <mmusic@ietf.org> (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Wed, 03 Apr 2019 09:47:08 -0700 (PDT)
Received: by mail-pf1-f177.google.com with SMTP id c207so8438327pfc.7 for <mmusic@ietf.org>; Wed, 03 Apr 2019 09:47:08 -0700 (PDT)
X-Received: by 2002:a62:ab12:: with SMTP id p18mr431199pff.216.1554310027830; Wed, 03 Apr 2019 09:47:07 -0700 (PDT)
MIME-Version: 1.0
From: Roman Shpount <roman@telurix.com>
Date: Wed, 03 Apr 2019 12:46:59 -0400
X-Gmail-Original-Message-ID: <CAD5OKxux4s=4TtA7vQT0X-u+3RS+MVHG=RjgGDHWQ5H1k0OdLg@mail.gmail.com>
Message-ID: <CAD5OKxux4s=4TtA7vQT0X-u+3RS+MVHG=RjgGDHWQ5H1k0OdLg@mail.gmail.com>
To: mmusic WG <mmusic@ietf.org>
Cc: Justin Uberti <juberti@google.com>, Christer Holmberg <christer.holmberg@ericsson.com>, Eric Rescorla <ekr@rtfm.com>, Flemming Andreasen <fandreas@cisco.com>
Content-Type: multipart/alternative; boundary="0000000000001469e20585a3010e"
Archived-At: <https://mailarchive.ietf.org/arch/msg/mmusic/b0zAOJnAgfsLOEYkrqTr9-4D8gA>
Subject: [MMUSIC] FQDN support in ice-sip-sdp
X-BeenThere: mmusic@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: Multiparty Multimedia Session Control Working Group <mmusic.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/mmusic>, <mailto:mmusic-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/mmusic/>
List-Post: <mailto:mmusic@ietf.org>
List-Help: <mailto:mmusic-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/mmusic>, <mailto:mmusic-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 03 Apr 2019 16:47:13 -0000
Reposting er Flemming's advise as a new thread: Hi All, I have created a pull request to ice-sip-sdp ( https://github.com/suhasHere/ice-sip-sdp/pull/1), which among other things added back support for FQDN to ice-sip-sdp. In order to do this, I've done the following: 1. I have changed "IP address" to "connection address" throughout the document whenever address in c= line or ICE candidate attribute is mentioned. I hope this is not controversial since it matches ABNF. 2. I have changed the definition of <connection-address> Old: <connection-address>: :: is taken from RFC 4566 <<RFC4566>>. It is the IP address of the candidate. When parsing this field, an agent can differentiate an IPv4 address and an IPv6 address by presence of a colon in its value -- the presence of a colon indicates IPv6. An agent MUST ignore candidate lines that include candidates with IP address versions that are not supported or recognized. New: <connection-address>: :: is taken from RFC 4566 <<RFC4566>>. It is the IP address of the candidate, allowing for IPv4 addresses, IPv6 addresses, and fully qualified domain names (FQDNs). When parsing this field, an agent can differentiate an IPv4 address and an IPv6 address by presence of a colon in its value - the presence of a colon indicates IPv6. An agent MUST ignore candidate lines that include candidates with IP address versions that are not supported or recognized. An IP address SHOULD be used, but an FQDN MAY be used in place of an IP address. In that case, when receiving an offer or answer containing an FQDN in an a=candidate attribute, the FQDN is looked up in the DNS first using both AAAA record (assuming the agent supports IPv6), and using an A record (assuming the agent supports IPv4). If, and only if, the DNS query returns only one IP address it is then used for the remainder of ICE processing. If DNS query returned more then one result, including situation where single IPv4 and single IPv6 results are returned, an agent MUST ignore the candidate. Handling of multiple DNS results for a candidate can be defined in the future specification. If candidate with FQDN <connection-address> is the default destination/candidate, the the "c=" address type MUST be set the IP address family for the FQDN DNS resolution result and the "c=" connection address MUST be set to FQDN. This change reflects what was discussed previously. I am, personally, less then happy with this change. My biggest issue is requirement for FQDN to resolve to a single address or be ignored. In practice, this is problematic when things like DNS64/NAT64 are used. When DNS64 is used, even when FQDN was supposed to only resolve to IPv4, AAAA will also return result which will point to the NAT64 gateway. Based on the current language, this will result in candidate being ignored even though it should work with either IPv4 or IPv6 address. Most immediately, this will mean FQDN resolving to IPv4 will be ignored on a lot of mobile networks. I have also added language that defines what is supposed to be placed in c= line when default candidate is an FQDN candidate. What happens when FQDN resolution result and address family in c= line do not match was not specified. To summarize, this no worse then RFC 5245, but still fairly messy. I see two possible ways to clean this up: a. Add a candidate extension which specifies candidate address type, something like addrtype which can be set to "inipv4" or "inipv6". If IP address is used and it does not match the addrtype candidate extension, this candidate is ignored. When FQDN is used, it is resolved using A DNS request when addrtype is inipv4 or not present and using AAAA DNS request when addrtype is inipv6. Address family in c= line, when FQDN is a default candidate must be IN IPV4 if addrtype is inipv4 or not present, and must be IP IPV6 if addrtype is inipv6 b. Specify that during ICE nomination all DNS resolution results for the candidate should be added as separate candidates to the candidate list. This is likely to cause more problems then option a. One of these problems that I see is priority values for these candidates. Candidate priorities should be different for all of them but only one value is specified in SDP candidate attribute. In order to simplify tracking changes, I will write different emails about other changes I've done in the pull request. I have also included people who shown previous interest in this topic. Please let me know if I need to cross post to rtcweb and ice WG. Thank you for your attention, _____________ Roman Shpount
- [MMUSIC] FQDN support in ice-sip-sdp Roman Shpount
- Re: [MMUSIC] FQDN support in ice-sip-sdp Suhas Nandakumar
- Re: [MMUSIC] FQDN support in ice-sip-sdp Roman Shpount
- Re: [MMUSIC] FQDN support in ice-sip-sdp Christer Holmberg
- Re: [MMUSIC] FQDN support in ice-sip-sdp Roman Shpount
- Re: [MMUSIC] FQDN support in ice-sip-sdp Suhas Nandakumar
- Re: [MMUSIC] FQDN support in ice-sip-sdp Christer Holmberg
- Re: [MMUSIC] FQDN support in ice-sip-sdp Christer Holmberg
- Re: [MMUSIC] FQDN support in ice-sip-sdp Roman Shpount
- Re: [MMUSIC] FQDN support in ice-sip-sdp Roman Shpount
- Re: [MMUSIC] FQDN support in ice-sip-sdp Christer Holmberg
- Re: [MMUSIC] FQDN support in ice-sip-sdp Christer Holmberg
- Re: [MMUSIC] FQDN support in ice-sip-sdp Roman Shpount
- Re: [MMUSIC] FQDN support in ice-sip-sdp Christer Holmberg
- Re: [MMUSIC] FQDN support in ice-sip-sdp Roman Shpount
- Re: [MMUSIC] FQDN support in ice-sip-sdp Christer Holmberg
- Re: [MMUSIC] FQDN support in ice-sip-sdp Roman Shpount
- Re: [MMUSIC] FQDN support in ice-sip-sdp Christer Holmberg
- Re: [MMUSIC] FQDN support in ice-sip-sdp Suhas Nandakumar
- Re: [MMUSIC] FQDN support in ice-sip-sdp Christer Holmberg
- Re: [MMUSIC] FQDN support in ice-sip-sdp Roman Shpount
- Re: [MMUSIC] FQDN support in ice-sip-sdp Christer Holmberg