Re: [sipcore] Happy Eyeballs for SIP

"Asveren, Tolga" <tasveren@sonusnet.com> Fri, 16 December 2016 13:43 UTC

Return-Path: <tasveren@sonusnet.com>
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 E02DA129A4D for <sipcore@ietfa.amsl.com>; Fri, 16 Dec 2016 05:43:34 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.921
X-Spam-Level:
X-Spam-Status: No, score=-1.921 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01, SPF_HELO_PASS=-0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=sonusnetworks.onmicrosoft.com
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 zbYe31-lMj68 for <sipcore@ietfa.amsl.com>; Fri, 16 Dec 2016 05:43:31 -0800 (PST)
Received: from NAM01-BN3-obe.outbound.protection.outlook.com (mail-bn3nam01on0080.outbound.protection.outlook.com [104.47.33.80]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 2AAA012988A for <sipcore@ietf.org>; Fri, 16 Dec 2016 05:43:31 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=SonusNetworks.onmicrosoft.com; s=selector1-sonusnet-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=SDn+CrGMgzBnO2L8zkPzK1IIsva4J3n+/ErXolFodIQ=; b=HCfSE5F1YB8x0R3ctdd+cvP9bUfWgvSBxG67VTpNYMRF9ZSDGhTt0eD5V4t03VysugWFwX5C3abK3r2daqBw8Zl59dMKHPrOnFXoqFYJuZfSdmrwPfdecTlFsJ5wcNKwQ7nmHLHQqG4jZg2eREvtcoIJ+ckYMG4GutQwbDTsr60=
Received: from SN2PR03MB2350.namprd03.prod.outlook.com (10.166.210.141) by SN2PR03MB2352.namprd03.prod.outlook.com (10.166.210.143) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P384) id 15.1.789.14; Fri, 16 Dec 2016 13:43:28 +0000
Received: from SN2PR03MB2350.namprd03.prod.outlook.com ([10.166.210.141]) by SN2PR03MB2350.namprd03.prod.outlook.com ([10.166.210.141]) with mapi id 15.01.0789.014; Fri, 16 Dec 2016 13:43:28 +0000
From: "Asveren, Tolga" <tasveren@sonusnet.com>
To: "Olle E. Johansson" <oej@edvina.net>
Thread-Topic: [sipcore] Happy Eyeballs for SIP
Thread-Index: AQHSVwe5Rj/FKGerzk2IPpPFNc5xDqEJaukQgADZ/gCAADHpcA==
Date: Fri, 16 Dec 2016 13:43:28 +0000
Message-ID: <SN2PR03MB23507122D85AEF50DCED3B0CB29C0@SN2PR03MB2350.namprd03.prod.outlook.com>
References: <SN2PR03MB235097F6085678C53AF73F44B29A0@SN2PR03MB2350.namprd03.prod.outlook.com> <87k2b1ovef.fsf@hobgoblin.ariadne.com> <SN2PR03MB2350ACB9D86F69E2350F21B8B29D0@SN2PR03MB2350.namprd03.prod.outlook.com> <2E1B0F72-7438-4EA3-B39A-24969494B981@edvina.net>
In-Reply-To: <2E1B0F72-7438-4EA3-B39A-24969494B981@edvina.net>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
authentication-results: spf=none (sender IP is ) smtp.mailfrom=tasveren@sonusnet.com;
x-originating-ip: [73.29.18.75]
x-ms-office365-filtering-correlation-id: 165c0c6f-fb3c-41d6-324a-08d425b98487
x-microsoft-antispam: UriScan:;BCL:0;PCL:0;RULEID:(22001);SRVR:SN2PR03MB2352;
x-microsoft-exchange-diagnostics: 1; SN2PR03MB2352; 7:Ty0p7yJidcRQvUn0nUx9ey0XjDP/UCIQ41fvj805Tb31DkmOoQWQk0m/z4DjlhlqxgZZRWbDmxs6o2fVdrrkm5Y9727i7fbsZBvslX2WYmKahkUFssC2mJ0dBoVIQ3bixkZMS6w5DloroD3SQXJNotoaBDJVfxYBDuaqjO2uoBDFKskHi455uBGw0r0wpq2Tm84YB5zQMkir+XOzop06+93rKN7mH4ZT+KNZ7lyWb19UEZ1N776yU69FK5eNHBsjZZJdTbKZ6o6jWRL3mz3THGKHrtuyg/ultJ5lFMG4MuSyAjtGBAb5P/4PgHy7/15TfY2HCRiqN+8517UWLXk7+ybkWgx5g3ga7jhh35epOXOjRjPqJGw9VkFs72VHJK7+4Sm7Xf5GPnoueJDxNIhSbIKH8VOVO91McVCZ5Jo5EgyCLxtIaeic+2p69aSJ9V28BGrC1Uszlb5Nggl72XyvVg==
x-microsoft-antispam-prvs: <SN2PR03MB23525ACB6A8A33B196AB2E75B29C0@SN2PR03MB2352.namprd03.prod.outlook.com>
x-exchange-antispam-report-test: UriScan:(158342451672863)(100405760836317);
x-exchange-antispam-report-cfa-test: BCL:0; PCL:0; RULEID:(6040375)(601004)(2401047)(8121501046)(5005006)(3002001)(10201501046)(6041248)(20161123560025)(20161123564025)(20161123562025)(20161123555025)(20161123558021)(6047074)(6072148); SRVR:SN2PR03MB2352; BCL:0; PCL:0; RULEID:; SRVR:SN2PR03MB2352;
x-forefront-prvs: 01583E185C
x-forefront-antispam-report: SFV:NSPM; SFS:(10009020)(6009001)(7916002)(39830400002)(39410400002)(39450400003)(189002)(13464003)(24454002)(377454003)(199003)(2906002)(76176999)(305945005)(92566002)(2900100001)(5660300001)(229853002)(189998001)(3846002)(54356999)(97736004)(81156014)(8936002)(8676002)(81166006)(4326007)(38730400001)(6916009)(77096006)(7696004)(6506006)(9686002)(68736007)(2950100002)(25786008)(110136003)(6436002)(74316002)(105586002)(106356001)(93886004)(6116002)(86362001)(106116001)(50986999)(122556002)(101416001)(7736002)(102836003)(76576001)(3280700002)(99286002)(3660700001)(33656002)(66066001); DIR:OUT; SFP:1101; SCL:1; SRVR:SN2PR03MB2352; H:SN2PR03MB2350.namprd03.prod.outlook.com; FPR:; SPF:None; PTR:InfoNoRecords; MX:1; A:1; LANG:en;
received-spf: None (protection.outlook.com: sonusnet.com does not designate permitted sender hosts)
spamdiagnosticoutput: 1:99
spamdiagnosticmetadata: NSPM
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-OriginatorOrg: sonusnet.com
X-MS-Exchange-CrossTenant-originalarrivaltime: 16 Dec 2016 13:43:28.5740 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 29a671dc-ed7e-4a54-b1e5-8da1eb495dc3
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SN2PR03MB2352
Archived-At: <https://mailarchive.ietf.org/arch/msg/sipcore/VKtDFTkrojeFAFadQppANlirsoY>
Cc: "Dale R. Worley" <worley@ariadne.com>, "sipcore@ietf.org" <sipcore@ietf.org>
Subject: Re: [sipcore] Happy Eyeballs for SIP
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: Fri, 16 Dec 2016 13:43:35 -0000

