Re: [AVT] Updated AD review:draft-ietf-avt-rapid-acquisition-for-rtp-14

"Ali C. Begen (abegen)" <abegen@cisco.com> Sat, 04 September 2010 19:39 UTC

Return-Path: <abegen@cisco.com>
X-Original-To: avt@core3.amsl.com
Delivered-To: avt@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 88A4A3A688A for <avt@core3.amsl.com>; Sat, 4 Sep 2010 12:39:34 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -10.474
X-Spam-Level:
X-Spam-Status: No, score=-10.474 tagged_above=-999 required=5 tests=[AWL=0.125, BAYES_00=-2.599, RCVD_IN_DNSWL_HI=-8]
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 3zCe0SZM-WJ6 for <avt@core3.amsl.com>; Sat, 4 Sep 2010 12:39:31 -0700 (PDT)
Received: from sj-iport-4.cisco.com (sj-iport-4.cisco.com [171.68.10.86]) by core3.amsl.com (Postfix) with ESMTP id 134AF3A67E6 for <avt@ietf.org>; Sat, 4 Sep 2010 12:39:29 -0700 (PDT)
Authentication-Results: sj-iport-4.cisco.com; dkim=neutral (message not signed) header.i=none
X-IronPort-Anti-Spam-Filtered: true
X-IronPort-Anti-Spam-Result: AvsEADM9gkyrRN+J/2dsb2JhbAChHXGfYJsWhT0EhEOIUg
X-IronPort-AV: E=Sophos;i="4.56,318,1280707200"; d="scan'208";a="181495596"
Received: from sj-core-3.cisco.com ([171.68.223.137]) by sj-iport-4.cisco.com with ESMTP; 04 Sep 2010 19:39:58 +0000
Received: from xbh-sjc-211.amer.cisco.com (xbh-sjc-211.cisco.com [171.70.151.144]) by sj-core-3.cisco.com (8.13.8/8.14.3) with ESMTP id o84JdwLt011877; Sat, 4 Sep 2010 19:39:58 GMT
Received: from xmb-sjc-215.amer.cisco.com ([171.70.151.169]) by xbh-sjc-211.amer.cisco.com with Microsoft SMTPSVC(6.0.3790.4675); Sat, 4 Sep 2010 12:39:58 -0700
X-MimeOLE: Produced By Microsoft Exchange V6.5
Content-class: urn:content-classes:message
MIME-Version: 1.0
Content-Type: text/plain; charset="Windows-1252"
Content-Transfer-Encoding: quoted-printable
Date: Sat, 04 Sep 2010 12:39:18 -0700
Message-ID: <04CAD96D4C5A3D48B1919248A8FE0D540D128AC6@xmb-sjc-215.amer.cisco.com>
In-Reply-To: <004701cb4b4d$47724ff0$d656efd0$%roni@huawei.com>
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
Thread-Topic: [AVT] Updated AD review:draft-ietf-avt-rapid-acquisition-for-rtp-14
Thread-Index: ActK4IRmuVtou3yPSVyH/c9HR1gtWQAA4koQAAMxqQAABnwlUAAQDR0wAEbqTPA=
References: <E3908107-66C5-4F91-B353-8E6D99918A96@nostrum.com> <04CAD96D4C5A3D48B1919248A8FE0D540D074FEB@xmb-sjc-215.amer.cisco.com> <000401cb4af2$153ab0a0$3fb011e0$%roni@huawei.com> <04CAD96D4C5A3D48B1919248A8FE0D540D1286FC@xmb-sjc-215.amer.cisco.com> <004701cb4b4d$47724ff0$d656efd0$%roni@huawei.com>
From: "Ali C. Begen (abegen)" <abegen@cisco.com>
To: Roni Even <Even.roni@huawei.com>, Robert Sparks <rjsparks@nostrum.com>, avt@ietf.org
X-OriginalArrivalTime: 04 Sep 2010 19:39:58.0154 (UTC) FILETIME=[F5097AA0:01CB4C68]
Subject: Re: [AVT] Updated AD review:draft-ietf-avt-rapid-acquisition-for-rtp-14
X-BeenThere: avt@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: Audio/Video Transport Working Group <avt.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/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: Sat, 04 Sep 2010 19:39:34 -0000

