Re: [v6ops] Happy Eyeballs and SIP

"Dan Wing" <dwing@cisco.com> Mon, 07 March 2011 23:45 UTC

Return-Path: <dwing@cisco.com>
X-Original-To: v6ops@core3.amsl.com
Delivered-To: v6ops@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id C137E28C133 for <v6ops@core3.amsl.com>; Mon, 7 Mar 2011 15:45:57 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -110.565
X-Spam-Level:
X-Spam-Status: No, score=-110.565 tagged_above=-999 required=5 tests=[AWL=0.034, BAYES_00=-2.599, RCVD_IN_DNSWL_HI=-8, USER_IN_WHITELIST=-100]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 02XVoXy0Gfiw for <v6ops@core3.amsl.com>; Mon, 7 Mar 2011 15:45:56 -0800 (PST)
Received: from sj-iport-1.cisco.com (sj-iport-1.cisco.com [171.71.176.70]) by core3.amsl.com (Postfix) with ESMTP id 9516E3A6878 for <v6ops@ietf.org>; Mon, 7 Mar 2011 15:45:56 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=cisco.com; i=dwing@cisco.com; l=4733; q=dns/txt; s=iport; t=1299541630; x=1300751230; h=from:to:cc:references:in-reply-to:subject:date: message-id:mime-version:content-transfer-encoding; bh=p6ncwbnTIC66W4jRU/xrWWvjN4D0qRRHts00lWLgYJw=; b=l44XleIe249pMm8qlsm+nJqP1EK2KGXeInG3y0GJEoE3IJBPjgV2Z2kI MCau62ILiRQKkFtlaCDdQk6HV7LHpdKEVNY9bbJaq8RtiOxjnHJvAd98/ sfwPLXGvA0jAmIByHTrsWdTxKcHclupv7BOKGWGNNPqBZ7HOvpJsK/JKy M=;
X-IronPort-Anti-Spam-Filtered: true
X-IronPort-Anti-Spam-Result: AvoAAH/9dE2rR7Hu/2dsb2JhbACYEIFljGJ0oiiMd48thWIEhRw
X-IronPort-AV: E=Sophos;i="4.62,280,1297036800"; d="scan'208";a="412444331"
Received: from sj-core-5.cisco.com ([171.71.177.238]) by sj-iport-1.cisco.com with ESMTP; 07 Mar 2011 23:45:35 +0000
Received: from dwingWS ([10.32.240.195]) by sj-core-5.cisco.com (8.13.8/8.14.3) with ESMTP id p27NjZSa011072; Mon, 7 Mar 2011 23:45:35 GMT
From: Dan Wing <dwing@cisco.com>
To: "'Olle E. Johansson'" <oej@edvina.net>
References: <83928D99-9809-4BF9-A710-28366AF46BBB@edvina.net> <117401cbdcdd$8c9ccac0$a5d66040$@com> <2E7989D3-B865-4D5A-ACE9-A74567BAD065@edvina.net>
In-Reply-To: <2E7989D3-B865-4D5A-ACE9-A74567BAD065@edvina.net>
Date: Mon, 07 Mar 2011 15:45:35 -0800
Message-ID: <168101cbdd21$c137a5e0$43a6f1a0$@com>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
X-Mailer: Microsoft Office Outlook 12.0
Thread-Index: AcvdAzQqcVBnLqCnRou/xSQbKRkdDQAHbMyQ
Content-Language: en-us
Cc: v6ops@ietf.org
Subject: Re: [v6ops] Happy Eyeballs and SIP
X-BeenThere: v6ops@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: v6ops discussion list <v6ops.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/v6ops>, <mailto:v6ops-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/v6ops>
List-Post: <mailto:v6ops@ietf.org>
List-Help: <mailto:v6ops-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/v6ops>, <mailto:v6ops-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 07 Mar 2011 23:45:57 -0000

