Re: [rtcweb] draft-ibc-rtcweb-sip-websocket -- WebSocket Transport for Session Initiation Protocol (SIP)

Christer Holmberg <christer.holmberg@ericsson.com> Wed, 14 September 2011 09:43 UTC

Return-Path: <christer.holmberg@ericsson.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 78E1C21F8C50 for <rtcweb@ietfa.amsl.com>; Wed, 14 Sep 2011 02:43:52 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -6.377
X-Spam-Level:
X-Spam-Status: No, score=-6.377 tagged_above=-999 required=5 tests=[AWL=-0.078, BAYES_00=-2.599, MIME_8BIT_HEADER=0.3, RCVD_IN_DNSWL_MED=-4]
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 lo4S5xKHh3Cq for <rtcweb@ietfa.amsl.com>; Wed, 14 Sep 2011 02:43:52 -0700 (PDT)
Received: from mailgw10.se.ericsson.net (mailgw10.se.ericsson.net [193.180.251.61]) by ietfa.amsl.com (Postfix) with ESMTP id A682621F8C4E for <rtcweb@ietf.org>; Wed, 14 Sep 2011 02:43:51 -0700 (PDT)
X-AuditID: c1b4fb3d-b7c47ae000000b17-16-4e7077d70fad
Received: from esessmw0256.eemea.ericsson.se (Unknown_Domain [153.88.253.125]) by mailgw10.se.ericsson.net (Symantec Mail Security) with SMTP id 5F.02.02839.7D7707E4; Wed, 14 Sep 2011 11:45:59 +0200 (CEST)
Received: from ESESSCMS0356.eemea.ericsson.se ([169.254.1.250]) by esessmw0256.eemea.ericsson.se ([10.2.3.125]) with mapi; Wed, 14 Sep 2011 11:45:59 +0200
From: Christer Holmberg <christer.holmberg@ericsson.com>
To: Iñaki Baz Castillo <ibc@aliax.net>, "Avasarala, Ranjit" <Ranjit.Avasarala@polycom.com>
Date: Wed, 14 Sep 2011 11:45:58 +0200
Thread-Topic: [rtcweb] draft-ibc-rtcweb-sip-websocket -- WebSocket Transport for Session Initiation Protocol (SIP)
Thread-Index: AcxyumVC07B8o1AdQ2iJA8C9lrx4owABNXqg
Message-ID: <7F2072F1E0DE894DA4B517B93C6A05852233EDB21A@ESESSCMS0356.eemea.ericsson.se>
References: <CALiegfk6BhtzErXOQM8iSV7FC6isYUwOS1KPYCw_M1vEcNP6eQ@mail.gmail.com> <1F2A2C70609D9E41844A2126145FC09802585056@HKGMBOXPRD22.polycom.com> <CALiegfnR=b-9AOBmzytAT-AX9Evr1vegFK-J+MtAhBNWNAAWbA@mail.gmail.com>
In-Reply-To: <CALiegfnR=b-9AOBmzytAT-AX9Evr1vegFK-J+MtAhBNWNAAWbA@mail.gmail.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
acceptlanguage: en-US
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-Brightmail-Tracker: AAAAAA==
Cc: "rtcweb@ietf.org" <rtcweb@ietf.org>
Subject: Re: [rtcweb] draft-ibc-rtcweb-sip-websocket -- WebSocket Transport for Session Initiation Protocol (SIP)
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: Wed, 14 Sep 2011 09:43:52 -0000

Hi,

Thanks for putting the draft together.

I agree with Markus, and others, that WebSocket is a feasible solution in the case of using a JS SIP app.

>> 1) in Section 3, its mentioned that there is no real 
>> benefit of using SIP over Websockets. If this is the case, 
>> why are you proposing integrating SIP with Websockets?
> 
> As Saul pointed out, the text says:
> 
>    There is no benefit on using SIP over WebSocket  transport between
>    two SIP nodes when none of them runs within a web browser.
> 
> JavaScript can open a WebSocket connection from a web browser 
> to a server, but not an arbitrary TCP or UDP connection.

I have a comment, related to this.

The text says:

   "Even more, the WebSocket protocol is not symmetric since
   just a WebSocket client can open a connection to a WebSocket server
   (a WebSocket client does not listen for incoming connections)."

But, this is of course also true when you DO use a browser, but it's not really addressed in the draft. You need to describe that it is assumed that the WebSocket connection has been established at the point when the browser is supposed to be able to receive incoming SIP calls.

For example, the WebSocket could be established once the JS app is downloaded, or when the JS SIP client registers (similar to how SIP Outbound works).


>> 3) In Section 4, you mentioned that since Websocket is a 
>> reliable transport protocol, the websocket sub-protocol 
>> defined for SIP also becomes reliable. I don't agree with 
>> this - The websocket connection is actually initiated by the 
>> web browser client towards the web server and this connection 
>> needs to be kept alive through some keep alive mechanism. 
>> Otherwise the connection may close. I am not sure of reliability.
>> 
> "Reliability" does not mean that. "Reliability" means data 
> delivery acknowledgment in the transport. This is true in TCP 
> (so also in WebSocket which works on top of TCP) and false in 
> UDP (which is not a reliable transport protocol).
> 
> The keep-alive mechanism is needed for cases in which there 
> is a NAT router in the path. Those routers usually close a 
> TCP connection after some minutes of inactivity. This happens 
> in any TCP connection from client to server through a NAT box.

Since WebSocket provides a keep-alive function, you can of course use that. I guess it could still be mentioned that a SIP level mechanism exists.

Regards,

Christer