Re: [AVTCORE] Comments on draft-ietf-avtcore-clksrc-03
Magnus Westerlund <magnus.westerlund@ericsson.com> Tue, 23 April 2013 07:23 UTC
Return-Path: <magnus.westerlund@ericsson.com>
X-Original-To: avt@ietfa.amsl.com
Delivered-To: avt@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 055A621F95DB for <avt@ietfa.amsl.com>; Tue, 23 Apr 2013 00:23:16 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -105.662
X-Spam-Level:
X-Spam-Status: No, score=-105.662 tagged_above=-999 required=5 tests=[AWL=-0.369, BAYES_00=-2.599, HELO_EQ_SE=0.35, J_CHICKENPOX_16=0.6, RCVD_IN_DNSWL_MED=-4, SARE_SUB_6CONS_WORD=0.356, USER_IN_WHITELIST=-100]
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 v3XP-0cascyu for <avt@ietfa.amsl.com>; Tue, 23 Apr 2013 00:23:14 -0700 (PDT)
Received: from mailgw2.ericsson.se (mailgw2.ericsson.se [193.180.251.37]) by ietfa.amsl.com (Postfix) with ESMTP id 3B5E121F94DF for <avt@ietf.org>; Tue, 23 Apr 2013 00:23:14 -0700 (PDT)
X-AuditID: c1b4fb25-b7f366d000004d10-07-517636e19d59
Received: from esessmw0191.eemea.ericsson.se (Unknown_Domain [153.88.253.125]) by mailgw2.ericsson.se (Symantec Mail Security) with SMTP id FA.09.19728.1E636715; Tue, 23 Apr 2013 09:23:13 +0200 (CEST)
Received: from [127.0.0.1] (153.88.115.8) by esessmw0191.eemea.ericsson.se (153.88.115.85) with Microsoft SMTP Server id 8.3.279.1; Tue, 23 Apr 2013 09:23:12 +0200
Message-ID: <517636E0.2020607@ericsson.com>
Date: Tue, 23 Apr 2013 09:23:12 +0200
From: Magnus Westerlund <magnus.westerlund@ericsson.com>
User-Agent: Mozilla/5.0 (Windows NT 6.1; rv:17.0) Gecko/20130328 Thunderbird/17.0.5
MIME-Version: 1.0
To: Kevin Gross <kevin.gross@avanw.com>
References: <5163DF09.7050606@ericsson.com> <CALw1_Q08JKDV9W8yCiTa_+thX1NodzUojbrPjTzt4vAR9wKLrw@mail.gmail.com>
In-Reply-To: <CALw1_Q08JKDV9W8yCiTa_+thX1NodzUojbrPjTzt4vAR9wKLrw@mail.gmail.com>
X-Enigmail-Version: 1.5.1
Content-Type: text/plain; charset="ISO-8859-1"
Content-Transfer-Encoding: 8bit
X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFupnluLIzCtJLcpLzFFi42KZGfG3VvehWVmgwfF/IhYve1ayW7w41M7m wOTx7+p2Zo8lS34yBTBFcdmkpOZklqUW6dslcGV8uWdc0Odd0bqggbmB8aZ5FyMnh4SAicSu 3TvZIGwxiQv31gPZXBxCAqcYJU7PXwDlLGeU+Df/ClgVr4C2xJ2b69hBbBYBVYlLOw8zgths AhYSN380AtVwcIgKBEtsbY2BKBeUODnzCQuILSKgLvFo10MmEJtZQEli7tLXzCC2sIC9xNvL B8FqhAQKJJ5NOwsW5xQIlOj78ZUV4jhJiS0v2tkhevUkplxtYYSw5SWat85mhujVlmho6mCd wCg0C8nqWUhaZiFpWcDIvIqRPTcxMye93GgTIzBQD275rbqD8c45kUOM0hwsSuK84a4XAoQE 0hNLUrNTUwtSi+KLSnNSiw8xMnFwSjUwrmN137XuQ0hHOvPyRVOs+Nk3r0m65ZsiUfyPMyl6 +6ftx6712Dx/6hx6c55HjjFDIWPnQhUhuyoFsRa/gDbO+meFh5h5zvTb29nb/rpSVH/0UelE kciA7Z4Sy+dWXbLgP2h9btEHtStO2460PTLhWqS/+t+Hc91G3345bluXMOH406YHmW+nK7EU ZyQaajEXFScCAH5qK7IiAgAA
Cc: IETF AVTCore WG <avt@ietf.org>
Subject: Re: [AVTCORE] Comments on draft-ietf-avtcore-clksrc-03
X-BeenThere: avt@ietf.org
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: Audio/Video Transport Core Maintenance <avt.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/avt>, <mailto:avt-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/avt>
List-Post: <mailto:avt@ietf.org>
List-Help: <mailto:avt-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/avt>, <mailto:avt-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 23 Apr 2013 07:23:16 -0000
On 2013-04-18 00:41, Kevin Gross wrote: > Magnus, > > Thanks for looking at this and sorry for the delay responding. > > I agree that mediaclk-ext is too restrictive. Your suggestion is > very accommodating Something a bit more structured such as 'token "=" > byte-string' might be more appropriate. I will check with my co authors > on this. Sure. > > As there is great precedent for it in SDP, we have implemented a simple > offer-answer model. I would propose that systems should use the > mechanisms defined in RFC 5939 if negotiation of clock configurations is > necessary. Perhaps adding some discussion and a reference to this RFC > would help. Yes, there are precedence for simple models. However, I think yours are over simplified and has unclear goals. Can you please comment on which of the goals I discuss below that you see needs to be meet? I think a purely declarative model would be better than what you have now, that would at least allow the answer to say, I use X when X is different from what is in the offer. When it comes to CAPNEG that is clearly a possible road, but likely will result that almost no one can actually determine your capability for clock sources. Instead they will be stuck with the your current proposal. I think even going to the model that the answer picks one for both out of the offerers capabilities would be better. That would at least enable the highest likelihood that both would use the same clocks. > > I don't think that independently negotiating reference and media clocks > as you have suggested will be adequate. Under some implementations, > while multiple clocks are supported, certain combinations of media and > reference clocks may not be allowed. Okay, that is an additional requirement. Which, might not even work well with CAPNEG. You will have two independent attributes that actually have dependencies. What you say, you appear to indicate that from each side you can have restrictions like this: This media-ref clock can only be used given that your wall clock source is either of these. Cheers Magnus > > Kevin Gross > +1-303-447-0517 > Media Network Consultant > AVA Networks - www.AVAnw.com <http://www.avanw.com/>, www.X192.org > <http://www.X192.org> > > > On Tue, Apr 9, 2013 at 3:27 AM, Magnus Westerlund > <magnus.westerlund@ericsson.com <mailto:magnus.westerlund@ericsson.com>> > wrote: > > Hi, > > I promised doing an review of the O/A section. I also found some other > issues to consider. > > 1. Section 5.4: > > Figure 5 shows the ABNF [5] grammar for the SDP media clock source > information. > > mediaclk-master = "a=ssrc:" integer SP clk-master-id > > clk-master-id = "mediaclk:master-id=" master-id > > timestamp-mediaclk = "a=mediaclk:" mediaclock > > mediaclock = sender / refclk / streamid / mediaclock-ext > > sender = "sender" sender-ext > > sender-ext = token > > refclk = "direct" [ "=" 1*DIGIT ] [rate] [direct-ext] > > rate = [ SP "rate=" integer "/" integer ] > > direct-ext = token > > streamid = "master-id=" master-id > streamid =/ "IEEE1722=" avb-stream-id > streamid =/ streamid-ext > > master-id = EUI48 > avb-stream-id = EUI64 > > EUI48 = 5(2HEXDIG ":") 2HEXDIG > EUI64 = 7(2HEXDIG ":") 2HEXDIG > > streamid-ext = token > > mediaclock-ext = token > > I wonder if not the mediaclock-ext construction is to restrictive. As > the refclk produces a sting with white-spaces in it, why isn't other > mediaclock-ext allowed the same freedom? I think the mediaclock-ext can > be basically byte-string, i.e. any character allowed on an SDP line > should be possible to use. Likely the only resteriction should be that > it starts with a token. Thus using: > > mediaclock-ext = token [SP byte-string] > > This would require a token for identifying the method followed by a > space and then full freedom for anything that is allowed on an SDP > attribute value. > > > 2. Section 6: > > Purpose of signalling? > > I think this type of signalling can select two levels of goals with > signalling: > > 1) Declaring what each SDP O/A uses on its side > > 2) Negotiating to arrive at the best but available mechanism on both > sides. > > The currently proposed solution does neither of these. It enables the > offerer to express to declare I intended to use X and for the answer to > say I know that, or simply say I can't tell you because we are not > having the same clocks. > > I think we need to be clear what our goals are here. And I will propose > some goals with the signalling based on my understanding of how these > defined timestamp reference clocks and media stream clocks can be used. > And we do need to be aware that different application may have different > needs. > > Goal with signalling: > > 1. Enable each media sender to declare its actually used ts-refclk, i.e. > what clock is base for the RTCP SR NTP timestamps > 2. Enable each media sender to identify what clock reference is used to > check/drive the media sampling, i.e. RTP timestamp advancement. > 3. Enable two media sender using SDP O/A to determine what common clocks > they actually have so they can be used in either of ts-refclk or > mediaclk. > > The purpose of doing three (3) is really so that one can do the > following. > A. has three ts-refclk it can use. B has two ts-refclk available. They > are going to watch social TV. To make it at all possible for the social > TV service to play out content at A and B in sync they need to have > either of these two things be available. > > a) Each has a common clock with the TV service > b) A and B has a common clock > > In either of the scenario the TV service will be able to ensure that the > media is played out is sync. > > > As a technical solution to these issues there are two main solution > tracks: > > 1) Change the respective SDP attributes to provide info on all possible > clocks for that it could be using and let the answer select the most > preferred that both are supporting > > 2) Leave the current SDP attributes as they are and only use them for > declaration that: I use this! Then add new SDP attributes to negotiate > the list of commonly supported clocks. > > At this stage I think 2) is what is simplest and require the least > changes to what already exist. > > I will note that this is likely to require a second round of O/A > messages to update used clocks if the arrived common clock(s) are not > the default used ones. But, I don't see a way around these. In SIP one > could use OPTIONS to provide a SDP which includes the negotiation > attribute to enable the other side to select using a clock that is > supported by both. But when that isn't done, it will take two rounds or > other a'priori knowledge. > > So my proposal is simply that one create two new SDP attributes one for > each type of clock usage (ts-refclk and mediaclk) and include a list of > clock type and any ID of the clock in a priority order. The O/A is basic > negotiated and the answer removes all clocks it doesn't support and adds > all it supports. Hopefully there is someone in the list that is common. > The highest priority between the two parties should be used when common > clock is required. IF that is not, then these attributes should not be > included. This for example allows one to use a common ts-refclk, but not > require common mediaclk. We should also discuss if the answerer may > change the priority of commonly supported, and if it should or should > not add additional clocks it supports that are not common. > > I really appreciate feedback on these comments and ideas. > > Cheers > > Magnus Westerlund > > ---------------------------------------------------------------------- > Multimedia Technologies, Ericsson Research EAB/TVM > ---------------------------------------------------------------------- > Ericsson AB | Phone +46 10 7148287 > Färögatan 6 | Mobile +46 73 0949079 > SE-164 80 Stockholm, Sweden| mailto: magnus.westerlund@ericsson.com > <mailto:magnus.westerlund@ericsson.com> > ---------------------------------------------------------------------- > > _______________________________________________ > Audio/Video Transport Core Maintenance > avt@ietf.org <mailto:avt@ietf.org> > https://www.ietf.org/mailman/listinfo/avt > > -- Magnus Westerlund ---------------------------------------------------------------------- Multimedia Technologies, Ericsson Research EAB/TVM ---------------------------------------------------------------------- Ericsson AB | Phone +46 10 7148287 Färögatan 6 | Mobile +46 73 0949079 SE-164 80 Stockholm, Sweden| mailto: magnus.westerlund@ericsson.com ----------------------------------------------------------------------
- [AVTCORE] Comments on draft-ietf-avtcore-clksrc-03 Magnus Westerlund
- Re: [AVTCORE] Comments on draft-ietf-avtcore-clks… Kevin Gross
- Re: [AVTCORE] Comments on draft-ietf-avtcore-clks… Magnus Westerlund
- Re: [AVTCORE] Comments on draft-ietf-avtcore-clks… Roni Even
- Re: [AVTCORE] Comments on draft-ietf-avtcore-clks… Kevin Gross
- Re: [AVTCORE] Comments on draft-ietf-avtcore-clks… Kevin Gross
- Re: [AVTCORE] Comments on draft-ietf-avtcore-clks… Roni Even
- Re: [AVTCORE] Comments on draft-ietf-avtcore-clks… Roni Even
- Re: [AVTCORE] Comments on draft-ietf-avtcore-clks… Magnus Westerlund
- Re: [AVTCORE] Comments on draft-ietf-avtcore-clks… Kevin Gross
- Re: [AVTCORE] Comments on draft-ietf-avtcore-clks… Roni Even
- Re: [AVTCORE] Comments on draft-ietf-avtcore-clks… Magnus Westerlund
- Re: [AVTCORE] Comments on draft-ietf-avtcore-clks… Kevin Gross