Re: [siprec] Review of draft-yan-siprec-msrp-recording-02

Paul Kyzivat <pkyzivat@alum.mit.edu> Tue, 11 November 2014 10:25 UTC

Return-Path: <pkyzivat@alum.mit.edu>
X-Original-To: siprec@ietfa.amsl.com
Delivered-To: siprec@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 04A431AD361 for <siprec@ietfa.amsl.com>; Tue, 11 Nov 2014 02:25:49 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.235
X-Spam-Level:
X-Spam-Status: No, score=-1.235 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, SPF_SOFTFAIL=0.665] autolearn=no
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id VMjiWPCCDxcM for <siprec@ietfa.amsl.com>; Tue, 11 Nov 2014 02:25:46 -0800 (PST)
Received: from resqmta-po-11v.sys.comcast.net (resqmta-po-11v.sys.comcast.net [IPv6:2001:558:fe16:19:96:114:154:170]) (using TLSv1.2 with cipher DHE-RSA-AES128-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 9E5E61A891F for <siprec@ietf.org>; Tue, 11 Nov 2014 02:25:46 -0800 (PST)
Received: from resomta-po-02v.sys.comcast.net ([96.114.154.226]) by resqmta-po-11v.sys.comcast.net with comcast id EARj1p0034tLnxL01ARmx5; Tue, 11 Nov 2014 10:25:46 +0000
Received: from dhcp-8e26.meeting.ietf.org ([31.133.142.38]) by resomta-po-02v.sys.comcast.net with comcast id EAPa1p00E0punKz01APeyM; Tue, 11 Nov 2014 10:23:44 +0000
Message-ID: <5461E3A6.70908@alum.mit.edu>
Date: Tue, 11 Nov 2014 00:23:34 -1000
From: Paul Kyzivat <pkyzivat@alum.mit.edu>
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.7; rv:24.0) Gecko/20100101 Thunderbird/24.6.0
MIME-Version: 1.0
To: siprec@ietf.org
References: <4B3CA328-9554-4044-8D75-C411385C7E79@brianrosen.net>
In-Reply-To: <4B3CA328-9554-4044-8D75-C411385C7E79@brianrosen.net>
Content-Type: text/plain; charset="windows-1252"; format="flowed"
Content-Transfer-Encoding: 8bit
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=comcast.net; s=q20140121; t=1415701546; bh=eo5w2o6sb4UqQCCqjmbdA0iJds3w3+xtOjhXudDM8T4=; h=Received:Received:Message-ID:Date:From:MIME-Version:To:Subject: Content-Type; b=rasxH8HC8RxJMlLkpVpzbXFc1rcE+BVfmktezkP4ClG91muEFch/C8qT4AFp2ZNIb DHrem5iyNTZPSUhSDCsI1fIOnkYDRDwwaIkHHpGF2uqcJRr5hRoZNo4TBd69zoOrTH BilOat8tFAMh9HH4WwDOFuA0kbMrR2QDckHydvqZy69Ig0ryjusL1oXdLFuPtpB/ij 9vUSisUANXu5vPdLu+hymp4rhtiSIJYU2/dHHd1nQR5vVP9pV0liiJfek56gqv+9Ql 5X1JczVbZEgJoXggZUlt6ZC57jWXqOditRmHUZqTNEymQZOes1zSgm5hw3mdCNxjTv cndUOJvI536jQ==
Archived-At: http://mailarchive.ietf.org/arch/msg/siprec/CkFVM4ZDMWP9d-Vw2kXQU3rTbyo
Subject: Re: [siprec] Review of draft-yan-siprec-msrp-recording-02
X-BeenThere: siprec@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: SIP Recording Working Group Discussion List <siprec.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/siprec>, <mailto:siprec-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/siprec/>
List-Post: <mailto:siprec@ietf.org>
List-Help: <mailto:siprec-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/siprec>, <mailto:siprec-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 11 Nov 2014 10:25:49 -0000

On 11/10/14 9:06 PM, Brian Rosen wrote:
> I have reviewed -02 and have the following comments

Thanks. Obviously this draft *needed* a review!

> 1. I don’t see value in multiplexing separate CSs in one RS.  We don’t
> do that for other media, we need completely separate metadata, and
> generally I don’t think session state is very meaningful.  The
> applications I have in mind would not see any significant advantage and
> the complexity I think outweighs it.  I could imagine a large investment
> company needing a huge number of sessions and maybe they would think it
> was worth it.

I brought it up because I was uncertain. I'll take your comment as one 
data point.

