Re: [MMUSIC] RTSP for data recorder design

Paul Kyzivat <pkyzivat@alum.mit.edu> Thu, 08 August 2013 19:00 UTC

Return-Path: <pkyzivat@alum.mit.edu>
X-Original-To: mmusic@ietfa.amsl.com
Delivered-To: mmusic@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 5356811E823C for <mmusic@ietfa.amsl.com>; Thu, 8 Aug 2013 12:00:50 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: 0.865
X-Spam-Level:
X-Spam-Status: No, score=0.865 tagged_above=-999 required=5 tests=[AWL=-1.098, BAYES_00=-2.599, FH_RELAY_NODNS=1.451, HELO_MISMATCH_NET=0.611, J_CHICKENPOX_12=0.6, J_CHICKENPOX_16=0.6, J_CHICKENPOX_17=0.6, J_CHICKENPOX_18=0.6, RDNS_NONE=0.1]
Received: from mail.ietf.org ([12.22.58.30]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 6iaibsMUBMLD for <mmusic@ietfa.amsl.com>; Thu, 8 Aug 2013 12:00:45 -0700 (PDT)
Received: from qmta08.westchester.pa.mail.comcast.net (qmta08.westchester.pa.mail.comcast.net [IPv6:2001:558:fe14:43:76:96:62:80]) by ietfa.amsl.com (Postfix) with ESMTP id D281811E8225 for <mmusic@ietf.org>; Thu, 8 Aug 2013 12:00:26 -0700 (PDT)
Received: from omta17.westchester.pa.mail.comcast.net ([76.96.62.89]) by qmta08.westchester.pa.mail.comcast.net with comcast id ADgH1m0041vXlb858K0Hvi; Thu, 08 Aug 2013 19:00:17 +0000
Received: from Paul-Kyzivats-MacBook-Pro.local ([50.138.229.164]) by omta17.westchester.pa.mail.comcast.net with comcast id AK0G1m01C3ZTu2S3dK0G5h; Thu, 08 Aug 2013 19:00:17 +0000
Message-ID: <5203EABF.2080907@alum.mit.edu>
Date: Thu, 08 Aug 2013 21:00:15 +0200
From: Paul Kyzivat <pkyzivat@alum.mit.edu>
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.7; rv:17.0) Gecko/20130801 Thunderbird/17.0.8
MIME-Version: 1.0
To: mmusic@ietf.org
References: <862F245D-0795-48E1-8D5A-FEA6A0792D44@swri.org>
In-Reply-To: <862F245D-0795-48E1-8D5A-FEA6A0792D44@swri.org>
Content-Type: text/plain; charset="ISO-8859-1"; format="flowed"
Content-Transfer-Encoding: 7bit
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=comcast.net; s=q20121106; t=1375988417; bh=yIiblsx0zUUsTAEzBIOwnCjl03MtpLEi1vFFt6712Jg=; h=Received:Received:Message-ID:Date:From:MIME-Version:To:Subject: Content-Type; b=L01lbBapLE9IKGsNFrafts1rnyS77vJvfAi3G1Dyw17rXlXt5PtXeIm0BiUnfE84b J6PRgbAbB49+RdLe+2zhnmMyMrcRdaYB6em8EgnFWAAVbPGhmAXHHqr369fRhEk6lJ GDP2JptErs395xYQx1ew+dBpklB3AkIQI6Vod8kaLDbV350ZPkuS8e2DRIidRJdHIQ IpxeDMaM/5RIUAoTJwYf61d/0UtcCQqtSR9TjGBZUvuIgnlyvDLWRDBEvkP+ZFBAkv kNUgButwH2XVljAssUJIjfQPb5CD1WsRuk6tltdW4XqyfD+JRwAAyugq8W+B4pUkbj TsUK4EvKzBD4A==
Subject: Re: [MMUSIC] RTSP for data recorder design
X-BeenThere: mmusic@ietf.org
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: Multiparty Multimedia Session Control Working Group <mmusic.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/mmusic>, <mailto:mmusic-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/mmusic>
List-Post: <mailto:mmusic@ietf.org>
List-Help: <mailto:mmusic-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/mmusic>, <mailto:mmusic-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 08 Aug 2013 19:00:50 -0000

