Re: [MMUSIC] Starting shepherd's review of draft-ietf-mmusic-t140-usage-data-channel-07 - Bo's technical comments

Gunnar Hellström <gunnar.hellstrom@omnitor.se> Tue, 05 November 2019 22:38 UTC

Return-Path: <gunnar.hellstrom@omnitor.se>
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 BB915120826 for <mmusic@ietfa.amsl.com>; Tue, 5 Nov 2019 14:38:13 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.899
X-Spam-Level:
X-Spam-Status: No, score=-1.899 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=omnitorab.onmicrosoft.com
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 V4yg4IHg4-_4 for <mmusic@ietfa.amsl.com>; Tue, 5 Nov 2019 14:38:09 -0800 (PST)
Received: from EUR04-HE1-obe.outbound.protection.outlook.com (mail-eopbgr70112.outbound.protection.outlook.com [40.107.7.112]) (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 1BD6F12008F for <mmusic@ietf.org>; Tue, 5 Nov 2019 14:38:09 -0800 (PST)
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=S1Sd4sxLTIsdcLV8WEQLzYlY01vzETeRpfwwYM0eAgKPmXP/TP49knTnQD9kT3j6vI7+RWp3lHmT83QaqWe3seplfQYn/1KhljgZPMVORhgt4a2m0xWAvEBnfmGbtcuPPWuyvDl8cOu3jWhPuD2lwLrfhhS7bXdPP1UY25FiBsZKaE8HoJEH0KH6NVEgMzYgaxJmnXgeTaUFPVioJYARdVyAWWUDX1LBp2vQ929J2XKu8t7koSMbeeHC4WEIiu15Aw5fJW3l98KWqKo5ehas+8slCIjB4sN+s/p/aqJwI38/fKYfduABiHkKSDs41YIzbM8Eo78myImnSv1IPAxZrg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=eQfi6EABVyO5EvDrwmD1uNCpZKicLiLWwWwAO9PgKXs=; b=VB9MCqEWB/9LKw+GneLN7ft3iveYb145YPTmWyD0MchPuIPJeGKUVcCCL0y2Koup4mjgnOAc7laTTOjNvHTqX9I0LOWlRLK06wkJl3g6iyEKLs1PKFKFUkbwa7OFhfbTm9ObFY1RLK36t3UMp4CL0o+QFwukt6zxUdAj8c9z13gGhxW4kjj5Mbog02jQDHteRk0HRCUVdkmtCqhV/ZNlAiF/+juaVW0FpOF9xwbyiRINV9Xr6mqohGEq98UvdQTtb+rG30FmJPNati3g03hzW/d+CsYKnMfsGrQol8JyPJ5iZ7OobaLauaSePc1nYPIaUDpO2wcqC2JIyY6S96kzdw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=omnitor.se; dmarc=pass action=none header.from=omnitor.se; dkim=pass header.d=omnitor.se; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=omnitorab.onmicrosoft.com; s=selector2-omnitorab-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=eQfi6EABVyO5EvDrwmD1uNCpZKicLiLWwWwAO9PgKXs=; b=SRZGM3Ksy9hfHjHapyiXmeFZRNWIFXY74r2K6N41KE0/WB8gJnwqzV5POePbodm++UIRF+bCgtnzWnO4LVhe5JHWWvRoaLku/p2uy7qA8Y+gstZ6OruYfuvjtnnnMMrqRtvm9NLbWozRmmqWqFK7uHEv2DD06JnCAQuP35j/AxU=
Received: from VI1P193MB0669.EURP193.PROD.OUTLOOK.COM (10.186.178.76) by VI1P193MB0478.EURP193.PROD.OUTLOOK.COM (52.133.13.144) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2408.24; Tue, 5 Nov 2019 22:38:06 +0000
Received: from VI1P193MB0669.EURP193.PROD.OUTLOOK.COM ([fe80::1dfd:c8d1:a788:87cd]) by VI1P193MB0669.EURP193.PROD.OUTLOOK.COM ([fe80::1dfd:c8d1:a788:87cd%7]) with mapi id 15.20.2408.024; Tue, 5 Nov 2019 22:38:06 +0000
From: Gunnar Hellström <gunnar.hellstrom@omnitor.se>
To: Christer Holmberg <christer.holmberg@ericsson.com>, Bo Burman <bo.burman=40ericsson.com@dmarc.ietf.org>, "mmusic (mmusic@ietf.org)" <mmusic@ietf.org>
CC: "'mmusic-chairs@tools.ietf.org'" <mmusic-chairs@tools.ietf.org>
Thread-Topic: [MMUSIC] Starting shepherd's review of draft-ietf-mmusic-t140-usage-data-channel-07 - Bo's technical comments
Thread-Index: AQHVk909yEtpzH2MKEqkZmDSG+/rpKd9K6IA
Date: Tue, 05 Nov 2019 22:38:05 +0000
Message-ID: <5742e425-788d-7d10-0e68-0a75bea74f3a@omnitor.se>
References: <31B83060-1653-48A1-AB78-9D2418B49CC6@ericsson.com>
In-Reply-To: <31B83060-1653-48A1-AB78-9D2418B49CC6@ericsson.com>
Accept-Language: sv-SE, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-clientproxiedby: PR0P264CA0227.FRAP264.PROD.OUTLOOK.COM (2603:10a6:100:1e::23) To VI1P193MB0669.EURP193.PROD.OUTLOOK.COM (2603:10a6:800:159::12)
authentication-results: spf=none (sender IP is ) smtp.mailfrom=gunnar.hellstrom@omnitor.se;
x-ms-exchange-messagesentrepresentingtype: 1
x-originating-ip: [83.209.227.4]
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: 703d322b-1e6c-48a9-bc85-08d76240d335
x-ms-traffictypediagnostic: VI1P193MB0478:
x-microsoft-antispam-prvs: <VI1P193MB04780145ED4B6A8B44341877FB7E0@VI1P193MB0478.EURP193.PROD.OUTLOOK.COM>
x-ms-oob-tlc-oobclassifiers: OLM:10000;
x-forefront-prvs: 0212BDE3BE
x-forefront-antispam-report: SFV:NSPM; SFS:(10019020)(366004)(136003)(39830400003)(396003)(376002)(346002)(189003)(199004)(6436002)(4326008)(86362001)(14454004)(6246003)(81156014)(54896002)(6512007)(31696002)(66066001)(236005)(2906002)(14444005)(6116002)(3846002)(81166006)(25786009)(486006)(446003)(7736002)(6486002)(71190400001)(36756003)(2616005)(508600001)(99286004)(11346002)(31686004)(66946007)(256004)(316002)(8936002)(8676002)(110136005)(229853002)(66446008)(386003)(6506007)(66476007)(26005)(64756008)(66556008)(52116002)(85202003)(186003)(102836004)(76176011)(85182001)(476003)(66574012)(71200400001)(5660300002); DIR:OUT; SFP:1102; SCL:1; SRVR:VI1P193MB0478; H:VI1P193MB0669.EURP193.PROD.OUTLOOK.COM; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; MX:1; A:1;
received-spf: None (protection.outlook.com: omnitor.se does not designate permitted sender hosts)
x-ms-exchange-senderadcheck: 1
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: b0P50T7cPzS1o77NRc2tZyDLM0BKW1RtqQ16qaDax9F57MJDGzcNxlfVA16jU+UXFx2ndm9QMofO/IDjCAl91XfMgNsj48NrLASYAe5ik5OeOPtzcGogQN0CvAUDYTXdtH442aII3NnPKu7h9aNVrnDYBFHrPUPT2V2dpLZMpLWFy4a1hbA5WQTCSteFIeWqDlU2O0M3V3EfT7kXLwRdXKYvEDCo+LuUjx4kzA6I3l06bYm4fNLG4wJ6paMSjRg4Bo91tWcK8uNr/JK2RL9b+jp/ZhyiyybygHWuWnTvvfBWuyAEofbIU1MsJ18CpAj7EFZi5Bu/ohFCJ68QBdCcC3NF6Oh+KU4BbnPsk6d0iUt1tBc+2zUbetaCPk7ar/DESaUOPCqkh8rNBqodCCQEzcLEyiSCh5uxtgUmK4d/yNFWCJxO5gErycZJB7r7j7vJ
x-ms-exchange-transport-forked: True
Content-Type: multipart/alternative; boundary="_000_5742e425788d7d100e680a75bea74f3aomnitorse_"
MIME-Version: 1.0
X-OriginatorOrg: omnitor.se
X-MS-Exchange-CrossTenant-Network-Message-Id: 703d322b-1e6c-48a9-bc85-08d76240d335
X-MS-Exchange-CrossTenant-originalarrivaltime: 05 Nov 2019 22:38:05.9208 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 2df8b35f-363f-46b8-a0d1-ee9b1723225b
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: pH5C8kJETps5WoHBAOAvCvC3g3o2LX5QGIJY07Bb5P9BsrFaW+oeVYvuytzS8zY3ArzBk/5CjKioOYmkk4tv38Lwh1mKWulOMuym7p6CU60=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1P193MB0478
Archived-At: <https://mailarchive.ietf.org/arch/msg/mmusic/l0ejxZa5Amy3pvG96-UYgOp_bLY>
Subject: Re: [MMUSIC] Starting shepherd's review of draft-ietf-mmusic-t140-usage-data-channel-07 - Bo's technical comments
X-BeenThere: mmusic@ietf.org
X-Mailman-Version: 2.1.29
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: <https://mailarchive.ietf.org/arch/browse/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: Tue, 05 Nov 2019 22:38:14 -0000

Hi Christer, Bo and all,

Please see my answers and comments inline,


Den 2019-11-05 kl. 14:30, skrev Christer Holmberg:

Hi Bo,

Thank You for the review! I will reply inline. In some cases I will refer the question to Gunnar.



1) In section 1, note 1, with “WebRTC term”, do you mean that “T.140 data channel” is introduced in WebRTC specifications? Or should it be “This T.140 data channel term in WebRTC context…”? >If not, in what way is it a “WebRTC term”, which I interpret as something belonging to or being originated from WebRTC?

