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
>>       
>>