[MMUSIC] ICE offer/answer terminology

Ari Keränen <ari.keranen@ericsson.com> Wed, 10 June 2015 18:36 UTC

Return-Path: <ari.keranen@ericsson.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 593781A1A48 for <mmusic@ietfa.amsl.com>; Wed, 10 Jun 2015 11:36:47 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -3.301
X-Spam-Level:
X-Spam-Status: No, score=-3.301 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, J_CHICKENPOX_44=0.6, MIME_8BIT_HEADER=0.3, RCVD_IN_DNSWL_MED=-2.3, 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 SMLp69snCOZC for <mmusic@ietfa.amsl.com>; Wed, 10 Jun 2015 11:36:44 -0700 (PDT)
Received: from sesbmg22.ericsson.net (sesbmg22.ericsson.net [193.180.251.48]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 335DA1A1A16 for <mmusic@ietf.org>; Wed, 10 Jun 2015 11:36:44 -0700 (PDT)
X-AuditID: c1b4fb30-f799f6d000000faf-81-557883ba71df
Received: from ESESSHC005.ericsson.se (Unknown_Domain [153.88.253.125]) by sesbmg22.ericsson.net (Symantec Mail Security) with SMTP id 7E.60.04015.AB388755; Wed, 10 Jun 2015 20:36:42 +0200 (CEST)
Received: from Aris-MBP-2.dyn.sj.us.am.ericsson.se (153.88.183.153) by smtp.internal.ericsson.com (153.88.183.35) with Microsoft SMTP Server id 14.3.210.2; Wed, 10 Jun 2015 20:36:41 +0200
Message-ID: <557883BE.3010000@ericsson.com>
Date: Wed, 10 Jun 2015 11:36:46 -0700
From: Ari Keränen <ari.keranen@ericsson.com>
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.10; rv:31.0) Gecko/20100101 Thunderbird/31.7.0
MIME-Version: 1.0
To: "Pal Martinsen (palmarti)" <palmarti@cisco.com>
References: <8C7ACC43-D13C-4CE4-A982-DCC8F549D3EE@cisco.com>
In-Reply-To: <8C7ACC43-D13C-4CE4-A982-DCC8F549D3EE@cisco.com>
Content-Type: text/plain; charset="utf-8"; format="flowed"
Content-Transfer-Encoding: 8bit
X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFlrCLMWRmVeSWpSXmKPExsUyM+Jvre6u5opQgzNnVS2mLn/MYvH++koW ByaPKb83snosWfKTKYApissmJTUnsyy1SN8ugSvj066DzAVzvCv2L0hsYFxh3cXIySEhYCJx vOkXI4QtJnHh3nq2LkYuDiGBo4wShzbNY4Zw9jNKXPzeyQpSxSugLXHh1lawDhYBVYln+0+D xdkEbCVWv7rJAmKLCqRIPFuymwmiXlDi5MwnYHERAWOJ5iNH2UFsZgEZiRlnG4FqODiEgeac mOYGEhYSsJH4N2Mn2EhOoJH92zaxQZRbSMycf54RwpaXaN46mxmiXlXi6r9XjBMYBWch2TYL ScssJC0LGJlXMYoWpxYn5aYbGemlFmUmFxfn5+nlpZZsYgQG68Etvw12ML587niIUYCDUYmH V3FWeagQa2JZcWXuIUZpDhYlcd4Zm/NChQTSE0tSs1NTC1KL4otKc1KLDzEycXBKNTD2Frsu 3yIx/QHDwbe1OW8WcDxbm/z4Xte7OutHS39fKkj+0LCqs/7ywbx0cz6R3gyGU7MNll/6Ee1n 9kvC0PZEGsvhHw15sR/FHJ/Kfvi2+tt20euHG3i2bgz5/Y+vIkfi0ERuoxN7fE5Lx5QelK0I 2yf+ZHZE0jXZjyc/15ROzM68kaA9/XiCEktxRqKhFnNRcSIAiQkqCTcCAAA=
Archived-At: <http://mailarchive.ietf.org/arch/msg/mmusic/OihSZ3h61ekzhV994LzCyqxMJ88>
Cc: mmusic <mmusic@ietf.org>
Subject: [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: Wed, 10 Jun 2015 18:36:47 -0000

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)")

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?


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
>