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

"Ravindran, Parthasarathi" <> Wed, 09 May 2012 06:34 UTC

Return-Path: <>
Received: from localhost (localhost []) by (Postfix) with ESMTP id DE85521F85D1 for <>; Tue, 8 May 2012 23:34:46 -0700 (PDT)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -6.521
X-Spam-Status: No, score=-6.521 tagged_above=-999 required=5 tests=[AWL=0.077, BAYES_00=-2.599, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_MED=-4]
Received: from ([]) by localhost ( []) (amavisd-new, port 10024) with ESMTP id LSJ-FBqnVyFW for <>; Tue, 8 May 2012 23:34:46 -0700 (PDT)
Received: from ( []) by (Postfix) with ESMTP id AC6D921F85D2 for <>; Tue, 8 May 2012 23:34:39 -0700 (PDT)
Received: from ([]) (using TLSv1) by ([]) with SMTP ID DSNKT6oP/; Tue, 08 May 2012 23:34:39 PDT
Received: from ( by ( with Microsoft SMTP Server (TLS) id; Wed, 9 May 2012 02:34:49 -0400
Received: from ([fe80::8d0f:e4f9:a74f:3daf]) by ([fe80::80b9:dc60:caf7:7dfc%11]) with mapi id 14.01.0355.002; Wed, 9 May 2012 12:04:34 +0530
From: "Ravindran, Parthasarathi" <>
To: Justin Uberti <>, Christer Holmberg <>
Thread-Topic: [rtcweb] SDP_PRANSWER followed by SDP_OFFER scenario in JSEP
Date: Wed, 09 May 2012 06:34:33 +0000
Message-ID: <>
References: <> <> <> <> <> <> <> <> <> <> <> <> <> <> <> <> <> <> <> <> <> <> <>
In-Reply-To: <>
Accept-Language: en-US
Content-Language: en-US
x-originating-ip: []
Content-Type: multipart/alternative; boundary="_000_387F9047F55E8C42850AD6B3A7A03C6C160337F1inbamail01sonus_"
MIME-Version: 1.0
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: Wed, 09 May 2012 06:34:47 -0000

Hi Justin,

Sorry for the delay in reply. There are two issues associated with this scenario:

Issue 1) SIP Forking : This is solved by peerconnection cloning

Issue 2)  UPDATE support within SIP early dialog in the non-forking scenario. Here, the cloning will not solve issue as the answerer originated the new offer during SDP_PRANSWER state . Issue 2 is the title of this mail thread.

IMO, SDP_PRANSWER will complicate the offer/answer state machine.


From: [] On Behalf Of Justin Uberti
Sent: Tuesday, May 08, 2012 8:40 PM
To: Christer Holmberg
Cc: Randell Jesup;
Subject: Re: [rtcweb] SDP_PRANSWER followed by SDP_OFFER scenario in JSEP

The conclusion on this thread seems to be that the right way to address this problem is via PeerConnection cloning, and that no changes are needed to the JSEP state machine. I'll work with Richard to figure out how we should extend JSEP to support cloning.
On Thu, May 3, 2012 at 5:16 PM, Christer Holmberg <<>> wrote:

>>>>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.


rtcweb mailing list<>