Re: [rtcweb] Another consideration about signaling

José Luis Millán <jmillan@aliax.net> Sat, 08 October 2011 21:48 UTC

Return-Path: <jmillan@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 29CA521F8AE9 for <rtcweb@ietfa.amsl.com>; Sat, 8 Oct 2011 14:48:29 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.03
X-Spam-Level:
X-Spam-Status: No, score=-2.03 tagged_above=-999 required=5 tests=[AWL=-0.353, BAYES_00=-2.599, FM_FORGED_GMAIL=0.622, J_BACKHAIR_43=1, 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 lVmA8gzppCoh for <rtcweb@ietfa.amsl.com>; Sat, 8 Oct 2011 14:48:27 -0700 (PDT)
Received: from mail-iy0-f172.google.com (mail-iy0-f172.google.com [209.85.210.172]) by ietfa.amsl.com (Postfix) with ESMTP id B205721F8A96 for <rtcweb@ietf.org>; Sat, 8 Oct 2011 14:48:27 -0700 (PDT)
Received: by iaby26 with SMTP id y26so6926866iab.31 for <rtcweb@ietf.org>; Sat, 08 Oct 2011 14:51:45 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.231.69.80 with SMTP id y16mr5854750ibi.34.1318110703156; Sat, 08 Oct 2011 14:51:43 -0700 (PDT)
Received: by 10.231.36.201 with HTTP; Sat, 8 Oct 2011 14:51:43 -0700 (PDT)
In-Reply-To: <4E905B7F.7010505@digium.com>
References: <CALiegfmoPWfhtBRiOfgLHG1uhJK_kK2t11xMoop-fT6qW4DUJQ@mail.gmail.com> <4E8F57EB.8030504@digium.com> <CABw3bnOD5APidfbqNscXdPURyY-AMQZqoyYPm6v2xWo5VWKOLA@mail.gmail.com> <4E905B7F.7010505@digium.com>
Date: Sat, 08 Oct 2011 23:51:43 +0200
Message-ID: <CABw3bnN2O6zgREBoWEdW2jj6-A4df05KJ_Y49LT3tsUXaXewwA@mail.gmail.com>
From: José Luis Millán <jmillan@aliax.net>
To: "Kevin P. Fleming" <kpfleming@digium.com>
Content-Type: text/plain; charset="ISO-8859-1"
Content-Transfer-Encoding: quoted-printable
Cc: rtcweb@ietf.org
Subject: Re: [rtcweb] Another consideration about signaling
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: Sat, 08 Oct 2011 21:48:29 -0000

2011/10/8 Kevin P. Fleming <kpfleming@digium.com>:
> On 10/08/2011 04:02 AM, José Luis Millán wrote:
>>
>> Kevin,
>>
>> 2011/10/7 Kevin P. Fleming<kpfleming@digium.com>:
>>>
>>> On 09/16/2011 10:42 AM, Iñaki Baz Castillo wrote:
>>>>
>>>> Hi all,
>>>>
>>>> Let's imagine that rtcweb defines a specific signaling protocol (i.e.
>>>> SIP) so browsers MUST use it natively for signaling the media streams.
>>>> Of course this would require a SIP proxy/server in server side (think
>>>> about NAT) which IMHO seems a showstopper (how to deploy such a SIP
>>>> proxy in shared web hostings? a "mod_sip" for Apache? should I make a
>>>> XMPP<->SIP protocol gateway in order to intercommunicate web-browsers
>>>> with pure XMPP clients?)
>>>>
>>>> But there is another important drawback with this assumption:
>>>>
>>>> A web site could be interested in drawing in the web the status of the
>>>> different audio/video streams between users connected to the web. This
>>>> could mean displaying in the web the active streams (audio/video),
>>>> when a session is on hold, when it's resumed again, when a new stream
>>>> is added to a multimedia session (i.e. offering video within an
>>>> already established audio session).
>>>>
>>>> If the signaling uses a separate channel (i.e. SIP) then there is no
>>>> way for the web server to know what happens during multimedia sessions
>>>> (or it would be really difficult to achieve). So multimedia sessions
>>>> would be completely separated from the web page itself. Is that what
>>>> we want?
>>>
>>> (resurrecting this old thread)
>>>
>>> Regardless of the signaling protocol in use, it seems unlikely to me that
>>> a
>>> web application developer is going to want to be *involved* in the call
>>> signaling itself; they are going to pass that responsibility over to some
>>> existing code/library/server/system (which could mean just shuttling SIP
>>> messages back and forth between WebSocket connections and UDP
>>> connections).
>>>
>>> If this assumption is true, then the web application developer who wants
>>> to
>>> achieve the result you describe above is going to choose a SIP
>>> library/server that allows them access to the call states and other
>>> pieces
>>> of information that they need, in preference to those who don't make that
>>> information available. I can't imagine that a practical solution would be
>>> to
>>> choose a SIP library/server that handles the calls in an 'opaque' fashion
>>> but then build a web application that is required to snoop on all the
>>> signaling to be able to monitor activity.
>>>
>>
>> Web developers have to use well defined APIs so they don't need to
>> know how the underlaying protocol works. Instead, they rely on the API
>> methods and information to achieve what Iñaki is stating.
>
> I don't disagree with your statements here, but I'm not sure that those
> statements change anything :-)
>
> This group is not defining APIs to be used on the *server* side, only on the
> browser side.

On the server side, if a web application wants to be able to
> keep track of multimedia sessions and use that information for various
> purposes, then yes... it will require APIs to do so.

Sorry if I'm not underdstanding you well. I understand from the
paragraph above that the client may use these APIs to consult the
server about it's own state (client's state).

The web application does not need to monitor the signalling, but will
be aware of its own state (sessions..) by simply relying on the
signalling API. ie: Client executes the 'call' method of the API 'X',
this method executes the corresponding callbacks according to the
state of the running call: 'trying', 'ringing', 'ok'. This way the
client is aware of its own state.

If this is not what you meant, could you please clarify?

Regards

Those APIs will be into
> whichever signaling library/server/component the web application developer
> has chosen to handle the signaling of those multimedia sessions. This was
> exactly my point, that the web application would not be actively monitoring
> the signaling *itself* in order to keep track of sessions...so if the
> signaling is just being routed by the web application over to another
> component/server, that's perfectly acceptable and doesn't interfere with the
> application's ability to keep track of the sessions.



>
> --
> Kevin P. Fleming
> Digium, Inc. | Director of Software Technologies
> Jabber: kfleming@digium.com | SIP: kpfleming@digium.com | Skype: kpfleming
> 445 Jan Davis Drive NW - Huntsville, AL 35806 - USA
> Check us out at www.digium.com & www.asterisk.org
> _______________________________________________
> rtcweb mailing list
> rtcweb@ietf.org
> https://www.ietf.org/mailman/listinfo/rtcweb
>