Re: [MEDIACTRL] ISSUE 4 - IVR Package - <record> append

Lorenzo Miniero <lorenzo@meetecho.com> Fri, 08 October 2010 11:13 UTC

Return-Path: <lorenzo@meetecho.com>
X-Original-To: mediactrl@core3.amsl.com
Delivered-To: mediactrl@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 2319F3A6880 for <mediactrl@core3.amsl.com>; Fri, 8 Oct 2010 04:13:03 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -0.569
X-Spam-Level:
X-Spam-Status: No, score=-0.569 tagged_above=-999 required=5 tests=[AWL=-0.150, BAYES_00=-2.599, HELO_EQ_IT=0.635, HOST_EQ_IT=1.245, MIME_8BIT_HEADER=0.3]
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 Oz2RZ5jmWcOD for <mediactrl@core3.amsl.com>; Fri, 8 Oct 2010 04:13:01 -0700 (PDT)
Received: from smtplq01.aruba.it (smtplq-out5.aruba.it [62.149.158.25]) by core3.amsl.com (Postfix) with SMTP id D892E3A6864 for <mediactrl@ietf.org>; Fri, 8 Oct 2010 04:13:00 -0700 (PDT)
Received: (qmail 14884 invoked by uid 89); 8 Oct 2010 11:14:03 -0000
Received: from unknown (HELO smtp8.aruba.it) (62.149.128.201) by smtplq01.aruba.it with SMTP; 8 Oct 2010 11:14:03 -0000
Received: (qmail 16953 invoked by uid 89); 8 Oct 2010 11:14:03 -0000
Received: from unknown (HELO lminiero-acer) (lorenzo@meetecho.com@143.225.229.172) by smtp8.ad.aruba.it with SMTP; 8 Oct 2010 11:14:03 -0000
Date: Fri, 8 Oct 2010 13:11:35 +0200
From: Lorenzo Miniero <lorenzo@meetecho.com>
To: =?ISO-8859-1?Q?St=E9phane?= Bastien <stephane@broadsoft.com>
Message-Id: <20101008131135.aa132047.lorenzo@meetecho.com>
In-Reply-To: <21866C7FE177A4449B9136B5B24B1B13052A10605C@EXMBXCLUS01.citservers.local>
References: <C8D3D9CA.9524%Scott.McGlashan@hp.com> <21866C7FE177A4449B9136B5B24B1B13052A10605C@EXMBXCLUS01.citservers.local>
Organization: Meetecho
X-Mailer: Sylpheed 2.6.0 (GTK+ 2.16.6; i586-redhat-linux-gnu)
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable
X-Spam-Rating: smtp8.ad.aruba.it 1.6.2 0/1000/N
X-Spam-Rating: smtplq01.aruba.it 1.6.2 0/1000/N
Cc: Melnikov Alexey <alexey.melnikov@isode.com>, "draft-ietf-mediactrl-ivr-control-package@tools.ietf.org" <draft-ietf-mediactrl-ivr-control-package@tools.ietf.org>, "mediactrl-chairs@tools.ietf.org" <mediactrl-chairs@tools.ietf.org>, "mediactrl@ietf.org" <mediactrl@ietf.org>
Subject: Re: [MEDIACTRL] ISSUE 4 - IVR Package - <record> append
X-BeenThere: mediactrl@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: Media Control WG Discussion List <mediactrl.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/mediactrl>, <mailto:mediactrl-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/mediactrl>
List-Post: <mailto:mediactrl@ietf.org>
List-Help: <mailto:mediactrl-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/mediactrl>, <mailto:mediactrl-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 08 Oct 2010 11:13:03 -0000

I agree with Stephane, appending to a media file is not like appending
text and so a "brutal" POST might result in a corrupted file.

That said, I think append is a very useful functionality and would like
to keep it: why not clarify that the mechanism used for appending is
implementation specific? I doubt the same recorded media will be used
by different MS implementations at the same time.

