Re: [MMUSIC] FQDN support in ice-sip-sdp

Roman Shpount <> Wed, 10 April 2019 19:36 UTC

Return-Path: <>
Received: from localhost (localhost []) by (Postfix) with ESMTP id 6E3CC1205E2 for <>; Wed, 10 Apr 2019 12:36:10 -0700 (PDT)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -1.889
X-Spam-Status: No, score=-1.889 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, URIBL_BLOCKED=0.001] 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 a26aVlRBdVC4 for <>; Wed, 10 Apr 2019 12:36:08 -0700 (PDT)
Received: from ( [IPv6:2607:f8b0:4864:20::52a]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by (Postfix) with ESMTPS id 9C0451205CD for <>; Wed, 10 Apr 2019 12:36:05 -0700 (PDT)
Received: by with SMTP id j26so2151625pgl.5 for <>; Wed, 10 Apr 2019 12:36:05 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;; s=20150623; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=vMZPgsy4LyxC4rDAsT70WvnfDXVoc86SN1cg/Bg7Sko=; b=LS1w21404tl2R5EtwMUtP86ulT7qxin/HYt5P/LuuTiFrAoKJoHgjkl+qi0DbLNenC YYOQ9UhnmfKrlNZVVoEvAQnhmyKAnG9KIJcyZDPXIDVI9asRi3BIbZ8zhWCCv/hF4olv zvdE+eIlWTZzdNe1BNjNrH2IzXDHp9yw5gFEYKAeKTFGcH7rLXfayq+da50KP4dxL6/H PJipLQASJkzu3FdSWaiYvdOgJgo2MIy685MbLq8LpNGa6XR75551d9dak0xiyDdF5H8c 537ZeCIeYdiyxtCg/OdH9n7TWg+WI67xMFXfsjrVzLXI1GWtcT7f99mq63lMABrwPqO6 gung==
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=vMZPgsy4LyxC4rDAsT70WvnfDXVoc86SN1cg/Bg7Sko=; b=qL7o+ohOB87o4HNL2ZUIllJDdBgtEnAyWf32C1jEfsg9H2DpE8vNybrkMJjsMKVqkO vDWEXBOYOr0/bsBsnk7zGq+6zxPP5Gy6C14TcPK9SX1G3MdXAmwg6V4ool/yg0ApwgJ1 WQbD6dzZsaqz6iOioGSSUg9m2HU4fUjND0B4Jc0GhJgeX0wjuPgnFk1cPNRODOG/PrA1 +EXZ7zsFr2pashzjj0vqhOtKlEw2PkYTkQSYJLwzFziV5E8KLCqybMtLO6uQMPPmKkqb 7jdUcOVmxca38jYs2Dbc+vEYkVbZoxpM9TGe8U9edNXJDLIP24m/13wUNcH3vm8dBlEh iN9w==
X-Gm-Message-State: APjAAAUT4CmUX+DA+R9XfFx+qQFpnMX7CIjieAyqb0iYpzmHmydNtHgT PnhZwc7pOgGSyZErfZYNjkP9x7kbJ2g=
X-Google-Smtp-Source: APXvYqwWzqurK2fGhK3un1om8+AYUGzAcBorSqAR9gIk2h29BZfc4k7YFqQFFha3QYp/3er/F9dB7Q==
X-Received: by 2002:a63:ed10:: with SMTP id d16mr42588841pgi.75.1554924964735; Wed, 10 Apr 2019 12:36:04 -0700 (PDT)
Received: from ( []) by with ESMTPSA id v12sm48670355pfe.148.2019. for <> (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Wed, 10 Apr 2019 12:36:03 -0700 (PDT)
Received: by with SMTP id t16so2036567plo.0 for <>; Wed, 10 Apr 2019 12:36:03 -0700 (PDT)
X-Received: by 2002:a17:902:b686:: with SMTP id c6mr45967095pls.14.1554924963307; Wed, 10 Apr 2019 12:36:03 -0700 (PDT)
MIME-Version: 1.0
References: <> <> <> <>
In-Reply-To: <>
From: Roman Shpount <>
Date: Wed, 10 Apr 2019 15:35:49 -0400
X-Gmail-Original-Message-ID: <>
Message-ID: <>
To: Christer Holmberg <>
Cc: Suhas Nandakumar <>, mmusic WG <>, Flemming Andreasen <>
Content-Type: multipart/alternative; boundary="0000000000001725c80586322ec7"
Archived-At: <>
Subject: Re: [MMUSIC] FQDN support in ice-sip-sdp
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: Multiparty Multimedia Session Control Working Group <>
List-Unsubscribe: <>, <>
List-Archive: <>
List-Post: <>
List-Help: <>
List-Subscribe: <>, <>
X-List-Received-Date: Wed, 10 Apr 2019 19:36:17 -0000

On Wed, Apr 10, 2019 at 3:13 PM Christer Holmberg <> wrote:

> >Limiting FQDN scope to resolving to just one address is an
> unimplementable requirement. Currently on large number of devices, FQDN
> >which is supposed to resolve to IPv4 address only, will resolve to both
> IPv6 and IPv4 addresses. For instance on virtually all IOS and most
> >of the Android devices on mobile networks FQDN pointing to IPv4 returns
> results for IPv6 as well. Essentially what we are specifying now is
> >that ICE candidates with FQDN address MUST be ignored.
> Isn’t the main reason for allowing FQDN to enable usage of mDNS?

 It is now. Nothing in the latest language that I propose prohibits mDNS
draft define how FQDN are supposed to work when mDNS is used. All my
language states that default treatment for FQDN is to ignore it which keeps
mDNS backwards compatible. I would also suggest adding an ICE option to
specify that mDNS is supported. This being said, I am not sure mDNS
prevents IPv4 address being resolved as IPv6 through DNS64, so mDNS is
likely going to end up with two addresses for a single candidate.

In my opinion, the current ICE procedures assumes one IP address:port per
> candidate. If we allow a candidate to be associated with multiple IP
> addresses:ports, we would have to modify the ICE procedures in order to
> handle that: how a candidate can be part of multiple foundations (one for
> each resolved IP address:port), how the freezing/unfreezing procedure work,
> whether connectivity checks are sent to all resolved addresses, how the
> state of the candidate is set if one IP address:port succeeds but another
> doesn’t. Or, should the candidate be split into multiple candidates (one
> for each resolved IP address:port)? Etc etc etc etc etc. All of that could
> probably be done, but I think it would be quite a bit of work- an update
> (or even a bis) to RFC 8445. It is **NOT** an ice-sip-sdp specific issue
> in my opinion.

I am not suggesting changing that only one address is supported per
candidate. What I am suggesting is that candidate needs some sort of hint
when FQDN is used to specify how address should be resolved. Here is my
proposed solution:

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

a=candidate:2319437384 1 udp 2122260223
60454 typ host *inipv4*
a=candidate:2319437384 1 udp 2122260223
60454 typ host *inipv6*

This keeps each candidate line to one address and works in cases when FQDN
resolves to one IPv4 and one IPv6 address due to something like DNS64.

Roman Shpount