Re: [MMUSIC] Review of draft-ietf-mmusic-sdp-bundle-negotiation-32 - RTP demux - Pull Request

Magnus Westerlund <magnus.westerlund@ericsson.com> Thu, 20 October 2016 11:43 UTC

Return-Path: <magnus.westerlund@ericsson.com>
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 0E2DF1298C6 for <mmusic@ietfa.amsl.com>; Thu, 20 Oct 2016 04:43:12 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -4.221
X-Spam-Level:
X-Spam-Status: No, score=-4.221 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_MED=-2.3, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
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 UHz4dewXrvC8 for <mmusic@ietfa.amsl.com>; Thu, 20 Oct 2016 04:43:10 -0700 (PDT)
Received: from sesbmg22.ericsson.net (sesbmg22.ericsson.net [193.180.251.48]) (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 45C6D1298C8 for <mmusic@ietf.org>; Thu, 20 Oct 2016 04:43:10 -0700 (PDT)
X-AuditID: c1b4fb30-f60a598000000cb2-82-5808adccee66
Received: from ESESSHC012.ericsson.se (Unknown_Domain [153.88.183.54]) by (Symantec Mail Security) with SMTP id 4A.3F.03250.CCDA8085; Thu, 20 Oct 2016 13:43:08 +0200 (CEST)
Received: from [127.0.0.1] (153.88.183.153) by smtp.internal.ericsson.com (153.88.183.56) with Microsoft SMTP Server id 14.3.319.2; Thu, 20 Oct 2016 13:43:07 +0200
From: Magnus Westerlund <magnus.westerlund@ericsson.com>
To: Paul Kyzivat <pkyzivat@alum.mit.edu>, mmusic@ietf.org
References: <D423EDCF.1102F%christer.holmberg@ericsson.com> <2E473DFD-E9B0-4C8A-B52D-EE456AE487BE@iii.ca> <7594FB04B1934943A5C02806D1A2204B4BD6861A@ESESSMB209.ericsson.se> <36223f41-f534-831d-a045-480ef6a5f601@ericsson.com> <9D9F44AA-E487-4C1A-BA36-D3134347653E@csperkins.org> <D42AA198.11408%christer.holmberg@ericsson.com> <A2448DA9-6634-4583-A4B6-040B93371254@csperkins.org> <D42D44E7.11653%christer.holmberg@ericsson.com> <9483F0F1-F651-4471-9AC0-6AA79EA2480D@csperkins.org> <0b0a5e0b-a038-a230-cd18-05d1b759064e@alum.mit.edu>
Message-ID: <c0b01f60-7a68-59e6-fcb5-2a5e7e852974@ericsson.com>
Date: Thu, 20 Oct 2016 13:43:05 +0200
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:45.0) Gecko/20100101 Thunderbird/45.4.0
MIME-Version: 1.0
In-Reply-To: <0b0a5e0b-a038-a230-cd18-05d1b759064e@alum.mit.edu>
Content-Type: text/plain; charset="utf-8"; format="flowed"
Content-Transfer-Encoding: 8bit
X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFlrJLMWRmVeSWpSXmKPExsUyM2K7me6ZtRwRBgsu6VhMXf6YxWLFhgOs Dkwef99/YPJYsuQnUwBTFJdNSmpOZllqkb5dAlfGxJur2Qt69SuOrNrD1MB4VrWLkZNDQsBE 4vHp5yxdjFwcQgLrGSVWTNwH5SxnlLhzcTEjSBWbgIXEzR+NbCC2sECGRMvLLrC4iIC1xMsV p6AalrBITF64FCzBK2AvMWP1eqYuRg4OFgFViVOT1UDCogIxEtefPWKDKBGUODnzCQuIzSng IPF74k6wVmagXTPnn4ey5SWat85mBrGFBLQlGpo6WCcw8s9C0j4LScssJC0LGJlXMYoWpxYn 5aYbGemlFmUmFxfn5+nlpZZsYgQG4MEtvw12ML587niIUYCDUYmH98Eb9ggh1sSy4srcQ4wS HMxKIrwCqzgihHhTEiurUovy44tKc1KLDzFKc7AoifOarbwfLiSQnliSmp2aWpBaBJNl4uCU amA0O++Q/+LIze6rH18m3Ehfe67/dn8b6y+9eq7yGdcutivJPLzwQ2GhjY9059WwYzturbW5 sMBU9O/TkKZtZjzFaVfcOCZaH14xNSlz5oPgpKTQhvwHUj1namTUEnZpJW6q8b6/rWeKVO39 XQ+EMj/tnhRyqOpHxNOmMC62ig056qfr288EMykpsRRnJBpqMRcVJwIAUWW5+DwCAAA=
Archived-At: <https://mailarchive.ietf.org/arch/msg/mmusic/7xIIk7rlNdczdcG06_cNsYHPtM4>
Subject: Re: [MMUSIC] Review of draft-ietf-mmusic-sdp-bundle-negotiation-32 - RTP demux - Pull Request
X-BeenThere: mmusic@ietf.org
X-Mailman-Version: 2.1.17
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: Thu, 20 Oct 2016 11:43:12 -0000

