Re: [AVTCORE] draft-ietf-avtcore-multi-party-rtt-mix Issue 1: transport

Brian Rosen <br@brianrosen.net> Mon, 18 May 2020 12:48 UTC

Return-Path: <br@brianrosen.net>
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 547193A0B6E for <avt@ietfa.amsl.com>; Mon, 18 May 2020 05:48:58 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: 0.013
X-Spam-Level:
X-Spam-Status: No, score=0.013 tagged_above=-999 required=5 tests=[DKIM_SIGNED=0.1, DKIM_VALID=-0.1, HTML_MESSAGE=0.001, SPF_HELO_NONE=0.001, T_SPF_PERMERROR=0.01, URIBL_BLOCKED=0.001] 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 WocT2m5I42E4 for <avt@ietfa.amsl.com>; Mon, 18 May 2020 05:48:54 -0700 (PDT)
Received: from mail-qk1-x734.google.com (mail-qk1-x734.google.com [IPv6:2607:f8b0:4864:20::734]) (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 8C7663A0B6B for <avt@ietf.org>; Mon, 18 May 2020 05:48:54 -0700 (PDT)
Received: by mail-qk1-x734.google.com with SMTP id f13so9914543qkh.2 for <avt@ietf.org>; Mon, 18 May 2020 05:48:54 -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=c7+8k/OB+do+7LuQtpcNKUVuwmVC3xYwsQUjL91GL0Q=; b=m+xYbh4EL6tk2LHgrdKcQN5BHGZbENsbFpVF/4veSRx5YM3AYhUJ4gS+S/itjsue+z 15rSyDAIEUOjokDJq7IV0K2ju+zTU4BwTvnMYgY5ZvAmh080bS3+kcFfbijQDWby6JjE UctOc5H3Ru525ccb9NlGw7I248zVvRLDYUjID1caxv/saVVCvU28E5e8uFYgCtUzb4+j W3ozcI6c8IKoBlfA9YNM3MLkUhKqhlbsW4vSX1rcadeqdy++oi8+JiwYEyG/DZmFKrci zHl7D78C5W9FHGv8y9YeKWiZlYcLAnHQ87f9PngfzFfBJI88gB7HzCBVVwbWmg3BJmr/ I25Q==
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=c7+8k/OB+do+7LuQtpcNKUVuwmVC3xYwsQUjL91GL0Q=; b=UO233A7RNP3Y0FmT+hh1WEm0uiMoPxExv80I9c3gIbLHFC1hNm0AW2Y6VGI6eCgNbb CDo03lk8SZGsn/CxVjSKHVH0HhrOxAE5P7PDh95NJjDuv9tKWhkCLLdEhjJ1XrE5NG3j sd8an4OE3LHqCxB6FR+YrXNZ043yHQaG0IXzqQMmiHYlyN5m5F9y8u9CHzYzuUTC7Lh4 lRVBTIHmlWyVqinAmCo1rc7ykclZFjHwJmF+6l8TsjPHM5OcO6MrcTHrSyHGoJeG1wWI ez49CkSRKbnYGo4RjfyVrChpCndsfjsELXvO3bHrzm6JrnyrV7l8cLO57nByuFHoHIGV 5C1w==
X-Gm-Message-State: AOAM532ShlTMLmz8iXhrGki70BrRUTABKr6eJ237uDRdRloFpCGJLdDy 8FihfWzbSZOKhWI/qeK792ewx2IBXTg=
X-Google-Smtp-Source: ABdhPJxl23atSSGhEWn4OnmdrY76ACSo+R3TBTCN3f380C1jgEg/r6s9GM5fvf8nAhJuEeLwGG4Yog==
X-Received: by 2002:a37:6345:: with SMTP id x66mr15140137qkb.472.1589806133412; Mon, 18 May 2020 05:48:53 -0700 (PDT)
Received: from brians-mbp-2871.lan (dynamic-acs-24-154-119-158.zoominternet.net. [24.154.119.158]) by smtp.gmail.com with ESMTPSA id g20sm8018230qki.75.2020.05.18.05.48.47 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Mon, 18 May 2020 05:48:48 -0700 (PDT)
From: Brian Rosen <br@brianrosen.net>
Message-Id: <7455653A-5769-42F2-8867-EFC9852758FF@brianrosen.net>
Content-Type: multipart/alternative; boundary="Apple-Mail=_6F23265C-996F-4AC5-86F6-9D825CBACF24"
Mime-Version: 1.0 (Mac OS X Mail 13.4 \(3608.80.23.2.2\))
Date: Mon, 18 May 2020 08:48:46 -0400
In-Reply-To: <f61dc7d6-1fbf-2052-b1b9-b5c2d346948a@ghaccess.se>
Cc: Paul Kyzivat <pkyzivat@alum.mit.edu>, avt@ietf.org
To: =?utf-8?Q?Gunnar_Hellstr=C3=B6m?= <gunnar.hellstrom@ghaccess.se>
References: <158895171474.17391.16816077344810423489@ietfa.amsl.com> <e462ea93-e084-5c55-1ade-521424884d41@ghaccess.se> <e6d35436-0ba4-6347-6990-46bbf5b4e5b3@ghaccess.se> <a2a1add6-7934-6371-81a0-8e3dc6735045@ghaccess.se> <C8BCBCFE-EA60-4964-A969-320265A89FA7@brianrosen.net> <06d6a0e7-8a0b-6177-ebcb-b03d3396e6cb@ghaccess.se> <0104AEDD-A7FC-4FC9-9E9E-8858D258581D@brianrosen.net> <633edda9-2a36-bc9b-b98e-577f97de7c73@alum.mit.edu> <f61dc7d6-1fbf-2052-b1b9-b5c2d346948a@ghaccess.se>
X-Mailer: Apple Mail (2.3608.80.23.2.2)
Archived-At: <https://mailarchive.ietf.org/arch/msg/avt/yMDKAaZb3OzUiskjhTf93jQHIlw>
Subject: Re: [AVTCORE] draft-ietf-avtcore-multi-party-rtt-mix Issue 1: transport
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, 18 May 2020 12:48:59 -0000

Do the SBCs implement 8643?  WebRTC data channel?

I think the SDP issues are manageable but the SBC issues are not.  

Brian

> On May 16, 2020, at 2:13 PM, Gunnar Hellström <gunnar.hellstrom@ghaccess.se> wrote:
> 
> Den 2020-05-16 kl. 16:41, skrev Paul Kyzivat:
>> On 5/15/20 5:33 PM, Brian Rosen wrote:
>>> Ah,  two cases, multiparty aware and multi party unaware slipped my mind.
>>> 
>>> I would say if we’re defining multi-party aware UAs, which is by definition, new code, that we’re better off with a truly reliable transport.  Keeping “repeat it enough times that it ought to work” doesn’t strike me as the best choice given implementations must change.   That was a hack.  It’s an okay hack, but we have the problem that this is very high information density per bit, so it’s quite a bit worse to lose information with RTT than with audio or video.  Your mind can fill in some missing character blanks, but not as well as it can deal with missing audio and video packets.
>> 
>> I agree with you in theory. But going that way has some problems in practice. Notably, the multiparty aware and unaware implementations need to coexist in order to be deployed. If they use the same transport and the differences can be negotiated via O/A of SDP parameters then the coexistence is easy. But with differences in transport the O/A mechanism for discovering the best mechanism supported by both ends becomes messy.
> 
> Yes, I agree. Initially I hoped that we could define the multi-party capability just with a media attribute and still call the format "text/red". But that resulted in a low source switching performance of about two sources per second. With the new media subtype "text/rex" that can be said to be up to 16 repetitions of the "text/red" format in each packet I am sure we have suffircient performance and still easily handled negotiation with just one more payload type in the same m-line.
> 
> Next thing to include is security negotiation. I have recommended OSRTP RFC 8643 to be the way to select between no security and SRTP with DTLS if the application has no reason to specify something else. I have not yet included an SDP example, but I imagine it is manageable, and more realistic than if I needed to combine negotiation between two different media lines for different transports and security or no security e.g. by means of sdp grouping and RFC 5939.
> 
> It would be interesting to have comments to that approach as well.
> 
> Thanks,
> 
> Gunnar
> 
>> 
>>     Thanks,
>>     Paul
>> 
>>> Brian
>>> 
>>>> On May 15, 2020, at 2:29 PM, Gunnar Hellström <gunnar.hellstrom@ghaccess.se <mailto:gunnar.hellstrom@ghaccess.se>> wrote:
>>>> 
>>>> Hi Brian,
>>>> 
>>>> Den 2020-05-15 kl. 17:03, skrev Brian Rosen:
>>>>> I think we have to consider who has to do what.
>>>>> 
>>>>> If we are requiring all implementations to change because of other multi-party issues, then I think we should us an actual reliable protocol, and not just a “repeat enough times that the probability it gets there is high enough.
>>>>> 
>>>>> If we aren’t asking all implementations to change for multi-party, but only the mixer, then I think that we’re sticking with T.140,
>>>>> 
>>>>> We’re in the latter case, right?  The point of this work is don’t change the endpoints, only the conference bridge.
>>>> 
>>>> We are in both cases. And I hope you agree we should be.  And this is in general, not only for the transport. Both cases are there in the current draft draft-ietf-avtcore-multi-party-rtt-mix-01
>>>> 
>>>> 1) A mechanism that the mixer can use when it is revealed that the endpoint does not support proper multi-party presentation. There are functional limitations, but it works reasonably well, especially for few parties taking turns in reasonably good order. It is specified in section 13.2 and is called "Multi-party mixing for multi-party unaware endpoints".  You can check the functional limitations at the end of that section and tell if you agree that we also need something better.
>>>> 
>>>> 2) A mechanism to use when both the mixer and the endpoint can handle fully functional multi-party presentation of text. That requires active action by the endpoint to place received text in areas for each participant, and present them in a suitable way, both providing a good real-time impression, an impression of approximately when in time order the text entries were produced, and a collection of text from each participant in suitable chunks, phrases, sentences or messages, with source information attached. The latest draft has a format for multi-party transport that allows up to 16 sources per packet, and can by that provide text from about 32 simultaneously typing participants without introducing unacceptable delay. Earlier versions of the draft had different and much lower performance.  I am glad that the new format will not be the bottleneck for a good RTT multi-party experience.
>>>> 
>>>> It would have been possible to specify another transport for mechanism 2), but my reasoning ended up in the same as before: RTP with RFC2198-type redundancy, with one original and two redundant transmissions, most often 300 ms apart. You can see the format as 16-tuple-RFC-4103. Do you agree in this conclusion for case 2?
>>>> 
>>>> Thanks,
>>>> 
>>>> Gunnar
>>>> 
>>>> 
>>>> 
>>>> 
>>>>> 
>>>>> Brian
>>>>> 
>>>>>> On May 14, 2020, at 11:01 AM, Gunnar Hellström <gunnar.hellstrom@ghaccess.se <mailto:gunnar.hellstrom@ghaccess.se>> wrote:
>>>>>> 
>>>>>> I have concluded that only two of the discussed transports are realistic.
>>>>>> 
>>>>>> Comments below
>>>>>> 
>>>>>> Den 2020-05-11 kl. 12:22, skrev Gunnar Hellström:
>>>>>>> In a recent e-mail, I listed 9 issues to act on in draft-ietf-avtcore-multi-party-rtt-mix-00
>>>>>>> 
>>>>>>> I want to deal with them one by one or in small groups. Here is number 1:
>>>>>>> 
>>>>>>> 1. Consider rapidly if there is any more reliable transport that is feasible to move to.
>>>>>>>> (e.g. Comedia RFC 4145 and RFC 4572, or the recently approved WebRTC t140 data channel draft-ietf-mmusic-t140-data-channel-usage, or use of SAVPF with NAK and retransmission RFC 4588)
>>>>>>> 
>>>>>>> It may look strange with this issue after many months as an individual draft. But I want to touch it anyway before we move on in one fixed direction.
>>>>>>> 
>>>>>>> T.140 and its RTP transport (RFC 2793 - later RFC 4103) were created 1998 - 2000 as the third real-time medium for human conversations beside voice and video. The idea was to give equal opportunities to persons wanting to communicate by text as the ones who use voice or video. That means real-time transmission while text is created and accepting some rare dropouts just as we do with voice and video. However, users are nowadays used to text messaging where it is customary to accept a delay and get the text complete in most cases, rather than to have loss. That user experience might be expected from real-time text as well. I do not have any strong user indications that this is the case, it is just my own thinking.
>>>>>>> 
>>>>>>> The reason to bring this up now, is that we seem to need to introduce the multi-party mixed format at least as a new text media subtype, text/rex instead of text/red. Then we are anyway introducing signaling complexity of similar kind that another transport will do.
>>>>>>> 
>>>>>>> Are any of the initially mentioned more reliable transports realistic and easily implemented in the target implementation environments: NG emergency services, 3GPP IMS MTSI, IETF RUM, and plain SIP multimedia? Or are there any other not mentioned?
>>>>>>> 
>>>>>>> When considering this, we should have in mind that the proposed transport should be with security so that we do not need to introduce more options to negotiate between.
>>>>>>> 
>>>>>>> And we shall also keep in mind that NAT traversal needs to be supported as well as multi-party-signaling through the SIP central conferencing model RFC 4353.
>>>>>>> 
>>>>>>> Another complexity is that current regulation requires RFC 4103 and it would be best that the finaly specified multi-party solution can be perceived as an extension to RFC 4103.
>>>>>>> 
>>>>>>> What can be said about the options?
>>>>>>> 
>>>>>>>  1. Comedia RFC 4145 and RFC 4572. Makes use of TLS for transport, so it is secured. Should use RFC 6544 ICE for TCP for NAT traversal. Requires specification of how to arrange the streams and code the sources in the multi-party environment. I do not know how well these RFCs are supported in the target environments. Seems to increase complexity.
>>>>>> --Increases complexity - not selected
>>>>>>> 
>>>>>>> 2. draft-ietf-mmusic-t140-usage-data-channel. Has security, NAT traversal and possibility to code multi-party source. Has good opportunity for being supported in endpoint devices, because all of them are expected to support WebRTC. Maybe less supported in traditional SIP bridges.
>>>>>> --A realistic solution. The base is already approved and is for a popular environment. Multi-party is briefly mentioned but should probably be a bit further specified. Should however not be the only solution. The RTP based solution is also needed.
>>>>>>> 
>>>>>>> 3. SAVPF with NACK and RFC 4588 retransmission. I assume this can be combined with OSRTP RFC 8643 for security negotiation. When the immediate or early feedback option can be used, this method can likely be used without redundancy to achieve a reliability enhancement. That will not work well over networks with high latency. Further study needed if redundancy or FEC is needed as complement for high latency networks. Easy to achieve up to 5 simultaneously sending users.
>>>>>> --Increases complexity - not selected
>>>>>>> 
>>>>>>> 4. (Not mentioned in the introduction above) Use RFC 4103 plus one of the RTP based methods for multi-party source indication but just increase redundancy to one original and three (instead of two) redundant generations. Can easily be done if reliability increase is really a concern. Has low overhead. Easily applicable to OSRTP security, SIP conferencing model and ICE NAT traversal.
>>>>>> --Easily done by local recommendations if 3 generations redundancy (including the original) would not be felt sufficient somewhere.
>>>>>>> 
>>>>>>> 
>>>>>>> 5. Accept reliability that is quite good as it is with RTP with one original and two redundant generations in the RFC 2198 - style ( with one of the additional methods discussed for increasing switching performance)
>>>>>>> 
>>>>>> --Realistic and regarded sufficient. By move to a mixer method allowing 300 ms transmission interval, the protection against burtsy packet loss is quite good. Continue on this track.
>>>>>> 
>>>>>> 
>>>>>> The conclusion is reflected in version -01 of the draft, just published.
>>>>>> 
>>>>>> Regards
>>>>>> 
>>>>>> Gunnar
>>>>>> 
>>>>>> 
>>>>>>> Comments please so we can take a rapid decision and move on with one solution.
>>>>>>> 
>>>>>>> Regards
>>>>>>> 
>>>>>>> 
>>>>>>> Gunnar
>>>>>>> 
>>>>>>> 
>>>>>>> 
>>>>>>> 
>>>>>> -- 
>>>>>> Gunnar Hellström
>>>>>> GHAccess
>>>>>> gunnar.hellstrom@ghaccess.se <mailto:gunnar.hellstrom@ghaccess.se>
>>>>>> 
>>>>>> _______________________________________________
>>>>>> Audio/Video Transport Core Maintenance
>>>>>> avt@ietf.org <mailto:avt@ietf.org>
>>>>>> https://www.ietf.org/mailman/listinfo/avt
>>>>> 
>>>> -- 
>>>> Gunnar Hellström
>>>> GHAccess
>>>> gunnar.hellstrom@ghaccess.se
>>> 
>>> 
>>> _______________________________________________
>>> Audio/Video Transport Core Maintenance
>>> avt@ietf.org
>>> https://www.ietf.org/mailman/listinfo/avt
>>> 
>> 
>> _______________________________________________
>> Audio/Video Transport Core Maintenance
>> avt@ietf.org
>> https://www.ietf.org/mailman/listinfo/avt
> 
> -- 
> Gunnar Hellström
> GHAccess
> gunnar.hellstrom@ghaccess.se <mailto:gunnar.hellstrom@ghaccess.se>
> 
> _______________________________________________
> Audio/Video Transport Core Maintenance
> avt@ietf.org <mailto:avt@ietf.org>
> https://www.ietf.org/mailman/listinfo/avt <https://www.ietf.org/mailman/listinfo/avt>