Re: [rtcweb] Basic scenario 'impossible?' to achieve with the actual API

Martin Thomson <martin.thomson@gmail.com> Tue, 02 July 2013 18:05 UTC

Return-Path: <martin.thomson@gmail.com>
X-Original-To: rtcweb@ietfa.amsl.com
Delivered-To: rtcweb@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id C5A3421F9B0F for <rtcweb@ietfa.amsl.com>; Tue, 2 Jul 2013 11:05:53 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.3
X-Spam-Level:
X-Spam-Status: No, score=-2.3 tagged_above=-999 required=5 tests=[AWL=-0.300, BAYES_00=-2.599, J_CHICKENPOX_55=0.6, NO_RELAYS=-0.001]
Received: from mail.ietf.org ([12.22.58.30]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id RKMdlb4ZiDWE for <rtcweb@ietfa.amsl.com>; Tue, 2 Jul 2013 11:05:53 -0700 (PDT)
Received: from mail-wi0-x22f.google.com (mail-wi0-x22f.google.com [IPv6:2a00:1450:400c:c05::22f]) by ietfa.amsl.com (Postfix) with ESMTP id 1DDB621F9A3A for <rtcweb@ietf.org>; Tue, 2 Jul 2013 11:05:52 -0700 (PDT)
Received: by mail-wi0-f175.google.com with SMTP id m6so4447865wiv.8 for <rtcweb@ietf.org>; Tue, 02 Jul 2013 11:05:52 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type:content-transfer-encoding; bh=G1SaIuSf5SWaYMkWZyj1OtgtwB5dcsbV8B3olNBQxY0=; b=AArRQqQTrosn1sgGQSCrplHRhHrX8LOrWJuGPpcUgredZJvMDL0YQ8ak1+gYA4OPsr ZopBhqP846sZIq8TsBXh6c+G/uHQWIza8wJ2qPJr3C5Svq2S68xZCuDS8fWurER2mEXd Z4dfdIRk0coXlmNzanqm4p6zkYknxal/gwkBeu9gVDW5v/BLHPQrdImL2KFy3IiRi0UT r14rR/Oi4yVjZvvzKY71GIUw6mxy3d59y9g6H2pxziWZXeH6q02g5r2nzp88cjjPJBqX 6QD2vfpKQTT/Icme4v9otuwZ348GSVZ6k1qBNg524UE5x1Vbi7Yp0myakCSQ2aFrvJv4 ICtA==
MIME-Version: 1.0
X-Received: by 10.180.36.12 with SMTP id m12mr16274920wij.10.1372788352241; Tue, 02 Jul 2013 11:05:52 -0700 (PDT)
Received: by 10.194.60.46 with HTTP; Tue, 2 Jul 2013 11:05:52 -0700 (PDT)
In-Reply-To: <51D2FC3C.8090609@telecomitalia.it>
References: <CABw3bnOp1jY6-ziR-PFG4-fRTT5zQ5ebQkmp5PhzeS1ew=h98g@mail.gmail.com> <51D2FC3C.8090609@telecomitalia.it>
Date: Tue, 2 Jul 2013 11:05:52 -0700
Message-ID: <CABkgnnUKmuadQ4u-SEkvnTTRpg=aaoMr=ouYV3hwYy6LJHh8zA@mail.gmail.com>
From: Martin Thomson <martin.thomson@gmail.com>
To: Enrico Marocco <enrico.marocco@telecomitalia.it>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable
Cc: "rtcweb@ietf.org" <rtcweb@ietf.org>
Subject: Re: [rtcweb] Basic scenario 'impossible?' to achieve with the actual API
X-BeenThere: rtcweb@ietf.org
X-Mailman-Version: 2.1.12
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: Tue, 02 Jul 2013 18:05:53 -0000

On 2 July 2013 09:13, Enrico Marocco <enrico.marocco@telecomitalia.it> wrote:
> On 7/2/13 6:04 PM, José Luis Millán wrote:
>> Hi,
>>
>> Please, let me know how this normal use case could be solved with the
>> current API.
>
> Just off the top of my head:
>
> Audio-only call establishment:
>
> A --{"action":"CALL","sdp":"v=0..."}-> B
> B --{"action":"ACCEPT CALL","sdp":"v=0..."}-> A
>
> Rejected audio+video upgrade proposal:
>
> A --{"action":"UPGRADE","sdp":"v=0..."}-> B
> B --{"action":"REJECT UPGRADE"}-> A
>
> Alice rolls back and removes local video display.

This is fine for the case that has been proposed, but it doesn't work
as well if A and B are initiating a session.  In that case, you would
need two rounds of negotiation to get the functionality you describe.

There are two separate problems here:

1. How do I reject a proposed stream?

2. How do I learn that my proposed stream was rejected?

I'm sure that there are controls for this already...  Maybe.  You
could, as Enrico suggests, add streams one-by-one using multiple
offer/answer rounds - then you would be able to isolate what was
rejected. That doesn't really scale.

Note: These questions are only relevant with offer/answer.  Choosing
not to do offer/answer means that the application is in control, so
the question is moot.