Re: [MMUSIC] BUNDLE: no reason por payload type to be unique within bundled m= lines

Magnus Westerlund <magnus.westerlund@ericsson.com> Tue, 08 March 2016 13:44 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 00B4B12D6F4 for <mmusic@ietfa.amsl.com>; Tue, 8 Mar 2016 05:44:28 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -4.202
X-Spam-Level:
X-Spam-Status: No, score=-4.202 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_MED=-2.3, RCVD_IN_MSPIKE_H2=-0.001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Received: from mail.ietf.org ([127.0.0.1]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id xut_6_b5qGcl for <mmusic@ietfa.amsl.com>; Tue, 8 Mar 2016 05:44:24 -0800 (PST)
Received: from sessmg22.ericsson.net (sessmg22.ericsson.net [193.180.251.58]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 3BB1412D6E6 for <mmusic@ietf.org>; Tue, 8 Mar 2016 05:44:24 -0800 (PST)
X-AuditID: c1b4fb3a-f79ce6d000005138-8a-56ded7365b35
Received: from ESESSHC005.ericsson.se (Unknown_Domain [153.88.183.33]) by sessmg22.ericsson.net (Symantec Mail Security) with SMTP id B2.9A.20792.637DED65; Tue, 8 Mar 2016 14:44:22 +0100 (CET)
Received: from [127.0.0.1] (153.88.183.153) by smtp.internal.ericsson.com (153.88.183.35) with Microsoft SMTP Server id 14.3.248.2; Tue, 8 Mar 2016 14:44:21 +0100
To: Iñaki Baz Castillo <ibc@aliax.net>, "mmusic@ietf.org" <mmusic@ietf.org>
References: <CALiegfm7Rb4e5DFGycr=EsdigE1XFCUiqNL6+GpRSyrGe=_RWg@mail.gmail.com>
From: Magnus Westerlund <magnus.westerlund@ericsson.com>
Message-ID: <56DED735.1000101@ericsson.com>
Date: Tue, 08 Mar 2016 14:44:21 +0100
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:38.0) Gecko/20100101 Thunderbird/38.6.0
MIME-Version: 1.0
In-Reply-To: <CALiegfm7Rb4e5DFGycr=EsdigE1XFCUiqNL6+GpRSyrGe=_RWg@mail.gmail.com>
Content-Type: text/plain; charset="utf-8"; format="flowed"
Content-Transfer-Encoding: 8bit
X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFtrCLMWRmVeSWpSXmKPExsUyM2K7oq7Z9XthBud3iFpM32djMXX5YxYH Jo9zDe/ZPZYs+ckUwBTFZZOSmpNZllqkb5fAlfFz42m2gnm6FU9WPGJrYNyt3MXIySEhYCLx fNpyZghbTOLCvfVsXYxcHEIChxkl3l44wgrhLGOU+Pn6PFiVsEC8xMeWY2C2iECcxMKrLSwg tpBAgMSr7x8YQWw2AQuJmz8a2UBsXgFtif7Za5lAbBYBFYkLrzeA9YoKxEgcf3eOEaJGUOLk zCdgczgFAiU+n7zCDmIzA82ZOf88I4QtL9G8dTYzxC5tiYamDtYJjAKzkLTPQtIyC0nLAkbm VYyixanFxbnpRkZ6qUWZycXF+Xl6eaklmxiBYXlwy2+rHYwHnzseYhTgYFTi4f3Afi9MiDWx rLgy9xCjBAezkgiv1DWgEG9KYmVValF+fFFpTmrxIUZpDhYlcV62T5fDhATSE0tSs1NTC1KL YLJMHJxSDYyTlfnCRJJPnztt15Nz0+OK6V8nI4Psq6vVDn2QvLffVGTpFLOXmTtDZ86Ypbd5 TlLFV/9V3zysHupuujFLgeWO85tnf7J6VoadWjSduXr+ldwlXySlDX8I8M7h6j1rUlzAZL67 Wk/670Ffhp6VM+rePvl8YtGnuHP/Tv8W6Ys1O9iyfLWF0BVJJZbijERDLeai4kQAhkOQx0cC AAA=
Archived-At: <http://mailarchive.ietf.org/arch/msg/mmusic/Wdq060x27NgCYxHH7ZHSh1p0FbI>
Subject: Re: [MMUSIC] BUNDLE: no reason por payload type to be unique within bundled m= lines
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: Tue, 08 Mar 2016 13:44:28 -0000

Hi Inaki,

The RTP Payload type field is defined and used under the assumption that 
is common across all SSRC within an RTP session as observed a particular 
point. This is really coming from RFC 3550 and RFC 3551. For example in 
Section 3 of RFC 3551 the following is written:

    These mechanisms
    associate the registered name of the encoding/payload format, along
    with any additional required parameters, such as the RTP timestamp
    clock rate and number of channels, with a payload type number.  This
    association is effective only for the duration of the RTP session in
    which the dynamic payload type binding is made.  This association
    applies only to the RTP session for which it is made, thus the
    numbers can be re-used for different encodings in different sessions
    so the number space limitation is avoided.

Note, I did write in a particular point, otherwise RTP middleboxes would 
not be able to translate the values for specific receivers.

And this is not only a specification issue. If you look at the RTCP 
processing one there are certain calculations that requires one to know 
the RTP payload type and things like the RTP clock rate to correctly 
process. The RTP specifications have been written under the assumption 
that these values are set on RTP session scope, rather than specific SSRCs.

I would also note that there are in existence RTP based applications 
that really utilize the fact that PT values are configured on RTP 
session level, enabling new SSRCs to be used without prior signalling.

 From my perspective, the SIP/SDP usages of RTP prior to WebRTC and CLUE 
has been so constrained that this fact that PTs are set on RTP Session 
level has not mattered at all, as one has had basically one RTP stream 
per direction and RTP session. Now we have multiple RTP streams per 
direction and RTP session and it does matter.

I don't see that we can change this without large amount of work. There 
are both specification assumptions as well as implementation assumptions 
on that PT are set on RTP session level. In addition such a change would 
make some existing RTP usages impossible. Resulting in that a change 
have significant implications, which requires both consideration and 
need for liaison with affected user groups.

I would also note that this topic if you want to continue discuss it 
should involve AVTCORE WG.

Cheers

Magnus Westerlund
AVTCORE WG chair

Den 2016-03-08 kl. 14:23, skrev Iñaki Baz Castillo:
> Hi,
>
> draft-ietf-mmusic-sdp-bundle-negotiation-27 in section 10.1.2 states:
>
>
>     Multiple bundled "m=" lines might represent RTP based media.  As all
>     RTP based media associated with a BUNDLE group belong to the same RTP
>     session, in order for a given payload type value to be used inside
>     more than one bundled "m=" line, all codecs associated with the
>     payload type number MUST share an identical codec configuration.
>     This means that the codecs MUST share the same media type, encoding
>     name, clock rate and any parameter that can affect the codec
>     configuration and packetization.
>     [I-D.ietf-mmusic-sdp-mux-attributes] lists SDP attributes, whose
>     attribute values must be identical for all codecs that use the same
>     payload type value.
>
>
> This basically states that there cannot be two different codecs with
> same payloadType (or same codec with different codec parameters)
> within two m= sections sharing the same "transport".
>
> Let me please describe a "real" use-case:
>
> * SFU server.
> * Alice wants to send audio "opus" with payload 100 and SSRC 1111.
> * Bob wants to send audio "g722" with payload 100 and SSRC 2222.
> * Carol just wants to receive audios from Alice and Bob over a single
> transport (BUNDLE).
>
> When Carol connects with the SFU she negotiates a single ICE/DTLS
> transport, and the SFU notifies Carol about two receiving audio tracks
> (from Alice and Bob):
>
> 1) mid: alice-audio,  codec: opus,  payload: 100, ssrc: 1111
> 2) mid: bob-audio,   codec: g722,  payload: 100, ssrc: 2222
>
> This would mean that Carol receives an SDP with two "m=audio"
> sections using BUNDLE:
>
>
>    m=audio [...] 100
>    a=sendonly
>    a=mid:alice-audio
>    a=rtpmap:100 opus/48000/2
>    a=ssrc:1111 cname:foo
>    [...]
>    m=audio [...] 100
>    a=sendonly
>    a=mid:bob-audio
>    a=rtpmap:100 g722/48000
>    a=ssrc:2222 cname:bar
>    [...]
>
>
> What is the problem here? Why is having the same payload type (100) a problem?
>
> To be clear, Carol can demux the incoming RTP:
>
> * By matching the RTP MID header (if present).
> * By matching the RTP SSRC (1111 => 'alice-audio', 2222 => 'bob-audio').
>
> There is no need to check the RTP payload in order to retrieve the
> appropriate m= section. And worse: this constraint forces the SFU
> developer to rewrite the payload type sent by the participants in a
> SFU room so all of them are different.
>
> IMHO there is no real justification for this constraint, it provides
> nothing useful, and it limits and makes worse some common scenarios.
> So I ask for such a constraint to be removed from the draft.
>
>
> Thanks a lot.
>
>


-- 

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