Kase,

Its hard to discern your exact requirements. But you should at least 
look at the work in progress by the siprec workgroup. You can find the 
relevant drafts at:

http://datatracker.ietf.org/wg/siprec/

This may not be what you need, but is worth a look.

	Thanks,
	Paul

On 8/8/13 8:49 PM, Saylor, Kase J. wrote:
> To Whom it may concern,
>
> I am helping the US Army develop standards for a network recorder on US
> Army vehicles. We like to use available standards when at all possible,
> and my research seems to indicate that RTSP would be a great candidate
> standard. I've been poring over the RTSP specification (along with the
> SDP standard) and I have your douce code for LiveMedia. However, I still
> have a few questions concerning the RTSP standard and its use for our
> particular need. It seems like there is plenty of examples on the
> Internet for the PLAY method, but not much for RECORD. I really hope
> that someone may be able to provide some insight that will get me moving
> in the right direction. On to the questions!
>
> Our recorder requires the ability to "nominate" data streams for
> recording, so I believe the correct RTSP method is ANNOUNCE. My first
> question is when I was to add a stream using ANNOUNCE, if I use the same
> Session number for multiple streams, does this basically create a
> presentation? For example:
>
> C->S: ANNOUNCE rtsp://192.168.0.1/mission_recorder RTSP/1.0
>             CSeq: 3
>             Date: 7 Aug 2013 15:35:06 GMT
>             Session: 47112344
>             Content-Type: application/sdp
>             Content-Length: 332
>
>             v=0
>             o=- 2890844526 2890845468 IN IP4 192.168.0.123
>             s=Threat Stream 1
>             i=Threat stream from threat service on the Boomerang
>             c=IN IP4 239.192.0.123/127
>             t=0 0
>             a=unique_id:threat1
>     a=data_type:threat
>             m=message 12345
>
> (some response back from server)
>
> C->S: ANNOUNCE rtsp://192.168.0.1/mission_recorder RTSP/1.0
>             CSeq: 4
>             Date: 7 Aug 2013 15:35:07 GMT
>             Session: 47112344
>             Content-Type: application/sdp
>             Content-Length: 332
>
>             v=0
>             o=- 2890844527 2890845471 IN IP4 192.168.0.123
>             s=Position Stream 1
>             i=Position stream from position service
>             c=IN IP4 239.192.0.124/127
>             t=0 0
>             a=unique_id:pos1
>     a=data_type:position
>             m=message 12346
> (some response back from server)
>
> Based upon these two announce messages, is it safe to assume that the
> following command would cause the recorder to start recording those two
> data streams (assuming the current date/time is 8/4/2013 1530 GMT)?
>
>       C->S: RECORD
> rtsp://192.168.0.1/mission_recorder/20130804T153000Z RTSP/1.0
>             CSeq: 5
>             Content-Type: text/parameters
>             Session: 47112344
>     Range: clock=20130804T153000Z-
>
> Furthermore, would the following command stop the recorder (assuming the
> current date/time is 8/4/2013 1532 GMT)? I didn't see anywhere in the
> RFC for stopping a recording.
>
>       C->S: RECORD
> rtsp://192.168.0.1/mission_recorder/20130804T153000Z RTSP/1.0
>             CSeq: 6
>             Content-Type: text/parameters
>             Session: 47112344
>     Range: clock=- 20130804T153200Z
>
>
> I apologize but I have at least one or two more questions ;-) After
> tearing down a session, how would one go back and playback recorded
> data? From my RECORD example I've assumed that providing a URI with a
> "path" based upon record start time, could be one way to mark recording
> events. Do you think this is an acceptable approach? Then the play
> command would something like:
>
>       C->S: PLAY
> rtsp://192.168.0.1/mission_recorder/20130804T153000Z RTSP/1.0
>             CSeq: 6
>             Content-Type: text/parameters
>             Session: 1234567
>
> I suppose I could specify unique parameters and use the GET_PARAMETER
> method to list the available recordings. Perhaps something like:
>
>       C->S: SETUP rtsp://192.168.0.1/mission_recorder RTSP/1.0
>             CSeq: 1
>     Transport: unicast;client_port=4588-4589
>
>       S->C: RTSP/1.0 200 OK
>             CSeq: 1
>     Date: 5 Aug 2013 11:15:07 GMT
>             Session: 1234567
>             Transport: unicast;client_port=4588-4589;server_port=6256-6257
>
>       C->S: GET_PARAMETER rtsp://192.168.0.1/mission_recorder RTSP/1.0
>             CSeq: 7
>             Content-Type: text/parameters
>             Session: 1234567
>             Content-Length: 15
>
>     list_recorded_data
>
>
>       S->C: RTSP/1.0 200 OK
>             CSeq: 7
>     Date: 5 Aug 2013 11:15:10 GMT
>             Content-Length: 46
>             Content-Type: text/parameters
>
>             list_recorded_data:20130804T153000Z,20130804T213000Z
>
>       C->S: TEARDOWN rtsp://192.168.0.1/mission_recorder RTSP/1.0
>             CSeq: 8
>     Session: 1234567
>
>       S->C: RTSP/1.0 200 OK
>             CSeq: 8
>
>
> Then we'd specify the proper way to interpret the response from the
> server and open up a new RTSP session to playback the recorded data. For
> example:
>
>       C->S: SETUP
> rtsp://192.168.0.1/mission_recorder/20130804T153000Z RTSP/1.0
>             CSeq: 1
>     Transport: multicast;client_port=4588-4589
>
>       S->C: RTSP/1.0 200 OK
>             CSeq: 1
>     Date: 6 Aug 2013 11:15:07 GMT
>             Session: 7654321
>             Transport: multicast;client_port=4588-4589;server_port=6256-6257
>
>       C->S: PLAY
> rtsp://192.168.0.1/mission_recorder/20130804T153000Z RTSP/1.0
>             CSeq: 2
>             Content-Type: text/parameters
>             Session: 7654321
>
>       S->C: RTSP/1.0 200 OK
>             CSeq: 2
>     Date: 6 Aug 2013 11:15:10 GMT
>
> Okay, last question, would the DESCRIBE method for
> rtsp://192.168.0.1/mission_recorder/20130804T153000Z be expected to
> describe the "streams" that were recorded? In other words could the
> following be expected?
>
> C->S: DESCRIBE rtsp://192.168.0.1/mission_recorder/20130804T153000Z RTSP/1.0
>             CSeq: 312
>             Accept: application/sdp, application/rtsl, application/mheg
>
> S->C: RTSP/1.0 200 OK
>             CSeq: 312
>             Date: 7 Aug 2013 15:35:07 GMT
>             Content-Type: application/sdp
>             Content-Length: 332
>
>             v=0
>             o=- 2890844527 2890845471 IN IP4 192.168.0.123
>             s=Position Stream 1
>             i=Threat stream from threat service on the Boomerang
>             c=IN IP4 239.192.0.124/127
>             t=0 0
>             a=unique_id:pos1
>     a=data_type:position
>             m=message 12346
>     s=Position Stream 1
>             i=Position stream from position service
>             c=IN IP4 239.192.0.124/127
>             t=0 0
>             a=unique_id:pos1
>     a=data_type:position
>             m=message 12346
>
> I really have no idea how multiple streams would be described!
>
> Thanks in advance for any help!
> --
> Regards,
>
> Kase Saylor
> Southwest Research Institute
>
>
>
> _______________________________________________
> mmusic mailing list
> mmusic@ietf.org
> https://www.ietf.org/mailman/listinfo/mmusic
>