[Sipping] Re: Managing multiple body parts

Gonzalo Camarillo <Gonzalo.Camarillo@ericsson.com> Thu, 22 April 2004 13:03 UTC

Received: from optimus.ietf.org (optimus.ietf.org [132.151.1.19]) by ietf.org (8.9.1a/8.9.1a) with ESMTP id JAA24357 for <sipping-archive@odin.ietf.org>; Thu, 22 Apr 2004 09:03:46 -0400 (EDT)
Received: from localhost.localdomain ([127.0.0.1] helo=www1.ietf.org) by optimus.ietf.org with esmtp (Exim 4.20) id 1BGdpH-0005pY-6B for sipping-archive@odin.ietf.org; Thu, 22 Apr 2004 09:01:11 -0400
Received: (from exim@localhost) by www1.ietf.org (8.12.8/8.12.8/Submit) id i3MD1Bbn022412 for sipping-archive@odin.ietf.org; Thu, 22 Apr 2004 09:01:11 -0400
Received: from odin.ietf.org ([132.151.1.176] helo=ietf.org) by optimus.ietf.org with esmtp (Exim 4.20) id 1BGdhL-000388-TJ for sipping-web-archive@optimus.ietf.org; Thu, 22 Apr 2004 08:53:00 -0400
Received: from ietf-mx (ietf-mx.ietf.org [132.151.6.1]) by ietf.org (8.9.1a/8.9.1a) with ESMTP id IAA23638 for <sipping-web-archive@ietf.org>; Thu, 22 Apr 2004 08:52:53 -0400 (EDT)
Received: from ietf-mx.ietf.org ([132.151.6.1] helo=ietf-mx) by ietf-mx with esmtp (Exim 4.32) id 1BGdhE-00045g-QO for sipping-web-archive@ietf.org; Thu, 22 Apr 2004 08:52:52 -0400
Received: from exim by ietf-mx with spam-scanned (Exim 4.12) id 1BGdgF-0003pl-00 for sipping-web-archive@ietf.org; Thu, 22 Apr 2004 08:51:52 -0400
Received: from optimus.ietf.org ([132.151.1.19]) by ietf-mx with esmtp (Exim 4.12) id 1BGdfK-0003bh-00 for sipping-web-archive@ietf.org; Thu, 22 Apr 2004 08:50:54 -0400
Received: from localhost.localdomain ([127.0.0.1] helo=www1.ietf.org) by optimus.ietf.org with esmtp (Exim 4.20) id 1BGdWo-0007bc-Dg; Thu, 22 Apr 2004 08:42:06 -0400
Received: from odin.ietf.org ([132.151.1.176] helo=ietf.org) by optimus.ietf.org with esmtp (Exim 4.20) id 1BGdPc-0005E1-QD for sipping@optimus.ietf.org; Thu, 22 Apr 2004 08:34:41 -0400
Received: from ietf-mx (ietf-mx.ietf.org [132.151.6.1]) by ietf.org (8.9.1a/8.9.1a) with ESMTP id IAA22198 for <sipping@ietf.org>; Thu, 22 Apr 2004 08:34:34 -0400 (EDT)
Received: from ietf-mx.ietf.org ([132.151.6.1] helo=ietf-mx) by ietf-mx with esmtp (Exim 4.32) id 1BGdPV-0006o6-NG for sipping@ietf.org; Thu, 22 Apr 2004 08:34:33 -0400
Received: from exim by ietf-mx with spam-scanned (Exim 4.12) id 1BGdNH-0006Ip-00 for sipping@ietf.org; Thu, 22 Apr 2004 08:32:16 -0400
Received: from imr2.ericy.com ([198.24.6.3]) by ietf-mx with esmtp (Exim 4.12) id 1BGdM2-0005gK-00; Thu, 22 Apr 2004 08:30:58 -0400
Received: from eamrcnt750.exu.ericsson.se (eamrcnt750.exu.ericsson.se [138.85.133.51]) by imr2.ericy.com (8.12.10/8.12.10) with ESMTP id i3MCULfX001167; Thu, 22 Apr 2004 07:30:21 -0500 (CDT)
Received: from ericsson.com (EFO9N000L5C7100.lmf.ericsson.se [131.160.31.44]) by eamrcnt750.exu.ericsson.se with SMTP (Microsoft Exchange Internet Mail Service Version 5.5.2657.72) id J170J6QL; Thu, 22 Apr 2004 07:30:01 -0500
Message-ID: <4087BADB.70004@ericsson.com>
Date: Thu, 22 Apr 2004 15:30:19 +0300
X-Sybari-Trust: d9940463 2c4885b5 0a80fa4f 00000138
From: Gonzalo Camarillo <Gonzalo.Camarillo@ericsson.com>
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.4) Gecko/20030624 Netscape/7.1 (ax)
X-Accept-Language: en-us, en
MIME-Version: 1.0
To: Paul Kyzivat <pkyzivat@cisco.com>
CC: Miguel Garcia <Miguel.An.Garcia@nokia.com>, SIMPLE mailing list <simple@ietf.org>, SIPPING mailing list <sipping@ietf.org>
References: <406DF1EC.4050400@cisco.com> <4085401C.2000008@nokia.com> <4086E14A.6080403@cisco.com>
In-Reply-To: <4086E14A.6080403@cisco.com>
Content-Type: text/plain; charset="us-ascii"; format="flowed"
Content-Transfer-Encoding: 7bit
Content-Transfer-Encoding: 7bit
Subject: [Sipping] Re: Managing multiple body parts
Sender: sipping-admin@ietf.org
Errors-To: sipping-admin@ietf.org
X-BeenThere: sipping@ietf.org
X-Mailman-Version: 2.0.12
Precedence: bulk
List-Unsubscribe: <https://www1.ietf.org/mailman/listinfo/sipping>, <mailto:sipping-request@ietf.org?subject=unsubscribe>
List-Id: SIPPING Working Group (applications of SIP) <sipping.ietf.org>
List-Post: <mailto:sipping@ietf.org>
List-Help: <mailto:sipping-request@ietf.org?subject=help>
List-Subscribe: <https://www1.ietf.org/mailman/listinfo/sipping>, <mailto:sipping-request@ietf.org?subject=subscribe>
X-Spam-Checker-Version: SpamAssassin 2.60 (1.212-2003-09-23-exp) on ietf-mx.ietf.org
X-Spam-Status: No, hits=0.0 required=5.0 tests=AWL autolearn=no version=2.60
Content-Transfer-Encoding: 7bit
Content-Transfer-Encoding: 7bit

