Re: [sipcore] Very rough draft for remaining Happy Eyeballs work

"Olle E. Johansson" <oej@edvina.net> Thu, 07 July 2016 08:14 UTC

Return-Path: <oej@edvina.net>
X-Original-To: sipcore@ietfa.amsl.com
Delivered-To: sipcore@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id C240312D618 for <sipcore@ietfa.amsl.com>; Thu, 7 Jul 2016 01:14:08 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.901
X-Spam-Level:
X-Spam-Status: No, score=-1.901 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_NONE=-0.0001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
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 9dGqRjQMAWyR for <sipcore@ietfa.amsl.com>; Thu, 7 Jul 2016 01:14:02 -0700 (PDT)
Received: from smtp7.webway.se (smtp7.webway.se [212.3.14.205]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id A428112D62F for <sipcore@ietf.org>; Thu, 7 Jul 2016 01:14:01 -0700 (PDT)
Received: from [192.168.40.20] (h87-96-134-129.cust.se.alltele.net [87.96.134.129]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by smtp7.webway.se (Postfix) with ESMTPSA id 91F9E4281; Thu, 7 Jul 2016 10:13:58 +0200 (CEST)
Content-Type: text/plain; charset="utf-8"
Mime-Version: 1.0 (Mac OS X Mail 9.3 \(3124\))
From: "Olle E. Johansson" <oej@edvina.net>
In-Reply-To: <87wpky8cgq.fsf@hobgoblin.ariadne.com>
Date: Thu, 07 Jul 2016 10:13:57 +0200
Content-Transfer-Encoding: quoted-printable
Message-Id: <C9D0A3FE-F10E-4E90-8A25-93175C6BC3A7@edvina.net>
References: <87wpky8cgq.fsf@hobgoblin.ariadne.com>
To: "Dale R. Worley" <worley@ariadne.com>
X-Mailer: Apple Mail (2.3124)
Archived-At: <https://mailarchive.ietf.org/arch/msg/sipcore/Dz9lzrWAU6ESZae7vgpD-s1K5K0>
Cc: sipcore@ietf.org, Olle E Johansson <oej@edvina.net>
Subject: Re: [sipcore] Very rough draft for remaining Happy Eyeballs work
X-BeenThere: sipcore@ietf.org
X-Mailman-Version: 2.1.17
Precedence: list
List-Id: SIP Core Working Group <sipcore.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/sipcore>, <mailto:sipcore-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/sipcore/>
List-Post: <mailto:sipcore@ietf.org>
List-Help: <mailto:sipcore-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/sipcore>, <mailto:sipcore-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 07 Jul 2016 08:14:09 -0000

> On 07 Jul 2016, at 03:27, Dale R. Worley <worley@ariadne.com> wrote:
> 
> I've submitted a very rough draft for the remaining Happy Eyeballs work:
>    https://datatracker.ietf.org/doc/draft-worley-sipcore-dual-stack/
> 
> At this point, it is an attempt to record the state of the design
> discussions for a number of topics which are part of -- or related to --
> Happy Eyeballs for SIP.

Comments:

Abstract:
- I think we are targeting both 3263 and 3261. 3263 describes how to set up a list of server addresses to reach,
  while my impression is that 3261 describes more of the connection set up and connection handling. For server2server
  connections we touch RFC 5923 too. I would rephrase into

“RFC 3263 describes how to locate a list of addresses to contact for a given SIP URI and other document desribes how to
set up and maintain a working IP flow over the SIP transports. These procedures doesn’t handle situations where both
the SIP Ua that acts as a client and the server are connected to multiple IP address families. As seen in other protocols
this can lead to long delays in flow setup time, which leads to a bad user experience. In SIP it is especially critical to have
a short time used from call attempt to first signal - the busy or ring tone. This document describes how to implement
‘Happy Eyeballs’-like IP flow setups in the current set of transports used by the SIP protocol as well as additional client
procedures which improve the SIP user experience in many circumstances”

To requirements I would add:

- Solutions must be documented both for UA’s using SIP Outbound extensions, GRUU extensions and those that
  does not support these extensions.

The details about a probe and the note about OPTIONS doesn’t really belong in the terminology section. I wonder if
the PROBE also should be used for registration states, not just dialog states. We should also document that the probe
is ONLY used for non-connection-oriented protocols (read UDP).

In the solution I think we have to add a flow state somehow. For any given IP address/port target found by the DNS lookup
there’s a state - you have it between the lines - 
 - A. Working flow established and used
 - B. Working flow established and discarded (other flow preferred)
 - C. Not attempted to open flow
 - D. Flow failed, propation mode 

Seems like state B and D will need a timeout timer (as you point out). Yay for new timers! ;-)

I don’t understand why you let devices break the order implied by RFC 3263. The order is well defined
there. Do you mean that for a given HOST you may contact the targets in any order (or preferred: simultaneously).

Did you quote Roman right in 3.2? "One of the big problems with encrypted SIP traffic is that it gets
      modified by ALG. “

Seems to me that he wanted to say the opposite - non-encrypted SIP traffic is modified by ALGs.



/O