Re: [MMUSIC] ICE offer/answer terminology

"Pal Martinsen (palmarti)" <palmarti@cisco.com> Thu, 11 June 2015 08:08 UTC

Return-Path: <palmarti@cisco.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 0FCAC1ACD35 for <mmusic@ietfa.amsl.com>; Thu, 11 Jun 2015 01:08:03 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -13.611
X-Spam-Level:
X-Spam-Status: No, score=-13.611 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, J_CHICKENPOX_44=0.6, MIME_8BIT_HEADER=0.3, RCVD_IN_DNSWL_HI=-5, SPF_PASS=-0.001, T_RP_MATCHES_RCVD=-0.01, USER_IN_DEF_DKIM_WL=-7.5] 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 ZJ7NcOZtqb4k for <mmusic@ietfa.amsl.com>; Thu, 11 Jun 2015 01:08:00 -0700 (PDT)
Received: from rcdn-iport-4.cisco.com (rcdn-iport-4.cisco.com [173.37.86.75]) (using TLSv1 with cipher RC4-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 30AEA1ACD24 for <mmusic@ietf.org>; Thu, 11 Jun 2015 01:08:00 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=cisco.com; i=@cisco.com; l=14842; q=dns/txt; s=iport; t=1434010081; x=1435219681; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-id:content-transfer-encoding: mime-version; bh=6QigvrvX1xO3ZviL5JMBKNp2RPHEomerQM9FbJbHj48=; b=AyC+w4ezYBWnjHEWRQ8+Fjj2382btwKZWqa+Us4n3mKgWPeCBBRc7MK+ Tr/oUa3abhQvmTfwVWScNfWihCH6qWXsNBlP6Y+oU1fKhpQoSPDetYS1w e1Q8roS7i11iRA8cItWH1OVOBDamqIcYmFlnVHJLUtuGwEuAY4Ay7BeAS k=;
X-IronPort-Anti-Spam-Filtered: true
X-IronPort-Anti-Spam-Result: A0BWBQCGQHlV/4cNJK1cgxBUXwaDGLt5GgyFLkoCHIEaPBABAQEBAQEBgQqEIgEBAQECAQEBASAEDTMHCwULAgEIGAICFBICAgIlCxUQAgQOBQkSiAwIDa5zpCoBAQEBAQEBAQEBAQEBAQEBAQEBAQEXgSGJIIEChC0BDRgYGwcYglAvgRYFkG6CYos4gTCHBG2OXiRigxZvAYECAR8jgQEBAQE
X-IronPort-AV: E=Sophos;i="5.13,593,1427760000"; d="scan'208";a="2593552"
Received: from alln-core-2.cisco.com ([173.36.13.135]) by rcdn-iport-4.cisco.com with ESMTP; 11 Jun 2015 08:07:59 +0000
Received: from xhc-aln-x13.cisco.com (xhc-aln-x13.cisco.com [173.36.12.87]) by alln-core-2.cisco.com (8.14.5/8.14.5) with ESMTP id t5B87w34025256 (version=TLSv1/SSLv3 cipher=AES128-SHA bits=128 verify=FAIL); Thu, 11 Jun 2015 08:07:58 GMT
Received: from xmb-rcd-x06.cisco.com ([169.254.6.183]) by xhc-aln-x13.cisco.com ([173.36.12.87]) with mapi id 14.03.0195.001; Thu, 11 Jun 2015 03:07:58 -0500
From: "Pal Martinsen (palmarti)" <palmarti@cisco.com>
To: Ari Keränen <ari.keranen@ericsson.com>
Thread-Topic: ICE offer/answer terminology
Thread-Index: AQHQo6xnCcZSczE/QECWmC006WdM5Z2nR+sA
Date: Thu, 11 Jun 2015 08:07:57 +0000
Message-ID: <61E3D1D0-4C9B-444D-BEE0-C9A1B413C282@cisco.com>
References: <8C7ACC43-D13C-4CE4-A982-DCC8F549D3EE@cisco.com> <557883BE.3010000@ericsson.com>
In-Reply-To: <557883BE.3010000@ericsson.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-originating-ip: [10.61.73.140]
Content-Type: text/plain; charset="utf-8"
Content-ID: <ACE67A1AAE514A42BEE1D42916862E84@emea.cisco.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
Archived-At: <http://mailarchive.ietf.org/arch/msg/mmusic/-_ZPpM-_6Kh5nfhi_CXanVSfaJI>
Cc: mmusic <mmusic@ietf.org>
Subject: Re: [MMUSIC] ICE offer/answer terminology
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: <http://www.ietf.org/mail-archive/web/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: Thu, 11 Jun 2015 08:08:03 -0000

> On 10 Jun 2015, at 20:36, Ari Keränen <ari.keranen@ericsson.com> wrote:
> 
> Thank you for the review Pål-Erik!
> 
> I will have a closer look at the detailed comments a bit later, but first let's discuss the main issue, offer/answer terminology (and hence the new subject for the thread).
> 
> I agree that the offer/answer as ICE terminology is not optimal since it implies to many that this would be RFC3264 o/a. However, we have not yet been able to come up with a better term.
> 
> This was also discussed at the IETF #90 MMUSIC meeting:
> http://www.ietf.org/proceedings/90/minutes/minutes-90-mmusic#h.1yc63e74pbhi
> 
> (See “Offer/Answer Terminology (slide 10)")
> 
Ahhh. That was a good summary. I think I remember now.. Sorry for not checking previous discussions, but I wanted do have a “clean” read thought the document. 

> The consensus was roughly that we *do* have offer and answer kind of messages when doing ICE, calling that ICE offer/answer is a bit confusing, but we'll go with that unless a better alternative emerges.
> 
> What would you suggest as new terms that we could use here that would fulfill the requirements?
> 

Candidate exchange?

We need to have wording in there that explains there are a some more information that just the pure candidates that needs to be exchanged.

Regarding controlling/controlled we can eiter let the tie breaker fix that. Or have some wording if you are first to send the candidates you are controlling and so on. 

We should consider having the ufrag and password tied closer to the candidate. We might have missed some information when removing the medialine and session level descriptions of that. 

.-.
Pål-Erik




> 
> Cheers,
> Ari (as individual ICE editor)
> 
> On 10/06/15 06:21, Pal Martinsen (palmarti) wrote:
>> 
>> 
>> First pass. Will do a more through one later.
>> 
>> 
>> Biggest change I am proposing is to ditch the offer/answer wording all together. What I think of when offer/answer is mentioned is not needed for ICE. All that is needed is a simple candidate + some info exchange.
>> 
>> 
>> Anyway, rest of the comments are below.
>> 
>> 
>> 
>> 
>> 1. Introduction.
>> SIP and SDP is removed from the document. A more generig problem
>> statement regarding punching holes through two NATs are more
>> appropriate?
>> 
>> I also disagree with the statement that ICE is an extension to the
>> offer answer model. It does require that the agents somehow exchange
>> candidates, but it is nowhere as rigid as offer/answer.
>> 
>> 2. Overview of ICE
>> 
>> Do we still want to use AGENT? Or have the world moved on to endpoint?
>> 
>> Again ditch offer/answer move towards candidate exchange by some
>> signalling protocol or other means (Search and replace offer/answer
>> with candidate exchange may work well through out the document).
>> 
>> FIGURE 1. Replace STUN server with TURN/STUN Server
>> 
>> Some rewording of the text above the figure might be helpful. Describe
>> that TUNR STUN servers are use to determine what environment the agent
>> is operating in.
>> 
>> 2.1. Gathering Candidate Addresses
>> 
>> Two first paragraphs mixes multihomed, physical and virtual network
>> interfaces IP addresses and ports in a slightly confusing/wrong
>> way. Dual-stack is not mentioned but implied?
>> 
>> The sentence "If an agent is multihomed, it obtains a candidate from
>> each IP address." Might cause confusion? Do we need to capture that the
>> agent must create candidates from all available interfaces. Each
>> interface can have different address types and might have multiple
>> adresses and so on. (Maybe reference som MIF WG drafts?
>> 
>> Is MIP dead? Remove that as an example? Especially since ICE can
>> replace most of what MIP provides (With some extensions ..).
>> 
>> 2.2. Connectivity Checks
>> 
>> Signaling channel or other means. Again some reference to offer and
>> attributes.
>> 
>> CHECKS = CONNECTIVITY CHECKS?
>> 
>> Do we need to reword the transaction. As some implementations do not
>> use STUN req/resp transactions, more like STUN req/resp
>> exhanges. I think the text here is fine.
>> 
>> 2.5. Security for Checks
>> 
>> Is it worth mentioning the ufrag? For any "bad fw" that wants to do
>> the right thing the ufrag can be a good hint. it will have the form of
>> aaaa:bbbb out and bbbb:aaaa coming in the other direction.
>> 
>> 2.6. Concluding ICE
>> 
>> Some RTT drafts from TRAM might be worthwhile mentioning? Or do ww
>> want to get ICEbis out before that?
>> 
>> 2.7. Lite Implementations
>> 
>> Do we need to give more reasons why FULL ICE is preferable? Is that
>> still true or do we want to embrace ICE lite as an accepted part of
>> the solution, not just a stepping stone?
>> 
>> 2.8. Usages of ICE
>> (Offer/answer)
>> -> with protocols that provides a means to exchange candidates.
>> 
>> 3. Terminology
>> 
>> Do readers still need to know of RFC3264?
>> 
>> Agent; replace with endpoint capable of exchanging candidates?
>> 
>> ICE offer/answer. If renaming to candidate exchange there is a good
>> point regarding ufrag and password exchange as well.
>> 
>> 4. Sending the Initial Offer.
>> 
>> -> Exchanging Local candidates?
>> 
>> 4.1.1.1 Host Candidates
>> 
>> Do we need more wording on multhiomed? I like the wording "gathered
>> from all IP adresses". But do we need to remember the reader that
>> they can come from different interfaces and might be dualstacked?
>> 
>> 4.1.1.2
>> 
>> Why limit ICE agents to only use one TURN server? It should be able to
>> have more than one RELAY candidate without any problems? Section
>> 4.1.2.2 implies that more than one TURN server can be used)
>> 
>> This section should also refer to new functionality in TURNbis, where
>> you can allocate a IPv4 and IPv6 candidate with one message exchange
>> (SSODA).
>> 
>> Should probably also refer to TURN server discovery draft and maybe
>> the new TURN auth draft as well?
>> 
>> Need to check if other TRAM documents affect this section as well.
>> 
>> 4.1.2. Prioritizing Candidates
>> 
>> Reference Multihomed and dualstack fairness draft?
>> 
>> 4.1.2.2 Guidelines for Choosing Type and Local Preferences
>> 
>> There are use-cases where RELAY addresses should not be set to
>> 0. Services exists that provide TURN servers and then relay the
>> traffic through a dedicated network.
>> 
>> 4.2.  Lite Implementation Requirements
>> 
>> Link to other section that described a more generic treatment of
>> components?
>> 
>> Not sure if it good to recommend IPv4 as the default candidate? IETF is
>> pushing hard towards IPv6... (Probably depends on who you ask
>> implementors that want things to work, or standards based geeks that
>> want to move the standards forward)
>> 
>> 4.3. Encoding the Offer
>> 
>> -> Encoding Local Candidate Information?
>> 
>> Reference STUNbis insead of STUN? (Not sure if anything relevant have
>> been updated)
>> 
>> 5.  Receiving the Initial Offer
>> 
>> -> Receiving Initial Local Candidates ?
>> 
>> 5.1.  Verifying ICE Support
>> 
>> More examples? If the client somehow is able to detect that some of
>> the candidates have been altered.
>> 
>> Recommend that ICE is turned off if this is detected?
>> 
>> 5.3.  Gathering Candidates
>> 
>> Somme rewording needed if we move away from offer/answer usage.
>> (Same for Section 5.5)
>> 
>> 5.6.1.  Forming Candidate Pairs
>> 
>> Lot of SDP and RTP example. Possible to make them more generic?
>> 
>> 5.6.3.  Pruning the Pairs
>> 
>> The paragraph describing that the number of connectivity checks should
>> be limited seems missplaced. Better moved to another section dealing
>> with how to send connectivity checks?
>> 
>> And why recomend 100? (Yes, these numbers are fun to discuss...)
>> 
>> 5.7.  Scheduling Checks
>> Do we need to deal with the alternative approach regarding
>> transactions. We should at least keep the wording here so that webRTC
>> implementations do not break it. (For now this is a not, need to do
>> more thinking)
>> 
>> 6.  Receipt of the Initial Answer
>> Usual offer/answer comments..
>> 
>> 
>> 7.  Performing Connectivity Checks
>> 
>> No need to reference the old STUN RFC. Not heard about anyone using
>> it. Reference STUNbis instead of STUN?
>> 
>> 
>> Generally for section 7 and all sub sections; do we need to consider
>> wording to make it easier to implement passive aggressive nomination?
>> (Just a note, need more work)
>> 
>> 
>> 8.  Concluding ICE Processing
>> 
>> Somewhere here there was a gem about sending traffic, should be
>> highlited? (Discussed in Dallas) Or was it in Section 11?
>> 
>> 8.3.1.  Full Implementation Procedures
>> 
>> Needs rewording. Not clear to me what "this section" points to.
>> 
>> 9.  ICE Restarts
>> 
>> Needs rewording if offer/answer is not used.
>> 
>> 
>> 11.1.3.  Procedures for All Implementations
>> 
>> Is the talkspurt bit still in use?
>> 
>> 11.2.  Receiving Media
>> 
>> I think the SSRC discussion is to specific. Have we moved on so we can
>> have other protocols describe how to interact when ICE is in use, or
>> is this still needed?
>> 
>> 13.  Setting Ta and RTO
>> 
>> I feel this could be simplified a lot. Ongoing discussions regarding
>> this and how to set the values?
>> 
>> 14.  Example
>> 
>> Do we need to highlight TURN more? Some confusion regarding same and
>> Different TURN server for the agent have been known to occur.
>> (Will  try to provide text.)
>> 
>> 15.  Security Considerations
>> 
>> Use something else that SIPS as an example..
>> 
>> 17.1.  NAT and Firewall Types
>> 
>> Do we need to mention carrier grade NATs and such? THey are a bit more
>> standardised, or?
>> 
>> 17.2.1.  STUN and TURN Server Capacity Planning
>> 
>> Numbers need to be updated or removed
>> 
>> 
>> And I also think that the TURN use-case have changed a bit. Moving from
>> a service needed to get through the NAT to a more value add service
>> that have benefits beyond pure NAT traversal.
>> 
>> 17.4.  Troubleshooting and Performance Management
>> 
>> Lots of SIP references. Make them more general?
>> 
>> Should we say something about useful ICE metrics that can be collected
>> from the agent. (Separate draft?)
>> 
>> 17.5.  Endpoint Configuration
>> 
>> Unnecessary SIP reference?
>> 
>> 19.2.  Exit Strategy
>> 
>> More SIP...
>> 
>> Say something regarding possible extensions. Mobility ++
>> 
>> 
>> 
>> .-.
>> Pål-Erik
>> 
>> _______________________________________________
>> mmusic mailing list
>> mmusic@ietf.org
>> https://www.ietf.org/mailman/listinfo/mmusic
>> 
>