Re: [Sip] Support for Multipart/MIME

Paul Kyzivat <pkyzivat@cisco.com> Fri, 11 May 2007 00:15 UTC

Return-path: <sip-bounces@ietf.org>
Received: from [127.0.0.1] (helo=stiedprmman1.va.neustar.com) by megatron.ietf.org with esmtp (Exim 4.43) id 1HmIn0-0006CZ-B5; Thu, 10 May 2007 20:15:18 -0400
Received: from sip by megatron.ietf.org with local (Exim 4.43) id 1HmImy-0006CU-M8 for sip-confirm+ok@megatron.ietf.org; Thu, 10 May 2007 20:15:16 -0400
Received: from [10.91.34.44] (helo=ietf-mx.ietf.org) by megatron.ietf.org with esmtp (Exim 4.43) id 1HmImy-0006CM-Ca for sip@ietf.org; Thu, 10 May 2007 20:15:16 -0400
Received: from rtp-iport-1.cisco.com ([64.102.122.148]) by ietf-mx.ietf.org with esmtp (Exim 4.43) id 1HmImx-00056J-Up for sip@ietf.org; Thu, 10 May 2007 20:15:16 -0400
Received: from rtp-dkim-1.cisco.com ([64.102.121.158]) by rtp-iport-1.cisco.com with ESMTP; 10 May 2007 20:15:14 -0400
X-IronPort-AV: i="4.14,520,1170651600"; d="scan'208"; a="59943666:sNHT52609872"
Received: from rtp-core-2.cisco.com (rtp-core-2.cisco.com [64.102.124.13]) by rtp-dkim-1.cisco.com (8.12.11/8.12.11) with ESMTP id l4B0FDKY016356; Thu, 10 May 2007 20:15:13 -0400
Received: from xbh-rtp-211.amer.cisco.com (xbh-rtp-211.cisco.com [64.102.31.102]) by rtp-core-2.cisco.com (8.12.10/8.12.6) with ESMTP id l4B0F95f002973; Fri, 11 May 2007 00:15:09 GMT
Received: from xfe-rtp-201.amer.cisco.com ([64.102.31.38]) by xbh-rtp-211.amer.cisco.com with Microsoft SMTPSVC(6.0.3790.1830); Thu, 10 May 2007 20:15:09 -0400
Received: from [161.44.174.124] ([161.44.174.124]) by xfe-rtp-201.amer.cisco.com with Microsoft SMTPSVC(6.0.3790.1830); Thu, 10 May 2007 20:15:08 -0400
Message-ID: <4643B58A.3060407@cisco.com>
Date: Thu, 10 May 2007 20:15:06 -0400
From: Paul Kyzivat <pkyzivat@cisco.com>
User-Agent: Thunderbird 1.5.0.10 (Windows/20070221)
MIME-Version: 1.0
To: Francois Audet <audet@nortel.com>
Subject: Re: [Sip] Support for Multipart/MIME
References: <7374777208BDC7449D5620EF9423256703F85957@esealmw113.eemea.ericsson.se> <0ee901c7931e$dd43f9b0$c4a36b80@amer.cisco.com> <1ECE0EB50388174790F9694F77522CCF106564B4@zrc2hxm0.corp.nortel.com>
In-Reply-To: <1ECE0EB50388174790F9694F77522CCF106564B4@zrc2hxm0.corp.nortel.com>
Content-Type: text/plain; charset="ISO-8859-1"; format="flowed"
Content-Transfer-Encoding: 7bit
X-OriginalArrivalTime: 11 May 2007 00:15:08.0825 (UTC) FILETIME=[6F173090:01C79361]
DKIM-Signature: v=0.5; a=rsa-sha256; q=dns/txt; l=5276; t=1178842513; x=1179706513; c=relaxed/simple; s=rtpdkim1001; h=Content-Type:From:Subject:Content-Transfer-Encoding:MIME-Version; d=cisco.com; i=pkyzivat@cisco.com; z=From:=20Paul=20Kyzivat=20<pkyzivat@cisco.com> |Subject:=20Re=3A=20[Sip]=20Support=20for=20Multipart/MIME |Sender:=20 |To:=20Francois=20Audet=20<audet@nortel.com>; bh=nq9p+zT+tdQAph+IVK/576ZDS+oPLT+CGH+Yq2NOOrM=; b=JJ0c3MLRiie2DtH6c8jlmyZV7zUPNGL8UQ6sFTpQ/AG1ZZ4iA1YrGwbBi7QwOP29V/ItJmXi XpHWzFxmhJsTpoi/y//U6K0T3G+Vq+JCCviCNiZm1OX43EA9bdDqIwVn;
Authentication-Results: rtp-dkim-1; header.From=pkyzivat@cisco.com; dkim=pass ( sig from cisco.com/rtpdkim1001 verified; );
X-Spam-Score: 0.0 (/)
X-Scan-Signature: dbb8771284c7a36189745aa720dc20ab
Cc: sip@ietf.org, Dan Wing <dwing@cisco.com>, "Christer Holmberg (JO/LMF)" <christer.holmberg@ericsson.com>
X-BeenThere: sip@ietf.org
X-Mailman-Version: 2.1.5
Precedence: list
List-Id: Session Initiation Protocol <sip.ietf.org>
List-Unsubscribe: <https://www1.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://www1.ietf.org/mailman/listinfo/sip>, <mailto:sip-request@ietf.org?subject=subscribe>
Errors-To: sip-bounces@ietf.org


