Re: [rtcweb] draft-ietf-rtcweb-jsep-05 - Recycling m-lines

Harald Alvestrand <harald@alvestrand.no> Thu, 07 November 2013 06:34 UTC

Return-Path: <harald@alvestrand.no>
X-Original-To: rtcweb@ietfa.amsl.com
Delivered-To: rtcweb@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 6D68821E80E0 for <rtcweb@ietfa.amsl.com>; Wed, 6 Nov 2013 22:34:18 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -110.599
X-Spam-Level:
X-Spam-Status: No, score=-110.599 tagged_above=-999 required=5 tests=[BAYES_00=-2.599, RCVD_IN_DNSWL_HI=-8, USER_IN_WHITELIST=-100]
Received: from mail.ietf.org ([12.22.58.30]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id gxbdEWLEXw85 for <rtcweb@ietfa.amsl.com>; Wed, 6 Nov 2013 22:34:11 -0800 (PST)
Received: from eikenes.alvestrand.no (eikenes.alvestrand.no [158.38.152.233]) by ietfa.amsl.com (Postfix) with ESMTP id 1DB3C21E8064 for <rtcweb@ietf.org>; Wed, 6 Nov 2013 22:34:10 -0800 (PST)
Received: from localhost (localhost [127.0.0.1]) by eikenes.alvestrand.no (Postfix) with ESMTP id 5740739E05D for <rtcweb@ietf.org>; Thu, 7 Nov 2013 07:34:08 +0100 (CET)
X-Virus-Scanned: Debian amavisd-new at eikenes.alvestrand.no
Received: from eikenes.alvestrand.no ([127.0.0.1]) by localhost (eikenes.alvestrand.no [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id ngVPj42CtpAZ for <rtcweb@ietf.org>; Thu, 7 Nov 2013 07:34:07 +0100 (CET)
Received: from [31.133.161.198] (dhcp-a1c6.meeting.ietf.org [31.133.161.198]) by eikenes.alvestrand.no (Postfix) with ESMTPSA id EBCB739E03A for <rtcweb@ietf.org>; Thu, 7 Nov 2013 07:34:06 +0100 (CET)
Message-ID: <527B345C.9090901@alvestrand.no>
Date: Thu, 07 Nov 2013 07:34:04 +0100
From: Harald Alvestrand <harald@alvestrand.no>
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Thunderbird/24.0
MIME-Version: 1.0
To: rtcweb@ietf.org
References: <527420FF.2@alum.mit.edu> <CAOJ7v-2OjY0UYgDPk2WRLodKUYLytKGtV8HL84NujKfy64q7RQ@mail.gmail.com> <527AA850.3050807@alum.mit.edu> <527AADA1.7060304@alvestrand.no> <527B3109.7050705@alum.mit.edu>
In-Reply-To: <527B3109.7050705@alum.mit.edu>
X-Enigmail-Version: 1.5.2
Content-Type: text/plain; charset="ISO-8859-1"
Content-Transfer-Encoding: 7bit
Subject: Re: [rtcweb] draft-ietf-rtcweb-jsep-05 - Recycling m-lines
X-BeenThere: rtcweb@ietf.org
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: Real-Time Communication in WEB-browsers working group list <rtcweb.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/rtcweb>, <mailto:rtcweb-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/rtcweb>
List-Post: <mailto:rtcweb@ietf.org>
List-Help: <mailto:rtcweb-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/rtcweb>, <mailto:rtcweb-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 07 Nov 2013 06:34:18 -0000

On 11/07/2013 07:19 AM, Paul Kyzivat wrote:
> On 11/6/13 12:59 PM, Harald Alvestrand wrote:
>> On 11/06/2013 09:36 PM, Paul Kyzivat wrote:
>>> On 11/3/13 11:09 PM, Justin Uberti wrote:
>>>>
>>>> On Fri, Nov 1, 2013 at 2:45 PM, Paul Kyzivat <pkyzivat@alum.mit.edu
>>>> <mailto:pkyzivat@alum.mit.edu>> wrote:
>>> ...
>>>>      Later in 5.2.2:
>>>>
>>>>          o  If a m= section exists in the current local description,
>>>> but has
>>>>             its state set to inactive or recvonly, and a new
>>>> MediaStreamTrack
>>>>             is added, the previously existing m= section MUST be
>>>> recycled
>>>>             instead of creating a new m= section.  [OPEN ISSUE:
>>>> Nail down
>>>>             exactly what this means.  Should the codecs remain the
>>>> same?
>>>>             (No.)  Should ICE restart?  (No.)  Can the "a=mid"
>>>> attribute be
>>>>             changed?  (Yes?)]
>>>>
>>>>      This seems to assume that there is no existing
>>>> MediaStreamTrack for
>>>>      these m-lines.
>>>>
>>>> Yes. The text should state that more clearly.
>>>>
>>>>      If there is, then
>>>>      - the m-line shouldn't be recycled.
>>>>      If there isn't, then
>>>>      - where do its address and port come from?
>>>>      - what is managing the RTCP?
>>>>
>>>>
>>>> The m= section will still have completed ICE negotiation, despite
>>>> being
>>>> marked as inactive. So the address/port information should already be
>>>> present.
>>>
>>> *Why* would you do this if there is no MediaStreamTrack and hence no
>>> possibility of using the port?
>>>
>>> IOW, why not use port zero in these cases?
>>>
>>>> I don't follow your question about who is managing RTCP.
>>>
>>> It may be a misunderstanding on my part.
>>>
>>> My thinking is that the MediaStreamTrack is a surrogate for the
>>> resource that manages the RTP/RTCP for that track. If so, then no
>>> track -> no RTCP.
>>>
>>> Of course, with bundling, that resource gets spread across multiple
>>> MediaStreamTracks.
>>
>> That's why thinking of it in the way you suggest is likely to lead to
>> misunderstandings and confusion all around.
>>
>> I've had greater success thinking of a MediaStreamTrack as an SSRC; the
>> resource that manages the RTP/RTCP is then a container that contains
>> MSTs.
>
> Isn't that container the PeerConnection? Or are you thinking that the
> PeerConnection contains one of these containers for each distinct
> RTP-Session?

The latter.

In other contexts, I've tentatively labelled the container "RTP
Transport", since the word "RTP Session" encompasses all the endpoints
that participate in a session. "RTP Endpoint" might be accurate, too;
it's been a few days since I last looked at the terminology docs.