2) In the same note 1, suggest to change “actually synonym to” to “technically equivalent to” or “technically similar to”. If you think
that would not be appropriate, please elaborate on in what way it is synonym.



ITU-T T.140 talks about a "data channel", but my understanding is that it also covers e.g., RTP transport of T.140.

I suggest to remove the note, because I think it could cause confusion.

[GH] I agree, the note is not important, but just a good link between the general presentation level of ITU-T T.140 with its expressed need for a transport method, and the transport method provided by the new specified T.140 data channel.



---



3) In section 4.2.1, it says that “If the 'fmtp' attribute is not included, it indicates that no maximum character transmission rate is indicated.  It does not mean that the default value of 30 applies”; >why is this deviation from RFC 4103 chosen? Does it introduce a risk for interoperability problems with systems that also doesn’t use fmtp but interprets it as maximum 30 cps?



Gunnar?

[GH] I don't know why this deviation was chosen. But I have not commented it. You are right that it may introduce an increased risk for interoperability problems. But RFC 4103 has a precaution. In chapter 6, where the cps is introduced, it is said:
"

   receivers of text/t140 MUST be designed so they can handle temporary
   reception of characters at a higher rate than this parameter
   specifies.  As a result malfunction due to buffer overflow is avoided
   for text conversation with human input."



