Re: [rtcweb] Handling system suspend during an active call

Justin Uberti <juberti@google.com> Thu, 07 August 2014 19:32 UTC

Return-Path: <juberti@google.com>
X-Original-To: rtcweb@ietfa.amsl.com
Delivered-To: rtcweb@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 070C71AD8CA for <rtcweb@ietfa.amsl.com>; Thu, 7 Aug 2014 12:32:08 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: 0.78
X-Spam-Level:
X-Spam-Status: No, score=0.78 tagged_above=-999 required=5 tests=[BAYES_20=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, FM_FORGED_GMAIL=0.622, HTML_MESSAGE=0.001, HTML_OBFUSCATE_05_10=0.26, RP_MATCHES_RCVD=-0.001, SPF_PASS=-0.001] autolearn=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 mssJnAURdXZT for <rtcweb@ietfa.amsl.com>; Thu, 7 Aug 2014 12:32:06 -0700 (PDT)
Received: from mail-vc0-x231.google.com (mail-vc0-x231.google.com [IPv6:2607:f8b0:400c:c03::231]) (using TLSv1 with cipher ECDHE-RSA-RC4-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 375C61A0AFB for <rtcweb@ietf.org>; Thu, 7 Aug 2014 12:32:06 -0700 (PDT)
Received: by mail-vc0-f177.google.com with SMTP id hy4so6848751vcb.8 for <rtcweb@ietf.org>; Thu, 07 Aug 2014 12:32:05 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20120113; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :content-type; bh=tsGqs4tZs7fBKXrIM/RH1rVXd9t1f1P8fIJLRsI9yHA=; b=opSGk1Pltglz17eXk/GAaF9eG9eusOlOIZjgVjN6Y82cu9QZyDMMd17Lie3PX4q89i 0Hn3oAnXMWNK7pDdjTzmhIhEV1RgGkRy6y50OA2uD45fGNGZBH29owucd9Z7OwOEzpM9 6vZRQdtIHyqI6BjMH7uLX9b77c89EdUOMgKjiRTaMfxz7FTN+jcLi8eO2I4w0geEpDgr kO+rt1To+U5OP9hqE+wkh3dgCS5xl3jNHj7gkqg8LULlyTIoUrMSdSPNwreSe8uLOU+4 5BJNcrzHkinqlmBhzuGj6tMPvxHSyWqiEBYw5m5BHF9CdMeimens5yhXGxopV6sYackp MPnQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:content-type; bh=tsGqs4tZs7fBKXrIM/RH1rVXd9t1f1P8fIJLRsI9yHA=; b=jc4LAEzrhp7RpfnMnoa1CsebWm8jspulLxOAdFLqYYZLvDoi8DOrm68X+X/J2N4Znp w4TR6RQHueZifvUpsGglWFLaND0GHKQIL/LXH46NB/0YbLhPvFbjEYGnhOP1f3l3BGCd bV1r2Tncc/NPWZ7t9CP1mUHuYhX2sHHYQ+++MxRwBhptW4UBnT88UYHCzHVi79FVX3pR QSY7wyjh89Kr730ahBL3A1dJqjOkhKGNAlSjRbKWrJplpR9FoQLWqpOtYijqy9hzBUFQ d5wGLXH/h/1W7Y4W3ZHa5tbQZlem/S+LRwHAJ9z/kg5wqLA80rENAQFqc9J81GXPepg3 c0lg==
X-Gm-Message-State: ALoCoQliYrUqHoHA61hs0wnjv6K1DGhNnbRW35OaCC+ZUyrKIGRQfhtut+MPZMPLqJ8evS4LnAmM
X-Received: by 10.52.69.172 with SMTP id f12mr3621798vdu.9.1407439925376; Thu, 07 Aug 2014 12:32:05 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.52.133.193 with HTTP; Thu, 7 Aug 2014 12:31:45 -0700 (PDT)
In-Reply-To: <CAOJ7v-29gPrjA5gYc=6fLaAoCA5R_ZF6mxsoyxbdD3-sxGnWWQ@mail.gmail.com>
References: <CAOJ7v-29gPrjA5gYc=6fLaAoCA5R_ZF6mxsoyxbdD3-sxGnWWQ@mail.gmail.com>
From: Justin Uberti <juberti@google.com>
Date: Thu, 07 Aug 2014 12:31:45 -0700
Message-ID: <CAOJ7v-1ye0-UDZWb25KXK8mfzGZFdAWFYs1qsOKNVA0vrQyR_Q@mail.gmail.com>
To: Victoria Kirst <vrk@google.com>, Benjamin Schwartz <bemasc@google.com>, "rtcweb@ietf.org" <rtcweb@ietf.org>
Content-Type: multipart/alternative; boundary="20cf307cffd6cb916e05000f245f"
Archived-At: http://mailarchive.ietf.org/arch/msg/rtcweb/Qx0BvT0KbEvDpWfV5ZI2amodTC4
Subject: Re: [rtcweb] Handling system suspend during an active call
X-BeenThere: rtcweb@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: Real-Time Communication in WEB-browsers working group list <rtcweb.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/rtcweb>, <mailto:rtcweb-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/rtcweb/>
List-Post: <mailto:rtcweb@ietf.org>
List-Help: <mailto:rtcweb-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/rtcweb>, <mailto:rtcweb-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 07 Aug 2014 19:32:08 -0000

When screen-sharing in a video conference, it's quite common for the
screen-sharing user to stop sharing by closing their laptop. However, when
this happens, the browser doesn't give the application or MCU any
indication, leading to zombie participants in the conference. (Of course,
the MCU will stop receiving packets, but as that could also happen due to
transient connectivity issues, we don't want to eject the user upon a brief
interruption of RTP packets).

One way to deal with this would be for the browser, upon receipt of a
suspend notification from the OS, to send an indication that would let the
MCU know that the stream is officially terminating. This has to be done by
the browser, since the application doesn't get any such notification. For
example, the browser could send RTCP BYE for all active RTP streams and
terminate any outstanding SCTP associations. While this is different than
how the browser treats HTTP connections on suspend, it makes sense in this
case because the session really can't be resumed after suspend, as ICE
consent will have disappeared within a minute. Alternatively, if we wanted
to allow resumption, the browser could send RTCP PAUSED
<http://tools.ietf.org/html/draft-ietf-avtext-rtp-stream-pause-02#section-8.2>
indication
(via TMMBN 0) instead.

Receipt of BYE/PAUSED message prior to RTP packets ceasing would tell the
remote side that the sender intentionally stopped the flow, instead of
falling off the Internet. While not perfect, this seems like a simple
solution that avoids the complexities of trying to expose power events
directly to the application.