L.


On Thu, 7 Oct 2010 11:25:33 -0700
Stéphane Bastien <stephane@broadsoft.com> wrote:

> Hi,
> 
> We use extensively the append attribute. We implemented this behavior:
> 
> 1. append=false: Use HTTP PUT to overwrite the content of the URL after the recording is completed.
> 
> 2. append=true: 
> 	a) Perform an HTTP GET on the URL
>       b) Record new audio/video
>       c) Append the new audio/video to the media file that was downloaded in step a)
>       d) Perform an HTTP PUT to overwrite the old URL with the new media file.
> 
> Note that our implementation also matches the behavior expected for a media file stored on the local filesystem and accessed using the URI file://.
> 
> I do not agree with the proposal to enforce the usage of HTTP POST if append=true; because it makes the assumption that the remote HTTP server can append audio/video to an existing media file. The Media Server already knows how to handle audio tracks and video tracks, duplicating this functionality in the remote HTTP server seems counterproductive.
> 
> Stephane
> 
> 
> -----Original Message-----
> From: mediactrl-bounces@ietf.org [mailto:mediactrl-bounces@ietf.org] On Behalf Of McGlashan, Scott
> Sent: 7 octobre 2010 14:11
> To: mediactrl@ietf.org
> Cc: Melnikov Alexey; mediactrl-chairs@tools.ietf.org; draft-ietf-mediactrl-ivr-control-package@tools.ietf.org
> Subject: [MEDIACTRL] ISSUE 4 - IVR Package - <record> append
> 
> Fourth (and final I think) issue for mailing list discussion following IESG review of the IVR package:
> 
> In 4.3.1.4:
> 
>    append:  indicates whether recorded data is appended or not to a
>       recording location if a resource already exists.  A valid value is
>       a boolean (see Section 4.6.1).  A value of true indicates that
>       recorded data is appended to the existing resource at a recording
>       location.  A value of false indicates that recorded data is to
>       overwrite the existing resource.  The attribute is optional.  The
>       default value is false.
> 
> How is append/overwrite mapped to underlying protocol being used?
> In particular, I think this is underspecified in case of HTTP.
> 
> This is a good point and we don't say anything about how to map record upload to the underlying protocol. Since we mandated HTTP (and HTTPS), I'd prefer if we specify a mapping to HTTP. I'd propose something like:
> 
> When a recording location is specified using the HTTP or HTTPS protocol, the recording operation is mapped to the HTTP POST and PUT operations depending on whether the append attribute is true or false:
> 
> 1. append = false. The recording data is uploaded to the specified location using HTTP PUT and replaces any data that location on the origin server. Success if the origin server returns 201 (Created); any other HTTP response is treated as an upload error.
> 
> 
> 2. append = true. The recording data is uploaded to the specified location using HTTP POST and is added to the resource - if any - at that location. Success if the origin server returns 204 (No Content) or 205 (Reset Content); any other HTTP response is treated as an upload error.
> 
> Let me know if you think this is along the right lines - any improvements (or other implementation experiences) welcome.  The other alternative is to delete the append attribute - especially if  no-one implements it .. If we do decide to delete the append attribute, I still think some text around the HTTP protocol mapping is useful.
> 
> Thanks
> 
> Scott
> _______________________________________________
> MEDIACTRL mailing list
> MEDIACTRL@ietf.org
> https://www.ietf.org/mailman/listinfo/mediactrl
> Supplemental Web Site:
> http://www.standardstrack.com/ietf/mediactrl
> _______________________________________________
> MEDIACTRL mailing list
> MEDIACTRL@ietf.org
> https://www.ietf.org/mailman/listinfo/mediactrl
> Supplemental Web Site:
> http://www.standardstrack.com/ietf/mediactrl


-- 
Lorenzo Miniero
Meetecho s.r.l.
http://www.meetecho.com