(the reason for this note is for backward compatibility with RFC 2793, the obsoleted predecessor of RFC 4103, so it is not exactly our case, but still valid.)

We have discussed the risk that implementations may not implement setting or reading the dcsa attributes because of the complexity to do so alongside with the WebRTC API. That situation may cause a situation where a sent cps parameter is not obeyed. So the case is quite similar to the case in RFC 4103, and applications would be required to prepare for handling temporary reception at high rates.

The intention of T.140 is to handle real-time text conversation between humans. Huge cut and paste chunks of text cannot be required to be handled rapidly. The highest speed human interaction would be with speech-to-text applications. A very rapid speaker may produce 200 words per minute. That is 17 characters per second. The speech-to-text applications often makes corrections by long backspaces and resendings. That may add 10 characters per second in the total. That results in a practical need of up to 27 characters per second for one stream.

This calculation shows that for two-party calls, it would not hurt to use the same convention regarding cps default as RFC 4103 (30).

For centralized conference solutions with just one data channel from the conference server discussed in section 5.5, the need would be a multiple of that rate (27) corresponding to the number of simultaneous text senders. In well managed conferences this multiple is very close to one.

The figures above are extremes. Currently most use of RTT is typing at maximum speeds of about 7 characters per second.

Leaving the default to unrestricted might attract some misuse by implementations or users trying to use the T.140 data channel for data transmission of data totally different from the intended real-time text.

Conclusion after all this discussion:

Neither leaving the default to unlimited, nor changing to a default of 30 cps as in RFC 4103 seems very critical. Any solution will do.





---



4) In section 4.2.3.1.1, for the ‘inactive’ case, it is unclear to me in which cases a t140 data channel would be opened but not used. Why open the channel in the first place when a new SDP O/A is >anyway needed to change ‘inactive’ to something else? I’m however OK to keep it for completeness and it shouldn’t do any harm if kept, but a clarification would be helpful.



One may want to create a data channel for later use, and/or perhaps some pre-condition mechanism is used where bearers etc need to be established before text can be sent.

I don't think we normally clarify usage of 'inactive' in for other media types either.

