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

Brian Rosen <br@brianrosen.net> Thu, 29 August 2019 17:17 UTC

Return-Path: <br@brianrosen.net>
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 740A3120A48 for <rum@ietfa.amsl.com>; Thu, 29 Aug 2019 10:17:51 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.888
X-Spam-Level:
X-Spam-Status: No, score=-1.888 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_HELO_NONE=0.001, T_SPF_PERMERROR=0.01] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=brianrosen-net.20150623.gappssmtp.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 IVKXgqlNf2Lu for <rum@ietfa.amsl.com>; Thu, 29 Aug 2019 10:17:47 -0700 (PDT)
Received: from mail-qk1-x72e.google.com (mail-qk1-x72e.google.com [IPv6:2607:f8b0:4864:20::72e]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 99D011209A8 for <rum@ietf.org>; Thu, 29 Aug 2019 10:17:47 -0700 (PDT)
Received: by mail-qk1-x72e.google.com with SMTP id s14so3659558qkm.4 for <rum@ietf.org>; Thu, 29 Aug 2019 10:17:47 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=brianrosen-net.20150623.gappssmtp.com; s=20150623; h=from:message-id:mime-version:subject:date:in-reply-to:cc:to :references; bh=czAza/XU37NxYjMrMmqijNcWei7pUt9s+Y9iYZbSiPE=; b=G/bxowDrY/Uo+Bh6LloxNiOqkhIJczgN8YtERLj4G2k3cQYny2s3YDB3L0m7fsVNdV WI/0gsPWa4AEXgD67a9X7dWYKQ3DzSDuh1gBWWM7ntF34Y1Z0lUZXDtzMUluvqXM5biB jl6bhFs6/hQICZWYSi+IcEAGmRyL6/S0IfveGhHc4/rDqX6bkKvKeKnLTfDCtjbv2+2N Ji/ckSjsW88CAka1VvFgXn/LausNM/ExSGbC67Cg4Xv3v0RzuVOh9Ydgd7O0qZjAMFFo aM+hBuEnpZ4eG17/OvNptI3NkssDXOba3vb4Qpe8SRB0c1sH24uA4tM/3LKZkWqgXkGm WYIA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:message-id:mime-version:subject:date :in-reply-to:cc:to:references; bh=czAza/XU37NxYjMrMmqijNcWei7pUt9s+Y9iYZbSiPE=; b=R8QsyWNSaFzGfWYAzL61beFEZ6TszLTKujI1B4LD7b1w8N1BAMPNAlnyAJVEir+RdC 7ZEs19HFoAYXVtwTCw78Qv5AdRgj3qHn1VDmAqIAzLVZN/WH1LHou3BELaHYG33cHQ9Q 2UXl7UoopJHnXDatp1T0bTixNatyrtalEu0FQKIaKKODfEpt2dlPbZrAuGuryWXVfzg+ JcdY/BUdZOXL+vgzOJZnWSPYe0BKTODiIayQ8AQgNpYOFkr3vE0olLZPZW2l2dxr3ZHJ y6oGWGBCvdYu/9HOImE9UlZ0gch7ud/6f4lRC8GG4+XPkNM0/2KJlHybm5rKRWm+1kec ORYQ==
X-Gm-Message-State: APjAAAUnh5AyIkEEEA0yQLxBO9dwhlskxhagSV2W5YZGLxzREiDvQNIe 2L/OEXAonKCkW7lazCRCZrhFKA==
X-Google-Smtp-Source: APXvYqy2Z86T3T59+hNbTbjcw7sWKV7RRbIh44LiODroaNaKHv2KVvxOxpKdZIvkFw4GcbT0Ksh3Hw==
X-Received: by 2002:a37:a68e:: with SMTP id p136mr3596955qke.49.1567099066612; Thu, 29 Aug 2019 10:17:46 -0700 (PDT)
Received: from brians-mbp-2388.lan ([24.154.122.195]) by smtp.gmail.com with ESMTPSA id b50sm689010qte.48.2019.08.29.10.17.45 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 29 Aug 2019 10:17:46 -0700 (PDT)
From: Brian Rosen <br@brianrosen.net>
Message-Id: <272ED564-10A7-40C9-90BC-587A81C6B68C@brianrosen.net>
Content-Type: multipart/alternative; boundary="Apple-Mail=_92FB00AD-783A-41D2-B1D5-7912FF57965C"
Mime-Version: 1.0 (Mac OS X Mail 12.4 \(3445.104.11\))
Date: Thu, 29 Aug 2019 13:17:45 -0400
In-Reply-To: <BL0PR0901MB2386827A6082367FB85CF641B9A20@BL0PR0901MB2386.namprd09.prod.outlook.com>
Cc: Paul Kyzivat <pkyzivat@alum.mit.edu>, "rum@ietf.org" <rum@ietf.org>
To: Jim Malloy <jmalloy@mitre.org>
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> <25517_1567094729_5D67F7C4_25517_54_4_48c0bc62-0f75-4f83-6d9c-f763982dd000@alum.mit.edu> <BL0PR0901MB2386827A6082367FB85CF641B9A20@BL0PR0901MB2386.namprd09.prod.outlook.com>
X-Mailer: Apple Mail (2.3445.104.11)
Archived-At: <https://mailarchive.ietf.org/arch/msg/rum/HoD8Ni1r0f8S11H2K4hp6Ss5NB0>
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 17:17:52 -0000

I think we want a rum device to be able to be a good conference participant, but like nearly all conference participants, they only see a 2 party call and the bridge does the magic.
I don’t think we need to require anything else.  I think we want a bridge to be able to host a rum-compliant endpoint.

Brian

> On Aug 29, 2019, at 12:20 PM, Malloy, Jim <jmalloy@mitre.org> wrote:
> 
> Do we intend for the RUE to accommodate multiple party calls (more than three)? I don't recall any language related to anything but a point to point call.  For emergency calls, conferencing in the PSAP (three parties) may be appropriate.  Are we looking for more than that?
> 
> --Jim Malloy
> 
> -----Original Message-----
> From: Rum <rum-bounces@ietf.org <mailto:rum-bounces@ietf.org>> On Behalf Of Paul Kyzivat
> Sent: Thursday, August 29, 2019 12:05 PM
> To: rum@ietf.org <mailto:rum@ietf.org>
> Subject: [EXT] Re: [Rum] Real-time text in WebRTC is discussed in mmusic - a topic closely telated to rum
> 
> 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/Sp
>> ecifications/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 <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 <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-hol <https://mailarchive.ietf.org/arch/browse/mmusic/?gbt=1&q=draft-hol>
>>>>>> mberg-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 <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 <https://www.ietf.org/mailman/listinfo/rum>
> -- 
> Rum mailing list
> Rum@ietf.org <mailto:Rum@ietf.org>
> https://www.ietf.org/mailman/listinfo/rum <https://www.ietf.org/mailman/listinfo/rum>