Hi Roni,

> -----Original Message-----
> From: Roni Even [mailto:Even.roni@huawei.com]
> Sent: Friday, September 03, 2010 12:49 PM
> To: Ali C. Begen (abegen); 'Robert Sparks'; avt@ietf.org
> Subject: RE: [AVT] Updated AD review:draft-ietf-avt-rapid-acquisition-for-rtp-14
> 
> Hi Ali,
> I think I did not clarify my meaning, since I am not sure I understand what
> is the proposal here.
> 
> The document allows private and vendor-neutral TLV extensions. As far as I

Correct. The difference is vendor-neutral (i.e., public) ones require IANA registration. But, still not everybody needs to support them. The current RAMS draft defines the mandatory TLV elements that any RAMS implementation must support. Naturally, a future spec may define new mandatory elements if need be.

> understand there can be a RAMS-I message with 200 response code that will
> include vendor-neutral TLV extensions and not only RAMS-I with 0 response
> code that includes private extensions, is this correct?

Both a RAMS-I carrying 200 or 0 as the response code may carry both public and private TLVs. In other words, the code being public vs private does not limit what type of elements the server can include in the RAMS-I.
 
> I noticed two recommendations from your response in this thread and I am not
> sure I fully understand what is recommended.
> 
> 1. I think the current approach is satisfactory. We have defined the
> mandatory elements that everybody needs to support. Beyond that others are
> optional and can be safely ignored.

Yup.

> Question: Does it mean that the only allowed TLV extensions are ones that
> can be ignored. In which case why is the next recommendation?

Does the text above adequately answer this question?
  
> 2. Maybe, we should require the client to send RAMS-T right away? If it will
> not process the RAMS-I, it cannot use any burst anyway. And since it is
> required to send RAMS-T at some point, why not send it right away?
> 
> Question: if we take this approach it means that the server will not be able
> to use TLV extensions (private or vendor neutral) in RAMS-I since he cannot
> be sure if the RTP_Rx supports this extensions?

The proposal is as follows. If the server sends a RAMS-I with a private response code that the client cannot process or a public response code that the client has not implemented, the client sends a RAMS-T right away to stop the burst.

If the server sticks with the current response codes, then there is no concern.

Hth,
-acbegen
 