[GH] I agree. Also, since 4.2.3.2 Modify Text Direction is short, referencing back to 4.2.3.1.1 and 4.2.3.1.2, I think 4.2.3.1.1 should contain 'inactive'.



---



5) In section 5.5, in the note, it says ‘…with limitations in real-time performance and presentation style’; I think it would be helpful to briefly elaborate on what type of limitations would be >expected and why.



I think it is explained in the other text of the section. For example, using a single data channel without any protocol extensions would not allow to separate the sources etc.

[GH] I think we can offer a bit more text at the end of the note to clarify. How about this:

"T.140 shows two examples of presentation layout for real-time text, one being column oriented, with one column per participant, another being arranged in one column with labels identifying the beginning of text from each participant and text from a number of participants received and placed in places corresponding to these different participants. With a conference mixer using one text stream and not applying any presentation protocol extension would only be able to produce a string for presentation in one column, including a source label in the beginning of text from one participant and only show text in real time from one participant at a time, shifting real-time presented participant at suitable points in the text stream. (end of phrase, end of sentence, line separator, long delay etc.). This presentation style may not be preferred by the user and it may cause delay before presentation of text from other than the currently presenting participant."

Pew, maybe too long and detailed....




---



6) In section 6, bullet “If the gateway detects or suspects loss of data on the RTP stream…”; shouldn’t it await possible redundancy first and missing text marker is inserted only when the used >redundancy is not capable to repair the loss?



Gunnar?

[GH]The intention was that it would mean "after using possibly received redundant data".   You could interpret "loss of data" to mean that (instead of "loss of packets"), but let me try an improvement: "If the gateway detects or suspects loss of data on the RTP stream, after use of possibly received redundant data, …"





---



7) In section 6, bullet “If the gateway detects that the T.140 data channel has failed”; what about if the RTP stream has failed and was reestablished? Shouldn’t missing text markers be inserted >by the gateway then too?



Gunnar?

[GH] Good point, but that case may be thought of as included in point 6 above. It is much more important to have the points about the failure of the T.140 data channel clearly pointed out, because I am afraid that there is a common misconception that reliable WebRTC channels are reliable and always deliver data.



---



8) In section 7, you mention “subprotocol”; do you mean the “dcmap” line subprotocol parameter?



Yes.

If you want, I could add the following sentence:

"The subprotocol is indicated using the SDP 'dcmap' attribute."

---



9) In section 7, the “…MUST specify the modality for that subprotocol…” seems like a general update to 8374 that is not specific or exclusive to T.140? I’m not convinced making such statement is >within the scope of this document.



The Section defines a general update to RFC 8373. It is not exclusive to T.140.

Yes, it's done within the t140-data-channel draft, but I don't think we would need a separate draft just for that update.

---



10) In section 8, you reference draft-ietf-rtcweb-data-channel and draft-ietf-mmusic-data-channel-sdpneg; are there any additional T.140-specific considerations, e.g. related to T.140 use of ->sdpneg? If not, it could be helpful to say so.



Regarding data channels (1st paragraph), there is a sentence saying: "As data channels are always encrypted by design, the T.140 data channels will also be encrypted.".

Regarding sdpneg (2nd paragraph), I could add: "There are no additional T.140 data channel specific security considerations."

---



11) In section 9.2, 9.3, and 9.4, please change all occurrences of “MMUSIC Chairs” to “IESG” and “mmusic-chairs@ietf.org<mailto:mmusic-chairs@ietf.org>” to “iesg@ietf.org<mailto:iesg@ietf.org>”, since IESG is expected to persist longer than any >individual WG.



Will fix as suggested.

---



12) In section 11.1, in the [T140ad1] reference, is “aEUR” really part of the name? The name I find listed on the ITU-T web is “ITU-T T.140 (1998) Add. 1 (02/2000)”, and the title in the document >itself seems to be “Protocol for multimedia application text conversation; Addendum 1”.



Interesting. There is no "aEUR" in the XML file, so this seems to be something created by XML2RFC.

The intended title is:

        Recommendation ITU-T.140 – Addendum 1  (02/2000), "Protocol for multimedia application text conversation"

I will fix it.

[GH] I chased a number of such occurrences earlier. I think it was because your editor inserted an unusual slanting quotation mark. Note that there is also a double quotation mark on the third line of the same reference.




---

I will address the editorial comments/nits in a seprate reply.

Regards,

Christer



Regards

Gunnar




--

+ + + + + + + + + + + + + +

Gunnar Hellström
Omnitor
gunnar.hellstrom@omnitor.se<mailto:gunnar.hellstrom@omnitor.se>
+46 708 204 288