Re: [MMUSIC] [rtcweb] What goes into c= line address when FQDN is used for the default candidate?

Justin Uberti <juberti@google.com> Fri, 01 February 2019 17:39 UTC

Return-Path: <juberti@google.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 E642A131124 for <mmusic@ietfa.amsl.com>; Fri, 1 Feb 2019 09:39:28 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -17.641
X-Spam-Level:
X-Spam-Status: No, score=-17.641 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIMWL_WL_MED=-0.142, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, ENV_AND_HDR_SPF_MATCH=-0.5, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001, USER_IN_DEF_DKIM_WL=-7.5, USER_IN_DEF_SPF_WL=-7.5] autolearn=unavailable autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=google.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 jgOu-l3BC86B for <mmusic@ietfa.amsl.com>; Fri, 1 Feb 2019 09:39:25 -0800 (PST)
Received: from mail-io1-xd36.google.com (mail-io1-xd36.google.com [IPv6:2607:f8b0:4864:20::d36]) (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 1B2FB131118 for <mmusic@ietf.org>; Fri, 1 Feb 2019 09:39:25 -0800 (PST)
Received: by mail-io1-xd36.google.com with SMTP id r200so6305560iod.11 for <mmusic@ietf.org>; Fri, 01 Feb 2019 09:39:25 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=X48I0BkcRT1I8Qu0jeHdHaGeGuNVVnUqpIZNQMcgDJs=; b=niM0nxrFZgHht9Icb/D9QJ34KwXqOrIaRBI5yBGirinFupgbSDOp7F1UVLquxia3hk 6+mu1VTVTRrmAYCM/Kd4MDOykh18sV6EOd+BRR89sWLy3y6hqzt8qus/n80uuAOdv4Q+ 3n6KPR6ApzKdSQZu6LYwqPwB5Omi28zBP2y363fGpA0yrGxM8rxUbEk91faU+pL9pIru PcQxKebdWabZ++KAaZumxKxFMO2ryV/wz2+7MWO2J7bg/P+M4IDN10k5TeP1QBgOJYNL ok/xcG3+f2/a16b3jYURPdPIZbC2P/gi2+A/D60LzZT0fdf1JztW0zjOYgUnx7UH5t8W XliA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=X48I0BkcRT1I8Qu0jeHdHaGeGuNVVnUqpIZNQMcgDJs=; b=GdR9wGVBjiZTwVhr9gV8bMS/+Y03y4kKROP/Z6wkCirm1NO9L5TJyYpL3w8DqBWt7I rEY/yE0yV4QfqNXKTgjHpBw2Fj7eoZSdsmsEYCzclrTgT7gSjTAxgPSpm6yBqygrLsBK ejLKcDw25Rtr43Ew6oLyFypaJJuxZ/xMK6Y6IuShuqqIvmaweJYo4YBmkfSCV8GrnE+q vcsIggRPm6AM7cG3AUtJmeyoILZhC9ZvM0+rxhVfTEa7NK74mvSzwFmJJVDv5glFFk6U ozxp1V2jp/U0kk6BwP1UDmxjGjtA/vHQh2MyzZ3nPJBNcPCLDvDBNPPCuIH8mDvcUOF9 aaFg==
X-Gm-Message-State: AHQUAuZimI6IyYwu0wBWCweM29W5kMAEOlyq82xiM09L4fqrnVsf/sPM RAWq8n5Zdx4oYH1ZrKy3buUBLnE+Ij6bGpyrYmqwsQ==
X-Google-Smtp-Source: ALg8bN6ZYpnX3AnKrPSBU+TuyWS4pf14JlHO7n5ZSVZKKvbUWxD9JUp6NIW5+5YSMjc5dSkZWCEudkukhtY9nseuKac=
X-Received: by 2002:a5d:898b:: with SMTP id m11mr22104275iol.181.1549042763859; Fri, 01 Feb 2019 09:39:23 -0800 (PST)
MIME-Version: 1.0
References: <CAD5OKxuGEPccJUJ1E0bSmz9RW6CWhhSqW+Dke1Cywrjp-dvaoA@mail.gmail.com> <874l9ousuk.fsf@hobgoblin.ariadne.com> <CAD5OKxut+Y8NnL2FbFQkubU-8up4eu6F9hOxs-8oBOJoCnTQwg@mail.gmail.com> <CAOJ7v-2GC2UWBaqSccZh1MKg6E93NrNKQJagzMCOfuE6SxuptA@mail.gmail.com> <CAOJ7v-2ZWxDFAtfoXTB4OsfJBAaFFqZ1jt0SSCCm4Qi3Qqfj6g@mail.gmail.com> <CAD5OKxuAUaCcO8X+ESoekHMq2Ba5-hviZ08G1Vyg_qSh4mR73Q@mail.gmail.com> <CAOJ7v-0T8gbNtr22MiZzVSsAX8+4ZP-pVueKFVOuSSJLBmv8RA@mail.gmail.com> <CAD5OKxtqxcqrQGCWc_2L1np9ftk_Q=prU3MMXk7Y+wbLCq0rYA@mail.gmail.com>
In-Reply-To: <CAD5OKxtqxcqrQGCWc_2L1np9ftk_Q=prU3MMXk7Y+wbLCq0rYA@mail.gmail.com>
From: Justin Uberti <juberti@google.com>
Date: Fri, 1 Feb 2019 09:39:12 -0800
Message-ID: <CAOJ7v-1MXjLtBKJ8gN4nVm-Z9m0HB=ye9E6Wcm5zeOx5y2zkSw@mail.gmail.com>
To: Roman Shpount <roman@telurix.com>
Cc: "Dale R. Worley" <worley@ariadne.com>, RTCWeb IETF <rtcweb@ietf.org>, mmusic WG <mmusic@ietf.org>, Simon Perreault <sperreault@jive.com>
Content-Type: multipart/alternative; boundary="000000000000af0cc80580d89f22"
Archived-At: <https://mailarchive.ietf.org/arch/msg/mmusic/wHB1WcQ7hO48l7XWdc3_S4KFfjU>
Subject: Re: [MMUSIC] [rtcweb] What goes into c= line address when FQDN is used for the default candidate?
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: Fri, 01 Feb 2019 17:39:36 -0000

I understand there were questions about the general case (e.g. regular DNS
names), but how do we plan to reconcile this removal with the need for mDNS
hostnames?

On Fri, Feb 1, 2019 at 9:09 AM Roman Shpount <roman@telurix.com> wrote:

> Hi Justin,
>
> I agree regarding #1 in theory, even though in practice a lot of (most)
> devices will not accept FQDN in either c= or ICE candidate.
>
> Regarding #2, mmusic-ice-sip-sdp was updated (
> https://tools.ietf.org/html/draft-ietf-mmusic-ice-sip-sdp-24#section-4.1):
>
>    <connection-address>:  is taken from RFC 4566 <https://tools.ietf.org/html/rfc4566> [RFC4566 <https://tools.ietf.org/html/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.
>
>
> Specifically, support for FQDN names there was removed due to RFC 8445
> implementation issues. I believe Simon Perreault suggested this change.
>
> Regards,
> _____________
> Roman Shpount
>
>
> On Fri, Feb 1, 2019 at 12:02 AM Justin Uberti <juberti@google.com> wrote:
>
>> My recommendation here would be that we do c=IN IP6
>> 3557773f-5f01-46a4-aa14-54ab35b3d778.local, with either IP4 or IP6
>> depending on which type of address is being wrapped.
>>
>> Re #1: RFC 4566 seems to indicate you can use either IP4 or IP6 for FQDN
>> in the c= line.
>>
>>      unicast-address =     IP4-address / IP6-address / FQDN / extn-addr
>>
>>
>> Re #2: Quoth 5245 <https://tools.ietf.org/html/rfc5245#section-15.1>:
>>
>>    <connection-address>:  is taken from RFC 4566 <https://tools.ietf.org/html/rfc4566> [RFC4566 <https://tools.ietf.org/html/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 an AAAA record
>>       (assuming the agent supports IPv6), and if no result is found or
>>       the agent only supports IPv4, using an A.  If the DNS query
>>       returns more than one IP address, one is chosen, and then used for
>>       the remainder of ICE processing.
>>
>>
>>
>>
>>
>>
>>
>>
>>
>> On Thu, Jan 31, 2019 at 8:43 PM Roman Shpount <roman@telurix.com> wrote:
>>
>>> On Thu, Jan 31, 2019 at 10:58 PM Justin Uberti <juberti@google.com>
>>> wrote:
>>>
>>>> We can however all agree that "c=IN IP6" is busted:
>>>> https://bugs.chromium.org/p/chromium/issues/detail?id=927309
>>>>
>>>>>
>>>>>>
>>> I guess one way to interpret this that each address should have a MDNS
>>> alias. So, if you are dealing with dual stack host, it should provide two
>>> MDNS candidates, one of which is IPv4 and another IPv6. The c= line should
>>> specify FQDN for one of those candidates and specify the type (IP4 or IP6).
>>>
>>> There are two problems:
>>>
>>> 1. There is no way to know which address type is in the
>>> candidate-address when FQDN is used there. Guidance in ice-sip-sdp is
>>> talking about the presence of column in IP6 address, but this definitely
>>> does not apply to FQDN. It would've been better to specify something like
>>> local4 and local6 as FQDN suffix in MDNS alias to specify the
>>> candidate-address type so that correct DNS request can be issued.
>>>
>>> 2. A lot (if not most) SDP/ICE implementations do no support parsing
>>> FQDN in candidate-address or c= line. This might create interop problems
>>> since RFC 5245 specified that candidate-address is an IP Address.
>>>
>>> Regards,
>>> _____________
>>> Roman Shpount
>>>
>>>
>>