Subject: Re: [sipcore] Content-Disposition questions - errata suggestion

From: Christer Holmberg <[email-masked]>
Date: Thu, 3 Dec 2015 12:22:04 +0000

Hi,

Coming back to this, because it is causing issues in deployments.

There were two issues:

Issue 1)	Is the default handling value "required" also if the C-D header field is not present?
Issue 2)	Different MIME types seem to assume different default disposition types values.

In this e-mail I focus on issue 1).

My suggestion is to create an errata, which explicitly says that, in case the C-D header field is not present, the default handling value of "required" must be assumed..

OLD TEXT:

              "The handling parameter, handling-param, describes how the UAS should
              react if it receives a message body whose content type or disposition
              type it does not understand.  The parameter has defined values of
              "optional" and "required".  If the handling parameter is missing, the
              value "required" SHOULD be assumed.  The handling parameter is
              described in RFC 3204 [19]."

NEW TEXT:

              "The handling parameter, handling-param, describes how the UAS should
              react if it receives a message body whose content type or disposition
              type it does not understand.  The parameter has defined values of
              "optional" and "required".  If the handling parameter is missing, or if
               the Content-Disposition header field is missing, the value "required" 
               MUST be assumed.  The handling parameter is described in RFC 3204 [19]."

Regards,

Christer

-----Original Message-----
From: sipcore [mailto:[email-masked]] On Behalf Of Christer Holmberg
Sent: 13. maaliskuuta 2015 13:18
To: Paul Kyzivat; [email-masked]
Subject: Re: [sipcore] Content-Disposition questions

Hi,

Related to this, I see that Content-Disposition is not mentioned in RFC 6442 (Location Conveyance for the Session Initiation Protocol). 