Inline...

Thanks,
Tolga

> -----Original Message-----
> From: Olle E. Johansson [mailto:oej@edvina.net]
> Sent: Friday, December 16, 2016 3:51 AM
> To: Asveren, Tolga <tasveren@sonusnet.com>
> Cc: Olle E Johansson <oej@edvina.net>; Dale R. Worley
> <worley@ariadne.com>; sipcore@ietf.org
> Subject: Re: [sipcore] Happy Eyeballs for SIP
> 
> 
> > On 15 Dec 2016, at 20:58, Asveren, Tolga <tasveren@sonusnet.com>
> wrote:
> >
> > Trying to summarize:
> >
> > i- It is fine to target connection-oriented transport protocols first but I hope
> that does not imply that UDP never will be covered. I personally would favor
> a single RFC for all transports -initial versions of the draft can address/focus
> on connection-oriented ones- but could survive with multiple specifications
> as well.
> At the last SIPcore IETF meeting we decided to split up the work in chewable
> bits. Separating connection oriented from the much more complex
> connectionless area was one decision in order to make progress fast in the
> Connection oriented space.
[TOLGA] Understood. As said before though, this could be achieved with a single RFC/progressive versions of drafts as well IMHO. OTOH, I wouldn’t cry much over having multiple RFCs either.  So, I guess this means "consensus reached".
> 
> 
> > ii- I feel stronger about the need to address SRV records rather than
> limiting the solution to A/AAAA. Granted, an entity can do stupid things with
> the freedom of ordering of queries by also considering IP Address Family but
> that is a given with any new degree of freedom. It is a direct consequence
> thereof. Providing use cases/warnings about possible issues could address
> this concern in a satisfactory way IMHO.
> If there is a problem, we need to work on it, but I would like to suggest that
> we limit the scope for each doc to get it faster through the process.
> 
> We have a lot of related problems to cover, like selection of interfaces when
> we have multiple interfaces.
[TOLGA] I think covering SRV records is critical. They are used widely in practice; for various reasons and in different models. I don’t think burying our head into sand would make this issue disappear. We may take a "practical" approach though. I think 90% of utility could be achieved by addressing 10% of complexity. Some extra freedom on ordering/selection of queries would go a long way.
In general, I am also baffled why platform related issues, e.g. interface selection, is something to be defined in a SIP related RFC. Granted, a solution should be implementable but defining how to select the right interface, e.g. which system call for a particular OS, does not belong to this RFC. Specification can talk about the need packets taking the correct/intended path but how this is achieved on a given platform is an implementation issue IMHO. But then, maybe the former is already what you meant.
> 
> In regards to the current draft for connection-oriented SIP flows, I am not
> happy about copying a lot of text from the Happy Eyeballs RFC into this doc.
> 
> Happy Eyeballs is a  large solution space and the important part of the RFC is
> the requirements - the solutions vary.
> Copying text from that RFC could mean we copy stuff that is out of scope and
> already old compared with today’s implementations and that we by accident
> limit the solution space for SIP, which would be unfortunate. The SIP solution
> for setting up a connection is in no way different from other protocols and
> thus I think we will be better off and have a smoother path to publication by
> just pointing to the Happy Eyeballs RFC than starting to copy parts without us
> authors having current implementation experience.
> 
> Let’s keep the connection-oriented draft short and sweet and just get it to
> publication and then dive heads down into UDP. That’s an area where no
> work has been done before (as far as I know) and we will propably end up
> producing an outbound-light or something else.
[TOLGA] Maybe, I am not as optimistic as you though (especially when considering use of DTLS)
> 
> The implementation I work with currently send a simple OPTIONs without
> SDP to test both address families and then select based on our preferences
> and responses. We do prefer IPv6 in this case, as IPv4 is hiding behind an ugly
> carrier grade nat. As this is a mobile app, registration and calls happen within
> a short time and no flows are kept for long. Desktop phones have flows that
> goes on for a very long time and network properties may change during that
> time, so we need more regular discovery.
[TOLGA] Specification for UDP would mention about use of OPTIONS and maybe provide information about some use cases but the exact semantics of what/how is preferred shouldn’t be normatively defined.
> 
> 
> /O
> >
> > Thanks,
> > Tolga
> >
> >> -----Original Message-----
> >> From: Dale R. Worley [mailto:worley@ariadne.com]
> >> Sent: Thursday, December 15, 2016 2:16 PM
> >> To: Asveren, Tolga <tasveren@sonusnet.com>
> >> Cc: sipcore@ietf.org
> >> Subject: Re: [sipcore] Happy Eyeballs for SIP
> >>
> >> "Asveren, Tolga" <tasveren@sonusnet.com> writes:
> >>>> However, we decided to
> >>>> not handle SRV in this tranche because a comprehensive approach to
> >>>> SRV is complicated and nobody has yet proposed a solution that
> >>>> promises to meet the desiderata, viz.:
> >>>>
> >>>> - achieve the Happy Eyeballs effect, that is, traffic will be very
> >>>>  rarely delayed by unreachability of one or more of the targets
> >>>>
> >>>> - achieve the specified effect of SRV, that is, among the set of targets
> >>>>  which are reachable, over the long run, the traffic will be
> >>>>  distributed among them according to the specified priorities and
> >>>>  weights in the SRV records
> >>
> >>> [TOLGA] I understand that "perfect outcome" may be hard to describe
> >>> -let alone to achieve- especially considering various deployment
> >>> models/expectations. OTOH, I would think that allowing some freedom
> in
> >>> terms of ordering could be all what needs to be mentioned in the
> >>> specification, e.g.
> >>
> >>> Rather than:
> >>
> >>> One ought to use the SRV records according to their weight/priority
> >>> where eventually only one of them is the winner and is resolved
> >>
> >> I'm not sure that "only one of [the SRV records] ... is resolved" is correct.
> If
> >> there are two SRV records and, for the one with the lowest priority value,
> >> the address(es) for the target name cannot be contacted, the client is
> >> required to attempt to contact the address(es) for the target name of the
> >> other SRV record.
> >>
> >>> This:
> >>
> >>> One may resolve all/a sub-set of available SRV records by also
> >>> considering IP Address Family and IP Address Family can be also
> >>> considered for the order of the queries
> >>>
> >>> I can provide text/edit the document if we can reach a
> >>> conclusion/consensus on this point.
> >>
> >> I suspect that allowing the client unlimited authority to reorder the target
> >> addresses based on IP address family will allow behaviors that we do not
> >> want to allow.  In particular, if the SRV records give one IP address family
> >> over the other family, and the client can contact both addresses, we want
> >> the client to respect that declared priority.  (This is a variation on the
> example
> >> in RFC 7984.)
> >>
> >>>>> I am not sure
> >>>>> what the right interpretation should be here but it is not
> >>>>> well-defined to say the least. To me, it seems like RFC7984 should
> >>>>> be updating RFC3263 normatively in this aspect as well -to promote
> >>>>> the
> >>>>> RFC7984 defined behavior-. And IMHO it would be up to the
> >>>>> Happy-Eyeballs draft to define how addresses from multiple SRV
> >>>>> Records should be used. Cases, where a dual-stack entity does not
> >>>>> know whether
> >>>>> IPv4/IPv6 is preferred and multiple SRV records are used for
> >>>>> different address families on different servers should be covered as
> >> well.
> >>>>
> >>>> Can you give an example where the procedures of RFC 2782 aren't
> >>>> sufficient to resolve this problem?
> >>
> >>> [TOLGA]  "Usage Rules" section of RFC2782 seem to imply:
> >>
> >>> i- A list is prepared by querying all SRV records. Queries are
> >>> performed by the priority/weight based ordering.
> >>
> >>> ii- And then there is "freedom" in terms of selecting the server to
> >>> actually use.
> >>
> >> The freedom allowed by RFC 2782 is limited.  Actually, the only variation
> >> allowed in the order of contacting the addresses is due to the use of
> random
> >> numbers in selecting between records of the same priority.
> >> (section "The format of the SRV RR" item "Weight")
> >>
> >>> I think i- is where some improvement could be useful in the context of
> >>> happy-eyeballs. The IP Address Family can be used as a third parameter
> >>> -in addition to priority/weight- when ordering DNS queries. Granted,
> >>> one may argue that all queries can be performed in parallel but still
> >>> some clarification text in the specification could be a good idea to
> >>> highlight this and prevent any confusion.
> >>
> >> Remember that only one DNS query is needed to obtain *all* the SRV
> >> records for a particular domain name and transport.
> >>
> >>>> The *concept* of Happy Eyeballs can, should, and will be applied to
> >>>> UDP, but the *details* are going to be considerably different from the
> >> details for TCP.
> >>>> For the first tranche, we are attempting to stay near what has been
> >>>> done for HTTP, so we are limiting the scope to connection-oriented
> >> protocols.
> >>
> >>> [TOLGA] I think one issue was regarding the "probing" for UDP. With
> >>> TCP, connection establishment provides information about the quality
> >>> of the connection toward the server. Why not using OPTIONS for UDP?
> It
> >>> wouldn't change the "SIP state" and wouldn't cause any distraction to
> >>> end users/devices.
> >>
> >> Yes, that would work.  But as I said, UDP is not included in this tranche.
> >>
> >> Dale
> >
> > _______________________________________________
> > sipcore mailing list
> > sipcore@ietf.org
> > https://www.ietf.org/mailman/listinfo/sipcore