[rtcweb] Followup to discussion of O/A and codecs from Friday session

Paul Kyzivat <pkyzivat@alum.mit.edu> Fri, 08 April 2016 21:41 UTC

Return-Path: <prvs=290642e86e=pkyzivat@alum.mit.edu>
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 8669D12D71F for <rtcweb@ietfa.amsl.com>; Fri, 8 Apr 2016 14:41:09 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -4.211
X-Spam-Level:
X-Spam-Status: No, score=-4.211 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_MED=-2.3, SPF_PASS=-0.001, T_RP_MATCHES_RCVD=-0.01] 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 WMgsM6nMHUYA for <rtcweb@ietfa.amsl.com>; Fri, 8 Apr 2016 14:41:06 -0700 (PDT)
Received: from alum-mailsec-scanner-2.mit.edu (alum-mailsec-scanner-2.mit.edu [18.7.68.13]) by ietfa.amsl.com (Postfix) with ESMTP id 837A612D628 for <rtcweb@ietf.org>; Fri, 8 Apr 2016 14:41:06 -0700 (PDT)
X-AuditID: 1207440d-bb3ff7000000090b-c9-57082571bdbe
Received: from outgoing-alum.mit.edu (OUTGOING-ALUM.MIT.EDU [18.7.68.33]) by (Symantec Messaging Gateway) with SMTP id 01.DE.02315.17528075; Fri, 8 Apr 2016 17:41:05 -0400 (EDT)
Received: from Paul-Kyzivats-MacBook-Pro.local (c-73-218-51-154.hsd1.ma.comcast.net [73.218.51.154]) (authenticated bits=0) (User authenticated as pkyzivat@ALUM.MIT.EDU) by outgoing-alum.mit.edu (8.13.8/8.12.4) with ESMTP id u38Lf4Pw028786 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES128-SHA bits=128 verify=NOT) for <rtcweb@ietf.org>; Fri, 8 Apr 2016 17:41:05 -0400
To: "rtcweb@ietf.org" <rtcweb@ietf.org>
From: Paul Kyzivat <pkyzivat@alum.mit.edu>
Message-ID: <5708256F.5080205@alum.mit.edu>
Date: Fri, 08 Apr 2016 17:41:03 -0400
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.10; rv:38.0) Gecko/20100101 Thunderbird/38.7.1
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"; format="flowed"
Content-Transfer-Encoding: 7bit
X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFjrHIsWRmVeSWpSXmKPExsUixO6iqFuoyhFuMPenpsXaf+3sDoweS5b8 ZApgjOK2SUosKQvOTM/Tt0vgztj4YRNrwRbpirfLDrM2MH4R6WLk5JAQMJHomdrCCGILCWxl lDjyLqCLkQvI/sUksfLIb1aQhIiAusTlhxfYQWw2AS2JOYf+s4DYwgKuEs83z2YGsXkFtCUa j50BG8QioCLx6/IPJhBbVCBN4t2HeUwQNYISJ2c+AetlFjCTmLf5ITOELS+x/e0c5gmMPLOQ lM1CUjYLSdkCRuZVjHKJOaW5urmJmTnFqcm6xcmJeXmpRbpGermZJXqpKaWbGCFhw7uD8f86 mUOMAhyMSjy8F96zhQuxJpYVV+YeYpTkYFIS5d32kD1ciC8pP6UyI7E4I76oNCe1+BCjBAez kgjvdmWOcCHelMTKqtSifJiUNAeLkjiv2hJ1PyGB9MSS1OzU1ILUIpisDAeHkgTvWhWgRsGi 1PTUirTMnBKENBMHJ8hwLimR4tS8lNSixNKSjHhQJMUXA2MJJMUDtHcySDtvcUFiLlAUovUU o6IU0FaQhABIIqM0D24sLBm8YhQH+lKYdwVIFQ8wkcB1vwIazAQ0+AI/G8jgkkSElFQDo5XQ lmYfNtFp2lanbXZrci/2PqO5SaZUrOuyg8xzM68l09jFtfe8qHRM/LvX7+hr/90Gc/8tW/3y SBxTYYK8q87JuSZzrwq45ybUlRRd+a6YeumXxNfnpTM3rJadbDflN6OU7DH5Eya/4/XPqP0K yWqsOF5p2/HcuH3nm6AaXb77Qg6z7B1+KbEUZyQaajEXFScCAEpuVGfhAgAA
Archived-At: <http://mailarchive.ietf.org/arch/msg/rtcweb/eqwz752x83fuxFRKKtjRJOlw9aM>
Subject: [rtcweb] Followup to discussion of O/A and codecs from Friday session
X-BeenThere: rtcweb@ietf.org
X-Mailman-Version: 2.1.17
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: <https://mailarchive.ietf.org/arch/browse/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: Fri, 08 Apr 2016 21:41:09 -0000