Hi,

Yes, there are history here, we also have made decision on what we 
wanted the m= line to mean. Yes, the path we chose it is not the one 
that results in the cleanest configuration for RTP.

I am also try my best to keep in mind that how you implemented your RTP 
stack can significantly impact how you consider these issues.

So comments inline.

Attempt to conclude at the bottom.


Den 2016-10-19 kl. 22:20, skrev Paul Kyzivat:
> On 10/19/16 9:18 AM, Colin Perkins wrote:
>> Getting the layering right is important, I think, to have something
>> that’s both understandable and extensible:
>>
>>  RTP Layer  : RTP and RTCP packets -> RTP streams
>>  SDP BUNDLE : RTP streams -> SDP “m=" lines
>>  JSEP       : SDP “m=" lines -> application-level semantics
>>
>> I don’t think this will need a big text change, but it is a semantic
>> change in how the BUNDLE draft describes the mapping.
>
> ISTM this isn't fundamentally about BUNDLE. It is about the relationship
> of SDP and RTP. My impression is that this was never *right*, and the
> introduction of BUNDLE has brought it to a head.

Agreed, the usage of SAP wiht SDP for configuring RAT/VIC MBONE tools 
actually worked on an RTP session level (with an assumption of sending 
one but receiving many streams per RTP session and media type). Then SIP 
O/A came along and introduced a media stream centric definition. Which I 
think is part of where it went in a direction that contributes to 
today's issues.

>
> For the most part SDP rarely mentions SSRCs. (It *can* using a=SSRC, but
> that is a rarely used construct.)
>
> SDP is a container for multiple "Media Descriptions". Syntactically it
> does this by:
>
> - grouping multiple SDP lines into multiple media descriptions
>   delineated by m-lines
> - associating a 3-tuple with each media description based on the
>   c-line and info in the m-line
> - associating two SDPs (offer and answer), pairing the media
>   descriptions in each in order to merge properties. This merges
>   two 3-tuples into a 5-tuple
>
> The code that interprets this stuff then (in the case of RTP) associates
> each media description with (possibly multiple) RTP streams. In non-rtp
> cases the interpretation is different.
>
> Historically (pre-bundle) that code was able to associate network
> packets with media descriptions based on the 5-tuple. This was partially
> done by the OS (sockets) and partially the application.

Yes, part of this tangle is that parameters that in reality are RTP 
session related parameters are tangled up with the media source you 
would like to receive and send.

And from my perspective, the OS (Sockets) selectors for incoming data 
are really associated first of all with the RTP session. Only a possible 
second usage for identifying a particular incoming RTP stream as being 
from a particular end-point and application context.

And the O/A design introduced an artificial limitation for RTP. As the 
3-tupe or 5-tuple are not at all related to how many RTP streams can 
flow between these end-points.

> The introduction of BUNDLE is with the intent using a single 5-tuple for
> multiple media descriptions. That means that the 5-tuple is insufficient
> to associate packets with media descriptions, so some additional
> algorithm is required to do that.
>
> When Christer is talking about an m-line he is generally using that as
> shorthand language for the media description delineated by the m-line.
> With that in mind, his wording "associate received RTP packets wth an m=
> line [media description]" seems right to me.
>
> In the case of RTP, it remains the job of the RTP implementation to
> associate those incoming RTP packets with a media description. *Then* it
> can use the other properties of that media description to help in
> figuring out what RTP stream they are associated with.
>
> That is only for RTP. In the case of non-RTP media that is is the bundle
> some different algorithm is needed to make the association. We have only
> defined a limited case for non-RTP media in a bundle, so the task is
> easier. But we just put that off. In principle more things could be
> bundled. For instance, we *could* have allowed multiple UDP/DTLS/SCTP
> media descriptions in the bundle as long as they had differing
> SCTP-ports. That would bind corresponding packets to one or the other of
> the media descriptions.

Yes, but also in the case for SCTP, one doesn't need to talk about SCTP 
packets, one should talk about the different SCTP association, which is 
what the SCTP ports identify. Yes, on the lowest level it might be easy 
to just abstract it to be packets from the other protocol. But, in most 
cases I think you can easily put another label on the flow(s) of 
packets, uni or bi-directional depending on the protocol. When defining 
an SDP configuration of a transport mechanism one have to consider what 
protocol elements that needs to be configured.


I currently fail to see that the above discussion changes what needs to 
be done. Yes, SDP's description of RTP is not optimally structured, but 
that we can't change. We also have the agreement that one m= should 
describe one Media Source, thus we simply have to describe how this is 
accomplished, despite the fact that one needs to consider both RTP 
session and the set of RTP streams associated with a media source that 
on sends as well as the RTP streams one is willing to receive.

Cheers

Magnus Westerlund

----------------------------------------------------------------------
Services, Media and Network features, Ericsson Research EAB/TXM
----------------------------------------------------------------------
Ericsson AB                 | Phone  +46 10 7148287
Färögatan 6                 | Mobile +46 73 0949079
SE-164 80 Stockholm, Sweden | mailto: magnus.westerlund@ericsson.com
----------------------------------------------------------------------