Re: [MMUSIC] What goes into c= line address when FQDN is used for the default candidate? (Dale R. Worley) Fri, 01 February 2019 02:48 UTC

Return-Path: <>
Received: from localhost (localhost []) by (Postfix) with ESMTP id E36BB130ECF for <>; Thu, 31 Jan 2019 18:48:24 -0800 (PST)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -1.933
X-Spam-Status: No, score=-1.933 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, HEADER_FROM_DIFFERENT_DOMAINS=0.001, RCVD_IN_DNSWL_LOW=-0.7, SPF_SOFTFAIL=0.665, URIBL_BLOCKED=0.001] autolearn=no autolearn_force=no
Authentication-Results: (amavisd-new); dkim=pass (2048-bit key)
Received: from ([]) by localhost ( []) (amavisd-new, port 10024) with ESMTP id VFMdZko9bV6b for <>; Thu, 31 Jan 2019 18:48:23 -0800 (PST)
Received: from ( [IPv6:2001:558:fe21:29:69:252:207:36]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by (Postfix) with ESMTPS id 1F441126CC7 for <>; Thu, 31 Jan 2019 18:48:22 -0800 (PST)
Received: from ([]) by with ESMTP id pOhKgOGBEJyAtpOsPgcPnz; Fri, 01 Feb 2019 02:48:21 +0000
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;; s=20180828_2048; t=1548989301; bh=TrIOW2p+w2egLWis0uD0ZXVTT30lmdiZBE9kzJEgdSA=; h=Received:Received:Received:Received:From:To:Subject:Date: Message-ID; b=CQSnVF4Kk8ZVrevFF9pH3fYj9stXDzNv5DmziStgBEgczGHWJjZjN1a6PEHhqTFOR 7JoSfoIBhENdXEqOCaNtVuV97lmjMequ++u7Uvobmt3ICjOgl9g+egQREQXc1SKDPu ue/z+G+PBQeiBT1m1YFSE5SjC1y2mrOuJSJewP905hIbHqRwQYxnQNcWDtX8WAohK+ hhY1kNVManK6VFhMgPalaaADr+8HOQB5jmYwoK16bXAu0OCgXohY6Jh1TR5GKJJ4Mm LyIvkMTmIxfoonWxP7A9e5dlMOupyCnY37AaBBmw5E0prOzp+VuxTF2p0UsjXwjsAA yFAxejv0cowpg==
Received: from ([IPv6:2601:192:4603:9471:222:fbff:fe91:d396]) by with ESMTPA id pOsOgL7IVpWxCpOsPg4syQ; Fri, 01 Feb 2019 02:48:21 +0000
X-Xfinity-VMeta: sc=-100;st=legit
Received: from ( []) by (8.14.7/8.14.7) with ESMTP id x112mKEO011660; Thu, 31 Jan 2019 21:48:20 -0500
Received: (from worley@localhost) by (8.14.7/8.14.7/Submit) id x112mJ4I011657; Thu, 31 Jan 2019 21:48:19 -0500
X-Authentication-Warning: worley set sender to using -f
From: (Dale R. Worley)
To: Roman Shpount <>
In-Reply-To: <> (
Sender: (Dale R. Worley)
Date: Thu, 31 Jan 2019 21:48:19 -0500
Message-ID: <>
Archived-At: <>
Subject: Re: [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: Multiparty Multimedia Session Control Working Group <>
List-Unsubscribe: <>, <>
List-Archive: <>
List-Post: <>
List-Help: <>
List-Subscribe: <>, <>
X-List-Received-Date: Fri, 01 Feb 2019 02:48:25 -0000

Roman Shpount <> writes:
> I wanted to see if it was ever decided if c= line should contain IN IP4 or
> IN IP6 when default ICE candidate address contains FQDN.
> For instance, in the following SDP:
> m=audio 59372 UDP/TLS/RTP/SAVPF 0
> *c=IN IP6 3557773f-5f01-46a4-aa14-54ab35b3d778.local *
> a=rtcp:9 IN IP4
> a=candidate:1962264367 1 udp 2122260223
> 3557773f-5f01-46a4-aa14-54ab35b3d778.local 59372 typ host
> a=ice-ufrag:3iia
> a=ice-pwd:HMo0mGLq8nYb9pfnG/nH3pNI
> a=rtcp-mux
> Is it correct to use "c=IN IP6 3557773f-5f01-46a4-aa14-54ab35b3d778.local "
> or should it be "c=IN IP4 3557773f-5f01-46a4-aa14-54ab35b3d778.local"?

In regard to ICE *candidates*, RFC 8445 makes it clear that a candidate
is an IP address, not an FQDN:

   2.1.  Gathering Candidates

   In order to execute ICE, an ICE agent identifies and gathers one or
   more address candidates.  A candidate has a transport address -- a
   combination of IP address and port for a particular transport
   protocol (with only UDP specified here).  There are different types
   of candidates; some are derived from physical or logical network
   interfaces, and others are discoverable via STUN and TURN.

The discussion of "default candidates" is a little vague due to the fact
that the ICE specification factors out ICE from any protocol that uses
it, but the default candidate is always a *candidate* and thus an
address, not an FQDN:

   5.2.  Lite Implementation Procedures

   Next, an agent chooses a default candidate for each component of each
   data stream.  If a host is IPv4 only, there would only be one
   candidate for each component of each data stream; therefore, that
   candidate is the default.  If a host is IPv6 only, the default
   candidate would typically be a globally scoped IPv6 address.  Dual-
   stack hosts SHOULD allow configuration whether IPv4 or IPv6 is used
   for the default candidate, and the configuration needs to be based on
   which one its administrator believes has a higher chance of success
   in the current network environment.

   5.3.  Exchanging Candidate Information

   The using protocol may (or may not) need to deal with backwards
   compatibility with older implementations that do not support ICE.  If
   a fallback mechanism to non-ICE is supported and is being used, then
   presumably the using protocol provides a way of conveying the default
   candidate (its IP address and port) in addition to the ICE