Re: Fwd: Re: Adrian Farrel's Discuss on draft-ietf-simple-chat-16: (with DISCUSS and COMMENT)

"Miguel A. Garcia" <[email protected]> Wed, 5 Sep 2012 09:15:48 +0200
Newsgroups gmane.ietf.simple
Message-ID <[email protected]>
Hi Ben,

Thanks for your comments

On 04/09/2012 16:26, Ben Campbell wrote:
> (As individual)
>
> Hi,
>
> I agree with Miguel's responses except as noted inline
>
> Thanks!
>
> Ben.
>
> On Sep 4, 2012, at 8:35 AM, "Miguel A. Garcia"
> <[email protected]> wrote:
>>
>>>
>>> ---
>>>
>>> Section 6.1
>>>
>>> An MSRP switch that uses this fast forwarding procedure MUST
>>> temporarily store the Message-Id of the MSRP message to correlate
>>> the different chunks, as well as it MUST temporarily store the
>>> list of recipients to which the initial chunks were delivered.
>>>
>>> The motivaiton is clear. I think you could add that the storage
>>> can be released when the last chunk is seen. But what happens when
>>> the last chunk is not seen (or delayed)? How temporary is the
>>> storage, and how is it released?
>>
>> Yes, we can add that the temporary storage is released when the
>> last chunk is seen or after a reasonable time passes.
>
> The "how long to wait for a chunk" problem is no different than for
> any other endpoint, is it, other than possibly differences of scale? I
> suggest we refer back to 4975 for this, with the possible note to the
> effect of "This is no different than for any MSRP endpoint that
> receives a chunked message. However, since a conference switch will
> typically participate many sessions at one time, storage management
> may be more critical"


I would like to include a reference to the section in RFC 4975 that 
discusses this topic. I guess it is Section 5.3, when it discusses what 
happens if a transport connection fails.

>
>>>
>>> Or do we assume that because MSRP uses TCP (or similar) that loss
>>> will always be accompanied by connection failure and so that is
>>> the only trigger needed to abandon temporary storage?
>>
>> Yes, on one side, the assumption is that if a last chunk is not seen
>> is because there has been a transport failure. Since TCP is used,
>> then the TCP connection was broken, and is in the process of being
>> re-established. I am more concerned about what happens if the last
>> chunk is not seen at all, I am not sure the state the MSRP session
>> will be, even if the connection is re-established.
>
> Keep in mind there could be an MSRP relay between the sender and the
> switch, so the transport connection may not be direct. But again, this
> is no different than for any other MSRP endpoint.

Exactly. Here we clearly need to refer to Section 5.3 of RFC 4975.

>
>>
>>
>>> ---
>>>
>>> Section 6.1 (trivial nit)
>>>
>>> The SEND request MUST contain a top-level wrapper of type
>>> 'Message/ CPIM' according to RFC 3862 [RFC3862].  The actual
>>> instant message payload MUST be included as payload of the
>>> 'Message/CPIM' wrapper and MAY be of any type negotiated in the
>>> SDP 'accept-types' attribute according to the MSRP rules.
>>>
>>> I think s/MAY/may/. That is, a type must be set, and the type must
>>> be only one of those that has been negotiated.
>>>
>>>
>>
>> I think this MAY should actually be a MUST, because as you said, a
>> types must be said, and this type cannot be anyone, but it MUST be
>> one of those negotiated.
>
> This is already mandated in RFC4975 (as you go on to say...). The only
> thing new is the normative requirement for a particular wrapper type.
> It might be worth commenting that this is accomplished by putting only
> Message/CPIM in accept-types, and all allowed leaf types in
> accept-wrapped-types.

Ok, we can clarify it. Actually, we do not mention what can go in an 
accept-wrapped-types, because it was obvious that any type can go in. But 
it might be worth adding some explicit mention to it.

>
>>
>> I like the "according to the MSRP rules", as a mechanism to indicate
>> that we are not mandating something new, but just copying what MSRP
>> mandates.
>>
>
> ... in which case it should be stated descriptively, not normatively.

Hmmm, that is true. I suggest to move away from MUST/MAY/must/may. I 
think the text ought to say: "According to RFC 4975, the endpoint needs 
to  ...". This is makes it clear, and we do not over-specify.

/Miguel
-- 
Miguel A. Garcia
+34-91-339-3608
Ericsson Spain