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

Victor Paulsamy <vpaulsamy@ditechnetworks.com> Sat, 09 October 2010 00:08 UTC

Return-Path: <vpaulsamy@ditechnetworks.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 231BE3A698A for <mediactrl@core3.amsl.com>; Fri, 8 Oct 2010 17:08:39 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.975
X-Spam-Level:
X-Spam-Status: No, score=-1.975 tagged_above=-999 required=5 tests=[AWL=-0.000, BAYES_00=-2.599, FM_FORGED_GMAIL=0.622, HTML_MESSAGE=0.001, NORMAL_HTTP_TO_IP=0.001]
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 dYnXj8QIZQPj for <mediactrl@core3.amsl.com>; Fri, 8 Oct 2010 17:08:37 -0700 (PDT)
Received: from mail-ew0-f44.google.com (mail-ew0-f44.google.com [209.85.215.44]) by core3.amsl.com (Postfix) with ESMTP id 8FF6F3A697F for <mediactrl@ietf.org>; Fri, 8 Oct 2010 17:08:36 -0700 (PDT)
Received: by ewy6 with SMTP id 6so140549ewy.31 for <mediactrl@ietf.org>; Fri, 08 Oct 2010 17:09:41 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.213.108.146 with SMTP id f18mr423228ebp.22.1286582979904; Fri, 08 Oct 2010 17:09:39 -0700 (PDT)
Received: by 10.213.28.73 with HTTP; Fri, 8 Oct 2010 17:09:39 -0700 (PDT)
In-Reply-To: <20101008131135.aa132047.lorenzo@meetecho.com>
References: <C8D3D9CA.9524%Scott.McGlashan@hp.com> <21866C7FE177A4449B9136B5B24B1B13052A10605C@EXMBXCLUS01.citservers.local> <20101008131135.aa132047.lorenzo@meetecho.com>
Date: Sat, 09 Oct 2010 07:09:39 +0700
Message-ID: <AANLkTi=RV4nRva-CjXn7gMY7wcAr6K6Jm3yzrNnpPXKh@mail.gmail.com>
From: Victor Paulsamy <vpaulsamy@ditechnetworks.com>
To: Lorenzo Miniero <lorenzo@meetecho.com>
Content-Type: multipart/alternative; boundary="0015174c42b87dc477049223f1c2"
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: Sat, 09 Oct 2010 00:08:39 -0000

2010/10/8 Lorenzo Miniero <lorenzo@meetecho.com>

> 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.
>
>
Are you anticipating corruption or have you encountered it?

In my testing, during the last 8-months or so, append works like a charm --
even under load; I'm yet to run into recorded media corruption. We download
files only for playback. Recorded media are transferred to remote (HTTP or
NFS) storage, in chunks of about 40-ms audio, without storing it onboard
(append is heavily used.)

However, I'm not against leaving the append mechanism to implementers.

--victor

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
> _______________________________________________
> MEDIACTRL mailing list
> MEDIACTRL@ietf.org
> https://www.ietf.org/mailman/listinfo/mediactrl
> Supplemental Web Site:
> http://www.standardstrack.com/ietf/mediactrl
>