[dispatch] Comments on draft-jain-dispatch-session-recording-protocol-req-00

Alan Johnston <alan@sipstation.com> Fri, 24 July 2009 18:29 UTC

Return-Path: <alan@sipstation.com>
X-Original-To: dispatch@core3.amsl.com
Delivered-To: dispatch@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 42DA23A6880 for <dispatch@core3.amsl.com>; Fri, 24 Jul 2009 11:29:01 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.499
X-Spam-Level:
X-Spam-Status: No, score=-2.499 tagged_above=-999 required=5 tests=[AWL=0.100, BAYES_00=-2.599]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id TewPkSYNUdYw for <dispatch@core3.amsl.com>; Fri, 24 Jul 2009 11:29:00 -0700 (PDT)
Received: from mho-02-ewr.mailhop.org (mho-02-ewr.mailhop.org [204.13.248.72]) by core3.amsl.com (Postfix) with ESMTP id 236C83A6813 for <dispatch@ietf.org>; Fri, 24 Jul 2009 11:29:00 -0700 (PDT)
Received: from 24-107-145-15.dhcp.stls.mo.charter.com ([24.107.145.15] helo=aidan-DS.sipserver.homeip.net) by mho-02-ewr.mailhop.org with esmtpsa (TLSv1:AES256-SHA:256) (Exim 4.68) (envelope-from <alan@sipstation.com>) id 1MUPVs-000Hft-6y for dispatch@ietf.org; Fri, 24 Jul 2009 18:29:00 +0000
X-Mail-Handler: MailHop Outbound by DynDNS
X-Originating-IP: 24.107.145.15
X-Report-Abuse-To: abuse@dyndns.com (see http://www.dyndns.com/services/mailhop/outbound_abuse.html for abuse reporting information)
X-MHO-User: U2FsdGVkX1/5L0yIbhUGL892TowWu6czi7oY2xWtIKk=
Message-ID: <4A69FD6A.4020205@sipstation.com>
Date: Fri, 24 Jul 2009 13:28:58 -0500
From: Alan Johnston <alan@sipstation.com>
User-Agent: Thunderbird 2.0.0.22 (Macintosh/20090605)
MIME-Version: 1.0
To: "dispatch@ietf.org" <dispatch@ietf.org>
Content-Type: text/plain; charset="ISO-8859-1"; format="flowed"
Content-Transfer-Encoding: 7bit
Subject: [dispatch] Comments on draft-jain-dispatch-session-recording-protocol-req-00
X-BeenThere: dispatch@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: DISPATCH Working Group Mail List <dispatch.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/dispatch>, <mailto:dispatch-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/dispatch>
List-Post: <mailto:dispatch@ietf.org>
List-Help: <mailto:dispatch-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/dispatch>, <mailto:dispatch-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 24 Jul 2009 18:29:01 -0000

Here are my comments on this draft.

Overall, I think this draft is an excellent start at the requirements 
for this important topic.  I look forward to future discussions of 
charter text so we can get started on the work.

Section 2:

"  Another, related IETF draft is draft-wing-sipping-srtp-key
   [I-D.wing-sipping-srtp-key], which describes an approach for
   providing SRTP session keys to a recorder-type server.  That draft
   focuses on the mechanism to provide the SRTP session key, rather than
   the mechanism to invoke and sustain recording sessions themselves."

draft-wing-sipping-srtp-key actually has a lot of discussion, including 
call flows showing how recording sessions can be established.  Also, 
this document has four recording modes discussed, which I think should 
be discussed in this document.  Two are mentioned without really 
explaining them, and two others are implied by various requirements.

Section 3:

" Recording Session: The session created between an RC and RS for the
   purpose of recording a Recorded Session.  The Recorded Session may
   itself be based on SIP, but it is a separate session from the
   Recording Session.

   Recorded Session: A session created between a UAC and UAS that is
   recorded by the RC and RS systems."


These two terms only differ by their tense, yet I think one refers to a 
signaling session and the other refers to a media session.  If so, 
better terms and definitions are needed.  If not, we need a term for the 
actual recorded media.  Also, there are (at least) two sessions here - 
the one between the UAs and the Recording Session - in a few places I 
suspect the two are being confused. 

"  Dynamic Recording: Dynamic recording is a mode of recording where the
   recording sessions are established on an as needed basis.  The length
   of these sessions is typically same as the length of the actual media
   sessions.

   Persistent Recording: Persistent recording is a mode of recording
   where the recording sessions are established at system start-up and
   kept-alive from that point on.  The length of these sessions is
   independent from the length of the actual recorded media sessions.
   Persistent recording sessions avoid issues such as media clipping
   that can occur due to delays in recording session establishment."

These terms need more explanation as I can think of multiple things they 
might mean.  For example, when you say "session" do you mean a signaling 
session or media session?  When you talk about avoiding media clipping, 
do you mean that media is always sent by the RC to the RS regardless of 
whether there is any media? 

Figures could use Figure numbers and labels.  Also, it would be worth 
showing which is the RC and which is the RS in them.

Section 5

"   o REQ-001 The mechanism MUST support the ability to perform
   persistent (always-on) or dynamic (on-demand) Recording Sessions."

I'm not sure that the Persistent and Dynamic Recording as defined above 
correspond to the Always On and On Demand modes defined in 
http://tools.ietf.org/html/draft-wing-sipping-srtp-key-04#section-4.

"   o REQ-002 The mechanism MUST support the ability to perform
   persistent Recording Sessions, such that the connection and
   attributes of media in the Recording Session are not dynamically
   signaled for each Recorded Session before it can be recorded.  Call
   details and metadata will still be signaled, but can be post-
   correlated to the recorded media.  There will still need to be a
   means of correlating the recorded media connection/packets to the
   Recorded Session, however this may be on a permanent filter-type
   basis, such as based on a SIP AoR of an agent that is always
   recorded, or based on identifiers in the recorded media itself."


Without fully understanding Persistent Recording, I can't evaluate this 
requirement. 

"   o REQ-009 The mechanism MUST support the ability to deliver mixed
   media streams to the RS.  The RS MAY be informed about the
   composition of the mixed streams through session metadata.

   Note: A mixed media stream is where several recorded sessions are
   carried in a single recording session.  A mixed media stream is
   typically produced by a mixer function."


I'm not clear what mixed media means here - does it mean a mix of media 
types - synchronized audio and video from the same session, or do you 
mean multiple media streams from different sessions?  The note seems to 
indicate that this relates only to a conference call where multiple 
sources (SSRCs) have been combined into a single RTP session.

"   o REQ-013 The mechanism MUST support the ability to inject tones into
   the Recorded Session either from the RS or from the RC."

Recorded Session seems to be defined as the media between the RC and 
RS.  Is that where the injected tones should be?  Or should then be 
mixed in the media between the two UAs?

"   o REQ-021 The mechanism MUST support the ability for the RC to only
   perform media replication to the RS, without needing to decode or mix
   audio/video/etc., and without needing to be an RTP agent.  This will
   allow the RC to replicate media at layers below RTP.  Clearly, such
   an RC mode would not be able to provide transcoding, or media
   injection from the RS back into the Recorded Session."

Does this mean that you think that RTP is unsuitable for transporting 
media between the RS and RC?  Clearly it isn't for IM, but I would think 
that many of the functions of RTP are needed for audio and video media.  
To understand this requirement will take more discussion.

Thanks,
Alan