Re: [MMUSIC] Multi-party transport in draft-hellstrom-mmusic-multi-party-rtt-00.txt

Gunnar Hellström <gunnar.hellstrom@omnitor.se> Sat, 22 February 2020 13:58 UTC

Return-Path: <gunnar.hellstrom@omnitor.se>
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 1131312006F for <mmusic@ietfa.amsl.com>; Sat, 22 Feb 2020 05:58:23 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.901
X-Spam-Level:
X-Spam-Status: No, score=-1.901 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=omnitorab.onmicrosoft.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 99zfLVApg2Pg for <mmusic@ietfa.amsl.com>; Sat, 22 Feb 2020 05:58:18 -0800 (PST)
Received: from EUR05-DB8-obe.outbound.protection.outlook.com (mail-db8eur05on2126.outbound.protection.outlook.com [40.107.20.126]) (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 21546120052 for <mmusic@ietf.org>; Sat, 22 Feb 2020 05:58:17 -0800 (PST)
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=H9ID1OTzKjj8CJ+GkCs0ynMP/wQR79gej8orFkrWm0WpluGR1+Bi2UssZXQGeGe+dPYmNr+T2e+GYhNkaWCy7vlr/7U3SQv//9R/AHhmLAqGlIAQCKlBXBTOlNexUvehSFQF5N9P1C7n/IUirUgpT28cpxuCVHdI7aLwwQusfFX5fop+/+xN75Ezs8FhxEEh1Q4ZB90RzULthHpxqhhue7oxVrFsA2oETOxB/RlGA1lyVWg1cETuis6U6oCciLpPxryhvJLDMzxzi64Z3hIwFejHUai+vp6DC+vMsIeDKrWAOAm0QATIRjKnJ0TQArgYxB8Kjp2YkYzwhmaaWuHfWg==
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=kAzIzdGtUy2t1+UB0AoLqcLuIb5jImxAX2O70x+U0dc=; b=Yu/VoluS8qTQsHnG79CkpJXy8IY+gCpKGpSUe9Ny49UEdiWHw/LvcvHOZQgJcWd/Y7/doibuMhbgtn9MXA6jBnC+bpLn1g8HEY/GVznLcWT+5plzMz5DGLA1rLT4Q0rqYdL4ogeNoA9bKMEC8n5XorBEOQ1sOlq1XLVuV+NtQeyG539/gDF5837Irqja6wVe8JIIUM/MqYawsGt4G8KQcpgojVjjrR43yY+CgnqMyyyChb5tINq74S5dnq2cHg1/DZlxScin3w+6vo8LWUxES1Qztg+rexgp/6f+sNupuHBwBxUyEKm1AUls286L6F2bcLCQ639Z0fA1WJzMLLQ+Sw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=omnitor.se; dmarc=pass action=none header.from=omnitor.se; dkim=pass header.d=omnitor.se; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=omnitorab.onmicrosoft.com; s=selector2-omnitorab-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=kAzIzdGtUy2t1+UB0AoLqcLuIb5jImxAX2O70x+U0dc=; b=E/CsI+X6XDrzhpW5zzT7lLCY6zbdg6PLUEp3Bj6pDiv6oaUWKWBaiZTjVVMhhTpoN3W00hYKMoPbxLVAfp5d3uqlbpPJo4FtCz45S90lSMUfySoCBhzzBCbiEPBN/UnnPDEENp86NAIWtUDDIMcdR/PZTSuWKK2JSyChVaA+00A=
Received: from VI1P193MB0669.EURP193.PROD.OUTLOOK.COM (10.186.178.76) by VI1SPR01MB0390.EURP193.PROD.OUTLOOK.COM (52.133.247.85) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2750.17; Sat, 22 Feb 2020 13:58:13 +0000
Received: from VI1P193MB0669.EURP193.PROD.OUTLOOK.COM ([fe80::1910:128d:b820:f765]) by VI1P193MB0669.EURP193.PROD.OUTLOOK.COM ([fe80::1910:128d:b820:f765%4]) with mapi id 15.20.2750.021; Sat, 22 Feb 2020 13:58:13 +0000
Received: from [192.168.2.136] (77.53.230.59) by AM0PR0202CA0023.eurprd02.prod.outlook.com (2603:10a6:208:1::36) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2729.27 via Frontend Transport; Sat, 22 Feb 2020 13:58:13 +0000
From: Gunnar Hellström <gunnar.hellstrom@omnitor.se>
To: Paul Kyzivat <pkyzivat@alum.mit.edu>, "mmusic@ietf.org" <mmusic@ietf.org>
Thread-Topic: [MMUSIC] Multi-party transport in draft-hellstrom-mmusic-multi-party-rtt-00.txt
Thread-Index: AQHVtSzNCz3t0SMEM0aHvyj8XcicRae/q60AgAGEpgCAAB9pgIBkwR6AgAA14ACAAV8mgA==
Date: Sat, 22 Feb 2020 13:58:13 +0000
Message-ID: <7ca10052-ed5c-b14b-f280-f63e6dd7a183@omnitor.se>
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> <de42f775-21bd-a330-5ea1-948d08f1070c@alum.mit.edu>
In-Reply-To: <de42f775-21bd-a330-5ea1-948d08f1070c@alum.mit.edu>
Accept-Language: sv-SE, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-clientproxiedby: AM0PR0202CA0023.eurprd02.prod.outlook.com (2603:10a6:208:1::36) To VI1P193MB0669.EURP193.PROD.OUTLOOK.COM (2603:10a6:800:159::12)
authentication-results: spf=none (sender IP is ) smtp.mailfrom=gunnar.hellstrom@omnitor.se;
x-ms-exchange-messagesentrepresentingtype: 1
x-originating-ip: [77.53.230.59]
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: a6ac8220-c3ba-468e-e175-08d7b79f4221
x-ms-traffictypediagnostic: VI1SPR01MB0390:
x-microsoft-antispam-prvs: <VI1SPR01MB0390ABBCD457171462D70844FBEE0@VI1SPR01MB0390.EURP193.PROD.OUTLOOK.COM>
x-ms-oob-tlc-oobclassifiers: OLM:9508;
x-forefront-prvs: 03218BFD9F
x-forefront-antispam-report: SFV:NSPM; SFS:(10019020)(366004)(396003)(376002)(346002)(136003)(39830400003)(189003)(199004)(2616005)(186003)(8936002)(508600001)(316002)(31696002)(16526019)(956004)(966005)(52116002)(53546011)(85182001)(6486002)(26005)(16576012)(110136005)(86362001)(31686004)(66574012)(81166006)(5660300002)(81156014)(8676002)(64756008)(66556008)(66446008)(66476007)(66946007)(85202003)(4001150100001)(36756003)(71200400001)(2906002)(30864003)(559001)(579004); DIR:OUT; SFP:1102; SCL:1; SRVR:VI1SPR01MB0390; H:VI1P193MB0669.EURP193.PROD.OUTLOOK.COM; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; MX:1; A:1;
received-spf: None (protection.outlook.com: omnitor.se does not designate permitted sender hosts)
x-ms-exchange-senderadcheck: 1
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: K31ishEOWBAqJJXiemAZSyUGqeSMKIgXnto55VocDqEteEFQ7iGMo4RcbOKaIcncESMvAKdRTUKJDOTfQdvtYLBKVxrjamczhNozHedqOWIedm6K5UQOQjApW7DUy1ONjjrwXQnOtYwWtuXwnBkoi6C8l0SJfUhC14Ow75ZimFx7GoGRcFeoCEdyA8u0y1fqbPaGMN4mR4nvbCc/OnhJP1bGry9lm+37CeeOCVleAa7bpVJf3DJKWUxaJFSHjVb9Qa9G6zuShLaxXET92osyhLC0ng7FSfgoqAEBs4+6+lg90i0LqhWLp3f/zMT/zsZzkbcw46FxEuKe9VSG/ysfX0LL49IgYuXweb5DgOpdoqFMKfvWFEJD8xCMZ2DuY7hpf3Kpk2i225fF9b8CoOLrhBHrntHdB4NHHZRTEPdhz8OBKKpmyCc689TZZmgwpQBB8YlD8jvxLP3khJI378nZbqb+uPCddMV/T78hLXcIZ2e4lml7A7l2Yl9S88FYOugBQfcm7Wr2LIk0yCAX2/Kvkw==
x-ms-exchange-antispam-messagedata: DUu4ay8kTly4ohOo6C24XlRqt5+81Zq3UoLvJSNotldDCg+xPZ0xW94awhK52BRmRa03K866+vfcC++6SX0hjCcuVHtgfptT/e6D+fGjZL0mpWsJaNG3H2xwP8be+HqeW/6XoTZ0sIsnpROW9VyY1w==
x-ms-exchange-transport-forked: True
Content-Type: text/plain; charset="utf-8"
Content-ID: <3E0386767832D14786731D64001EA82F@EURP193.PROD.OUTLOOK.COM>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-OriginatorOrg: omnitor.se
X-MS-Exchange-CrossTenant-Network-Message-Id: a6ac8220-c3ba-468e-e175-08d7b79f4221
X-MS-Exchange-CrossTenant-originalarrivaltime: 22 Feb 2020 13:58:13.4743 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 2df8b35f-363f-46b8-a0d1-ee9b1723225b
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: YrHQWZMH9Hz97SgVMhAcf5Bi7yllZLsCxuR5LkJsYGIS/8e/7yaInh72Ogv8izzbqbft3jBiXcd2e9SVoKFnTkCzY5AGJdg6Rzi7tojSuVA=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1SPR01MB0390
Archived-At: <https://mailarchive.ietf.org/arch/msg/mmusic/f1fN_n2iRfLAXHtsvUpLAyHwqbQ>
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: Sat, 22 Feb 2020 13:58:23 -0000

Paul,

Den 2020-02-21 kl. 18:01, skrev Paul Kyzivat:
> 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.

Perc seems to be a good and relevant framework for end-to-end encrypted 
conferences.

I get the impression that regular RFC 4103 with additional encapsulation 
and key handling transactions will be sufficient for its use with RTT.

So, that means that the goal of end-to-end encryption should be split 
off from the current multi-party RTT draft and handled in another draft 
with less urgency.

Thanks for the useful hint,


Gunnar


>
>     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 mailing list
> mmusic@ietf.org
> https://www.ietf.org/mailman/listinfo/mmusic

-- 

+ + + + + + + + + + + + + +

Gunnar Hellström
Omnitor
gunnar.hellstrom@omnitor.se
+46 708 204 288