Re: [Sip] New I-D - TOTE - "INFO" on the media path

Jonathan Rosenberg <jdrosen@cisco.com> Wed, 27 February 2008 21:25 UTC

Return-Path: <sip-bounces@ietf.org>
X-Original-To: ietfarch-sip-archive@core3.amsl.com
Delivered-To: ietfarch-sip-archive@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 569FA3A6E40; Wed, 27 Feb 2008 13:25:41 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: 0.281
X-Spam-Level:
X-Spam-Status: No, score=0.281 tagged_above=-999 required=5 tests=[AWL=-2.182, BAYES_00=-2.599, FH_RELAY_NODNS=1.451, HELO_MISMATCH_ORG=0.611, J_CHICKENPOX_73=0.6, MANGLED_BACK=2.3, RDNS_NONE=0.1]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id wopJ-mmOPa2Z; Wed, 27 Feb 2008 13:25:35 -0800 (PST)
Received: from core3.amsl.com (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 4723E3A6911; Wed, 27 Feb 2008 13:25:35 -0800 (PST)
X-Original-To: sip@core3.amsl.com
Delivered-To: sip@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id D02573A692F for <sip@core3.amsl.com>; Wed, 27 Feb 2008 13:25:33 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id UeysUQB8CfxB for <sip@core3.amsl.com>; Wed, 27 Feb 2008 13:25:27 -0800 (PST)
Received: from sj-iport-1.cisco.com (sj-iport-1.cisco.com [171.71.176.70]) by core3.amsl.com (Postfix) with ESMTP id 541383A688B for <sip@ietf.org>; Wed, 27 Feb 2008 13:25:27 -0800 (PST)
Received: from sj-dkim-1.cisco.com ([171.71.179.21]) by sj-iport-1.cisco.com with ESMTP; 27 Feb 2008 13:25:20 -0800
Received: from sj-core-5.cisco.com (sj-core-5.cisco.com [171.71.177.238]) by sj-dkim-1.cisco.com (8.12.11/8.12.11) with ESMTP id m1RLPKNR029569; Wed, 27 Feb 2008 13:25:20 -0800
Received: from xbh-sjc-231.amer.cisco.com (xbh-sjc-231.cisco.com [128.107.191.100]) by sj-core-5.cisco.com (8.12.10/8.12.6) with ESMTP id m1RLPKCH029327; Wed, 27 Feb 2008 21:25:20 GMT
Received: from xfe-sjc-211.amer.cisco.com ([171.70.151.174]) by xbh-sjc-231.amer.cisco.com with Microsoft SMTPSVC(6.0.3790.1830); Wed, 27 Feb 2008 13:25:19 -0800
Received: from [10.32.241.150] ([10.32.241.150]) by xfe-sjc-211.amer.cisco.com with Microsoft SMTPSVC(6.0.3790.1830); Wed, 27 Feb 2008 13:25:18 -0800
Message-ID: <47C5D533.5090002@cisco.com>
Date: Wed, 27 Feb 2008 16:25:07 -0500
From: Jonathan Rosenberg <jdrosen@cisco.com>
User-Agent: Thunderbird 2.0.0.9 (Windows/20071031)
MIME-Version: 1.0
To: Ted Hardie <hardie@qualcomm.com>
References: <47B6345B.4030807@cisco.com> <p06240601c3e0e71e3fef@[129.46.226.27]> <8F90CB13-F83A-4D95-82E4-63794937E8A9@softarmor.com> <p06240602c3e173da4d57@[24.4.239.115]> <AC12F0BB-E1BA-421A-B540-82DBC0CA2752@softarmor.com> <200802202144.m1KLi5WJ024161@dragon.ariadne.com> <47BF623C.8020105@cisco.com> <p06240602c3e8a7d6c257@[129.46.226.27]> <47C30AC3.4090407@cisco.com> <p06240608c3eb6e279ea4@[129.46.226.27]>
In-Reply-To: <p06240608c3eb6e279ea4@[129.46.226.27]>
X-OriginalArrivalTime: 27 Feb 2008 21:25:18.0558 (UTC) FILETIME=[404097E0:01C87987]
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; l=6784; t=1204147520; x=1205011520; c=relaxed/simple; s=sjdkim1004; h=Content-Type:From:Subject:Content-Transfer-Encoding:MIME-Version; d=cisco.com; i=jdrosen@cisco.com; z=From:=20Jonathan=20Rosenberg=20<jdrosen@cisco.com> |Subject:=20Re=3A=20[Sip]=20New=20I-D=20-=20TOTE=20-=20=22I NFO=22=20on=20the=20media=20path |Sender:=20; bh=77TqETgFhjTPvgbtLKxgXm619EBdnXTiwHpisHTkSAk=; b=UNHKxlHNcnm0qbK2SsWtF4MkBlE/8F844fWKEyTz3Dsy3LmJTQ3SAy8bk8 q7de/BJ3p3J82Mm1CD4jwgOIP+fyv0pohgrvjktUnKxbBkdau5zj/NyhpkPq sr8u9HGG++mCAtO2eKWBeZnJXNAakNCeg2Vmned1uHCg2Le7FEqxI=;
Authentication-Results: sj-dkim-1; header.From=jdrosen@cisco.com; dkim=pass ( sig from cisco.com/sjdkim1004 verified; );
Cc: "sip@ietf.org" <sip@ietf.org>
Subject: Re: [Sip] New I-D - TOTE - "INFO" on the media path
X-BeenThere: sip@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: Session Initiation Protocol <sip.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/sip>, <mailto:sip-request@ietf.org?subject=unsubscribe>
List-Post: <mailto:sip@ietf.org>
List-Help: <mailto:sip-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/sip>, <mailto:sip-request@ietf.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: sip-bounces@ietf.org
Errors-To: sip-bounces@ietf.org

inline:

Ted Hardie wrote:

>> OK; this was just a -00. There are two ways to deal with that:
>>
>> 1. add the additional negotiation needed for this as new SDP parameters, or
>>
>> 2. don't bother at all with MIME negotiation as part of SDP for TOTE;
>> rather, each purpose would have a protocol to doing the negotiations
>> needed to make its functionality work. This avoids needing to do a
>> general purpose MIME thing. FOr example, in the case of "pic", we'd
>> actually define a little protocol that negotiates pictures sizes and
>> supported types. In that applications, buckets and multiparts aren't an
>> issue.
>>
>> I'm inclined towards #2 actually. But note that, I put into TOTE exactly
>> the same level of MIME negotiation that SIP itself provides. SO if it is
>> grossly inadequate here, so it is there.
> 
> I'd be interested in seeing more on how #2 works.

Well, I'm thinking on my feet here, but for picture sharing, something 
like this:

A->B INVITE tote session, purpose=pic
B->A 200 OK tote, purpose=pic
A->B ACK

A->B [TOTE] I support jpg, png. Screen resolution here is just 100x200, 
8 bits color.
B->A [TOTE] I support just jpg, but I have a huge screen so up to 
1000x1000 is fine. 24 bits color.

and then later:

A->B [TOTE] Hey I'd like to send a picture, 200x200, jpg, 8 bits color. 
 From the camera. OK?
B  (prompts user, "Joe would like to send you a photo. Accept?". user 
accepts)
B->A [TOTE] yes proceed
A->B [TOTE] sends image
B->A [TOTE] file received


Again, thinking on my feet here.


   One of my concerns
> with "pic", to take one example, is how a very generic purpose like
> trading images gets used by applications that want it.  How does a
> system know when a pic being sent from one side of the TOTE exchange
> to the other is meant as a new user icon, an avatar for a MMORPG, or
> a stand-alone picture relevant to some ongoing exchange on a
> real time channel? 

I see your concern. I think the main criteria is that, this is used when 
the primary purpose is to render an image to the recipient, and allow 
them the option to save. Since a part of this is rendering you need to 
think about screen sizes, colors and so on to make sure the image is in 
a form that can be processed by the recipient for rendering. So anything 
that needs this - negotiation of picture sizes for immediate rendering - 
could use it. Primary application would presumably be cameras on mobile 
phones.


  If there is more interaction than just "purpose"
> and mime type, then re-use of this by applications that want the facility
> may work.
>  Otherwise, it seems you are either going to head towards
> purposes like "vnd.WoW" that have no generality or you are going
> to get what amounts to a least-common-denominator application.
> The "I can send you my name" application is not really too compelling.

Agreed. No dispute that each purpose needs to be well defined and broad 
enough to be useful and narrow enough to meet the needs of the specific 
use cases well. But thats always the case in engineering.


> 
> 
>>> Having a dispatch based on purpose without detailed specifications or
>>> reference to specific applications seems to hit a middle ground that's
>>> kind of nobody's sweet spot.
>> That was never the intent. The IANA considerations section states that
>> these require specification.
>>
>>> A specific application already has detailed
>>> semantics that go beyond this purpose to actual decisions of whether
>>> to render or store, user permissions needed, sizes accepted, etc;
>>> generalized MIME transfer protocols like SMTP or HTTP already
>>> use a different system for deciding which applications to invoke
>>> when faced with a MIME object, and this forces systems with that
>>> logic to have a parallel track.
>> That would seem to argue for pulling the MIME aspects out of TOTE.
>>
>>> The muxing seems liable to head of line blocking unless BEEP-like
>>> channels are introduced.
>> This is discussed; if the purpose requires significant content, set it
>> up as a separate session/tcp connection.
> 
> What you have there now is:
> 
>    However, if a purpose represents a
>    significant amount of data, such that head-of-line blocking might
>    occur between purposes, an agent SHOULD utilize a separate TOTE
>    session for that purpose.
> 
> I guess this still worries me.  If an application wants to set up a TOTE
> connection with an existing peer, I'm guessing it will need to decide
> whether to re-use an exiting session or set up a new one.  

Right.

> While it
> may have a sense of whether it will have large amounts of data to
> send, it doesn't have any idea of the sensitivity to head of line
> blocking from the other users of the connection.  

Well there is only one other user, the recipient. But I tend to think 
this is mostly a function of the 'purpose'. You'd put picture share by 
itself, but more control-style functions (i.e., camera control or 
conference controls) could be multiplexed.


That pushes the
> decision into the agent which knows something about both.
> But that ends up requiring a lot of knowledge of the protocol
> usage characteristics of the using application which go beyond
> what TOTE will carry on the wire (some uses of "pic" with image/jpeg
> are really highly unlikely to cause head of line blocking; others might be a
> real clog).

So I agree that this kind of dynamic decision is really complicated and 
a static decision based on purpose is much easier.


>> I was trying to provide a common mechanism for addressing those cases
>> where we don't want to send all this garbage over SIP - we want it over
>> the media plane. Are you objecting to that?
> 
> A number of your purposes seem pretty far outside the info-use-cases
> draft, and the level of generality does raise issues. 

I think the level of generality in there is EXACTLY the same as the 
INFO-usages. Thats why the reactions here surprise me. Fair enough that 
I do point out some use cases that are not in the INFO cases draft, but 
it was the whole INFO discussion that got me thinking that we have a 
need for a media-plane equivalent of INFO-events. TOTE is a nearly 
direct translation of the mechanism in Hadriels draft into the media 
plane. Purpose = info package, and the MIME negotiation is already there 
in SIP via Accept.

-Jonathan R.



-- 
Jonathan D. Rosenberg, Ph.D.                   499 Thornall St.
Cisco Fellow                                   Edison, NJ 08837
Cisco, Voice Technology Group
jdrosen@cisco.com
http://www.jdrosen.net                         PHONE: (408) 902-3084
http://www.cisco.com
_______________________________________________
Sip mailing list  https://www.ietf.org/mailman/listinfo/sip
This list is for NEW development of the core SIP Protocol
Use sip-implementors@cs.columbia.edu for questions on current sip
Use sipping@ietf.org for new developments on the application of sip