(This was also mentioned in ECRIT at one point: http://www.ietf.org/mail-archive/web/ecrit/current/msg08517.html).

So, that basically means that the default disposition type for the XML body is "render", which I don't think fits very well.

In addition, assuming the default handling value is "required", it also means that endpoints must support the XML body. But, perhaps that's ok.

Regards,

Christer

-----Original Message-----
From: Paul Kyzivat [mailto:[email-masked]]
Sent: 10. maaliskuuta 2015 18:04
To: Christer Holmberg; [email-masked]
Subject: Re: [sipcore] Content-Disposition questions

On 3/10/15 11:27 AM, Christer Holmberg wrote:
> Hi Paul,
>
> It is not the default handling value that is different for the 
> qsig/isup bodies - it is the default type value ("signal", rather than "render").

I know they define the default disposition type for those mime types.
But I thought Thomas was also saying that they change the default handling to "optional", and I was commenting on the relevance of that part. If you include a qsig mime body, and don't include a C-D with handling="optional" then a recipient that doesn't know the mime type should treat it as "required" and reject the request, regardless of what defaults are defined for that mime type.

> I am not sure I agree with Thomas that a SIP client must support the 
> qsig/isup bodies. Yes, 3261 does reference the CR, but mostly for 
> information regarding the C-D header field itself.

I agree with you. Classifying a reference as normative doesn't mean that every aspect of that draft is required. And the only body reference in
3261 is wrt the definition of the handling parameter. And 3204 goes out of its way to say:

    The Content-Disposition header [5] may be included to describe how
    the encapsulated ISUP is to be processed, and in particular what the
    handling should be if the received Content-Type is not recognized.

That would make no sense if all SIP UA were required to recognize ISUP.

	Thanks,
	Paul

> Regards,
>
> Christer
>
> Sent from my Windows Phone
> ----------------------------------------------------------------------
> --
> From: Paul Kyzivat <mailto:[email-masked]>
> Sent: ‎10/‎03/‎2015 16:58
> To: [email-masked] <mailto:[email-masked]>
> Subject: Re: [sipcore] Content-Disposition questions
>
> On 3/10/15 5:45 AM, Stach, Thomas wrote:
>
>>> QUESTION_2: If, for a specific message body, the "render" default 
>>> type can be overwritten, shouldn't that be mentioned in 3261?
>>
>> I think this is already written down. The last sentence in section 20.11 reads
>> "   If this header field is missing, the MIME type determines the default
>>     content disposition.  If there is none, "render" is assumed."
>>
>> So, if the MIME type is understood, the default disposition from the 
>> corresponding MIME definition applies. Of course, this default 
>> disposition can be overwritten by sending a corresponding C-D header field, as e.g. ECMA-355 does for "qsig".
>> "render" kicks in, only if the MIME type is not understood and if C-D is omitted.
>> Does this make sense?
>
> That has a problem. It makes no sense to define a default handling 
> parameter value for a specific mime type that applies when the C-D 
> isn't present. Suppose you define a mime type where the default 
> handling is "optional".
>
> Then a receiver that does understand the mime type will treat the 
> handling as optional, but that is irrelevant because this only applies 
> if the mime type is not understood.
>
> A receiver that does not understand the mime type will use the global 
> default handling value "required".
>
>          Thanks,
>          Paul
>
>
>
> _______________________________________________
> sipcore mailing list
> [email-masked]
> https://www.ietf.org/mailman/listinfo/sipcore

_______________________________________________
sipcore mailing list
[email-masked]
https://www.ietf.org/mailman/listinfo/sipcore

---

From: [email-masked] (Dale R. Worley)
Date: Thu, 03 Dec 2015 09:36:00 -0500

Christer Holmberg <[email-masked]> writes:
> [...]

That erratum makes sense to me.  It seems to document what the original
intention was.  The biggest change is changing SHOULD to MUST, but I
don't see a problem with that.

In regard to issue 2, I don't see a problem.

Either the UA "understands" the particular MIME type or not.
    If it does, the UA checks for Content-Disposition.
        If Content-Disposition is present, the disp-type determines the
            handling.
        If Content-Disposition is not present, UA uses the default handling for
            the MIME type.
    If it does not, the UA checks whether handling=optional is present.
        If it is present, the UA ignores the body part.
        If it is not present, the UA rejects the request.

However, I am assuming that the "default content disposition" is purely
a disp-type (i.e., render, session, etc.), and does not include a
handling-param.

Dale

---

From: Christer Holmberg <[email-masked]>
Date: Thu, 3 Dec 2015 14:54:48 +0000

Hi Dale,

Regarding issue 2, the problem is that all MIME types do not define a default disposition type value.

Regards,

Christer

Sent from my Windows Phone
________________________________
From: Dale R. Worley<mailto:[email-masked]>
Sent: ‎03/‎12/‎2015 16:36
To: Christer Holmberg<mailto:[email-masked]>
Cc: [email-masked]<mailto:[email-masked]>; [email-masked]<mailto:[email-masked]>
Subject: Re: [sipcore] Content-Disposition questions - errata suggestion

Dale

---

From: Paul Kyzivat <[email-masked]>
Date: Thu, 3 Dec 2015 10:34:19 -0500

On 12/3/15 9:36 AM, Dale R. Worley wrote:
> intention was.

Agree, except see below.

> The biggest change is changing SHOULD to MUST, but I

I'm undecided on that, and would like to discuss.

Right now, if C-D is present, but 'handling' is missing then "required" 
*SHOULD* be assumed. That of course begs the question of when it would 
be appropriate to ignore the SHOULD.

If there are any valid reasons, then ISTM that they would probably also 
apply when the C-D is missing.

So the real question is what, if any, conditions justify violating the 
SHOULD?

> a disp-type (i.e., render, session, etc.), and does not include a

I think I agree. The alternative would be that the default disposition 
for a mime type includes a default for the handling value. (That might 
be a reason for SHOULD rather than MUST above.)

But that is nonsense. To know the default disposition for a mime type 
you must understand the mime type. And if you understand it, then the 
handling parameter is irrelevant to you.

We may need to investigate the history of this parameter to understand 
the intent. I was thinking it went back to MIME. But after cursory 
searching, the earliest reference I have found is in RFC3204. That 
predates 3261. It doesn't say SHOULD. Rather, it says:

    If the handling parameter is missing, the value "required" is to be
    assumed.

That isn't normative, but it sounds like MUST.

	Thanks,
	Paul

---

From: Christer Holmberg <[email-masked]>
Date: Thu, 3 Dec 2015 16:38:58 +0000

Hi Paul,

Möte that issue 2) is not about the handling parameter, but the content disposition type (e.g. session, render etc).

Regards,

Christer

Sent from my Windows Phone
________________________________
From: Paul Kyzivat<mailto:[email-masked]>
Sent: ‎03/‎12/‎2015 17:34
To: Dale R. Worley<mailto:[email-masked]>; Christer Holmberg<mailto:[email-masked]>
Cc: [email-masked]<mailto:[email-masked]>
Subject: Re: [sipcore] Content-Disposition questions - errata suggestion

Agree, except see below.

        Thanks,
        Paul