Re: [AVTCORE] Magnus Westerlund's Discuss on draft-ietf-payload-tsvcis-03: (with DISCUSS and COMMENT)

<victor.demjanenko@vocal.com> Mon, 30 September 2019 21:35 UTC

Return-Path: <victor.demjanenko@vocal.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 1431A120891 for <avt@ietfa.amsl.com>; Mon, 30 Sep 2019 14:35:32 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.9
X-Spam-Level:
X-Spam-Status: No, score=-1.9 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001] autolearn=unavailable autolearn_force=no
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id MlhCejxH9Qsj for <avt@ietfa.amsl.com>; Mon, 30 Sep 2019 14:35:30 -0700 (PDT)
Received: from cuda.olm1.com (cuda.olm1.com [72.236.255.32]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 363B2120813 for <avt@ietf.org>; Mon, 30 Sep 2019 14:35:30 -0700 (PDT)
X-ASG-Debug-ID: 1569878265-092fd37769137fb0001-6kZpOq
Received: from host105.olm1.com (host105.olm1.com [72.236.255.15]) by cuda.olm1.com with ESMTP id kolbjJdoXl2nj11U (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO); Mon, 30 Sep 2019 17:17:45 -0400 (EDT)
X-Barracuda-Envelope-From: victor.demjanenko@vocal.com
X-Barracuda-Apparent-Source-IP: 72.236.255.15
Received: from HERTELLT (rrcs-72-43-202-98.nys.biz.rr.com [72.43.202.98]) by host105.olm1.com (Postfix) with ESMTPSA id F0446B59E03; Mon, 30 Sep 2019 17:17:44 -0400 (EDT)
From: victor.demjanenko@vocal.com
To: 'Magnus Westerlund' <magnus.westerlund@ericsson.com>, 'The IESG' <iesg@ietf.org>
Cc: draft-ietf-payload-tsvcis@ietf.org, 'Ali Begen' <ali.begen@networked.media>, avtcore-chairs@ietf.org, avt@ietf.org, "'Victor Demjanenko, Ph.D.'" <victor.demjanenko@vocal.com>, "'Dave Satterlee (Vocal)'" <Dave.Satterlee@vocal.com>
References: <156985312482.574.421082603300027374.idtracker@ietfa.amsl.com>
In-Reply-To: <156985312482.574.421082603300027374.idtracker@ietfa.amsl.com>
Date: Mon, 30 Sep 2019 17:17:41 -0400
X-ASG-Orig-Subj: RE: Magnus Westerlund's Discuss on draft-ietf-payload-tsvcis-03: (with DISCUSS and COMMENT)
Message-ID: <06ae01d577d4$7f34b370$7d9e1a50$@vocal.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: quoted-printable
X-Mailer: Microsoft Outlook 16.0
Thread-Index: AQIChjiw7pNoBl8aMQs42cKXWJgkS6bqlfGA
Content-Language: en-us
X-Barracuda-Connect: host105.olm1.com[72.236.255.15]
X-Barracuda-Start-Time: 1569878265
X-Barracuda-Encrypted: ECDHE-RSA-AES256-GCM-SHA384
X-Barracuda-URL: https://72.236.255.32:443/cgi-mod/mark.cgi
X-Virus-Scanned: by bsmtpd at olm1.com
X-Barracuda-BRTS-Status: 1
X-Barracuda-Spam-Score: 0.00
X-Barracuda-Spam-Status: No, SCORE=0.00 using global scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=5.0 tests=NO_REAL_NAME
X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.76976 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.00 NO_REAL_NAME From: does not include a real name
Archived-At: <https://mailarchive.ietf.org/arch/msg/avt/ewJcUOR3GP9gT95swVGf-ncbOBY>
Subject: Re: [AVTCORE] Magnus Westerlund's Discuss on draft-ietf-payload-tsvcis-03: (with DISCUSS and COMMENT)
X-BeenThere: avt@ietf.org
X-Mailman-Version: 2.1.29
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: <https://mailarchive.ietf.org/arch/browse/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: Mon, 30 Sep 2019 21:35:37 -0000

Hi Magnus, Barry,

Thanks for the review.  Our comments are below marked with a "v->" leader.

Regards,

Victor & Dave

-----Original Message-----
From: Magnus Westerlund via Datatracker <noreply@ietf.org> 
Sent: Monday, September 30, 2019 10:19 AM
To: The IESG <iesg@ietf.org>
Cc: draft-ietf-payload-tsvcis@ietf.org; Ali Begen <ali.begen@networked.media>; avtcore-chairs@ietf.org; ali.begen@networked.media; avt@ietf.org
Subject: Magnus Westerlund's Discuss on draft-ietf-payload-tsvcis-03: (with DISCUSS and COMMENT)

Magnus Westerlund has entered the following ballot position for
draft-ietf-payload-tsvcis-03: Discuss

When responding, please keep the subject line intact and reply to all email addresses included in the To and CC lines. (Feel free to cut this introductory paragraph, however.)


Please refer to https://www.ietf.org/iesg/statement/discuss-criteria.html
for more information about IESG DISCUSS and COMMENT positions.


The document, along with other ballot positions, can be found here:
https://datatracker.ietf.org/doc/draft-ietf-payload-tsvcis/



----------------------------------------------------------------------
DISCUSS:
----------------------------------------------------------------------

1. Section 3.3:
           A TSVCIS RTP packet consists of zero or more TSVCIS coder frames
   (each consisting of MELPe and TSVCIS coder data) followed by zero or
   one MELPe comfort noise frame.  The presence of a comfort noise frame
   can be determined by its rate code bits in its last octet.

I am missing a quite important word in this paragraph. Because I assume that the frame actually are required to be consecuitive frames in time order from oldest to newest?

v-> The concept (and phrasing I believe) was taken from the G.729/G.729B frame packing.  I'm not sure what additional word (or wording change) would make this clearer.  The idea is that a comfort noise frame will always be the last frame in a packet and may follow other regular coder frames.  Wording/rewording suggestions are welcome.

2. Section 4.1:
           Change controller: IETF Payload working group delegated from the
      IESG.

IESG should we adjust this immediately to say IETF, although this is the currently recommended text in RFC 8088. Or are we only adjusting the working group?

v-> So what should the exact replacement test be?

"	Change controller: IETF"
Or
"	Change controller: IETF <avg@ietf.org>"
Or
Something else?


----------------------------------------------------------------------
COMMENT:
----------------------------------------------------------------------

        A. Section 3.3:
           TSVCIS coder frames in a single RTP packet MAY be of different coder
   bitrates.  With the exception for the variable length TSVCIS
   parameter frames, the coder rate bits in the trailing byte identify
   the contents and length as per Table 1.

        If I understand this correctly in an RTP payload that contain mulyiplr
        bit-rate frames the safest way of decoding this payload is to work from
        the end of the payload towards the start identifying a frame at a time.
        Then after having figured out how many frames actually are present, one
        can calculate the timestamp value for each frame.

v-> Yes you are absolutely correct.  This was permitted with MELP Payload (RFC 8130).  It is unlikely that different coder bit rates would be mixed in one RTP packet.  Its repetition here is as a result that TSVCIS is a superset of MELPe.

        B. Section 4.4:
           In the Offer/Answer model [RFC3264], "bitrate" is a bidirectional
   parameter.  Both sides MUST use a common "bitrate" value or values.
   The offer contains the bitrates supported by the offerer, listed in
   its preferred order.  The answerer MAY agree to any bitrate by
   listing the bitrate first in the answerer response.  Additionally,
   the answerer MAY indicate any secondary bitrate or bitrates that it
   supports.  The initial bitrate used by both parties SHALL be the
   first bitrate specified in the answerer response.

         For example, if offerer bitrates are "2400,600" and answer bitrates
   are "600,2400", the initial bitrate is 600.  If other bitrates are
   provided by the answerer, any common bitrate between the offer and
   answer MAY be used at any time in the future.  Activation of these
   other common bitrates is beyond the scope of this document.

        I am a bit surprised to see bit-rate as  bidirectional parameter here.
        In most use cases where RTP opperates each direction can simply express
        what they accept, and the media sender towards that receiver will
        simply provide what the receiver part has declared as acceptable. Can
        you please provide to me a bit more motivation why the use of
        bidirectional is needed?

v-> This convention was in RFC 8130 (MELP payload).  It has to do with bandwidth restrictions (typically on the outsides of the offerer and answerer).  Suppose a link (after the answerer) is limited to 600bps.  The answerer would prefer 600bps but could transcode 2400 to 600 bps (with effort on its side).  The offerer can send/receive either and maybe wants to send 2400 so that it can encode the voice once for multiple independent RTP paths.  It will however accept 600 bps for its receiver.  Now in this example, the preferred encoding is 600 bps for both directions.  So the bitrate parameter is bidirectional in the sense that each side gives its capabilities and suggestion based on the ordering and the answerer can restrict or indicate a preferred ordering in case it is the least capable device.   (For a call established in the reverse direction, the offerer would say the same 600, 2400 and I would expect a more capable device as an answerer to say 600, 2400 to match.)

        C. Section 3 and 5: Marker bit definition.
        The usage of the M bit
   SHOULD be as specified in the applicable RTP profile -- for example,
   [RFC3551], where [RFC3551] specifies that if the sender does not
   suppress silence (i.e., sends a frame on every frame interval), the
   M bit will always be zero.

        Section 5:
           A primary application of TSVCIS is for radio communications of voice
   conversations, and discontinuous transmissions are normal.  When
   TSVCIS is used in an IP network, TSVCIS RTP packet transmissions may
   cease and resume frequently.  RTP synchronization source (SSRC)
   sequence number gaps indicate lost packets to be filled by PLC, while
   abrupt loss of RTP packets indicates intended discontinuous
   transmissions.

        I would have expected this format that is clearer on its usage of DTX
        that it would talk about that marker bit will be = 1 after each DTX
        period when one no longer transmitts comfort noise only.

v-> Agreed,  Should we add the following:

" Resumption of voice transmission SHOULD be indicated by the RTP marker bit (M) set to 1."

Should the SHOULD be a MUST?

(We have customers with intentionally bad behavior with respect to the M bit no matter how much we protest.)