Re: accept-types [was Re: Fwd: Re: Adrian Farrel's Discuss on draft-ietf-simple-chat-16: (with DISCUSS and COMMENT)]
"Miguel A. Garcia" <[email protected]> Wed, 12 Sep 2012 14:31:57 +0200
| Newsgroups | gmane.ietf.simple |
|---|---|
| Message-ID | <[email protected]> |
Hi Paul:
Thanks for your comments. See inline.
On 10/09/2012 18:00, Paul Kyzivat wrote:
> On 9/10/12 9:20 AM, Miguel A. Garcia wrote:
>> Ben, and the SIMPLE WG:
>>
>> To clarify the usage of accept-types, I propose two paragraphs to
>> Section 5.2 (Joining a chat room). The first paragraph is new and
>> discusses the participant's SDP. Here, I propose not to add normative
>> text mandating the UA to add 'a=accept-types:Message/CPIM' in SDP. The
>> reason is that such normative text would require a mechanism for the UA
>> to know in advance that it is joining a chat room, perhaps by examining
>> the chat room URI. But in general, such mechanism does not exist. The UA
>> will create an INVITE request with SDP, not knowing if at the other end
>> there is a chat room or a regular user. If this SDP contains
>> 'm=message', the attributes included afterwards will be the same, no
>> matter whether the participant is joining a chat room or just another
>> endpoint. Please verify that the proposed words are acceptable:
>> "...needs to include at least...
>>
>> This participant's INVITE request contains an SDP body. This SDP
>
> There are possibilities beyond the one mentioned here:
> - the participant might send an INVITE without an offer.
> - the focus might send the INVITE, with or without an offer.
>
>> body includes the description of MSRP 'message' media line as per RFC
>> 4975 procedures [RFC4975]. This specification requires all instant
>> messages to be wrapped in a Message/CPIM wrapper [RFC3862],
>> therefore, the 'accept-types' attribute for the MSRP message media in
>> the participant's SDP offer needs to include at least the value
>> 'Message/CPIM', otherwise the conference focus will reject the
>> request. The actual instant message payload type is negotiated in
>> the 'accept-wrapped-types' attribute in SDP (see RFC 4975 [RFC4975]
>> for details). There is no default wrapped type. Typical wrapped
>> type values can include: text/plain, text/html, image/jpeg, image/
>> png, audio/mp3, etc. It is RECOMMENDED that participant endpoints
>> add an 'accept-wrapped-types' attribute to the MSRP 'message' media
>> line in SDP, where the supported wrapped types are declared, as per
>> RFC 4975 procedures [RFC4975].
>
> So how about the following instead?
>
> This specification requires all instant
> messages to be wrapped in a Message/CPIM wrapper [RFC3862].
> Therefore the 'accept-types' attribute for the MSRP message media in
> both the SDP offer and answer need to include at least the value
> 'Message/CPIM'. If not, the conference focus will reject the
> request. The actual instant message payload type is negotiated in
> the 'accept-wrapped-types' attribute in SDP (see RFC 4975 [RFC4975]
> for details). There is no default wrapped type. Typical wrapped
> type values can include: text/plain, text/html, image/jpeg, image/
> png, audio/mp3, etc. It is RECOMMENDED that participant endpoints
> add an 'accept-wrapped-types' attribute to the MSRP 'message' media
> line in SDP, where the supported wrapped types are declared, as per
> RFC 4975 procedures [RFC4975].
Your proposed text works for me. I will change it.
>
>> Now, the second paragraph was already present in the previous version,
>> and is now divided into two paragraphs. It tackles the conference focus.
>> I have added text to indicate that the focus must only accept
>> Message/CPIM, and also that the focus should add an
>> 'accept-wrapped-types'. The text reads:
>>
>> The conference focus of a chat room MUST only use a Message/CPIM
>> [RFC3862] top-level wrapper as a payload of MSRP messages, and this
>> needs to be declared in the SDP offer and answer as per regular RFC
>> 4975 procedures [RFC4975]. This implies that if the conference focus
>> receives from a participant's endpoint an SDP offer that does not
>> include the value 'Message/CPIM' in the 'accept-types' attribute for
>> the MSRP message media line, the conference focus SHOULD either
>> reject the MSRP message media stream or the complete SDP offer by
>> using regular SIP or SDP procedures (e.g., creating an SDP answer
>> that sets to zero the port of the MSRP message media line, responding
>> the INVITE with a 488 response, etc.).
>
>> If the conference focus accepts the participant's SDP offer, when the
>> conference focus generates the SDP answer, it MUST set the 'accept-
>> types' attribute for the MSRP message media line to a value of
>> 'Message/CPIM'. This specification requires all instant messages to
>> be wrapped in a Message/CPIM wrapper, therefore, the 'accept-types'
>> attribute in this SDP body contains a single value of 'Message/CPIM'.
>> The actual instant message payload type is negotiated in the 'accept-
>> wrapped-types' attribute in SDP (see RFC 4975 [RFC4975] for details).
>> The conference focus SHOULD also add an 'accept-wrapped-types'
>> attribute to the MSRP message media line in SDP containing the
>> supported wrapped types.
>
> I'm not sure this says quite what you mean either. Couple of issues:
>
> - I guess the intent is that every message sent to/from the focus is
> wrapped in Messsage/CPIM. That is easy for messages *from* the focus.
> But to ensure it for messages *to* the focus I think you are trying
> to say that the SDP *from* the focus must include *only*
> message/CPIM in 'accept-types'. I think the MUST is in the wrong place
> above for that.
Yes, you got the intention of the text. To clarify: SDP sent from the UA
to the focus need to contain Message/CPIM, but most likely, it will
contain something else, because the endpoint does not know it is
connecting to a chat room.
SDP sent from the focus to the UA will only contain an 'accept-types' of
Message/CPIM, in order to force UAs to send only MSRP messages containing
Message/CPIM. Therefore, I believe the following MUST is correct:
If the conference focus accepts the participant's SDP offer, when the
conference focus generates the SDP answer, it MUST set the 'accept-
types' attribute for the MSRP message media line to a value of
'Message/CPIM'.
>
> - I am a little concerned that if you only allow message/CPIM, that you
> will be cutting off a point of extensibility. Some future extension
> may need to add something that requires a new mime type here -
> presumably one that is a functional superset of message/CPIM. But
> a mandatory requirement to include *only* message/CPIM will exclude
> such a future focus from being backward compatible with this spec.
I don't think so. Future extensions will update this draft/RFC. We have
done it this way many times, when some normative text is updated by a
subsequent document. So, I don't believe we are cutting off extensibility.
>
> ISTM that the desired behavior is:
>
> - if focus is the answerer, and the offer doesn't include message/CPIM,
> then it can't support this spec on that m-line. It then MUST either
> reject the m-line, fail the call, or use this m-line in accord with
> some spec other than this one. (E.g. a future extension.)
> If the offer *does* include message/CPIM, and the focus wants to
> use this spec, then it MUST include *only* message/CPIM in
> 'accept-types'.
The above is correct. But I don't want to enter the future extensibility
trap. We should publish normative statements for this document. Future
documents will have to update this done in many places, I guess.
>
> - if the focus is the offerer, and wishes to support this spec, then
> it MUST include message/CPIM in 'accept-types'. It should only
> include other types in 'accept-types' if there are other alternative
> specs is is prepared to support.
Yes, modulo the future extensibility issue.
>
> I don't have alternative text for that. It may be hard to write, and I'm
> not going to try unless the above is really the intent.
So, the text is much easier if you don't consider the future
extensibility now, but leave it as a future exercise. I believe that the
text in the draft is correct (with the modifications you suggested at the
beginning of this message).
BR,
Miguel
>
> Thanks,
> Paul
>
>
>> Please indicate if there are problems with the proposed text.
>>
>> /Miguel
>>
>>
>>
>> On 07/09/2012 10:41, Miguel A. Garcia wrote:
>>> On 06/09/2012 22:12, Ben Campbell wrote:
>>>> But the text talks about the what the conference focus sends, not UAs
>>>> in_general_. If the focus includes anything_other_ than Message/CPIM
>>>> in accept-types, it better be prepared to receive it. Is that the
>>>> intent?
>>>
>>> Ben, I see your point. The conference focus MUST only send an
>>> accept-types of Message/CPIM. There is no reason for using any other
>>> value.
>>>
>>> I will revise this text to make clear the intention.
>>>
>>> BR,
>>>
>>> Miguel
>>
>
> _______________________________________________
> Simple mailing list
> [email protected]
> https://www.ietf.org/mailman/listinfo/simple
>
--
Miguel A. Garcia
+34-91-339-3608
Ericsson Spain