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

Justin Uberti <> Wed, 06 February 2019 00:57 UTC

Return-Path: <>
Received: from localhost (localhost []) by (Postfix) with ESMTP id 1DEE2128CF2 for <>; Tue, 5 Feb 2019 16:57:37 -0800 (PST)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -17.642
X-Spam-Status: No, score=-17.642 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, USER_IN_DEF_DKIM_WL=-7.5, USER_IN_DEF_SPF_WL=-7.5] autolearn=ham autolearn_force=no
Authentication-Results: (amavisd-new); dkim=pass (2048-bit key)
Received: from ([]) by localhost ( []) (amavisd-new, port 10024) with ESMTP id Pi5Wg-mjbLdG for <>; Tue, 5 Feb 2019 16:57:34 -0800 (PST)
Received: from ( [IPv6:2607:f8b0:4864:20::130]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by (Postfix) with ESMTPS id 69891128CE4 for <>; Tue, 5 Feb 2019 16:57:34 -0800 (PST)
Received: by with SMTP id c9so2513013itj.1 for <>; Tue, 05 Feb 2019 16:57:34 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=lNMNPz7PRH05KqR1BtjFReUSJ13QsK6ioyH3/IOKo8I=; b=PD3odNS/vMaV7fw0lM1XAXLDXgDXcKJ9UKN9Nb27broQDfANTcBuJWgJC5vSsp9Qn5 IQCbmjs2Pt8tvQ5cK1pgIAYr+Y+nXdiI/3ejPMSf4EP8hduvbmEQFkCGNfpf1H+OLZOX /DT4wbPrbX43bE5dRNI6Q84JIm1H4UG1x9zNE4M28iy/FAjOKWfYWaB8mDaVRng6KWfl 0Fw89HN3LmUHEVHBDSxE2KP8BoWp6z2CA8kL//CfB062ZFTQYGzbAAsGZq1WazRccpZH Q4CCW+qwz4RnmCsMzIEX0IyEVmKV+rDZV0EBKthh4QTJnTJ6Sft0pnycEwEW58QQ+2W+ qkKw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=lNMNPz7PRH05KqR1BtjFReUSJ13QsK6ioyH3/IOKo8I=; b=lTzXCYJ/qJ0SzYPmlv4HCaE0xlI/rAQqvD+LAUCffkXD/HPzGaPXpcJ0OBss0LsAE8 Io/4dkV4brc6z0gKc2oie7ydv5mTvPje7e+KDCQsScPPKlE2z3yQEiwMyu1x6TgCWNum ehG4aef33+LXPwyWLBOtBU8dZpDQqLG0yML1CenFOauiCl6g7ucqPiZjj8P83OfVPgtc GPqXfF3vlOOSj1cYtf7Ub4e3N0t5ie5ze94GUMw9HwXcsLHVIF7hGNzdF3Ovg3z+lXGI g0KbZwy/qghpOaxOarpq1/boByo6S8vpWt4XTka4F7pp/uwc0vASFOxGyp1nO8JM9zsC tkEQ==
X-Gm-Message-State: AHQUAuaoCJisq+N7/PWPfQ0miG2DAsbnrBwL5bAI0jR1XJaqkebXGJ2C TyPHYXzLZhzmcurJqGK47pO24FDFYLwhkqLJPxNLkQ==
X-Google-Smtp-Source: AHgI3IaWIHlB7CyCoa2uXbZJ7nldnvnd9Y/GvURh7kRmvfxzK/dS2JICWODU5lMpHrFBWQkfgIjFj1zdd1IUhZ+1nE8=
X-Received: by 2002:a24:738f:: with SMTP id y137mr897186itb.136.1549414653359; Tue, 05 Feb 2019 16:57:33 -0800 (PST)
MIME-Version: 1.0
References: <> <> <> <> <> <> <> <> <> <> <> <> <> <> <> <>
In-Reply-To: <>
From: Justin Uberti <>
Date: Tue, 05 Feb 2019 16:57:21 -0800
Message-ID: <>
To: Roman Shpount <>
Cc: Alan Ford <>, Simon Perreault <>, RTCWeb IETF <>, mmusic WG <>, Christer Holmberg <>
Content-Type: multipart/alternative; boundary="0000000000000667ea05812f360e"
Archived-At: <>
Subject: Re: [rtcweb] [MMUSIC] What goes into c= line address when FQDN is used for the default candidate?
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: Real-Time Communication in WEB-browsers working group list <>
List-Unsubscribe: <>, <>
List-Archive: <>
List-Post: <>
List-Help: <>
List-Subscribe: <>, <>
X-List-Received-Date: Wed, 06 Feb 2019 00:57:37 -0000

On Tue, Feb 5, 2019 at 10:19 AM Roman Shpount <> wrote:

> On Tue, Feb 5, 2019 at 10:03 AM Alan Ford <> wrote:
>> If that update was to be made, this goes against the text
>> in draft-ietf-rtcweb-mdns-ice-candidates-02 which says:
>>    An ICE agent that supports mDNS candidates MUST support the situation
>>    where the hostname resolution results in more than one IP address.
>>    In this case, the ICE agent MUST take exactly one of the resolved IP
>>    addresses and ignore the others.  The ICE agent SHOULD, if available,
>>    use the first IPv6 address resolved, otherwise the first IPv4
>>    address.
> This is obviously not going to work. At the very minimum ICE client should
> be listening for connectivity checks on all addresses to which FQDN
> candidate resolves, including IPv4 and IPv6. It also should do connectivity
> checks to all addresses. Otherwise, if you have two clients, one dual stack
> and another single stack, they are not going to see each other, since one
> will be listening and sending connectivity checks via IPv6 and another via
> IPv4. This is why language about FQDN was removed from mmusic-ice-sip-sdp
> -- it was broken.

> For ICE to work, you want to include all possible addresses for FQDN in
> the candidate list and then proceed with nomination as if they were
> independent candidates.

I don't think this is correct behavior, but it's really beside the point
since we can ignore it if we have the one-FQDN-per-address concept we

> But there’s a bigger problem here, which is how to cope with an FQDN is
>> not resolvable.. So the intention, as I understand it, is that when these
>> host candidates leave the mDNS domain and are thus not resolvable, they
>> will be treated as peer reflexive candidates.
>> But at that point there is no address family information available, so
>> how does an ICE agent know to do pairing with these candidates, which
>> requires the address family to be known?
> I do not think this is a problem. For peer reflexive candidates, ICE agent
> knows address family/local address/port where connectivity check was
> received and the address family/remote address/port from which the
> connectivity check was received. Everything, including the address family
> is known in this case and agent can proceed with nomination as with any
> other peer reflexive candidate.

Right - this is implemented today in Chrome and appears to be working well
so far (with a few minor bugs discovered along the way).