The advantage is that you need less MSRP sessions on the RS.

There is an analogy to audio/video: we do allow a single RS media 
session to be multiplexed *serially* for multiple CS media sessions. 
This mechanism for MSRP could be used that way.

> 2. In section 3.1 it says “If the MSRP client/SRC is aware the MSRP
> session needs to be
>
>     recorded, it can initiate the establishment of a SIP RS by sending an
>     INVITE to SRS, or vice-versa.”“or vice-versa” is confusing as is.  The SRS would have to either have knowledge of the CS or set up the RS in advance of a CS.
>
> Please expand this sentence (or maybe refer to another doc that explains how an SRS can initiate the RS.

This is unchanged from -01, but I agree it is messed up and needs to be 
reworked.

> 3. Just beyond that, the text says“is responsible” (2 places).  Should that be a normative MUST?

Same comment as above.

> 4. In Section 4, it says “If the SRC mixes
>
>     MSRP media from multiple senders, then each message that isn't
>     already in CPIM format SHOULD be embedded in a CPIM message, and the
>     From and To headers of that CPIM wrapper SHOULD identify the sending
>     and receiving participants for that message.
>
>
>   Is SHOULD correct?  What circumstance would it not CPIM wrap?

I screwed up here. The text is unchanged from -01, but it should have 
been changed. This comment is wrong - the new wrapper type replaces this.

> 5. The last paragraph in Section 6 is replicated from Section 5.  Do we need that?

Yet another thing that was wrong in -01. :-(

> 6. In Section 8, I think it’s MUST.  Can’t come up with a reason why it shouldn’t do that.

I was thinking there might be an SRC that has a policy of not disclosing 
this. But I'm not sure why. But in general I think an SRC should be 
allowed to censor as much as it wants.

> 7. Re the note about prefixes in the extension.  Even if it doesn’t require them, it seems to me that it’s helpful here, so I think you can just do it and not question it.

I was mostly not sure if I fully understood how the extension mechanism 
was intended to be used. It just needs a bit more research to be sure it 
is being done right.

> 8. In Section 10.1 it says “The 'drop' token indicates that the content of a SEND message in the
>
>     CS is not being sent to the RS for recording.
>
>
> This confused me.  There wouldn’t be a body in this case, right?  This is the case where the SRS doesn’t support, say file transfer, and we’re recording that fact  Seems like we need more text here, perhaps just a reference to Section 11.2.

This message gets used in multiple circumstances. If a CS message is 
being dropped because the SRS doesn't want that type, then yes, there 
will be no body from the CS message. The MSRP message on the RS will 
still have the "wrapper" body, but it won't be wrapping anything. All 
the info will be in the wrapper headers.

> 9. Since the SRC can reassemble a fragmented message, it can also fragment it.  Therefore, it may be able to not drop a large message on the CS by fragmenting on the RS.  The text in 11.2 doesn’t cover that, and probably should be explicitly noted elsewhere.

The negotiated size is not the limit on *fragments* - it is a limit on 
the unfragmented message.

One challenge is that when the SRC receives the first fragment it may 
not be able to tell how big the complete message will be. (That info is 
optional.) So it may send one or a few fragments before it discovers 
that the message in total will be too big. At *that* time it sends a 
drop message.

> 10. I don’t think this text:
>
> When a 'drop' message is sent:
>
>     o  it MUST be terminated with a continuation-flag of "#";
>
>
> is correct.  I think that is only true if the SRC sent a prior fragment.  You are telling me that if you were fragmenting, and you dropped, that that is the end of the message,
>
> so we ended continuatiuon.  Fine, but that’s only if you were fragmenting.

Yeah, this needs a bit more work. If some fragments have been sent, and 
then the SRC discovers the message is too big, it can't send the drop as 
part of the fragmented message. It needs to send a last (empty?) 
fragment with a "#", and *then* it can send a drop message with the same 
rs.Message-ID. And then the drop message can end with "$".

> 11. I don’t know why SHOULD is not MUST in 11.3

In some sense they are redundant, since the nickname is sent to the SRS 
in the wrapper with each message. It might be interesting for the SRS to 
see the requests for nicknames, and especially denials of those. But it 
the general spirit of giving the SRC discretion, I thought it can be 
allowed to drop based on policy.

> 12. Generally, I think the recording should record failures at the SRC, so I think we need a way to record them, and I don’t think they are optional (assuming its a CS error).

I would expect that would be the normal case. I just can't think of a 
strong reason to *insist* that the SRC do so.

	Thanks,
	Paul