Re: [Rum] [EXT] Re: Real-time text in WebRTC is discussed in mmusic - a topic closely telated to rum

"Malloy, Jim" <jmalloy@mitre.org> Thu, 29 August 2019 20:00 UTC

Return-Path: <jmalloy@mitre.org>
X-Original-To: rum@ietfa.amsl.com
Delivered-To: rum@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id B03DA120C7F for <rum@ietfa.amsl.com>; Thu, 29 Aug 2019 13:00:13 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -4.3
X-Spam-Level:
X-Spam-Status: No, score=-4.3 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_MED=-2.3, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=mitre.org
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 hiAt7xrbI_pP for <rum@ietfa.amsl.com>; Thu, 29 Aug 2019 13:00:09 -0700 (PDT)
Received: from smtpvbsrv1.mitre.org (smtpvbsrv1.mitre.org [198.49.146.234]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id EB182120C61 for <rum@ietf.org>; Thu, 29 Aug 2019 13:00:08 -0700 (PDT)
Received: from smtpvbsrv1.mitre.org (localhost.localdomain [127.0.0.1]) by localhost (Postfix) with SMTP id 2D625332069; Thu, 29 Aug 2019 16:00:08 -0400 (EDT)
Received: from smtprhbv1.mitre.org (unknown [129.83.19.196]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by smtpvbsrv1.mitre.org (Postfix) with ESMTPS id 13B6333206B; Thu, 29 Aug 2019 16:00:08 -0400 (EDT)
Received: from mbfesmtp-mgt.mitre.org (unknown [198.49.146.235]) by smtprhbv1.mitre.org (Postfix) with ESMTP id 0D14B9269C2; Thu, 29 Aug 2019 16:00:08 -0400 (EDT)
Received: by mbfesmtp-mgt.mitre.org (Postfix, from userid 600) id 46KD3r0GgYzk1b; Thu, 29 Aug 2019 19:59:37 +0000 (UTC)
Received: from GCC02-BL0-obe.outbound.protection.outlook.com (mail-bl2gcc02lp2106.outbound.protection.outlook.com [104.47.64.106]) by mbfesmtp-mgt.mitre.org (Postfix) with ESMTPS id 46KD3871lDzk17; Thu, 29 Aug 2019 19:59:32 +0000 (UTC)
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=bYgwsqjqcggirxrIqV+y6Fh0lcxb8wPt8VyYEgZn3GmMMxYmaziUyZOPZmInMRuQLvBnSB91V7SNKVGfzN8HX6SHdQN6VTAid0SI7YwQBE6OqeadufOatF7LL3L+9BF2N1mtr7Wvu3OnNPl8hQ+CagVq0AUP3UXSq4bsyITxnmUeIQg4Uad+lK0H9295BPTNptt/LQmc4R4+sHKF/SmsU0OF6BFqNEY+JcFlX5SKC3P1tiP/Is0v6NhL0INBkFCmV6HyonN7r1XhjQH2zNN+msHI2iWEd5URofzw0dSH9q+F4CyhZwxtSDM9foIWVTzp0e55YeyxVl0gv/eAIac73Q==
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=9f812FUHPFn8bCEBxx/jQTiD6mtEZ/wJ/aLEAJLFBa8=; b=jUNirhf1AIUwdGvvAHCZHkA9Y0KjsxXrIJRMOP4qfBd68CEGOvOFfS1rjFJUh8O6uEO43qtbCocjVseuWVOkDWHvCzLl0CLq9WSF3x80eeDbETtOldXKnClyeWbXfYkR3QjLSqHOTIZiemwmM40G0Yj0PKBeHX7bgpYsLqETwUvMWK11YaZUh0TRwboUCf2eck1RQVvS7uolZqJrKbIyBtlJ80PRujSg3NaViEddNiQ9EFCsAkBy98c/uWLzPoPcGVSl+/JLn/KFi11j1xGr6jvt/5N5/N3UF2dyNg0f9PyWmwyWqiNexTnwr9B/UCz5fThzrZHXjklRLoNDQBNl1Q==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=mitre.org; dmarc=pass action=none header.from=mitre.org; dkim=pass header.d=mitre.org; arc=none
Received: from BL0PR0901MB2386.namprd09.prod.outlook.com (52.132.25.22) by BL0PR0901MB3058.namprd09.prod.outlook.com (20.177.243.80) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2199.21; Thu, 29 Aug 2019 19:59:31 +0000
Received: from BL0PR0901MB2386.namprd09.prod.outlook.com ([fe80::cc1d:b5b5:bea2:9d5]) by BL0PR0901MB2386.namprd09.prod.outlook.com ([fe80::cc1d:b5b5:bea2:9d5%7]) with mapi id 15.20.2199.021; Thu, 29 Aug 2019 19:59:31 +0000
From: "Malloy, Jim" <jmalloy@mitre.org>
To: Brian Rosen <br@brianrosen.net>, "Kyzivat, Paul" <pkyzivat@alum.mit.edu>
CC: "rum@ietf.org" <rum@ietf.org>
Thread-Topic: [EXT] Re: [Rum] Real-time text in WebRTC is discussed in mmusic - a topic closely telated to rum
Thread-Index: AQHVXo1FlwW+HFW4sUKgOzE77Y/c0KcSivaA
Date: Thu, 29 Aug 2019 19:59:31 +0000
Message-ID: <BL0PR0901MB23862F432B1A40B42C8C41E5B9A20@BL0PR0901MB2386.namprd09.prod.outlook.com>
References: <9a14addd-9a1c-6130-3880-a814be717323@omnitor.se> <D375F138-E997-4436-9A90-A5583CD0820B@brianrosen.net> <f476c7d1-1d99-17a9-bdb4-716eb5807160@omnitor.se> <59F6B4E5-16DF-42EB-A654-1749BC9487B5@brianrosen.net> <b4a1f825-cc00-66cf-44b7-d7aa2bcf2a49@omnitor.se> <48c0bc62-0f75-4f83-6d9c-f763982dd000@alum.mit.edu> <1388_1567098914_5D680821_1388_680_16_CE25682F-6A84-4033-BAFD-5D40ED6A0B09@brianrosen.net>
In-Reply-To: <1388_1567098914_5D680821_1388_680_16_CE25682F-6A84-4033-BAFD-5D40ED6A0B09@brianrosen.net>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
authentication-results: spf=none (sender IP is ) smtp.mailfrom=jmalloy@mitre.org;
x-originating-ip: [192.160.51.88]
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: ecff167a-b0fc-4113-b38c-08d72cbb6816
x-ms-office365-filtering-ht: Tenant
x-microsoft-antispam: BCL:0; PCL:0; RULEID:(2390118)(7020095)(4652040)(8989299)(4534185)(4627221)(201703031133081)(201702281549075)(8990200)(5600166)(711020)(4605104)(1401327)(4618075)(2017052603328)(7193020); SRVR:BL0PR0901MB3058;
x-ms-traffictypediagnostic: BL0PR0901MB3058:
x-ms-exchange-purlcount: 5
x-ld-processed: c620dc48-1d50-4952-8b39-df4d54d74d82,ExtAddr
x-microsoft-antispam-prvs: <BL0PR0901MB3058FD10E393A51C9A309F79B9A20@BL0PR0901MB3058.namprd09.prod.outlook.com>
x-ms-oob-tlc-oobclassifiers: OLM:9508;
x-forefront-prvs: 0144B30E41
x-forefront-antispam-report: SFV:NSPM; SFS:(10009020)(979002)(39860400002)(396003)(136003)(366004)(346002)(376002)(52314003)(199004)(189003)(66946007)(186003)(76116006)(33656002)(2906002)(52536014)(25786009)(71190400001)(71200400001)(64756008)(66556008)(66476007)(14454004)(66446008)(86362001)(66574012)(606006)(8936002)(81156014)(81166006)(229853002)(236005)(53936002)(6436002)(8676002)(54896002)(6306002)(4326008)(6246003)(74316002)(2171002)(476003)(486006)(7736002)(966005)(14444005)(256004)(446003)(5024004)(478600001)(5660300002)(11346002)(102836004)(66066001)(99286004)(316002)(53546011)(76176011)(3846002)(26005)(110136005)(9686003)(7696005)(6116002)(790700001)(6506007)(55016002)(969003)(989001)(999001)(1009001)(1019001); DIR:OUT; SFP:1101; SCL:1; SRVR:BL0PR0901MB3058; H:BL0PR0901MB2386.namprd09.prod.outlook.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; A:1; MX:1;
received-spf: None (protection.outlook.com: mitre.org does not designate permitted sender hosts)
x-ms-exchange-senderadcheck: 1
x-microsoft-antispam-message-info: WO36uYKncOpl5mv5A3m81DZrS+9sS7o0hCYToSWpOi22CJAMr9ukwwZmeN6cOFusHv/SDUwVPVL8pdiDBAKMT43bFM6UXB3BZfhVVUhbeOufq5lj/qGNNAu0hA8JLic1O4nizbuZhEYNQCoQtZ0OlYFvGV7InMhQSTseiQYb72kXhsaIbF7rLXyEc21tkXy8wfHIg+Rc3YV3Tp08HfkueEk+g/xdLdXxt/UU4iiO9s0RJSbnpg8kYmDIHFXz3dGHdV7wGAqE4uR9aeqfWDqaHXzuCaFi1ODQ7xC9r0sHqQUINQA0CtBBPJZ0KUI9aOY/E68W0rhmvEe0lfMEYQdGEoNB5PtHkwRTYD1JRfjqgc9t7XlhAch5/1wc5qPidHfIkkOb5QjEWOs8i/+5P/ncvUTh4t/gxvd1XnKtmzOritM=
x-ms-exchange-transport-forked: True
Content-Type: multipart/alternative; boundary="_000_BL0PR0901MB23862F432B1A40B42C8C41E5B9A20BL0PR0901MB2386_"
MIME-Version: 1.0
X-OriginatorOrg: mitre.org
X-MS-Exchange-CrossTenant-Network-Message-Id: ecff167a-b0fc-4113-b38c-08d72cbb6816
X-MS-Exchange-CrossTenant-originalarrivaltime: 29 Aug 2019 19:59:31.2199 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: c620dc48-1d50-4952-8b39-df4d54d74d82
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: uml+ee1UIYrxCp6bkcvvqzLppMQnD3jVjY15syZvz9r9Pzj+TDa2OqXPdN1H982FCxULrmuPfqermb5aqy6XeA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BL0PR0901MB3058
X-MITRE: 8GQsMWxq66rxk57w
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=mitre.org; h=from:to:cc:subject:date:message-id:references:in-reply-to:content-type:mime-version; s=selector1; bh=9f812FUHPFn8bCEBxx/jQTiD6mtEZ/wJ/aLEAJLFBa8=; b=YZT+SDlNPjkpPBl/8aIw75hk6ST5TY1XTdLuau6iGrKATpwdZBHU+sP6iEqXPuAuvr7z3gIyeWQ2PKRurr4tZ7JYI672jG8ggN7mIz688wohEYSdlbm3hPlNJc86ZNSjQzFspL31nbfKKQpAUWTuZa03VF22zwSzsUWYN1V6+Og=
Archived-At: <https://mailarchive.ietf.org/arch/msg/rum/AWYDkeyvcRitgikMxNxI_3Quvpk>
Subject: Re: [Rum] [EXT] Re: Real-time text in WebRTC is discussed in mmusic - a topic closely telated to rum
X-BeenThere: rum@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: Relay User Machine <rum.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/rum>, <mailto:rum-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/rum/>
List-Post: <mailto:rum@ietf.org>
List-Help: <mailto:rum-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/rum>, <mailto:rum-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 29 Aug 2019 20:00:20 -0000

“line at a time” is a user interface issue – RUM is defining a machine interface.  How it’s presented to the user is out of scope.

--Jim


From: Rum <rum-bounces@ietf.org> On Behalf Of Brian Rosen
Sent: Thursday, August 29, 2019 1:15 PM
To: Kyzivat, Paul <pkyzivat@alum.mit.edu>
Cc: rum@ietf.org
Subject: [EXT] Re: [Rum] Real-time text in WebRTC is discussed in mmusic - a topic closely telated to rum

“Line at a time” could be an implementation option.  The protocol mechanism is all streams head to a mixer and the mixer sends a single stream to each participant.

Gunnar, we agreed we were using 4103 in RUM.

Brian


On Aug 29, 2019, at 12:05 PM, Paul Kyzivat <pkyzivat@alum.mit.edu<mailto:pkyzivat@alum.mit.edu>> wrote:

I question how well RTT text is suited to multiparty conferences.

If you have messages on your screen from multiple parties, and many of them are updating in real-time, are you going to be able to perceive what is going on?

And while you can have a column per person for two-party and maybe 3-party conversations, that doesn't scale up. With many parties, some typing may scroll off the screen before it is complete.

Perhaps for conferences it is better to just use line-at-a-time chat. If necessary, I presume there could be gateways between RTT and chat. A RUE could have the capability to negotiate down from RTT to chat.

               Thanks,
               Paul

On 8/28/19 2:15 AM, Gunnar Hellström wrote:

Den 2019-08-27 kl. 23:15, skrev Brian Rosen:

At least by centralizing the problem at a “mixer”, Alice and Bob will see the same thing.

You don’t have the problem in Instant Messaging, because you can’t backspace or delete a sent message.  Of course if multiple people are typing simultaneously in such systems, message order will be confusing in that instant.
Right, it is a similar kind of problem that text appears in an unexpected order. There is also at least one instant messaging service that allows modification in already sent message. But I think it has limitations to only accept that in the last message sent. it is convenient anyway.


Anyway, we need to specify the mixer for RTT so it receives each of the RTT streams and produces a single composite stream for each participant.
Yes, right, and there is an effort in that direction in:
http://www.realtimetext.org/sites/default/files/Files_and_Documents/Specifications/multiparty-real-time-text-mixer-2011-04-30.pdf
It is written for conference-unaware user devices.
The goals are specified as follows:
The procedures are intended to make best efforts to present a multi-party text conversation on a terminal that has no awareness of multi-party calls. There are some obvious drawbacks, and a terminal designed with multi-party awareness will be able to present multi-party call contents in a more flexible way. Only two parties at a time will be allowed to display added text in real-time, while the other parties’ produced text will need to be stored in the multi-party server for a moment awaiting a suitable occasion to be displayed. There are also some cases of erasure that will not be performed on the target text but only indicated in another way. Even with these drawbacks, the procedure provides an opportunity to display text from more than two parties in a smooth and readable way.
---------------------------------------------------------------------------------------------------
I see such mixer procedures as a fall-back for cases without conference awareness, but want to see support for conference-aware terminals, where text from more than two parties can be presented in real-time, and the end user or app can have influence over the presentation style - e.g. select between the multiple column view and the one-column-with-labels view.  A mixer for that case would only need to assure that the receiver has the right kind of multi-party awareness and send RTT text with source information attached, and let the receiving terminal sort out the presentation. This is already possible with CSRC and CNAME when using RTP, but we lose that possibility natively when using the WebRTC data channel to transport RTT, and would need to specify a way to include the source also for that case.
------------------------------------------------------
By the way, what is your current view of how to transport RTT for RUM, now when you say that you will use WebRTC transports for media?
Regards
Gunnar



On Aug 27, 2019, at 4:43 PM, Gunnar Hellström <gunnar.hellstrom@omnitor.se<mailto:gunnar.hellstrom@omnitor.se> <mailto:gunnar.hellstrom@omnitor.se>> wrote:

Den 2019-08-27 kl. 21:48, skrev Brian Rosen:

The problem of conference 4103 RTT is high on my list of work I need to get done.  So, I’m motivated to help out.
Thanks, great.

The basic problem is that we’re going to get very inconsistent UI doing it that way, because of how systems will handle backspace of one party that extends beyond responses from other parties:
(well, for me the currently most basic problem is to have a reliable way to append received text to the already presented text of the right participant. And that is getting worse in WebRTC than it was in RFC 4103. But we will sort it out.)


Alice: I waited for you
Bob: I didn’t see you
Alice: sorry

And then Alice types 12 backspaces.

What should happen?

You are right that there are a number of ways to handle the RTT UI. And just as inconsistencies are common with a message oriented UI, where messages show up in a confusing order because two users completed messages in an unexpected time order, it is possible that RTT text gets displayed in a strange order after erasure and retyping. It is better for RTT than for message oriented presentation, and user get used to it in both cases.  With the labelled style in one column you have in the example, I would recommend that first 5 backspaces erase "sorry", next backspace erases the line separator, and pulls down "I waited for you" to be shown last, as an uncompleted text. Then the next 6 backspaces erase so that only "I waited f" is displayed. When Alice adds text and end with a new line, the corrected sentence is allowed to flow up when new text is added from any participant.  That causes a bit strange order, but it is just as manageable as when text in messaging applications appear in an unexpected order so that one message seems to be a respone on something totally else than what was intended.

A sophisticated UI may mark text that is moved and modified.

We want to keep sentences or at least phrases from each participant together in a readable unit. Already that causes a design decision on where to place the completed chunk of text once the user has completed it. The start of the chunk may be older than completed text from other participants which would motivate to move it up a bit in the presentation. But the end of it is at that moment the latest text to present. I think it is best to let the finished text be presented last on the display, but let others' newer text push everything up and be displayed last.


T.140 has information on how to handle erasure:

-------------------From T.140---------------------------

8.2 Erase last character
Purpose: Erase the last character sent from the display at the receiving end.
Code: BS: 0008.
Procedure: On the receiving end: Move the insertion point to the last character and erase it.
Combined characters are erased as a unit, with one BS erasing the whole character even if it is
combined from more than one component.
Control sequences (like CR LF) are erased in one operation.
NOTE – The same action shall be taken on the local display.

------------------------------------------------------------

  /Gunnar



Brian


On Aug 27, 2019, at 9:52 AM, Gunnar Hellström <gunnar.hellstrom@omnitor.se<mailto:gunnar.hellstrom@omnitor.se> <mailto:gunnar.hellstrom@omnitor.se>> wrote:

Hi,

A topic is currently discussed in mmusic that is closely related to rum. it is WebRTC transport of real-time text.

The draft is draft-holmberg-mmusic-t140-usage-data-channel .

A good point to start reading could be:

https://mailarchive.ietf.org/arch/browse/mmusic/?gbt=1&q=draft-holmberg-mmusic-t140-usage-data-channel

Please check if the current state of the discussion suits rum!

The only issue that seems to be remaining is how to transport RTT data to and from a conference server that combines all traffic per media in a meeting in one data stream. That is not very elegantly specified for RFC 4103 transport of RTT in RTP either, so we might want to do a rapid action together to solve the multi-party RTT MCU case in a general and consistent way.

Regards

Gunnar

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

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

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

--
Rum mailing list
Rum@ietf.org<mailto:Rum@ietf.org>
https://www.ietf.org/mailman/listinfo/rum