> -----Original Message-----
> From: Olle E. Johansson [mailto:oej@edvina.net]
> Sent: Monday, March 07, 2011 12:06 PM
> To: Dan Wing
> Cc: v6ops@ietf.org
> Subject: Re: [v6ops] Happy Eyeballs and SIP
> 
> 
> 7 mar 2011 kl. 16.37 skrev Dan Wing:
> 
> >> -----Original Message-----
> >> From: v6ops-bounces@ietf.org [mailto:v6ops-bounces@ietf.org] On
> Behalf
> >> Of Olle E. Johansson
> >> Sent: Monday, March 07, 2011 1:40 AM
> >> To: v6ops@ietf.org
> >> Subject: [v6ops] Happy Eyeballs and SIP
> >>
> >> Hi!
> >>
> >> Has anyone considered the issues covered in the happy-eyeballs draft
> >> for SIP?
> >>
> >> A 19 or 32 second time out when placing a call is not a good user
> >> experience... I think this applies to SIP over TCP, and possibly
> also
> >> needs to be handled for UDP.
> >> I don't see this handled in the draft for IPv6 transition in the
> >> Session Initiation Protocol (soon-to-be RFC 6157)
> >>
> >> Seems like the scope of the happy eyeballs draft is HTTP, so the
> >> question is if this should be expanded or if we need other drafts
> for
> >> other protocols.
> >
> > ICE (RFC5245) resolves the problem perfectly, and is the plan-of-
> record for
> > how to support the transition to IPv6 for SIP
> > (draft-ietf-sipping-v6-transition).  ICE does connectivity checks, so
> it
> > figures out if IPv4 or IPv6 (or UDP, or TCP) is working between two
> peers,
> > and uses that path.  ICE can be performed while the phone is ringing,
> so
> > does not delay call set up.  ICE was one of the inspirations for
> Happy
> > Eyeballs.
> >
> > There is resistance to ICE because of (a) its complexity and (b) a
> > perception that "IPv6 works fine on my network", which has fostered
> the
> > creation of several other solutions, including an idea we nicknamed
> "Happy
> > Eardrums", draft-wing-dispatch-v6-migration, which we have since
> abandoned.
> > ICE does more, and it does a better job.
>
> Thanks for the feedback.
> 
> Please tell me how Ice solves the issue of a phone calling a SIP domain
> with both A and AAAA records for the first selected host.
> The proxy or the UA will try to contact first over one connection, time
> out after T1*64 and then maybe retry.
> 
> As far as I know ICE handles media, but not the signalling. But I may
> be misunderstanding something.

You're right, ICE is just about media.  I didn't realize you were asking
about SIP signaling -- most folks don't worry themselves with the SIP
signaling.

Yes, we need to do Happy Eyeballs for the SIP signaling.  I have 
engaged our internal XMPP experts for doing Happy Eyeballs with
XMPP, which wants to avoid the delay to connect to your instant
messaging server when you join a new network (e.g., open the 
laptop).

I have text which we plan to incorporate into -01 which discusses
how to do Happy Eyeballs with an SRV service, such as XMPP.  This
would apply equally to SIP, which also uses SRV (RFC3263).

Current outline is this:

    For the purposes of this section, "client" is defined as the
    entity initiating the connection.

    For protocols which support DNS SRV[xxxx], the client
    performs the IN SRV query (e.g. IN SRV
    _xmpp-client._tcp.example.com) as normal.  The client MUST
    perform the following steps:

    1. Sort all SRV records according to priority (lowest
       priority first)
    2. Process all of the SRV targets of the same priority with a
       weight greater than 0:
    2.1. Perform A/AAAA queries for each SRV target in parallel,
         as described in [SECTION x.1.]
    2.2. Connect to the IPv4/IPv6 addresses
    2.3. If at least one connection succeeds, stop processing
         SRV records
    3. If there is no connection, process all of the SRV targets
       of the same priority with a weight of 0, as per steps 2.1
       through 2.3 above
    4. Repeat steps 2.1 through 2.3 for the next priority,
       until a connection is established or all SRV records
       have been exhausted
    5. If there is still no connection, fallback to using
       the domain (e.g. example.com), following steps 2.1
       through 2.3 above

    It is RECOMMENDED, but not required, for the client to
    cache the winning connection's address information and
    reuse it on subsequent connections. If a significant
    network event occurs (e.g. network interface is
    activated/deactivated, IP address changes), the client MUST
    forget the cached address information and perform all of
    the steps from above. The definition of "significant
    network event" is intentionally vague.

I believe that's the sort of thing you're looking for?

-d