Hi Paul,

typically you either tag the body with a content disposition tag, or 
have a pointer somewhere in the message pointing to the body part... or 
both.

What sort of things do you have in mind, besides the ones I mentioned?

Thanks,

Gonzalo

Paul Kyzivat wrote:

> I changed the subject of this because it is generalized.
> 
> See below for details. The general question is:
> 
> Is there a need for some sort of draft (beyond what is already in 3261) 
> explaining how body parts are to be arranged and tagged so that they 
> will be found and processed in an interoperable way?
> 
> I think there is. I have spent time working on sip stack support for 
> managing body parts, and I came up with all kinds of questions about 
> what is valid and what is not.
> 
>     Paul
> 
> Miguel Garcia wrote:
> 
>> Hi Paul:
>>
>> Thanks for your comments. Answers inline.
>>
>> ext Paul Kyzivat wrote:
>>
>>> Miguel,
>>>
>>> In general the approach in the draft seems reasonable to me.
>>>
>>> I see one area of ambiguity, having to do with how multipart bodies 
>>> are handled. The draft says to remove the list and include everything 
>>> else. But even your example doesn't do that - it also removes the 
>>> multipart/mixed wrapper. Of course in this particular example that 
>>> makes perfect sense, but it goes beyond what the draft says to do.
>>
>>
>>
>> We start from the the fact that there will be as a minimum, two 
>> bodies, the list, and the actual payload. There might be more bodies, 
>> such as multiple payloads, S/MIME signatures, etc.
>>
>> I guess the algorithm should be:
>>
>> - If there is any kind of security body for the exploder (e.g., signed 
>> with the public key of the exploder), then remove that body.
>>
>> - Remove the list itself (in a typical use case, unless an extension 
>> says the oposite; I am referring to Ben's suggestion to allow it).
>>
>> - If there is only one body left, then remove the multipart/mixed 
>> wrapper.
>>
>> - Send the remaining stuff.
> 
> 
> This seems like the ad hoc approach. It will probably work in a lot of 
> cases. In the absence of more general rules this is probably a pragmatic 
> approach to take.
> 
> But I think there is a more general problem - not specific to message 
> exploders, or exploders, or message - that applies to management of body 
> parts in general.
> 
> Part of it is just:
> - in a hierarchy of mime entities, how do I identify the body parts that 
> interest me?
> 
> And the flip side of that is:
> - How do I arrange the body parts that I need to convey into a hierarchy 
> of mime entities so that the recipient will find and process them 
> correctly?
> 
> This is then further complicated by servers in the signaling path that 
> are permitted to mess with body parts. (That currently is only B2BUAs, 
> but with the m2m and m2e discussions it may eventually include proxies.) 
> For them there are the following additional questions:
> 
> - Should I (and if so how) modify the mime entity hierarchy to remove 
> body parts that I have processed?
> 
> - How should I modify the mime entity hierarchy to add additional body 
> parts that are to be processed further downstream, so that the recipient 
> will process them correctly?
> 
>>> There are more complex cases:
>>>
>>> - for security there could be signed body parts.
>>>
>>>    - The signature could be on the multipart containing the message
>>>      and list. It would have to be removed.
>>>
>>>    - The signature could be on just the message. Presumably
>>>      it should remain.
>>
>>
>>  >
>>
>> I agree.
>>
>>>
>>> - There could be other body parts referenced by cid: urls in
>>>    other headers in the message.
>>
>>
>>
>> Yes, they should remain.
>>
>>>
>>> I think there needs to be a more prescriptive way of defining what 
>>> gets passed on in the exploded messages. This is really just a 
>>> manifestation of a more general problem of how to decide how 
>>> different body parts should be processed. It potentially exists in a 
>>> normal, unexploded, MESSAGE.
>>>
>>> I think at least part of the answer lies with Content-Disposition. I 
>>> think there should be clarity about the content-disposition should be 
>>> for the body part(s) that MESSAGE interprets as message content. 
>>> Probably "render" (which is default for sip) would be an appropriate 
>>> content-disposition for message content.
>>
>>
>>
>> Agree so far. It may happen that some of this stuff is generic enough 
>> (not MESSAGE specific).
> 
> 
> Yes, very much so.
> 
>>> Also, I think there should be some clarity about what the 
>>> content-disposition should be for various kinds of multipart 
>>> containers when used in the various ways they may be used in sip. I'm 
>>> not quite sure what the answer is here.
>>>
>>> The list itself is of course referenced from a cid: url. It is the 
>>> url and its placement that determines how the corresponding body part 
>>> should be processed. For these, the content-disposition should be 
>>> some value that doesn't imply some other sort of processing. I think 
>>> it can't be any of "session", "render", "alert", or "icon". Maybe it 
>>> could be "attachment".
>>
>>
>>
>> I will be happy to have a very clear deterministic way to find out 
>> what to pass and what to keep to the other side of the exploder, base 
>> on presumabley the content-disposition. Let's see if I can come up 
>> with something.
> 
> 
> I'm interested in this. Do you think this is suitable as a new work 
> item? (Probably for sipping at first.)
> 
>     Paul

-- 
Gonzalo Camarillo         Phone :  +358  9 299 33 71
Oy L M Ericsson Ab        Mobile:  +358 40 702 35 35
Telecom R&D               Fax   :  +358  9 299 30 52
FIN-02420 Jorvas          Email :  Gonzalo.Camarillo@ericsson.com
Finland                   http://www.hut.fi/~gonzalo


_______________________________________________
Sipping mailing list  https://www1.ietf.org/mailman/listinfo/sipping
This list is for NEW development of the application of SIP
Use sip-implementors@cs.columbia.edu for questions on current sip
Use sip@ietf.org for new developments of core SIP