[AVTCORE] Comments on draft-ietf-avtcore-clksrc-03

Magnus Westerlund <magnus.westerlund@ericsson.com> Tue, 09 April 2013 09:27 UTC

Return-Path: <magnus.westerlund@ericsson.com>
X-Original-To: avt@ietfa.amsl.com
Delivered-To: avt@ietfa.amsl.com
Received: from localhost (localhost []) by ietfa.amsl.com (Postfix) with ESMTP id 84DA621F9173 for <avt@ietfa.amsl.com>; Tue, 9 Apr 2013 02:27:40 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -105.669
X-Spam-Status: No, score=-105.669 tagged_above=-999 required=5 tests=[AWL=-0.376, 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 ([]) by localhost (ietfa.amsl.com []) (amavisd-new, port 10024) with ESMTP id DVt3JgRELgaZ for <avt@ietfa.amsl.com>; Tue, 9 Apr 2013 02:27:39 -0700 (PDT)
Received: from mailgw1.ericsson.se (mailgw1.ericsson.se []) by ietfa.amsl.com (Postfix) with ESMTP id 2EFA021F8FFA for <avt@ietf.org>; Tue, 9 Apr 2013 02:27:39 -0700 (PDT)
X-AuditID: c1b4fb2d-b7f316d0000028db-ad-5163df0aff4d
Received: from esessmw0184.eemea.ericsson.se (Unknown_Domain []) by mailgw1.ericsson.se (Symantec Mail Security) with SMTP id BB.93.10459.A0FD3615; Tue, 9 Apr 2013 11:27:38 +0200 (CEST)
Received: from [] ( by esessmw0184.eemea.ericsson.se ( with Microsoft SMTP Server id; Tue, 9 Apr 2013 11:27:38 +0200
Message-ID: <5163DF09.7050606@ericsson.com>
Date: Tue, 09 Apr 2013 11:27:37 +0200
From: Magnus Westerlund <magnus.westerlund@ericsson.com>
User-Agent: Mozilla/5.0 (Windows NT 6.1; rv:17.0) Gecko/20130307 Thunderbird/17.0.4
MIME-Version: 1.0
To: IETF AVTCore WG <avt@ietf.org>
X-Enigmail-Version: 1.5.1
Content-Type: text/plain; charset="ISO-8859-1"
Content-Transfer-Encoding: 8bit
X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFnrEJMWRmVeSWpSXmKPExsUyM+JvrS7X/eRAg2VTeS1e9qxkd2D0WLLk J1MAYxSXTUpqTmZZapG+XQJXxvSbH5gLrupUPH3zj6mB8ahSFyMnh4SAicSLvxtYIGwxiQv3 1rN1MXJxCAmcYpRomzKRCcJZxihx7/Vqxi5GDg5eAW2J5VeyQRpYBFQk2g/sZgSx2QQsJG7+ aGQDsUUFgiV+vjoDNpRXQFDi5MwnYLaIgJLEjknbmEFsYQFDie0PHjFDLJaU2PKinR3EZhbQ k5hytYURwpaXaN46G6xGCGhtQ1MH6wRG/llIxs5C0jILScsCRuZVjOy5iZk56eWGmxiB4XRw y2/dHYynzokcYpTmYFES5w1zvRAgJJCeWJKanZpakFoUX1Sak1p8iJGJg1OqgdH7su+irsi3 IeEyleZP0nmV98bNqHy5ebuFar/PwnTLm/8OPFxpNntDyTffVOMQ19n/vcsc7fb8Puf+mPtd X2p+hBHPvBmtCsmrjYq2C3eF8W5h0GvPnWm+WM4mfJLOp/1vJigpzTIRVrcyXVHY9mT23Isa pvo/tkYnnrv172SM9a6zMSZcDUosxRmJhlrMRcWJANcsEZn1AQAA
Subject: [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, 09 Apr 2013 09:27:40 -0000


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

          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

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

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.


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