Re: [MMUSIC] Multi-party transport in draft-hellstrom-mmusic-multi-party-rtt-00.txt
Paul Kyzivat <pkyzivat@alum.mit.edu> Fri, 21 February 2020 17:01 UTC
Return-Path: <pkyzivat@alum.mit.edu>
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 B33B9120891 for <mmusic@ietfa.amsl.com>; Fri, 21 Feb 2020 09:01:30 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2
X-Spam-Level:
X-Spam-Status: No, score=-2 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, 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=alum.mit.edu
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 zMsCxm6irAoH for <mmusic@ietfa.amsl.com>; Fri, 21 Feb 2020 09:01:26 -0800 (PST)
Received: from NAM10-DM6-obe.outbound.protection.outlook.com (mail-dm6nam10on2062.outbound.protection.outlook.com [40.107.93.62]) (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 B979012088D for <mmusic@ietf.org>; Fri, 21 Feb 2020 09:01:25 -0800 (PST)
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=odSwnRBWc+edv/hvMyWs0NKxzFrCgERHlJ/P+w138cB0Mhq7cpuFttQQ3S04QcJnvs5sBDYASnmtKUi9+aQjO/a6M6OVLpK4kVlmOAilmygUj+bkbXye4PfOxrl006ROfiXdB2K5hD/i3hf6G6dxACGKVDQaIqbolTzIrt7Q04XZ5pCMTFh1IsgHpvIazMgPnKqXKIJTdNR+lItdJN+JKeW+3PQd7y8Y7MNfxEOWU1QrNWI+WS6b+px5B7n21/HH9x3LmOgU1b+kCfPV6c9KuiuVxsu1PAKo1+pN1QE+hhzGwJC/TJlsMvs6KhTTs4lWi7dp3KzQH/R9vw44sZ2uxA==
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=bKvQWemy8/ehk9pPmFa8RBZS8EoncY261kdW8dcsWa0=; b=Z/MCMS7kw1KhXIEGHGz8AtYc9o8zdWBgbTzQ9YS2vZa6uJepEQ0fkMApHgKn2lTbQgHd6EPqpStoN/OzXS8Es72+Xngtf0wgwPewE92uPye9fh702nhHMa6jlPyTdsoz2KgEDNcH3moZwD/m2IiJH4bLBf33rMwUlflCo1qY5xazk33WWUH/zq72WSIUMNZDEnPOYcMI5FrlHs0748UO2DG0waFxucooRXk1c6T7zc4OYhl/Umfp2LYf3m9ofYhYh9wdwCF2dwdV5rHEuQ9lrbAP2yMASKAkYZx98aAXBJm/WWJqfOjUK9IGaG/pOq7jZePXkESKWdQckH9V+jPSXw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 18.7.68.33) smtp.rcpttodomain=ietf.org smtp.mailfrom=alum.mit.edu; dmarc=bestguesspass action=none header.from=alum.mit.edu; dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=alum.mit.edu; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=bKvQWemy8/ehk9pPmFa8RBZS8EoncY261kdW8dcsWa0=; b=L3YB1Ax3eztuNky5dTYxqTyviKjJ9+rIAd92ipKtW/QRszwLDRh/LvjjUIdLwTC9PH71wvUCd7IR9quCBzAJS4HcdrTMev6ONiwvBGMaP8wTtNcdVrhZ0VNp7esE4cv/EC5WiarGBAcuN5Y/HJgO/6gVMArZwBWnQHJWvuvCBxw=
Received: from SN1PR12CA0102.namprd12.prod.outlook.com (2603:10b6:802:21::37) by BN6PR1201MB0019.namprd12.prod.outlook.com (2603:10b6:405:4d::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2729.22; Fri, 21 Feb 2020 17:01:23 +0000
Received: from CY1NAM02FT037.eop-nam02.prod.protection.outlook.com (2a01:111:f400:7e45::205) by SN1PR12CA0102.outlook.office365.com (2603:10b6:802:21::37) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2750.18 via Frontend Transport; Fri, 21 Feb 2020 17:01:23 +0000
Authentication-Results: spf=pass (sender IP is 18.7.68.33) smtp.mailfrom=alum.mit.edu; ietf.org; dkim=none (message not signed) header.d=none;ietf.org; dmarc=bestguesspass action=none header.from=alum.mit.edu;
Received-SPF: Pass (protection.outlook.com: domain of alum.mit.edu designates 18.7.68.33 as permitted sender) receiver=protection.outlook.com; client-ip=18.7.68.33; helo=outgoing-alum.mit.edu;
Received: from outgoing-alum.mit.edu (18.7.68.33) by CY1NAM02FT037.mail.protection.outlook.com (10.152.75.77) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2750.18 via Frontend Transport; Fri, 21 Feb 2020 17:01:22 +0000
Received: from Kokiri.localdomain (c-24-62-227-142.hsd1.ma.comcast.net [24.62.227.142]) (authenticated bits=0) (User authenticated as pkyzivat@ALUM.MIT.EDU) by outgoing-alum.mit.edu (8.14.7/8.12.4) with ESMTP id 01LH1K73028987 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES128-SHA bits=128 verify=NOT) for <mmusic@ietf.org>; Fri, 21 Feb 2020 12:01:21 -0500
To: mmusic@ietf.org
References: <8673BEBE-C66C-4264-A327-08ABCF4A31E1@ericsson.com> <51f31590-cc68-983e-5c61-88c0d6d0878c@omnitor.se> <20191218110754.05ea4b32@lminiero> <fdac2243-4eb0-7305-55a7-34749833cdab@omnitor.se> <1B68EE05-0230-40E4-9BF3-CD405A0FD768@ericsson.com> <8df6510d-4fcf-b0e1-b438-2f3570fbec43@omnitor.se>
From: Paul Kyzivat <pkyzivat@alum.mit.edu>
Message-ID: <de42f775-21bd-a330-5ea1-948d08f1070c@alum.mit.edu>
Date: Fri, 21 Feb 2020 12:01:20 -0500
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.13; rv:68.0) Gecko/20100101 Thunderbird/68.5.0
MIME-Version: 1.0
In-Reply-To: <8df6510d-4fcf-b0e1-b438-2f3570fbec43@omnitor.se>
Content-Type: text/plain; charset="utf-8"; format="flowed"
Content-Language: en-US
Content-Transfer-Encoding: 8bit
X-EOPAttributedMessage: 0
X-Forefront-Antispam-Report: CIP:18.7.68.33; IPV:CAL; SCL:-1; CTRY:US; EFV:NLI; SFV:NSPM; SFS:(10009020)(396003)(39860400002)(376002)(346002)(136003)(199004)(189003)(786003)(7596002)(6916009)(2906002)(36906005)(246002)(8676002)(86362001)(316002)(75432002)(2616005)(26005)(4001150100001)(8936002)(31686004)(186003)(336012)(31696002)(30864003)(5660300002)(70206006)(966005)(478600001)(53546011)(26826003)(70586007)(956004)(356004)(66574012); DIR:OUT; SFP:1101; SCL:1; SRVR:BN6PR1201MB0019; H:outgoing-alum.mit.edu; FPR:; SPF:Pass; LANG:en; PTR:outgoing-alum.mit.edu; A:1; MX:1;
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: d83e224e-a919-444f-2321-08d7b6efae39
X-MS-TrafficTypeDiagnostic: BN6PR1201MB0019:
X-Microsoft-Antispam-PRVS: <BN6PR1201MB00199A32A17C5953303DE63CF9120@BN6PR1201MB0019.namprd12.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:9508;
X-Forefront-PRVS: 0320B28BE1
X-MS-Exchange-SenderADCheck: 1
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info: SJjwtGvI6AY0XeU89f/nWohsHbDpHic9SYNg9kKJlSODBfIo/VY49VOEmtA1YkCuWoJnkVp4MdoWnbE2gheDc7GtIRe8V9uvg/zGrv4gN+DcIO6JGYKHkHPjWb/bKFFa0B/ZLcvVzQXpsxmIS7G1+v+kty0W2Iq/fDkKIIv/yNtgIaD75+wLnmuNqwjXec5jFoaR8xLZyioTbygfpNHT1hdN8gHSXaWDwIuemtCPfHjvgk/L9lkVtSqUzFjr/+kWT5/ZPZ8QAZbqP3m0sJFSt0TIry/JIhT5/bWyIcRo+GfVjX0Jo9PzoI6t3y1IPpwr4wdCU48KEsII19GwukIGIhffmsBuzYRy6ykIumzGEinqJe0cLmC9X2UHBrQ/3heCwQ6Jp1Nr5EDBfauKl59nc8GojHCYRfn+exKF7RGVp+ECFL+Kagd5kjaWc7Bn2pqEZ2IngM1JyI4oeBubsrPIZmTdeCV6cAaD+NPAqe/Omio/7T5jOdEa229+vEHfhjMChnETC3YO6gKlOGzc114TxA==
X-OriginatorOrg: alum.mit.edu
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Feb 2020 17:01:22.8940 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: d83e224e-a919-444f-2321-08d7b6efae39
X-MS-Exchange-CrossTenant-Id: 3326b102-c043-408b-a990-b89e477d582f
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3326b102-c043-408b-a990-b89e477d582f; Ip=[18.7.68.33]; Helo=[outgoing-alum.mit.edu]
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN6PR1201MB0019
Archived-At: <https://mailarchive.ietf.org/arch/msg/mmusic/2PrmRLrLciYgxFfFWugxZ3VEpQ8>
Subject: Re: [MMUSIC] Multi-party transport in draft-hellstrom-mmusic-multi-party-rtt-00.txt
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: Fri, 21 Feb 2020 17:01:31 -0000
Gunnar, There is a wg called PERC that sounds like it *might* have some relevance. I think this was started quite some time ago, and I haven't followed the work so I'm not personally familiar with its status. The latest milestone milestone was in 2018, and I see some documents that appear to be stalled, so it may be dragging. But you might want to investigate. Thanks, Paul On 2/21/20 8:48 AM, Gunnar Hellström wrote: > Hi, > > Continuing the discussion of chapter 4 of > https://tools.ietf.org/html/draft-hellstrom-mmusic-multi-party-rtt-00 : > > I have searched for examples of media mixing for other media than > real-time-text, in order to find if they are provided end-to-end > encrypted, and combined under one m-section in SDP. > > Three considered possible use cases are for 3GPP IMS and NG-112/NG9-1-1 > emergency services. All three say that conferences use the RFC > 4353/RFC4575/RFC 4579 SIP conference model. All these seem to me specify > sending just SIP Notifications to all participants when a new user joins > without introducing any new media. And the SSRC of the media mixed to > earlier streams are provided in that Notify. > > I assume that then the media is mixed into the current stream by > inserting packets with the mixer's SSRC, and the new participant's SSRC > as CSRC. > > I wonder if this scheme can allow end-to-end encryption? One reason for > problems is that the mixer likely must do some media parameter > alignments because it has no means to convey separate parameters per > source. Another reason is that there is no SDP exchange of keys for > separate participants in RFC 4579. > > If nothing is wrong in my findings, we can satisfy the main use cases of > mixing for RTT with a method that allows a central mixer to decrypt and > merge the RTT packets from different sources into one stream with the > SSRCs of the sources provided as CSRC in the combined stream, and never > have more than one source CSRC per packet. ( that will still require a > bit of considerations on packetization level) > > Once this is settled, we can move on and try to solve also the > end-to-end encryption case. Can anyone provide examples of how that is > done for multi-party audio and video? > > Regards > > Gunnar > > > > > > Den 2019-12-19 kl. 12:11, skrev Christer Holmberg: >> Hi, >> >> Regarding how to signal, at the moment my strong preference is to use a single m- line for RTP-based multi-party RTT, in one way or another. Having a separate m- line for each remote participant doesn't scale, and would probably not work in many networks. It could also cause lots of offer/answer transactions when people are joining/leaving conferences. >> >> Regards, >> >> Christer >> >> >> On 19/12/2019, 11.19, "mmusic on behalf of Gunnar Hellström" <mmusic-bounces@ietf.org on behalf of gunnar.hellstrom@omnitor.se> wrote: >> >> Thanks Lorenzo for your views on the different transport and mixing >> alternatives. >> >> I intend to continue the overview of the alternatives that Christer >> asked for. >> >> But, in the meantime: >> >> It would be good to have comments on if there are any specific methods >> for signaling multi-party control for WebRTC, e.g. announcing the focus >> role and announcing participants' entry and departure and capabilities >> to the conference. >> >> And also if the RFC 7579 / RFC 7575 SIP conference control is so >> widespread that it would be suitable to rely on it in the SIP >> environment for e.g. announcing the focus role and announcing >> participants' entry and departure and capabilities to the conference. >> >> About your comment that the conference-unaware mixing alternative: Yes, >> it is not favourable, but possible. And I think it is needed in order to >> be able to introduce multi-party support in services where there are >> already many conference-unaware UAs out there. >> >> One factor that you find not good for that method and the T140-mixing >> method is that the mixer need to be able to decrypt and encrypt the text >> stream. Is that not usually the case for the other media, audio and >> video in the centralized bridge mixing? >> >> Thanks, >> >> Gunnar >> >> Den 2019-12-18 kl. 11:07, skrev Lorenzo Miniero: >> > Hi all, >> > >> > apologies if I'm chiming in only now. I've recently started working on >> > an (open source) integration between SIP RTT and WebRTC: I already >> > exchanged some thoughts with Gunnar in private, but I plan to write a >> > post to introoduce the effort later today. >> > >> > Since the effort has been on a server side component that acts like a >> > gateway, in this context, how to deal with multiparty is indeed >> > something I'm interested about, so I've added some comments inline. >> > >> > >> > On Tue, 17 Dec 2019 22:53:31 +0000 >> > Gunnar Hellström <gunnar.hellstrom@omnitor.se> wrote: >> > >> >> Hi Christer, >> >> >> >> Den 2019-12-17 kl. 09:01, skrev Christer Holmberg: >> >> Hi, >> >> >> >> Before we decide on support indicators, we need to decide on how we >> >> are going to implement multi-party RTT. Yes, these discussions at >> >> least need to go in parallel. Note that I switched subject now when >> >> the topic is multi-party RTT transport alternatives. >> >> >> >> Section 4 specifies different alternatives. Are we going to specify >> >> all of those, or only a subset? >> >> >> >> Related to Section 4, it would be nice with an SDP example for each >> >> alternative. >> >> >> >> The problem so far has been that it has been said that multi-party >> >> RTT can be arranged with regular RTP methods, and that has provided >> >> too wide freedom of choice. >> >> >> >> So, I want to eventually change the draft to elaborate on either one >> >> common alternative for real-time transport for both SIP/RTP and >> >> WebRTC, or one each for these two environments. The other >> >> alternatives may be briefly mentioned in a background chapter or >> >> deleted. >> >> >> >> So, let us go through the alternatives, and try to look at both >> >> chapter 4 and 5. That is both SIP/RTP and WebRTC. >> >> >> >> 1. Control code in the T.140 stream. >> >> >> >> 4.3<https://tools.ietf.org/html/draft-hellstrom-mmusic-multi-party-rtt-00#section-4.3>. >> >> RTP Mixer indicating participants by a control code in the stream >> >> >> >> and >> >> 5.2<https://tools.ietf.org/html/draft-hellstrom-mmusic-multi-party-rtt-00#section-5.2>. >> >> RTT bridging in WebRTC with one common data channel >> >> >> >> Both build on the same principle. The presentation protocol T.140 is >> >> extendable. New one letter function codes can be defined and sent >> >> together with a parameter framed by the control codes called SOS and >> >> ST as defined in ISO 6429. So, we could define (or rather ask ITU-T >> >> SG26 to define) a function code "c" followed by a string uniquely >> >> identifying the source of the following text (or rather T140blocks). >> >> The data for each transmission request from the mixer should start >> >> with the SOS,c,source,ST code as soon as more than two parties are >> >> involved in the session. The receiving party need to scan incoming >> >> T140blocks and direct the received text to the proper area for >> >> presentation of text from each source in one of the suitable styles >> >> for RTT presentation (see chapter 9). >> >> >> >> For 4.3, the RTP variant, I don't think we need to prescribe any more >> >> SDP than a regular one stream RTT plus an indication of multi-party >> >> RTT capability. >> >> >> >> Example, combining this alternative with capability negotiation 7.3 >> >> >> >> Offer >> >> m=text 11000 RTP/AVP 100 98 >> >> a=rtpmap:98 t140/1000 >> >> a=rtpmap:100 red/1000 >> >> a=fmtp:100 98/98/98 >> >> a=rtt-mixer:t140-mixer >> >> >> >> Answer of a capable party >> >> m=text 12000 RTP/AVP 100 98 >> >> a=rtpmap:98 t140/1000 >> >> a=rtpmap:100 red/1000 >> >> a=fmtp:100 98/98/98 >> >> a=rtt-mixer:t140-mixer >> >> The parties can start exchanging multi-party text in one stream with >> >> T.140 source indications. >> >> >> >> Answer of an uncapable party >> >> m=text 12000 RTP/AVP 100 98 >> >> a=rtpmap:98 t140/1000 >> >> a=rtpmap:100 red/1000 >> >> a=fmtp:100 98/98/98 >> >> >> >> >> >> The mixer can start sending multi-party text prepared for >> >> presentation to a multi-party unaware UA according to chapter 10 and >> >> Appendix A, providing a lower functionality fixed view presentation. >> >> >> >> This method can be combined with multi-party conferencing control for >> >> SIP as said in the beginning of chapter 7 >> >> >> >> >> >> "A method for detection of conference-awareness for centralized SIP >> >> conferencing in general is specified in RFC >> >> 4579<https://tools.ietf.org/html/rfc4579> >> >> [RFC4579<https://tools.ietf.org/html/rfc4579>]. The focus sends the >> >> "isfocus" feature tag in a SIP Contact header. This causes the >> >> conference-aware UA to subscribe to conference notifications from the >> >> focus. The focus then sends notifications to the UA about entering >> >> and disappearing conference participants and their media >> >> capabilities. The information is carried XML-formatted in a >> >> 'conference-info' block in the notification according to >> >> RFC<https://tools.ietf.org/html/rfc4575> >> >> 4575<https://tools.ietf.org/html/rfc4575>. The mechanism is described >> >> in detail in RFC 4575<https://tools.ietf.org/html/rfc4575> >> >> [RFC4575<https://tools.ietf.org/html/rfc4575>]." >> >> >> >> >> >> But I think now that we do not need to make us so dependent on that >> >> mechanism. Any way to introduce and delete parties in the conference >> >> may be used. The draft is currently too much tied to use of the RFC >> >> 4579 / RFC 4575 procedure. >> >> >> >> >> >> For 5.2, the WebRTC case with T.140 source marked text, according to >> >> draft-ietf-mmusic-t140-usage-data-channel the sdp would be >> >> >> >> Offer: >> >> >> >> m=application 1400 UDP/DTLS/SCTP webrtc-datachannel >> >> c=IN IP6 2001:db8::3 >> >> a=max-message-size:1000 >> >> a=sctp-port 5000 >> >> a=dcmap:2 label="ACME customer service";subprotocol="t140" >> >> a=dcsa:2 rtt-mixer:t140-mixer >> >> >> >> Answer from a capable party: >> >> >> >> m=application 2400 UDP/DTLS/SCTP webrtc-datachannel >> >> c=IN IP6 2001:db8::1 >> >> a=max-message-size:1000 >> >> a=sctp-port 6000 >> >> a=dcmap:2 label="ACME customer service";subprotocol="t140" >> >> a=dcsa:2 rtt-mixer:t140-mixer >> >> >> >> >> >> The parties can start exchanging multi-party text in one stream with >> >> T.140 source indications. >> >> >> >> >> >> (and if the negotiation does not find multi-party capability for both >> >> parties, then the mixer can start sending according to chapter 10 and >> >> Appendix A.) >> >> >> >> The exact form of the multi-party capability indication should go >> >> into the negotiation discussion belonging to chapter 7. (maybe it >> >> should be a new fmtp - parameter instead of a new sdp attribute if >> >> using sdp ) >> >> >> >> Pros: >> >> >> >> Equal handling for SIP/RTP and WebRTC >> >> Simple session and stream establishment. >> >> >> >> Cons: >> >> >> >> The mixer need to manipulate the T.140 stream. >> >> In SIP/RTP, if more than 3 consecutive packets are lost, the source >> >> of the loss is not known, and an indication of possible loss needs to >> >> be inserted in some other place than in the stream that had loss. The >> >> mixer needs to be allowed to decrypt and encrypt the stream. >> >> >> >> >> >> I need to stop here and describe the other alternatives another day. >> >> >> > >> > I'm personally not fond of the idea of the new control code. First of >> > all, it would require the mixer to indeed terminate the RTT session, >> > which means end-to-end encryption wouldn't be possible. Besides, with >> > data channels and the flexibility they provide (e.g., via the label you >> > can negotiate in the related draft), you don't really need the extra >> > inband control code to discriminate sessions. >> > >> > I did read the multiparty document, and did have some opitions going >> > through the alternatives, so I thought I'd share them quickly here >> > (apologies to Gunnar if I'm repeating what the draft already says, or >> > if I'm completely misunderstanding some concepts, as I'm indeed new to >> > the specification as a whole): >> > >> > 1. Section 4.1 introduces the usage of different SSRCs for >> > different participants, which does seem like a good option to >> > me: SSRCs would indeed provide the info required to demultiplex >> > and relay participants without having to look at the payload, >> > and would be very easy to map to labels when a translation >> > to/from a WebRTC session is needed. There is indeed the problem >> > of how you advertise those SSRCs, which brings back painful >> > memories of the Plan B vs. Unified Plan fight in WebRTC: this >> > section suggests a single m-line (à-la Plan B, I believe), >> > which has some drawbackas; different participants may >> > use different approaches (e.g., some may be using red, other >> > t140, and payload types may differ) which indeed complicates >> > the SDP negotiation, especially if the mixer is supposed to >> > just relay those streams and not terminate them. >> > >> > 2. Section 4.2 suggests using a shared SSRC, and using CSRC to >> > mention participants. Again, the need for decrypting the >> > traffic is problematic. Besides, I'm not sure detecting packet >> > loss would be trivial as the document states: if the SSRC is >> > shared, so is the timestamp/sequence number space, which means >> > that it would be problematic, if not downright impossible, to >> > detect packet losses for a specific participant at the source, >> > considering sequence numbers originated by the mixer may be >> > increasing sequentially with no gaps in between. Probably I'm >> > missing something obvious in the scenario? >> > >> > 3. Section 4.3 is where the new control code Gunnar described >> > is introduced, and I already shared my view on why I'm not >> > particularly fond of the idea. >> > >> > 4. Section 4.4 describes a full mesh, which does work but is >> > indeed more "verbose", and requires multiple sessions to take >> > place, and may be a bit overkill. That said, one of the pros >> > the document suggests is that this should be possible with most >> > RTP implementations, which isn't to be ignored: I'd consider >> > this a good backup when dealing with participants unaware of >> > whatever method will be chosen, possibly establishing the >> > multiple sessions with the mixer itself, though, rather than >> > the other participants themselves. >> > >> > 5. Section 4.5 documents the approach where multiple RTP >> > sessions are negotiated, one per participant, I guess via >> > separate m-lines. This is indeed a variant of 4.1 which again >> > brings back the Plan B vs. Unified Plan discussion that >> > happened in WebRTC, where the former signalled multiple SSRCs >> > on the same m-line, and the latter used separate m-lines >> > instead. Whatever signalling approach is used, I do feel that >> > using SSRCs to demultiplex would make the process simpler. >> > >> > 6. Finally, section 4.6 introduces the concept of "mixing" for >> > RTT streams, which I'm not a fan of either, as it "flattens" >> > everything, breaking end-to-end encryption when available in >> > the process. The document provides even more cons, and >> > clarifies how it should only be a last resort, which I agree on. >> > >> > On the WebRTC side, things are much easier I believe. The approach >> > suggested in 5.1 is definitely what I'd go with, that is leveraging >> > labels to demultiplex participants: I wouldn't be too concerned about >> > the overhead of establishing a high number of channels, as most >> > implementations have ways to deal with high numbers anyway. >> > >> > Lorenzo >> > >> > >> >> Thanks >> >> >> >> Gunnar >> >> >> >> Regards, >> >> >> >> Christer >> >> >> >> From: mmusic >> >> <mmusic-bounces@ietf.org><mailto:mmusic-bounces@ietf.org> on behalf >> >> of Gunnar Hellstrom >> >> <gunnar.hellstrom@omnitor.se><mailto:gunnar.hellstrom@omnitor.se> >> >> Date: Sunday, 15 December 2019 at 22.25 To: >> >> "mmusic@ietf.org"<mailto:mmusic@ietf.org> >> >> <mmusic@ietf.org><mailto:mmusic@ietf.org> Subject: [MMUSIC] >> >> Negotiation in draft-hellstrom-mmusic-multi-party-rtt-00.txt >> >> >> >> >> >> Hi, >> >> >> >> draft-hellstrom-mmusic-multi-party-rtt/<https://datatracker.ietf.org/doc/draft-hellstrom-mmusic-multi-party-rtt/> >> >> currently contains sets of alternative solutions for different >> >> aspects of multi-party real-time text (RTT). >> >> >> >> I would like to discuss these alternatives aspect by aspect, and >> >> eventually reduce them to one solution per aspect. By aspects, I mean >> >> negotiation for SIP, negotiation for WebRTC, source identification >> >> and multi-party transport for SIP, source identification and >> >> multi-party transport for WebRTC and mixing for the multi-party >> >> unaware case. >> >> >> >> The main requirements are described in section 3 of the draft. One >> >> requirement is that the solution should be implementable in a near >> >> future. Point-to-point RTT solutions based on SIP and RTP with RFC >> >> 4103 transport are implemented, and there are cases where upgrade to >> >> multi-party support is urgent. It is assumed that most multi-party >> >> cases will be based on one central bridge. The media coding is >> >> according to ITU-T T.140, that is Unicode text transmitted UTF-8 >> >> transformed, with some control codes from ISO 6429. Transmission >> >> takes place without any special action by the user other than >> >> creating text. Transmission is usually time sampled in about 300 ms >> >> samples. >> >> >> >> I want to start with the negotiation aspect. Before the bridge can >> >> start transmitting RTT in a way suitable for good presentation of >> >> multi-party RTT, it must know that the receiving party is capable of >> >> separating text from the different participants. Also the UA may need >> >> an indication that it should include source information in a specific >> >> way for multi-party RTT to work.. >> >> >> >> Therefore, a negotiation method is needed. Chapter 7 contains the >> >> following negotiation alternatives. >> >> >> >> 7.1 Implicit negotiation by the bridge expressing RTT multi-party >> >> capability indications according to RFC 4575, and the UA showing >> >> multi-party awareness only if it supports multi-party RTT. >> >> >> >> 7.2 Define a new SIP media tag indicating RTT multi-party capability. >> >> Start using multi-party RTT after a successful capability exchange. >> >> >> >> 7.3 Define a new SDP attribute on media level, indicating RTT >> >> multi-party capability. Start using multi-party RTT after a >> >> successful capability exchange. >> >> >> >> There may be other alternatives that I have not thought about. >> >> >> >> Pros and cons for these methods are documented in chapter 7. >> >> >> >> I hope we can discuss the negotiation methods and soon get to a >> >> conclusion. >> >> >> >> >> >> >> >> Regards >> >> >> >> Gunnar >> >> >> >> >> >> >> >> >> >> Den 2019-11-01 kl. 00:43, skrev Gunnar Hellström: >> >> >> >> Hi mmusic and avtcore, >> >> >> >> I have replaced an old expired draft about real-time text multi-party >> >> handling. It touches both transport and negotiation topics, so I am >> >> sending this to both mmusic and avtcore, but I hope we can keep the >> >> discussion in mmusic. So, please respond with your comments to mmusic. >> >> >> >> Right now, the draft is a discussion paper. I intend to convert it to >> >> a true BCP format after some discussions on the preferences I have >> >> proposed. >> >> >> >> Regards >> >> >> >> Gunnar Hellström >> >> >> >> >> >> -------- Vidarebefordrat meddelande -------- >> >> Ämne: >> >> I-D Action: draft-hellstrom-mmusic-multi-party-rtt-00.txt >> >> Datum: >> >> Thu, 31 Oct 2019 16:33:35 -0700 >> >> Från: >> >> internet-drafts@ietf.org<mailto:internet-drafts@ietf.org> >> >> Svar till: >> >> internet-drafts@ietf.org<mailto:internet-drafts@ietf.org> >> >> Till: >> >> i-d-announce@ietf.org<mailto:i-d-announce@ietf.org> >> >> >> >> >> >> >> >> A New Internet-Draft is available from the on-line Internet-Drafts >> >> directories. >> >> >> >> >> >> Title : Real-time text media handling in multi-party conferences >> >> Author : Gunnar Hellstrom >> >> Filename : draft-hellstrom-mmusic-multi-party-rtt-00.txt >> >> Pages : 36 >> >> Date : 2019-10-31 >> >> >> >> Abstract: >> >> This memo specifies methods for Real-Time Text (RTT) media handling >> >> in multi-party calls. The main solution is to carry Real-Time text >> >> by the RTP protocol in a time-sampled mode according to RFC 4103. >> >> The main solution for centralized multi-party handling of real-time >> >> text is achieved through a media control unit coordinating multiple >> >> RTP text streams into one RTP session. >> >> >> >> Identification for the streams are provided through the RTCP >> >> messages. This mechanism enables the receiving application to >> >> present the received real-time text medium in different ways >> >> according to user preferences. Some presentation related features >> >> are also described explaining suitable variations of transmission and >> >> presentation of text. >> >> >> >> Call control features are described for the SIP environment. A >> >> number of alternative methods for providing the multi-party >> >> negotiation, transmission and presentation are discussed and a >> >> recommendation for the main one is provided. Two alternative methods >> >> using a single RTP stream and source identification inline in the >> >> text stream are also described, one of them being provided as a lower >> >> functionality fallback method for endpoints with no multi-party >> >> awareness for RTT. >> >> >> >> Brief information is also provided for multi-party RTT in the WebRTC >> >> environment. >> >> >> >> EDITOR NOTE: A number of alternatives are specified for discussion. >> >> A decision is needed which alternatives are preferred and then how >> >> the preferred alternatives shall be emphasized. >> >> >> >> >> >> The IETF datatracker status page for this draft is: >> >> https://datatracker.ietf.org/doc/draft-hellstrom-mmusic-multi-party-rtt/ >> >> >> >> There are also htmlized versions available at: >> >> https://tools.ietf.org/html/draft-hellstrom-mmusic-multi-party-rtt-00 >> >> https://datatracker.ietf.org/doc/html/draft-hellstrom-mmusic-multi-party-rtt-00 >> >> >> >> >> >> Please note that it may take a couple of minutes from the time of >> >> submission until the htmlized version and diff are available at >> >> tools.ietf.org. >> >> >> >> Internet-Drafts are also available by anonymous FTP at: >> >> ftp://ftp.ietf.org/internet-drafts/ >> >> >> >> _______________________________________________ >> >> I-D-Announce mailing list >> >> I-D-Announce@ietf.org<mailto:I-D-Announce@ietf.org> >> >> https://www.ietf.org/mailman/listinfo/i-d-announce >> >> Internet-Draft directories: http://www.ietf.org/shadow.html >> >> or ftp://ftp.ietf.org/ietf/1shadow-sites.txt >> >> >> >> >> >> >> >> _______________________________________________ >> >> >> >> mmusic mailing list >> >> >> >> mmusic@ietf.org<mailto:mmusic@ietf.org> >> >> >> >> https://www.ietf.org/mailman/listinfo/mmusic >> >> >> >> -- >> >> >> >> >> >> >> >> + + + + + + + + + + + + + + >> >> >> >> >> >> >> >> 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> >> >> +46 708 204 288 >> > >> > >> -- >> >> + + + + + + + + + + + + + + >> >> Gunnar Hellström >> Omnitor >> gunnar.hellstrom@omnitor.se >> +46 708 204 288 >> >> _______________________________________________ >> mmusic mailing list >> mmusic@ietf.org >> https://www.ietf.org/mailman/listinfo/mmusic >> >>
- [MMUSIC] Fwd: I-D Action: draft-hellstrom-mmusic-… Gunnar Hellström
- [MMUSIC] Negotiation in draft-hellstrom-mmusic-mu… Gunnar Hellström
- Re: [MMUSIC] Negotiation in draft-hellstrom-mmusi… Christer Holmberg
- [MMUSIC] Multi-party transport in draft-hellstrom… Gunnar Hellström
- Re: [MMUSIC] Multi-party transport in draft-hells… Lorenzo Miniero
- Re: [MMUSIC] Multi-party transport in draft-hells… Christer Holmberg
- Re: [MMUSIC] Multi-party transport in draft-hells… Gunnar Hellström
- Re: [MMUSIC] Multi-party transport in draft-hells… Christer Holmberg
- Re: [MMUSIC] Multi-party transport in draft-hells… Gunnar Hellström
- Re: [MMUSIC] Use of redundancy in draft-hellstrom… Gunnar Hellström
- Re: [MMUSIC] Multi-party transport in draft-hells… Paul Kyzivat
- Re: [MMUSIC] Multi-party transport in draft-hells… Gunnar Hellström
- Re: [MMUSIC] Multi-party transport in draft-hells… Christer Holmberg
- Re: [MMUSIC] Multi-party transport in draft-hells… Gunnar Hellström