Re: [rtcweb] SDP_PRANSWER followed by SDP_OFFER scenario in JSEP

Christer Holmberg <> Thu, 03 May 2012 21:21 UTC

Return-Path: <>
Received: from localhost (localhost []) by (Postfix) with ESMTP id C05C921F8567 for <>; Thu, 3 May 2012 14:21:07 -0700 (PDT)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -6.142
X-Spam-Status: No, score=-6.142 tagged_above=-999 required=5 tests=[AWL=0.107, BAYES_00=-2.599, HELO_EQ_SE=0.35, RCVD_IN_DNSWL_MED=-4]
Received: from ([]) by localhost ( []) (amavisd-new, port 10024) with ESMTP id dlO6MgODpX-z for <>; Thu, 3 May 2012 14:21:06 -0700 (PDT)
Received: from ( []) by (Postfix) with ESMTP id 1A1CA21F8559 for <>; Thu, 3 May 2012 14:21:05 -0700 (PDT)
X-AuditID: c1b4fb25-b7b18ae000000dce-68-4fa2f6c0ef22
Received: from (Unknown_Domain []) (using TLS with cipher AES128-SHA (AES128-SHA/128 bits)) (Client did not present a certificate) by (Symantec Mail Security) with SMTP id F0.99.03534.0C6F2AF4; Thu, 3 May 2012 23:21:04 +0200 (CEST)
Received: from ([]) by ([]) with mapi; Thu, 3 May 2012 23:21:04 +0200
From: Christer Holmberg <>
To: Roman Shpount <>
Date: Thu, 03 May 2012 23:16:38 +0200
Thread-Topic: [rtcweb] SDP_PRANSWER followed by SDP_OFFER scenario in JSEP
Thread-Index: Ac0pb/m6kSg+T5FkQiSBMm3+St90YwAAg0tL
Message-ID: <>
References: <> <> <> <> <> <> <> <> <> <> <> <> <> <> <> <> <> <> <> <>, <>
In-Reply-To: <>
Accept-Language: en-US
Content-Language: en-US
acceptlanguage: en-US
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-Brightmail-Tracker: AAAAAA==
Cc: Randell Jesup <>, "" <>
Subject: Re: [rtcweb] SDP_PRANSWER followed by SDP_OFFER scenario in JSEP
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: Thu, 03 May 2012 21:21:07 -0000


>>>>You could also choose not to alert the remote user until the ICE procedures have finished - more or less using ICE with preconditions.
>>>> Of course, that is going to trigger actions in STUN/TURN servers, even if the called party won't accept the call, but at least from a user
>>>> experience perspective that is still better than lifting the hook, and having to wait for whatever-time-it-takes-for-ICE-to-finish seconds before one can start to talk.
>>> This also has a downside of disclosing user's IP to the caller without the user confirmation. For a lot of applications this can be serious security flaw.
>> The client can still log when ICE procedures occur.
>> Because, even if I wait until your phone starts to ring, most likely I would still get your IP address without user confirmation (speaking in SIP terms, phones normally don't ask for user permission before they send 18x with SDP), eventhough you would easier be made aware of that it happens.
> Another alternative is of course to do ICE with an SBC, and/or having an SBC doing ICE on behalf of you :)
> This is true for SIP but was as far as I know was specifically designed around in WebRTC. WebRTC signaling server acts as B2BUA so any type of ringing notification goes through the web server and does not need to carry any type of client address information. The client address information is only provided 
> when SDP answer is sent or ICE negotiation is started. 

Assuming you are only going to make user confirmation (read: accept calls) in cases where you absolutely sure that the caller isn't someone trying to get your IP address.

But, never the less, having a solution where I first have to give user confirmation, and then wait until I can start to talk, is probably something most people want to avoid. Depending upon, of course, how long the waiting time is.