Re: [MMUSIC] ICE and RTCP host components
Roman Shpount <roman@telurix.com> Tue, 20 October 2015 19:41 UTC
Return-Path: <roman@telurix.com>
X-Original-To: mmusic@ietfa.amsl.com
Delivered-To: mmusic@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 3AB611AD378 for <mmusic@ietfa.amsl.com>; Tue, 20 Oct 2015 12:41:19 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.978
X-Spam-Level:
X-Spam-Status: No, score=-1.978 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, FM_FORGED_GMAIL=0.622, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_LOW=-0.7, SPF_PASS=-0.001] autolearn=ham
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 IusqxSvV4kCj for <mmusic@ietfa.amsl.com>; Tue, 20 Oct 2015 12:41:16 -0700 (PDT)
Received: from mail-io0-f180.google.com (mail-io0-f180.google.com [209.85.223.180]) (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 C465C1B2A28 for <mmusic@ietf.org>; Tue, 20 Oct 2015 12:41:16 -0700 (PDT)
Received: by ioll68 with SMTP id l68so34302324iol.3 for <mmusic@ietf.org>; Tue, 20 Oct 2015 12:41:16 -0700 (PDT)
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:in-reply-to:references:date :message-id:subject:from:to:cc:content-type; bh=M2sTVb1NvVIEna+H+Fzb1fhVDARnVQn9c507zvx9kcM=; b=dv6muuGt8jUsogr4zcGHmMy6AoJz2oDW2mpft9kcheB1dvo2sUgrprN4CWP5aUcsTT nUoZhmJgdt2tpUx4MC8iDFPsO0nYnYswv4zdpi8Ezz790GBqAc/2V7w+5HR4+/IiYiOT JgyWqq6p3UcxtfKJWVYnU6YuSifO/+8No74vqOYchJZ9yxtfoUfdVqDBO0ypzrFFOpu/ w0Cja5qCjZ3b/B+zrn7Puik78/wX02es3Mke+olULLr2mKjJALuk2VQMkdP9MJKxSw6R hAzNRrUY0FILdd3FABIOSwKWeBcT+nYX6Ux9u1kuDB5/pp8vm9j4JM0czkWdtNYhf1Vj qKsw==
X-Gm-Message-State: ALoCoQkfJLMicbAyAhYphCzSnZOioYdfNA/vwUWASMfRq5tVFTX8ci5fu7zvNsbZDb0P1aHU85L6
X-Received: by 10.107.7.218 with SMTP id g87mr6887505ioi.7.1445370076072; Tue, 20 Oct 2015 12:41:16 -0700 (PDT)
Received: from mail-io0-f171.google.com (mail-io0-f171.google.com. [209.85.223.171]) by smtp.gmail.com with ESMTPSA id rs2sm10464907igb.9.2015.10.20.12.41.15 for <mmusic@ietf.org> (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Tue, 20 Oct 2015 12:41:15 -0700 (PDT)
Received: by ioll68 with SMTP id l68so34301585iol.3 for <mmusic@ietf.org>; Tue, 20 Oct 2015 12:41:14 -0700 (PDT)
MIME-Version: 1.0
X-Received: by 10.107.155.16 with SMTP id d16mr5648748ioe.38.1445370074663; Tue, 20 Oct 2015 12:41:14 -0700 (PDT)
Received: by 10.36.205.67 with HTTP; Tue, 20 Oct 2015 12:41:14 -0700 (PDT)
In-Reply-To: <7594FB04B1934943A5C02806D1A2204B37B7D8B7@ESESSMB209.ericsson.se>
References: <7594FB04B1934943A5C02806D1A2204B37B7AC27@ESESSMB209.ericsson.se> <56266954.3080206@alum.mit.edu> <CAD5OKxtxHwjdaDnmK9LORM9M0YqQQb+-h66dV8C8Lgy8a6WYiA@mail.gmail.com> <7594FB04B1934943A5C02806D1A2204B37B7D8B7@ESESSMB209.ericsson.se>
Date: Tue, 20 Oct 2015 15:41:14 -0400
Message-ID: <CAD5OKxt6jG7bmK5KiVu3OFM4pZ8U0L25NnSNT29A0uTBe=x-FA@mail.gmail.com>
From: Roman Shpount <roman@telurix.com>
To: Christer Holmberg <christer.holmberg@ericsson.com>
Content-Type: multipart/alternative; boundary="001a1141bc1ede99e905228e71bf"
Archived-At: <http://mailarchive.ietf.org/arch/msg/mmusic/9mTnEaHS8ll04ks1vRwwzvgFHKM>
Cc: "mmusic@ietf.org" <mmusic@ietf.org>, Paul Kyzivat <pkyzivat@alum.mit.edu>
Subject: Re: [MMUSIC] ICE and RTCP host components
X-BeenThere: mmusic@ietf.org
X-Mailman-Version: 2.1.15
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: Tue, 20 Oct 2015 19:41:19 -0000
On Tue, Oct 20, 2015 at 2:03 PM, Christer Holmberg < christer.holmberg@ericsson.com> wrote: > >I almost feel like making ICE required for anything that implements > BUNDLE is the simplest >solution. > > > > Note that this is not a BUNDLE specific issue. > > > I know this is not BUNDLE specific. This is something that has been broken for a long time. Essentially anything that needs to interoperate with end points behind NAT MUST support SDP rtcp attribute and, ideally, ICE. Otherwise RTCP flow will not be established in a large number of cases. There is no workaround for this issue. SDP rtcp attribute was the workaround designed to deal with this issue. As far as ICE implementations are concerned, offerer should allocate for RTCP rtp+1 port on the same address as RTP and use this port in host RTCP candidate. If TURN server is configured, get relay and reflexive candidates for RTP and RTCP. Put relay candidate for RTP in the m= and c= lines, relay candidate for RTCP in SDP rtcp attribute. Keep in mind that in this case rtcp SDP attribute would have port+1 compared to port in m= line and, optionally the same address as c= line. Even though such SDP rtcp attribute is required by ICE RFC, it is really optional for call setup. If only STUN server is configured, get a reflexive candidates, and put the reflexive candidate for RTP in the m= and c= lines, reflexive candidate for RTCP in SDP rtcp attribute. In this case port in SDP rtcp candidate is most likely not going to be port+1 from the m= line and address in SDP rtpc candidate can be different from address in c= line. Without SDP rtcp attribute no RTCP flow will be established if remote party does not support ICE. If remote party does not support SDP rtcp attribute or ICE, no RTCP flow will be established. There is no workaround for this issue. Finally, if neither TURN or STUN server are configured, offerer should put host address in the c= line, host port in m= line, and rtp+1 and optionally host address in the SDP rtcp attribute. Once again, even though such SDP rtcp attribute is required by ICE RFC, it is really optional for call setup.. It might make sense to explain that there is a use case which will never work (no TURN server and remote end point which does not support either ICE or rtcp attribute). In practice, without TURN server, there are a lot of call flows which do not work (restricted NAT, TCP only firewalls), so this is not really a problem. _____________ Roman Shpount
- [MMUSIC] ICE and RTCP host components Christer Holmberg
- Re: [MMUSIC] ICE and RTCP host components Jonathan Lennox
- Re: [MMUSIC] ICE and RTCP host components Paul Kyzivat
- Re: [MMUSIC] ICE and RTCP host components Roman Shpount
- Re: [MMUSIC] ICE and RTCP host components Christer Holmberg
- Re: [MMUSIC] ICE and RTCP host components Roman Shpount
- Re: [MMUSIC] ICE and RTCP host components Paul Kyzivat
- Re: [MMUSIC] ICE and RTCP host components Roman Shpount
- Re: [MMUSIC] ICE and RTCP host components Harald Alvestrand
- Re: [MMUSIC] ICE and RTCP host components Roman Shpount
- Re: [MMUSIC] ICE and RTCP host components Paul Kyzivat
- Re: [MMUSIC] ICE and RTCP host components Roman Shpount
- Re: [MMUSIC] ICE and RTCP host components Paul Kyzivat
- Re: [MMUSIC] ICE and RTCP host components Harald Alvestrand
- Re: [MMUSIC] ICE and RTCP host components Paul Kyzivat
- Re: [MMUSIC] ICE and RTCP host components Christer Holmberg
- Re: [MMUSIC] ICE and RTCP host components Paul Kyzivat
- Re: [MMUSIC] ICE and RTCP host components Christer Holmberg
- Re: [MMUSIC] ICE and RTCP host components Roman Shpount