Francois Audet wrote:
> I think we are on to something here. I believe that Paul Kyzivat and Dan
> Wing have it
> right.
> 
> What I'd like to see is something describing the following:
> 
> - How to use Multipart/mixed
> 
>   I think Paul Kyzivat and Dan had some good explanation in this thread
> about it. 
>   We should really make proper treatment of multipart/mixed as mandatory
> as we can. 
>   This means, being able to understand parse the nested MIME bodies that
> you DO support.
>   At a miminum, an implementation should be able to find in a
> Multipart/mixed the SDP
>   for example. We probably need also to write some recommnedation on
> what happens if
>   there is multiple SDPs in that multipart mixed.

I would like to bring up something that isn't discussed much: 
Content-Disposition. I brought it up earlier in this thread for a 
slightly different reason.

One *should not* look for a particular body part of interest solely 
based on the Content-Type. Both the content type and the content 
disposition need to be correct. For instance, a body part with content 
type of application/sdp should not be considered an offer or answer 
unless the content-disposition is "session". (This is confused because 
there are are also defaulting rules for content-disposition.)

*In principle* you could have a multipart/mixed that had to parts, both 
with content-type of application/sdp. This could be quite legal if only 
one of them had content-disposition of "session" and the other had some 
other content-disposition. It would be sufficient for the other to have 
"Content-Disposition:foo;handling=optional".

I realize this is obscure, and it isn't likely that anyone will be 
including an sdp body part that isn't intended to be an offer or answer. 
But we are writing the specs here, and we ought to be complete and 
precise about it.

>   It's not pretty out there. I've seen implementations that don't even
> send 415
>   when receiving multipart/mixed: they just ignore the payload, and
> believe
>   it's an SDP-less INVITE. They then put an offer in the response, which
> the
>   real offerer believes is an answer. Then all hell breaks loose.
> 
>   Some of them do send 415, but without the supported payload type in an
> Accept 
>   header in 415.
> 
> 
> - Multipart/alternative
> 
>   I agree with Dan that using Multipart/alternative in the way that was
> described
>   in draft-jennings-sipping-multipart section 5 is in fact harmful.
> Especially now that we
>   are defining capability negotiation. Section 6 would be OK, but now
> that SDPng is gone,
>   it's irrelevant.
> 
>   What we really need to say is that multipart/alternative may be used
> only when we
>   are using alternative payload types for the same information. For
> example, text/html and 
>   text/xml or whatever. It would be applicable if one day we re-created
> another SDPng 
>   for example.

The perfect example for that is MESSAGE with text/plain and text/html, 
quite analogous to an email message.

>   Section 3.1 explains this relatively well, but is restricted to Offers
> (for which we have
>   no use cases anymore). I think it should instead talk about other
> examples (e.g.,
>   text/html, text/xml, or maybe some example with pictures).
> 
>   I really believe section 5 goes against the spririt of section 3.1
> (specifically, of
>   the quote of RFC 2046). What it really has it two application/sdp (one
> of them is 
>   encrypted inside a application/pkcs7mime), but really it's still two
> application/sdp
> 
>   But we should make it clear that it is NOT for negotiating multiple
> alternatives of 
>   the same payload type, in particular, not for application/sdp &
> application/sdp.
>   
> If we decide to go forward, I'd be happy to help too.

I don't have time to take authorship of the document, but I too can 
contribute some text.

	Paul

>> -----Original Message-----
>> From: Dan Wing [mailto:dwing@cisco.com] 
>> Sent: Thursday, May 10, 2007 09:19
>> To: 'Christer Holmberg (JO/LMF)'; Dale.Worley@comcast.net
>> Cc: sip@ietf.org
>> Subject: RE: [Sip] Support for Multipart/MIME
>>
>>>> I have become convinced, through my efforts with RTPSEC, that 
>>>> multipart/alternative is harmful if it contains multiple SDP parts.
>>> Again, I am not in a position to disagree with you ,but is that 
>>> harmfulness documented somewhere?
>> Nope.  If we're going to move multipart/* forward in SIP, 
>> though, I'll be happy to write that section.
>>
>> -d
>>
>>
>> _______________________________________________
>> Sip mailing list  https://www1.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
>>
> 
> 
> _______________________________________________
> Sip mailing list  https://www1.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
> 


_______________________________________________
Sip mailing list  https://www1.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