Re: [rtcweb] Remote recording - RTC-Web client acting as SIPREC session recording client

"Robert O'Callahan" <> Fri, 26 August 2011 05:12 UTC

Return-Path: <>
Received: from localhost (localhost []) by (Postfix) with ESMTP id 6ABE821F8AA9 for <>; Thu, 25 Aug 2011 22:12:00 -0700 (PDT)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -2.976
X-Spam-Status: No, score=-2.976 tagged_above=-999 required=5 tests=[BAYES_00=-2.599, FM_FORGED_GMAIL=0.622, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_LOW=-1]
Received: from ([]) by localhost ( []) (amavisd-new, port 10024) with ESMTP id m3b3pHH5Fk6K for <>; Thu, 25 Aug 2011 22:11:59 -0700 (PDT)
Received: from ( []) by (Postfix) with ESMTP id 5693F21F8A64 for <>; Thu, 25 Aug 2011 22:11:59 -0700 (PDT)
Received: by ywe9 with SMTP id 9so2849959ywe.31 for <>; Thu, 25 Aug 2011 22:13:14 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;; s=gamma; h=mime-version:reply-to:sender:in-reply-to:references:date :x-google-sender-auth:message-id:subject:from:to:cc:content-type; bh=RBMum9csxG2M0Mln/TaZZcJp9hou1d49YGCYWorAcJ0=; b=DMrXUz8fziPCF9OB6RMorTRaDQLrNiaYf1XkumKiz5oAt2v081pSbh8fm6eZk18wte zDAbbY6jDqvqVLQyfO+bNdlCUI5/s0WD3v8bCzIjzdkagEoRpKitxkIqrCNdhVQk4p/r y4pbJ3DLe0Ow4Ov1PSHyL5TulJOyJwBm4Vrqw=
MIME-Version: 1.0
Received: by with SMTP id m17mr1372042ibe.29.1314335594304; Thu, 25 Aug 2011 22:13:14 -0700 (PDT)
Received: by with HTTP; Thu, 25 Aug 2011 22:13:14 -0700 (PDT)
In-Reply-To: <>
References: <> <> <> <> <> <> <> <> <> <> <> <> <> <>
Date: Fri, 26 Aug 2011 17:13:14 +1200
X-Google-Sender-Auth: i8ptUtPB8njq8OFoAtTKaWG5Pz0
Message-ID: <>
From: "Robert O'Callahan" <>
To: Matthew Kaufman <>
Content-Type: multipart/alternative; boundary=0015176f085e36d36a04ab619a16
Cc: "" <>
Subject: Re: [rtcweb] Remote recording - RTC-Web client acting as SIPREC session recording client
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: Real-Time Communication in WEB-browsers working group list <>
List-Unsubscribe: <>, <>
List-Archive: <>
List-Post: <>
List-Help: <>
List-Subscribe: <>, <>
X-List-Received-Date: Fri, 26 Aug 2011 05:25:02 -0000

On Fri, Aug 26, 2011 at 9:19 AM, Matthew Kaufman

> On 8/25/2011 11:50 AM, Timothy B. Terriberry wrote:
>> Matthew Kaufman wrote:
>>> But this is a bad idea. Providing APIs that let a browser send audio
>>> that is being received from the other end to a third party open several
>>> different cans of worms simultaneously. One is that there's now another
>> The currently proposed MediaStream Processing API (
>> raw-file/tip/StreamProcessing/**StreamProcessing.html<>)
>> essentially allows exactly this (including mixing). It doesn't make any
>> distinction about whether the source of a MediaStream is a local camera, a
>> <video> tag, or a remote stream from a PeerConnection object. So if you want
>> to prevent this kind of thing, you need to have an active method of doing
>> so, because by default the API will allow it.
> I think you need to seriously consider the security implications here. Any
> media that originates from somewhere other than a local camera that has
> given permission or a local microphone that has given permission needs to be
> marked as not sendable elsewhere.

We could do that on top of the above API, e.g. by having a PeerConnection
examine the stream graph to determine whether a MediaStream comes directly
from a local sensor.

However, such a restriction would prevent many useful applications and does
not solve the security problems that arise from a malicious Web app setting
up a connection between you and the PSTN. If that can happen, you're in all
kinds of trouble whether the app can control the contents of your outgoing
stream or not.

"If we claim to be without sin, we deceive ourselves and the truth is not in
us. If we confess our sins, he is faithful and just and will forgive us our
sins and purify us from all unrighteousness. If we claim we have not sinned,
we make him out to be a liar and his word is not in us." [1 John 1:8-10]