Re: [rtcweb] draft-ibc-rtcweb-sip-websocket -- WebSocket Transport for Session Initiation Protocol (SIP)
Iñaki Baz Castillo <ibc@aliax.net> Wed, 14 September 2011 10:41 UTC
Return-Path: <ibc@aliax.net>
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 6085A21F8AAA for <rtcweb@ietfa.amsl.com>; Wed, 14 Sep 2011 03:41:36 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.35
X-Spam-Level:
X-Spam-Status: No, score=-2.35 tagged_above=-999 required=5 tests=[AWL=-0.273, BAYES_00=-2.599, FM_FORGED_GMAIL=0.622, J_CHICKENPOX_44=0.6, MIME_8BIT_HEADER=0.3, RCVD_IN_DNSWL_LOW=-1]
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 95KsHeTuXEGU for <rtcweb@ietfa.amsl.com>; Wed, 14 Sep 2011 03:41:35 -0700 (PDT)
Received: from mail-qy0-f179.google.com (mail-qy0-f179.google.com [209.85.216.179]) by ietfa.amsl.com (Postfix) with ESMTP id 79A9A21F8A95 for <rtcweb@ietf.org>; Wed, 14 Sep 2011 03:41:35 -0700 (PDT)
Received: by qyk33 with SMTP id 33so1369066qyk.10 for <rtcweb@ietf.org>; Wed, 14 Sep 2011 03:43:44 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.229.67.105 with SMTP id q41mr2741418qci.216.1315997023826; Wed, 14 Sep 2011 03:43:43 -0700 (PDT)
Received: by 10.229.79.207 with HTTP; Wed, 14 Sep 2011 03:43:43 -0700 (PDT)
In-Reply-To: <7F2072F1E0DE894DA4B517B93C6A05852233EDB21A@ESESSCMS0356.eemea.ericsson.se>
References: <CALiegfk6BhtzErXOQM8iSV7FC6isYUwOS1KPYCw_M1vEcNP6eQ@mail.gmail.com> <1F2A2C70609D9E41844A2126145FC09802585056@HKGMBOXPRD22.polycom.com> <CALiegfnR=b-9AOBmzytAT-AX9Evr1vegFK-J+MtAhBNWNAAWbA@mail.gmail.com> <7F2072F1E0DE894DA4B517B93C6A05852233EDB21A@ESESSCMS0356.eemea.ericsson.se>
Date: Wed, 14 Sep 2011 12:43:43 +0200
Message-ID: <CALiegf=fOcGYKuwabmeHDbkFY4ywrFsPjb9q0uXbTh_K6W4nSw@mail.gmail.com>
From: Iñaki Baz Castillo <ibc@aliax.net>
To: Christer Holmberg <christer.holmberg@ericsson.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
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 10:41:36 -0000
2011/9/14 Christer Holmberg <christer.holmberg@ericsson.com>: > 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. Hi Christer. IMHO that is already addressed in the draft: ---------------------------------------------------- 6. WebSocket Client Usage As stated in [I-D.ietf-hybi-thewebsocketprotocol], a WebSocket URI [RFC3986] is given to the WebSocket client (typically within a web- based application) who resolves the URI destination and establishes a WebSocket connection with the corresponding server (by performing the handshake and negotiation procedures described in [I-D.ietf-hybi-thewebsocketprotocol]). ----------------------------------------------------- > For example, the WebSocket could be established once the JS app is downloaded, But that is obvious given the WebSocket protocol nature. The client MUST establish a WebSocket connection with the server before attempting to send or receive WebSocket messages. Could you please point to the exact section in the draft in which you miss such explanation? We'll be very glad to improve it. > or when the JS SIP client registers (similar to how SIP Outbound works). In normal scenarios the client must register in order to receive incoming SIP calls, but that is not a MUST. For example a WebSocket server could route INVITE requests to connected WebSocket clients without previous SIP registration made by the clients. It would be up to the provider local policy. I don't think the draft should mandate SIP registration in order to receive calls (neither RFC 3261 mandates it), as registration is just one of the existing ways for receiving incoming calls, but not the unique. Am I wrong? >> 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. Current limitation exists in WebSocket API since it does not provide a way for the client to send Ping frames to the server. Please check the open request in the W3C tracker about this topic: http://www.w3.org/Bugs/Public/show_bug.cgi?id=13104#c3 > I guess it could still be mentioned that a SIP level mechanism exists. I assume you mean the CRLF+CRLF mechanism defined in RFC 5626 "Managing Client-Initiated Connections in SIP" which is a technique for SIP clients to keep the connection open by sending CRLF+CRLF and receiving CRLF reply from the proxy/server. RFC 5626 says: --------------------------------- 3.5.1. CRLF Keep-Alive Technique This approach can only be used with connection-oriented transports such as TCP or SCTP. The client periodically sends a double-CRLF (the "ping") then waits to receive a single CRLF (the "pong"). If the client does not receive a "pong" within an appropriate amount of time, it considers the flow failed. ------------------------------- Since SIP WebSocket transport (as defined in the draft) is also a reliable transport, we could mention the usage of this keepalive technique in the draft, is it ok? Thanks a lot for your input. Best regards. -- Iñaki Baz Castillo <ibc@aliax.net>
- Re: [rtcweb] draft-ibc-rtcweb-sip-websocket -- We… Markus.Isomaki
- Re: [rtcweb] draft-ibc-rtcweb-sip-websocket -- We… Ravindran Parthasarathi
- Re: [rtcweb] draft-ibc-rtcweb-sip-websocket -- We… Roman Shpount
- Re: [rtcweb] draft-ibc-rtcweb-sip-websocket -- We… Iñaki Baz Castillo
- Re: [rtcweb] draft-ibc-rtcweb-sip-websocket -- We… Igor Faynberg
- [rtcweb] draft-ibc-rtcweb-sip-websocket -- WebSoc… Iñaki Baz Castillo
- Re: [rtcweb] draft-ibc-rtcweb-sip-websocket -- We… Markus.Isomaki
- [rtcweb] draft-ibc-rtcweb-sip-websocket -- WebSoc… José Luis Millán
- Re: [rtcweb] draft-ibc-rtcweb-sip-websocket -- We… Markus.Isomaki
- Re: [rtcweb] draft-ibc-rtcweb-sip-websocket -- We… Thomas
- Re: [rtcweb] draft-ibc-rtcweb-sip-vs-websocket Bernard Aboba
- Re: [rtcweb] draft-ibc-rtcweb-sip-vs-websocket Dzonatas Sol
- Re: [rtcweb] draft-ibc-rtcweb-sip-vs-websocket Ravindran Parthasarathi
- [rtcweb] draft-ibc-rtcweb-sip-websocket -- WebSoc… José Luis Millán
- Re: [rtcweb] draft-ibc-rtcweb-sip-vs-websocket Binod PG
- Re: [rtcweb] draft-ibc-rtcweb-sip-websocket -- We… Patrick McManus
- Re: [rtcweb] draft-ibc-rtcweb-sip-vs-websocket Hadriel Kaplan
- Re: [rtcweb] draft-ibc-rtcweb-sip-vs-websocket Binod PG
- Re: [rtcweb] draft-ibc-rtcweb-sip-websocket -- We… Avasarala, Ranjit
- Re: [rtcweb] draft-ibc-rtcweb-sip-vs-websocket Markus.Isomaki
- Re: [rtcweb] draft-ibc-rtcweb-sip-websocket -- We… Saúl Ibarra Corretgé
- Re: [rtcweb] draft-ibc-rtcweb-sip-websocket -- We… Iñaki Baz Castillo
- Re: [rtcweb] draft-ibc-rtcweb-sip-vs-websocket Iñaki Baz Castillo
- Re: [rtcweb] draft-ibc-rtcweb-sip-websocket -- We… Christer Holmberg
- Re: [rtcweb] draft-ibc-rtcweb-sip-vs-websocket Ravindran Parthasarathi
- Re: [rtcweb] draft-ibc-rtcweb-sip-vs-websocket José Luis Millán
- Re: [rtcweb] draft-ibc-rtcweb-sip-websocket -- We… Iñaki Baz Castillo
- Re: [rtcweb] draft-ibc-rtcweb-sip-websocket -- We… Christer Holmberg
- Re: [rtcweb] draft-ibc-rtcweb-sip-websocket -- We… Iñaki Baz Castillo
- Re: [rtcweb] draft-ibc-rtcweb-sip-websocket -- We… Iñaki Baz Castillo
- Re: [rtcweb] draft-ibc-rtcweb-sip-vs-websocket Ravindran Parthasarathi
- Re: [rtcweb] draft-ibc-rtcweb-sip-vs-websocket Olle E. Johansson
- Re: [rtcweb] draft-ibc-rtcweb-sip-vs-websocket Tim Panton
- Re: [rtcweb] draft-ibc-rtcweb-sip-websocket -- We… Tim Panton
- Re: [rtcweb] draft-ibc-rtcweb-sip-websocket -- We… Roman Shpount
- Re: [rtcweb] draft-ibc-rtcweb-sip-websocket -- We… Randell Jesup
- Re: [rtcweb] draft-ibc-rtcweb-sip-websocket -- We… Roman Shpount
- Re: [rtcweb] draft-ibc-rtcweb-sip-websocket -- We… Markus.Isomaki
- Re: [rtcweb] draft-ibc-rtcweb-sip-websocket -- We… Roman Shpount
- Re: [rtcweb] draft-ibc-rtcweb-sip-websocket -- We… Igor Faynberg
- Re: [rtcweb] draft-ibc-rtcweb-sip-websocket -- We… Dzonatas Sol
- Re: [rtcweb] draft-ibc-rtcweb-sip-websocket -- We… Randell Jesup
- Re: [rtcweb] draft-ibc-rtcweb-sip-websocket -- We… Markus.Isomaki
- Re: [rtcweb] draft-ibc-rtcweb-sip-websocket -- We… Dzonatas Sol
- [rtcweb] Need for Default signaling protocol for … Ravindran Parthasarathi
- Re: [rtcweb] draft-ibc-rtcweb-sip-websocket -- We… Saúl Ibarra Corretgé
- Re: [rtcweb] draft-ibc-rtcweb-sip-websocket -- We… Markus.Isomaki
- Re: [rtcweb] draft-ibc-rtcweb-sip-websocket -- We… Dan Wing