Re: [bfcpbis] BFCPbis: UDP- and TCP candidates and proto value

"Charles Eckel (eckelcu)" <> Tue, 25 October 2016 12:04 UTC

Return-Path: <>
Received: from localhost (localhost []) by (Postfix) with ESMTP id A3D8E12947C for <>; Tue, 25 Oct 2016 05:04:40 -0700 (PDT)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -14.951
X-Spam-Status: No, score=-14.951 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_HI=-5, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01, RP_MATCHES_RCVD=-0.431, SPF_PASS=-0.001, USER_IN_DEF_DKIM_WL=-7.5] autolearn=ham autolearn_force=no
Authentication-Results: (amavisd-new); dkim=pass (1024-bit key)
Received: from ([]) by localhost ( []) (amavisd-new, port 10024) with ESMTP id HTCxCRhmgTJo for <>; Tue, 25 Oct 2016 05:04:36 -0700 (PDT)
Received: from ( []) (using TLSv1.2 with cipher DHE-RSA-SEED-SHA (128/128 bits)) (No client certificate requested) by (Postfix) with ESMTPS id 63C401294E5 for <>; Tue, 25 Oct 2016 05:04:36 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple;;; l=26620; q=dns/txt; s=iport; t=1477397076; x=1478606676; h=from:to:cc:subject:date:message-id:references: in-reply-to:mime-version; bh=FUtTrVyXTrsgR7FZic+2okuu5dkhUtVOIimu5iH2rOA=; b=cf+A6QZLv/zgn3ztCkD+XxCfbl6qBrAvxaGWQPdusUWbQKkI3zgehX78 Eo0E0WB4h/cvEazqN6ac4Xqn9tBrn5mF44/9wGcprEg5jz0Vf/Fo3qxp5 JAquN1+OhORHpkHKyPQo0F9D2WMKIkXJFXfItSIAUiKV+lpNDD3vaU5cc w=;
X-IronPort-Anti-Spam-Filtered: true
X-IronPort-AV: E=Sophos;i="5.31,545,1473120000"; d="scan'208,217";a="166505949"
Received: from ([]) by with ESMTP/TLS/DHE-RSA-AES256-SHA; 25 Oct 2016 12:04:35 +0000
Received: from ( []) by (8.14.5/8.14.5) with ESMTP id u9PC4ZCN008405 (version=TLSv1/SSLv3 cipher=AES256-SHA bits=256 verify=FAIL); Tue, 25 Oct 2016 12:04:35 GMT
Received: from ( by ( with Microsoft SMTP Server (TLS) id 15.0.1210.3; Tue, 25 Oct 2016 07:04:34 -0500
Received: from ([]) by ([]) with mapi id 15.00.1210.000; Tue, 25 Oct 2016 07:04:34 -0500
From: "Charles Eckel (eckelcu)" <>
To: Christer Holmberg <>, Alan Ford <>, "Tom Kristensen (tomkrist)" <>, "Tom Kristensen" <>
Thread-Topic: [bfcpbis] BFCPbis: UDP- and TCP candidates and proto value
Thread-Index: AQHSGa3x+izuQLaNQkCcn/MwWSz+h6Cjee0AgASV34CABKx3AIAADJmAgANakACAAA4hAIAAAiIAgAl+NYA=
Date: Tue, 25 Oct 2016 12:04:34 +0000
Message-ID: <>
References: <> <> <> <> <> <> <> <>
In-Reply-To: <>
Accept-Language: en-US
Content-Language: en-US
user-agent: Microsoft-MacOutlook/f.1b.0.161010
x-ms-exchange-messagesentrepresentingtype: 1
x-ms-exchange-transport-fromentityheader: Hosted
x-originating-ip: []
Content-Type: multipart/alternative; boundary="_000_35E11A60C03F43CF99584E93EC499FF6ciscocom_"
MIME-Version: 1.0
Archived-At: <>
Cc: "" <>, Roman Shpount <>
Subject: Re: [bfcpbis] BFCPbis: UDP- and TCP candidates and proto value
X-Mailman-Version: 2.1.17
Precedence: list
List-Id: BFCPBIS working group discussion list <>
List-Unsubscribe: <>, <>
List-Archive: <>
List-Post: <>
List-Help: <>
List-Subscribe: <>, <>
X-List-Received-Date: Tue, 25 Oct 2016 12:04:40 -0000

This issue was discussed in more detail on the mmusic list. Here is the solution Christer applied to draft-ietf-mmusic-sctp-sdp.

   "When an SDP offer or answer is sent, the rules in
   [I-D.ietf-mmusic-ice-sip-sdp] apply regarding when the proto value
   must match the transport protocol associated with the default

   If an endpoint switches between TCP-based and UDP-based candidates
   during a session the endpoint is not required to send an SDP offer in
   order to modify that proto value of the associated m- line.”

This seems like a good approach. I suggest we do the same for draft-ietf-bfcpbis-rfc4583bis by adding this text to section 10.


On 10/19/16, 3:06 PM, "Christer Holmberg" <<>> wrote:


I guess one solution would be to allow the answerer to use a m- line
proto value that does NOT match the default candidate (or, doesn¹t
ANY candidate).
That would certainly work in this scenario - different from the SCTP
text, but would permit this behaviour, whilst still providing clear
We would update the SCTP text too.
However, I fear that would go against the ICE spec; specifically, 5245
  The transport addresses that will be the default destination for
  media when communicating with non-ICE peers MUST also be present as
  candidates in one or more a=candidate lines.
So we¹d no longer be adhering to that in the answer.
The text is certainly valid for the offer, but when the answer is sent
is known whether the peers support ICE or not.
In any case, I don¹t think there should be different rules for BFCF,
etc. This should be defined in draft-ietf-mmusic-ice-sip-sdp as a
I was thinking a little more about this: maybe indicating a transport in
the m- line that you don’t support isn’t a very good idea - even if it
won’t be used with ICE.
Maybe it would be better to say that the m- line shall contain a
that the peer is “most likely” to support. In case of BFCP, I guess
neither TCP or UDP is mandatory to support, but in other cases there is
often a mandatory transport.

That still implies they need to support the transport in question, so
it’s not dissimilar to the SCTP text about default candidate.

The idea was that, if the answerer doesn’t support the transport in the m-
line of the offer, it would have to reject the m- line (as you pointed out

Question really is - and this is probably something more for icebis than
here - would it be legitimate to relax that requirement in the text I
quoted earlier for the answerer? (The way it is written in 5245 suggests
it applies to both offerer and answerer). I don’t see it being a problem
for endpoints, but I’d be worried some proxies may expect behaviour here
which isn’t true.

I DID send an e-mail to the MMUSIC list (I think it is more related to
SIP/SDP-usage of ICE than ICE in general) about this a few days ago, but
nobody has replied. Feel free to jump on the discussion :)

Obviously, if you e.g., include TCP in the m- line of the answer (because
the offer contained TCP), but you don’t actually support TCP, the m- line
port value would only be a “dummy value”.