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

Roman Shpount <roman@telurix.com> Thu, 15 September 2011 18:55 UTC

Return-Path: <roman@telurix.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 57ABE11E80B5 for <rtcweb@ietfa.amsl.com>; Thu, 15 Sep 2011 11:55:01 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.71
X-Spam-Level:
X-Spam-Status: No, score=-2.71 tagged_above=-999 required=5 tests=[AWL=0.266, BAYES_00=-2.599, FM_FORGED_GMAIL=0.622, HTML_MESSAGE=0.001, 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 YEv70HGJZ+gM for <rtcweb@ietfa.amsl.com>; Thu, 15 Sep 2011 11:54:59 -0700 (PDT)
Received: from mail-gx0-f181.google.com (mail-gx0-f181.google.com [209.85.161.181]) by ietfa.amsl.com (Postfix) with ESMTP id 40E7E11E80A5 for <rtcweb@ietf.org>; Thu, 15 Sep 2011 11:54:59 -0700 (PDT)
Received: by gxk9 with SMTP id 9so3403733gxk.40 for <rtcweb@ietf.org>; Thu, 15 Sep 2011 11:57:11 -0700 (PDT)
Received: by 10.68.62.105 with SMTP id x9mr423963pbr.287.1316113030439; Thu, 15 Sep 2011 11:57:10 -0700 (PDT)
Received: from mail-pz0-f45.google.com (mail-pz0-f45.google.com [209.85.210.45]) by mx.google.com with ESMTPS id i8sm3813631pbl.2.2011.09.15.11.57.09 (version=TLSv1/SSLv3 cipher=OTHER); Thu, 15 Sep 2011 11:57:09 -0700 (PDT)
Received: by pzk33 with SMTP id 33so1697609pzk.18 for <rtcweb@ietf.org>; Thu, 15 Sep 2011 11:57:08 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.68.29.66 with SMTP id i2mr445719pbh.375.1316113028911; Thu, 15 Sep 2011 11:57:08 -0700 (PDT)
Received: by 10.68.55.39 with HTTP; Thu, 15 Sep 2011 11:57:08 -0700 (PDT)
In-Reply-To: <E44893DD4E290745BB608EB23FDDB7620B39D8@008-AM1MPN1-043.mgdnok.nokia.com>
References: <CABw3bnO+85i-TtuqS+P4n+rYgyxyoASc8HXpADhy4QPTC0_szA@mail.gmail.com> <6F469757-6B5C-4DC9-BC34-026F34C7E508@phonefromhere.com> <CAD5OKxvCSJWS+F72P_WOFapmtffkLCSSe3A-rDEUOhNjWcoh4A@mail.gmail.com> <E44893DD4E290745BB608EB23FDDB7620B39D8@008-AM1MPN1-043.mgdnok.nokia.com>
Date: Thu, 15 Sep 2011 14:57:08 -0400
Message-ID: <CAD5OKxtt9phWr9Vrn5J1STxA9airR8g-tHMnddFP=QwrTHuPcA@mail.gmail.com>
From: Roman Shpount <roman@telurix.com>
To: Markus.Isomaki@nokia.com
Content-Type: multipart/alternative; boundary="bcaec520e88b92909004acff7191"
Cc: 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: Thu, 15 Sep 2011 18:55:01 -0000

Actually SIP over UDP is what is typically used for mobile apps now. If you
are doing SIP from the public IP, you do not need to maintain the connection
even if TCP/TLS is used. If SIP over TCP/TLS from behind NAT is used, there
are no benefits of using SIP over a long poll HTTP connection or websockets.
Btw, sometime with SIP a combination technique is used, where a notification
is pushed to a SIP client using a mobile service specific push mechanism,
SIP client processes this notification, re-registers, and that connection is
used to place a call. Something similar can be used for a web app, but such
implementation would be specific to each mobile platform.
_____________
Roman Shpount


On Thu, Sep 15, 2011 at 2:49 PM, <Markus.Isomaki@nokia.com> wrote:

> Hi,
>
> This is an important point. But why do you think it is necessary for a
> Javascript based implementation, using HTTP or websockets, to send
> keepalives more often than a regular SIP UA would? If both are running on
> TCP, the NAT and firewall and such timers will be the same for both, and
> this gives an upper bound to the keepalive interval. (SIP over UDP is out of
> the question due to too short timers.)
>
> RTCWeb HTTP or websocket servers should be designed so that they do not
> require some kind of hearbeat or pingpong or keepalive too often by
> themselves, and especially they should not interfere but let the clients do
> them.
>
> The trend has been that a lot of asynchronous communication is nowadays
> agregated to apps via some kind of "notification service" (several companies
> run them), so that not all apps need to do keepalives by themselves. It
> would be useful if the browser/web environment could also make use of these
> services. Unfortunately they are all proprietary and bound to a particular
> OS or vendor.
>
> Markus
>
>
> From: rtcweb-bounces@ietf.org [mailto:rtcweb-bounces@ietf.org] On Behalf
> Of ext Roman Shpount
> Sent: 15 September, 2011 20:34
> To: Tim Panton
> Cc: rtcweb@ietf.org
> Subject: Re: [rtcweb] draft-ibc-rtcweb-sip-websocket -- WebSocket Transport
> for Session Initiation Protocol (SIP)
>
> The only potential problem with mobile applications and javascript based
> signaling code is the effect of maintaining registrations for long periods
> of time while waiting for a call on battery life and network utilization. A
> regular SIP library can be designed is such a way that the device will go
> into sleep mode and will wake up when a SIP packet is received. JavaScript
> will need to open a connection to a server and send ping messages at
> regular, fairly short, intervals, that will cause device to wake up every
> time ping message needs to be sent and to consume both power and network
> capacity. Such applications, running for the long periods of time can
> seriously decrease battery lifetime. On the other hand, doing this during an
> active call has a negligible effect on both power consumption or network
> utilization, since device is already running and sending media.
> _____________
> Roman Shpount
>
> On Thu, Sep 15, 2011 at 6:02 AM, Tim Panton <tim@phonefromhere.com> wrote:
>
> On 13 Sep 2011, at 21:50, José Luis Millán wrote:
>
>
> On Tue, Sep 13, 2011 at 9:25 PM,  <Markus.Isomaki@nokia.com> wrote:
> > Hi Inaki,
> >
> > Fully agree about everything you say below.
>
> Hi,
>
> Sorry if this mail arrives out of the original mail thread.
>
> >
> > It would be interesting to understand the performance differences of the
> native vs. Javascript SIP stack, if there is anything we should be worried
> about. This is my only concern when (perhaps one day) applying RTCWeb in
> devices like smartphones. If the JS stack works in (any of) today's high end
> smartphones without problems, we should be fine.
>
> The are no meaningful performance penalties at all using the JavaScript SIP
> stack in our prototype. In fact, multiple SIP stack instances can run in a
> single Web browser freshly.  BTW, is there any WebSocket capable web browser
> for smartphones?
>
> As an additional datapoint, The Phono.com javascript XMPP stack performs
> fine on android and iOS within a Phonegap app.
> Native browser javascript engines tend to be slightly better optimized than
> the ones available to mobile apps,
> so I doubt that performance would be an issue.
>
> Tim.
>
>
> _______________________________________________
> rtcweb mailing list
> rtcweb@ietf.org
> https://www.ietf.org/mailman/listinfo/rtcweb
>
>