During the rtcweb session today, while discussing (I think) JSEP issue 
#247 (Document what should happen when there are no matching codecs in 
answer), there was a question about happens in a particular case. I 
think it was:

- X offers codecs A and B (sendrecv)
- Y answers codec B (sendrecv)

The question was whether Y may use codec A when sending to X. Jonathan 
gave an answer I disagreed with and we had a chat about it. He got an 
action item to follow up afterwords, then he asked if I would do it.

As I read RFC3264, the answer is:

Yes, in the above case Y may send A to X.

Then a subsequent scenario came up: what would happen if Y has a need to 
send a (re)offer? Wouldn't this result in an inability to send using A? 
(Let's assume that Y is unable/unwilling to *receive* A but can send it, 
even though this is a weird case.)

- Y offers codec B (sendrecv)
- X answers codec B and A (sendrecv)

This *is* permitted by 3264. And in this case Y will be allowed to 
continue sending using codec A.

Relevant pieces of 3264 supporting this interpretation:

- section 5.1 (Generating the Initial Offer/Unicast Streams):

    ... If multiple formats are listed, it
    means that the offerer is capable of making use of any of those
    formats during the session.  In other words, the answerer MAY change
    formats in the middle of the session, making use of any of the
    formats listed, without sending a new offer.

- section 6.1 (Generating the Answer/Unicast Streams):

    ... For streams marked as sendrecv in the answer,
    the "m=" line MUST contain at least one codec the answerer is willing
    to both send and receive, from amongst those listed in the offer.
    The stream MAY indicate additional media formats, not listed in the
    corresponding stream in the offer, that the answerer is willing to
    send or receive (of course, it [the answerer] will not be able to
    send them at this time, since it was not listed in the offer).

- section 8.3.2 (Changing the Set of Media Formats):

    The list of media formats used in the session MAY be changed.  To do
    this, the offerer creates a new media description, with the list of
    media formats in the "m=" line different from the corresponding media
    stream in the previous SDP.  This list MAY include new formats, and
    MAY remove formats present from the previous SDP.  ...

    The corresponding media stream in the answer is formulated as
    described in Section 6, and may result in a change in media formats
    as well.  Similarly, as described in Section 6, as soon as it sends
    its answer, the answerer MUST begin sending media using any formats
    in the offer that were also present in the answer, and SHOULD use the
    most preferred format in the offer that was also listed in the answer
    (assuming the stream allows for sending), and MUST NOT send using any
    formats that are not in the offer, even if they were present in a
    previous SDP from the peer.  Similarly, when the offerer receives the
    answer, it MUST begin sending media using any formats in the answer,
    and SHOULD use the most preferred one (assuming the stream allows for
    sending), and MUST NOT send using any formats that are not in the
    answer, even if they were present in a previous SDP from the peer.

I'm not too clear on how this relates to issue #247, but at least I hope 
we can agree on what 3264 says.

	Thanks,
	Paul