> 
> Thanks
> Roni Even
> 
> 
> 
> 
> 
> 
> 
> > -----Original Message-----
> > From: Ali C. Begen (abegen) [mailto:abegen@cisco.com]
> > Sent: Friday, September 03, 2010 4:57 AM
> > To: Roni Even; Robert Sparks; avt@ietf.org
> > Subject: RE: [AVT] Updated AD review:draft-ietf-avt-rapid-acquisition-
> > for-rtp-14
> >
> >
> >
> > > -----Original Message-----
> > > From: Roni Even [mailto:Even.roni@huawei.com]
> > > Sent: Friday, September 03, 2010 1:56 AM
> > > To: Ali C. Begen (abegen); 'Robert Sparks'; avt@ietf.org
> > > Subject: RE: [AVT] Updated AD review:draft-ietf-avt-rapid-
> > acquisition-for-rtp-14
> > >
> > > Hi,
> > > I want to address the private extensions and 0 response code. I think
> > that a
> > > similar problem may occur for vendor-neutral extension which are
> > optional to
> > > support and this will not be with 0 response code.
> >
> > Lets say a client receives a non-zero response code that it does not
> > understand (e.g., it was registered recently and client's
> > implementation is older). Then, I think the same rule would apply. If
> > you don't understand the response code, send a RAMS-T.
> >
> > > Maybe the right approach is to allow the BRS to use only private
> > extensions
> > > or vendor-neutral extensions that the RTP_Rx signaled support for in
> > the
> > > RAMS-R.
> >
> > There is no efficient way for the client to indicate which private
> > extensions as well as public extensions (beyond the mandatory ones) it
> > supports.
> >
> > > Another way is to divide the extensions to those that can be ignored
> > with no
> > > problem while only for those that cannot be ignored require that the
> > RTP-Rx
> > > will signal support in the RAMS-R.
> >
> > I think the current approach is satisfactory. We have defined the
> > mandatory elements that everybody needs to support. Beyond that others
> > are optional and can be safely ignored.
> >
> > > I think that terminating the burst by the RTP_Rx when receiving an
> > extension
> > > (it can also be vendor-neutral one) that it does not understand in
> > the
> > > RAMS-I was not the intention, the intention was to ignore the
> > extensions but
> > > it looks like there may be issues with ignoring.
> >
> > Right, as Robert pointed out it may lead to some interesting scenarios.
> > Normally, this is very unlikely to happen IMO but the document should
> > cover it. And sending a RAMS-T is the best solution we can offer IMO.
> >
> > Cheers, acbegen.
> >
> > > Roni Even
> > > As individual
> > >
> > > > -----Original Message-----
> > > > From: avt-bounces@ietf.org [mailto:avt-bounces@ietf.org] On Behalf
> > Of
> > > > Ali C. Begen (abegen)
> > > > Sent: Friday, September 03, 2010 12:44 AM
> > > > To: Robert Sparks; avt@ietf.org
> > > > Subject: Re: [AVT] Updated AD review: draft-ietf-avt-rapid-
> > acquisition-
> > > > for-rtp-14
> > > >
> > > > Hi Robert,
> > > >
> > > > Thanks for the review. Let me try to address the remaining
> > comments.
> > > >
> > > > > -----Original Message-----
> > > > > From: Robert Sparks [mailto:rjsparks@nostrum.com]
> > > > > Sent: Thursday, September 02, 2010 11:49 PM
> > > > > To: avt@ietf.org
> > > > > Cc: Ali C. Begen (abegen)
> > > > > Subject: Updated AD review: draft-ietf-avt-rapid-acquisition-for-
> > rtp-
> > > > 14
> > > > >
> > > > > Summary: The majority of my concerns have been addressed. Two
> > > > sticking points
> > > > >          (the first two below) and a number of minor suggestions
> > > > remain:
> > > > >
> > > > > * I'm still confused about when a 511 will get used. I am
> > guessing
> > > > >   that the intent is that it will only get used if the request
> > > > contained
> > > > >   the new type-5 TLV value, and would get used _instead of_ a 200
> > if
> > > > the
> > > > >   server is only going to send preamble information. (That is,
> > the
> > > > server
> > > >
> > > > Correct.
> > > >
> > > > >   will not send a 200 and then later send a 511). If that's
> > right,
> > > > the
> > > >
> > > > It will only send 511 (and the preamble).
> > > >
> > > > >   semantics of using a "rejection" code to accept part of a
> > request
> > > > are
> > > > >   likely to confuse new implementers. If you are partially
> > accepting
> > > > the
> > > > >   request, consider using a new 2xx code. If that's not
> > reasonable,
> > > > then
> > > > >   call attention to this oddness in the text on accepting
> > requests:
> > > > >            "The BRS MUST send at least one separate
> > > > >            RAMS-I message with the appropriate response code
> > (either
> > > > >            zero indicating a private response or response code
> > 200
> > > > >            indicating success as listed in Section 11.6) for each
> > > > >            primary multicast stream that has been requested by
> > the
> > > > >            RTP_Rx and will be served by the BRS."
> > > > >   by adding something like
> > > > >            "Note that if the BRS is only sending preamble
> > > > information,
> > > > >             it will not accept the request, but will send a 511
> > > > rejection
> > > > >             response instead."
> > > >
> > > > OK, this is a good idea.
> > > >
> > > > > * I am still concerned about the interoperability of a RAMS-I
> > with a
> > > > >   response code of zero. I'm finding this text particularly
> > > > confusing:
> > > > >
> > > > >     When the RTP_Rx receives an RAMS-I message with a private
> > > > response
> > > > >     code that it does not understand, the RTP_Rx still needs to
> > > > process
> > > > >     the TLV elements it understands.
> > > > >
> > > > >   Should this have said "with a private TLV" instead of "with a
> > > > private
> > > > >   response code"?
> > > >
> > > > Private TLVs are not supposed to be understood by others anyway.
> > > > Similarly, private response codes cannot be processed by others,
> > either
> > > > (this is what this text says). But, even if a RAMS-I has a private
> > > > response code, there could be public TLVs that everybody can
> > understand
> > > > and act on.
> > > >
> > > > Make sense?
> > > >
> > > > >   Based on the responses to my question on the list, I think the
> > > > intent
> > > > >   is the following. If I have it right, the document should
> > > > explicitly
> > > > >   call these things out:
> > > > >
> > > > >    - Private TLVs can appear in any RAMS message (RAMS-R, RAMS-I,
> > or
> > > > RAMS-T)
> > > >
> > > > Correct.
> > > >
> > > > >    - An element receiving a private TLV that it does not
> > understand
> > > > ignores
> > > > >      that TLV (regardless of the message type).
> > > >
> > > > Correct.
> > > >
> > > > >   And if the response code was zero, it is still not clear what
> > an
> > > > element
> > > > >   is supposed to do with the message if it doesn't understand
> > what
> > > > the real
> > > > >   (private) response is. If I receive a response with a code of
> > zero
> > > > and
> > > > >   I don't understand _any_ of the private TLVs (especially the
> > one
> > > > that
> > > > >   tells me what the response actually means), do you still want
> > me to
> > > > try
> > > > >   to take action on any TLVs with types 31-35 that might be in
> > there?
> > > > If so,
> > > >
> > > > (I ack that a server responding with a private code to a client
> > that
> > > > would not understand is not a likely case)
> > > >
> > > > What is the alternative? Ignore everything?
> > > >
> > > > I think such a client should take action on tlvs 31-35 since they
> > could
> > > > still mean something to the client. For example, join time (33)
> > would
> > > > be useful.
> > > >
> > > > >   am I supposed to treat the RAMS-I the way I would have treated
> > a
> > > > RAMS-I
> > > > >   with a response code of 200, 100, or what? What am I supposed
> > to do
> > > > with
> > > > >   the data these TLVs are giving me? It seems really dangerous
> > for me
> > > > to
> > > > >   assume that this 0 with nothing in it I understand to tell me
> > what
> > > > the 0
> > > > >   really means indicates that I'm actually going to get a burst
> > just
> > > > because
> > > > >   there is a 34 block in it. And it's really unclear what I
> > should do
> > > > if one
> > > > >   of these 0's follows a 200, and has different data in it than
> > the
> > > > 200 did
> > > > >   (Nothing in the spec prevents that). I suggest that this
> > attempt
> > > > leads to
> > > > >   madness and propose that you add something like the following:
> > > > >
> > > > >     The semantics of a RAMS-I message with a response code of 0
> > > > >     is determined by one or more private TLV blocks in the
> > message.
> > > > >     If an element receives a RAMS-I message with a response code
> > of
> > > > 0,
> > > > >     and it does not understand enough of the private TLV blocks
> > to
> > > > know
> > > > >     what the private response code is, it MUST ignore the RAMS-I
> > > > message.
> > > >
> > > > OK, but what if the server keeps sending a burst?
> > > >
> > > > Maybe, we should require the client to send RAMS-T right away? If
> > it
> > > > will not process the RAMS-I, it cannot use any burst anyway. And
> > since
> > > > it is required to send RAMS-T at some point, why not send it right
> > > > away?
> > > >
> > > > >
> > > > > * From my comments on -11
> > > > >   - 6.2 step 9, last paragraph on page 21 : Is it possible that
> > the
> > > > >     BRS would already be past the point of sending the burst
> > packet
> > > > >     with an OSN matching the sequence number in the RAMS-T
> > message
> > > > >     when the RAMS-T message arrives and is processed?
> > > > >   Ali's response was
> > > > >   -  Could be. This is implementation specific. The BRS may
> > prefer
> > > > >      to overlap or fill a gap (and fill the gap later via
> > > > retransmissions).
> > > > >
> > > > >   This response is confusing - there is text that constrains the
> > BRS:
> > > > >         Then, the BRS MUST
> > > > >         terminate the respective burst after it sends the unicast
> > > > burst
> > > > >         packet whose Original Sequence Number (OSN) field in the
> > RTP
> > > > >         retransmission payload header matches this number minus
> > one.
> > > > >
> > > > >   The BRS's preference doesn't seem to come into play. Further,
> > this
> > > > >   text should be amended to deal with the case where the packet
> > with
> > > > >   that OSN match has already been sent, perhaps long ago. I
> > suggest
> > > > >   adding:
> > > > >        If the BRS has already sent that unicast burst packet when
> > the
> > > > >        RAMS-T message arrives, the BRS MUST terminate the
> > respective
> > > > >        burst immediately.
> > > >
> > > > Sure.
> > > >
> > > > >
> > > > > * From my comments on -11
> > > > >   - 6.5 fifth paragraph. The BRS _will_ (not _can_) continue
> > sending
> > > > >     burst packets in the case of a lost RAMS_T. There's no way
> > for
> > > > the
> > > > >     RTP_Rx to know these messages were lost, so how would the
> > RTP_Rx
> > > > >     know it was "In such cases". Are you wanting the RTP_RX to
> > > > _always_
> > > > >     repeat the RAMS_T message or are you intending the
> > > > >     recommended retransmission behavior to apply only if the
> > RTP_Rx
> > > > >     is still receiving burst packets after sinding a RAMS_T?
> > > > >   Ali's response was
> > > > >   - If the BRS is configured to stop the burst at a point (as a
> > > > precaution),
> > > > >     it may stop the burst. RAMS-T can be repeated following the
> > RTCP
> > > > FB
> > > > >     rules. If the burst is still going on, that is a clear
> > indication
> > > > that
> > > > >     RAMS-T did not make it. I don't think we need to mandate
> > repeated
> > > > RAMS-T's.
> > > > >
> > > > >   Given that, I suggest adjusting that paragraph to the
> > following:
> > > > >
> > > > >     In the case a RAMS-T message sent by the RTP_Rx does not
> > reach
> > > > its
> > > > >     destination, the BRS might continue sending burst packets
> > even
> > > > though
> > > > >     the RTP_Rx no longer needs them.  If an RTP_Rx is receiving
> > burst
> > > > packets
> > > > >     it no longer needs after sending a RAMS-T message, it is
> > > > RECOMMENDED
> > > > >     that the RTP_Rx repeats the RAMS-T message multiple times
> > based
> > > > on
> > > > >     the RTCP timer rules defined in [RFC4585].  The BRS MUST be
> > > > >     provisioned to terminate the burst when it can no longer send
> > the
> > > > >     burst packets faster than it receives the primary multicast
> > > > stream
> > > > >     packets.
> > > >
> > > > Looks good to me.
> > > >
> > > > > * 7.3 Definition of type 33
> > > > >     There is a lowercase "should" in the third paragraph - should
> > > > that
> > > > >     have been SHOULD?
> > > >
> > > > Fine with me. I believe my suggestion was a MUST, but SHOULD is
> > good
> > > > enough.
> > > >
> > > > > * 7.4 definition of type 34:
> > > > >    Where you say "delta difference" you should say only
> > "difference".
> > > > The word
> > > > >    delta in this context doesn't make sense.
> > > >
> > > > Right, that should be removed.
> > > >
> > > > Should we go ahead with one more revision?
> > > >
> > > > Cheers, acbegen.
> > > > _______________________________________________
> > > > Audio/Video Transport Working Group
> > > > avt@ietf.org
> > > > https://www.ietf.org/mailman/listinfo/avt