Re: [Wish] Initial comments on draft-murillo-whip-02

Christer Holmberg <christer.holmberg@ericsson.com> Tue, 31 August 2021 16:28 UTC

Return-Path: <christer.holmberg@ericsson.com>
X-Original-To: wish@ietfa.amsl.com
Delivered-To: wish@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id F39BF3A1BC0 for <wish@ietfa.amsl.com>; Tue, 31 Aug 2021 09:28:18 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.553
X-Spam-Level:
X-Spam-Status: No, score=-2.553 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.452, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_MSPIKE_H2=-0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=ericsson.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 ZY81Uuks5jp4 for <wish@ietfa.amsl.com>; Tue, 31 Aug 2021 09:28:12 -0700 (PDT)
Received: from EUR05-DB8-obe.outbound.protection.outlook.com (mail-db8eur05on2072.outbound.protection.outlook.com [40.107.20.72]) (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 759803A1BB6 for <wish@ietf.org>; Tue, 31 Aug 2021 09:28:11 -0700 (PDT)
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Mixm6jyNzCKGhgob0e6yMSPjQNacnOP/iLnhm3rmmQc8IOOG3KBOup1I3Bc1X79c5ZhtZdgq6TMld5EAC0/fIcfmcrXeca4pIImsOsKg2D+MC0qzosv8WjBIUNRaSutep+Uc+Xhe+I7Ud95fRJiHHcgkdexZC+nbYOKBrwpAM+eK03hSp+N/cPrIxuGLt+C+WJIhNAIWSBcJR64wJQ7GnJiFQ+HdFcYfzZQk+dePT2vs1f68L2hJ1MS6acTbE3zP6roE+JJdCxXyeLwYrlaW0/lS6Thyzk+2oVNSZRFWApOnLviidraWrzK1BEU4Nzwt6Qgp2uy3ycf9tS2DnAqyMw==
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; bh=hdp1C+7hkKSCIuID2N3/0xNTQTs/V2ze9iZ6mwKhyu8=; b=DYCCtk3OpIfa/OSTMcahVrwRsdPYZ4WD1y42ZptwMVGJR6xcQS4iB0fCJe3U6sQ1tWqKsaag0nvlNIOQC65OChHemB0yA6UBQYQO/wn3v55tE0GeFW+D+gIIDvDmKZepIH0kSUNZayFr9CpZ4OOZVUWpyqbjiqLn8v2O56aNZsj9wEOWCjkLsf7a4x769TKB5uvp9rLmqRA08+OUp+jn3S/YDBAfrbWiEoRP3SZ8teSaKF8y8uxHgMQmBMdbONbV1kittmrtKKjOKSJI+jtNNdUOifawhKD11eUpDR9BZuDi3c0O18jYB+SFYU3Llj6ToZMbHo9DwA+mGOlIV9dXKg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=ericsson.com; dmarc=pass action=none header.from=ericsson.com; dkim=pass header.d=ericsson.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ericsson.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=hdp1C+7hkKSCIuID2N3/0xNTQTs/V2ze9iZ6mwKhyu8=; b=RJfKgWuMuoMkpKEYYdLaY2oeo1z9RtaX5vsQ4p0mtnmcHse+Cmpr1GSl5KRGRyQtcsOE3UEyFuiHzHGKW/8ljJPPQLsyhSv0tvO3mrYF7K1Di+QchI7hXGr13QBoZIgZWj0J2Psz0Kv/saayJ2CixR8iCid5xL+nhK0nCJT32Ag=
Received: from HE1PR07MB4441.eurprd07.prod.outlook.com (2603:10a6:7:9f::27) by HE1PR0701MB2122.eurprd07.prod.outlook.com (2603:10a6:3:26::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4478.16; Tue, 31 Aug 2021 16:28:06 +0000
Received: from HE1PR07MB4441.eurprd07.prod.outlook.com ([fe80::49b7:5cc:5aeb:fb2a]) by HE1PR07MB4441.eurprd07.prod.outlook.com ([fe80::49b7:5cc:5aeb:fb2a%4]) with mapi id 15.20.4478.017; Tue, 31 Aug 2021 16:28:06 +0000
From: Christer Holmberg <christer.holmberg@ericsson.com>
To: Sergio Garcia Murillo <sergio.garcia.murillo@gmail.com>
CC: "wish@ietf.org" <wish@ietf.org>
Thread-Topic: [Wish] Initial comments on draft-murillo-whip-02
Thread-Index: AdeIm8xMrd6krm7WRZOghWk/uXTq9gPUbOgAAH/eQuAAtNXAAABAF19uAAPjjIAALEJiYA==
Date: Tue, 31 Aug 2021 16:28:06 +0000
Message-ID: <HE1PR07MB4441C687AE52FB3E349A5D1293CC9@HE1PR07MB4441.eurprd07.prod.outlook.com>
References: <HE1PR07MB4441D8BE799E5344CD77BA7B93F09@HE1PR07MB4441.eurprd07.prod.outlook.com> <CA+ag07bt4kF3KhV_eoNDmYojdzudNbz4fsf_zrev-ym-PPUP4w@mail.gmail.com> <HE1PR07MB44418D5DBB0CF1976B36254293C69@HE1PR07MB4441.eurprd07.prod.outlook.com> <CA+ag07aZjhHJCWEUtkMXozDQNKAROA6XPqeXc5hqVzEubzkS7A@mail.gmail.com> <HE1PR07MB44411D43C99E521FFDA8C51993CB9@HE1PR07MB4441.eurprd07.prod.outlook.com> <CA+ag07aPMD_vwktLsYiC0dN7L+Fe+zLr1LSayKpvahTP2k4qGw@mail.gmail.com>
In-Reply-To: <CA+ag07aPMD_vwktLsYiC0dN7L+Fe+zLr1LSayKpvahTP2k4qGw@mail.gmail.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
authentication-results: gmail.com; dkim=none (message not signed) header.d=none;gmail.com; dmarc=none action=none header.from=ericsson.com;
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: 72f86976-0813-431e-5218-08d96c9c5030
x-ms-traffictypediagnostic: HE1PR0701MB2122:
x-microsoft-antispam-prvs: <HE1PR0701MB21226F18CD51EF49DA923E1293CC9@HE1PR0701MB2122.eurprd07.prod.outlook.com>
x-ms-oob-tlc-oobclassifiers: OLM:10000;
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: toEm2vF6WlzMW/OuI7Z5OnJIvR5yqrghNIm0aR3sm9cRuQOZELsJZXmjfB2Mll4F7hFOAXjII+HAs/YRBA5zGFD0hyCop8DuwOzpc3ZLdv3LhjjPoE06jEEBg4YHeiIuLNqF1xogKhWmr5qNvKr4cTjwcOaEOjtNd5bNtP6rj9pyZ40o2kdJ/3KuuICbrH80PsHxEMJwhK8l1VViSmO9iNesE4PzDKW9arZCRAQ2B/JiJyhPkHPq8d20xZ8jmuiCczqwD8D7iMvJFqqzrVIT31aal7ZiNZ24/xgKS4cKiopD+Yi6IumIabsWkCxpvseDrBca2kmUwAzp/0e/KHBpjOokkChv1mU/igmzXxQ/GDhSCWameyHKJpwWajrVFWEwoUj5Az6k7+kTK5UR+LOzq2SeVx5ZuDF2Tj2+Wp7FKG4JdA1rh9MnONgJUPrY6SbF2H/X3fqXl9XDjLulWVUB9dg+vo6mAo/Bl0Etv2LBEqYCkAiaO6Q5PQD5sAPTOkvK2OVJ7e+DdzoxCzjj2do2II96yDs2TQY+ICo2QksEU2LwNuu1WBS/M33lj/DDBXPDLNDCJhZiX+iw9oa+RBFyzypsHPr6wFd6gBTXpfoKNmLSs6oeXNAkWIOHcIpajilipj33XsZlK2RcGBQIzHb1pnvs0/bR5JZK0yMfNLEXZUXG1F8q/1TCWW4iXOhRE0m0mhrZKwSPhsUtW1Z5Lhwz5qiS7E/YVt64A72ELL+GL/8+fOhKUHSScLgTmx/vEGuGt6ZyJHFM8CRBfOc07kUxScwE2Gs9YCbncFLy0ZAQuLY=
x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:HE1PR07MB4441.eurprd07.prod.outlook.com; PTR:; CAT:NONE; SFS:(4636009)(136003)(39860400002)(376002)(346002)(366004)(396003)(26005)(38100700002)(122000001)(76116006)(86362001)(6916009)(55016002)(83380400001)(966005)(186003)(2906002)(9686003)(316002)(33656002)(8676002)(38070700005)(66556008)(52536014)(66946007)(4326008)(44832011)(478600001)(5660300002)(71200400001)(64756008)(6506007)(66446008)(7696005)(66476007)(8936002); DIR:OUT; SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: =?utf-8?B?QVUyRWZ4WTJ2cFVHeFpDZ3NnL2FkUkY2dkttcGpTSi9SWmViOEYzNzJobE1y?= =?utf-8?B?YkdDNWREeXlNc0FBMUVNeFlIbjIxVytjdDROa0Q3RGF5d2RlcDEyVVpSc0xU?= =?utf-8?B?N3pGV2Z6cFhwS1phb3dpUHgrU0Z0K0c5KzhYL09haWhBWDIrVTVCRS8rMFhV?= =?utf-8?B?c1JmOUtVTm9vZmE1WVl5bksvTHdpK3p4NEZ5dDN5a05MOXJPODJEVUZuOTNh?= =?utf-8?B?M1QyRGpnSFVGVHphZC9IazJVTGJWSzRnRDlvcGN3SlpzS0dObmpOVW5zajJG?= =?utf-8?B?YjFhOWgvRk1ESzBEMkZOU0RlTGdBNmJTaTlZT1JMa0FxbmRBZmlYQjdyTVN0?= =?utf-8?B?SHQ2d01wcHVDT0JEaGNVT3g5cS9MUXp6UWM2a3dkd1pxaUxBelhCQjZxSzRM?= =?utf-8?B?RlRCRFROcEl5MG1JSjcwRGRHbzlhalRhR053cE1PQUQ3Lzd5d0x6ZHg5ZkZ4?= =?utf-8?B?NGI3OEgrQVB5QmtUMWNVSTFGQVlSMVN2SGMvVjRCb0lXU1d6RldLZE5zOWJW?= =?utf-8?B?YTltNzEzTG1udHNVY05ubzFpTGNFcG1NZ3BIUU9kU0xFMzV5anM3WGdpMXVI?= =?utf-8?B?d1d3KzhNK3p0MjVTc1RrbDN0TG5iVHZxTHFIanNSN0pKQzlqSVNDdDA4NSsz?= =?utf-8?B?WEh2M1VYd2MrQUxwdDNseWdCMGpmaTFVMEhpamFKdDhnV0VjVjc5S3BEZW00?= =?utf-8?B?ejIweldVNU83Sm1DemxRSUY0S29TQldOcStNQTVuL1lEdm41U1Z2TzcvV0tx?= =?utf-8?B?dFlNeFhzWTRIVmZiNzRMLzlDL2hFeWJFQWtia3Y1NW02Y2gzTEUrYUNtbDNu?= =?utf-8?B?QStBQi83Z0xydVhjTzdxVGJ6ZlFJQnNvT2V0bHY2Ym1aeU9HMFVGY3lsd2tq?= =?utf-8?B?dWhRMk04VlZrWmpId0t2ZmRuWEk5SlREb2NoSVhmcjd4R21hNm5GMkJwMk1k?= =?utf-8?B?NzVQRjI0VU82TWIzYnJZZGFqYXk3QTY1cEpUZ2NWQktJcXlWeENtS2RkRWln?= =?utf-8?B?QXRSalBMSnM4YlljSnl1VU5QSEIxeVdJZGVyTUZrSFhJMnlMWXl3WTRDY0c2?= =?utf-8?B?ZkQrVnFCUHp4SG1VZnk3MXB0eTZCbndrSTRlZ2pOazMxbzBPTk5mVjZkenhw?= =?utf-8?B?VlkrRC9jS2FXcFNqMTRWY3RFby9CVVFuNUcyc3JMb1ZJS25QdlVJWGhFU2ox?= =?utf-8?B?SXhDY2V2RFlRd0UzQU5RN2MvMm9qTGdYTWUwYjFFNnQvR043b29PQVA2MlZi?= =?utf-8?B?UngyTlErM2xFNkk4V3EvWno2TVArR1p5SXhJWlBUWVgwcDlCY3ZkS21YMlRZ?= =?utf-8?B?THZZMmJ6OEJqY2dlQ2t1UFpEN2JrRTMrSzNkeU53dXNQbUV1QUIwczBvOGlO?= =?utf-8?B?Qk5oT1I1Y1dxZzdIZGJJZHNzMHNyZGZ1RElEUmFhdGJlVUJrQlNQMlNoLzdu?= =?utf-8?B?UmxVclNtQVkxQTdacldvZ1ZNVTdsMGN3cWxzZW42NVJOcDk1K0VIeUczVDRF?= =?utf-8?B?bWJkUVJsSUxwYmVRR1FLVXpsL05ISHdZNHN1TW8zd09XQW1BSE4wcUJRWjhO?= =?utf-8?B?NFhDNXc2aXFISzZScE9qcndxeXdMNE1SZ01jWUNFcjJsMTZWQ2F2YzFxTlQr?= =?utf-8?B?L2ZMRU5uaUxiNUgweWk4UDVKNER2aGZFdDU3eWxEc2lEUkF0NlVJN0FhQjB4?= =?utf-8?B?V2lHQjJ4UDVBa0orMmE4bVZ5aDFzS0s1eEF4M3doaERuVkJQTlRiTWxTRFJo?= =?utf-8?Q?rIgPZBDXWyrPh/nlKt/9s3fZOnXqEoPZEAOSf6N?=
x-ms-exchange-transport-forked: True
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-OriginatorOrg: ericsson.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: HE1PR07MB4441.eurprd07.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 72f86976-0813-431e-5218-08d96c9c5030
X-MS-Exchange-CrossTenant-originalarrivaltime: 31 Aug 2021 16:28:06.4258 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 92e84ceb-fbfd-47ab-be52-080c6b87953f
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: ZkyAgZLjQAIM7cfPQTb3/AIQZU8AZQcpHtLDAKY8OI+fc3/H7QKAV1JfQbuhU2zNZ9Hk3GGxuSf9iMxaefysVuGoMePNRbKA9e3+yxme//k=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: HE1PR0701MB2122
Archived-At: <https://mailarchive.ietf.org/arch/msg/wish/dxZrWhc3XYB0ppERtXxPD4sTTUA>
Subject: Re: [Wish] Initial comments on draft-murillo-whip-02
X-BeenThere: wish@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: WebRTC Ingest Signaling over HTTPS <wish.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/wish>, <mailto:wish-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/wish/>
List-Post: <mailto:wish@ietf.org>
List-Help: <mailto:wish-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/wish>, <mailto:wish-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 31 Aug 2021 16:28:28 -0000

Hi,

>> I would prefer to add as few optionalities to the protocol as possible. It would be trivial for the server
>> to just return the current URL and not to have to test each interoperability with each client for both 
>> when the location header is present or not.
>> 
>>I just think it is not a good idea to make changes to core HTTP, so in my opinion it is more about HTTP interoperability than WHIP interoperability.
>
>And, what if you are using an HTTP library that will remove the header if the endpoint isn't changed?
>
>Can you point me to the HTTP spec that defines that behaviour of the Link attribute? 

I assume you mean Location header? I have not commented on any Link attribute :)

The semantics of the Location header, in a 201 (Created) response is that a NEW resource has been created. As far as I know, if a new resource is NOT created, HTTP does not mandate a Location header to be included in the 201 response.

I can look if this is explicitly defined somewhere, but if there is someone having better HTTP knowledge than myself he/she may want to chime in.

---

>> In terms of features, the WHIP protocol matches the ones offered by RTMP which is still widely used
>> and offered on most profesional hardware encoders and main open source broadcasting software
>> (i.e. ffmpeg/OBS/vmixer/...). Not sure how that is not suited for "professional usages". 
>>
> RTMP supports PAUSE, RESUME etc commands, doesn't it? :)
>
> Hard to know as AMF commands on top of RTMP are quite undocumented. If you do some archeology on action script reference you can see that the play/pause are commands send from the player to the media server when reproducing a video, they are not intended to be used for the publish command:
>
> https://protect2.fireeye.com/v1/url?k=972f57bf-c8b46e83-972f1724-86b1886cfa64-94d0ba57ffd7f0e9&q=1&e=6b5239de-60be-4332-8f7c-cc2e3371d5b9&u=https%3A%2F%2Fhelp.adobe.com%2Fen_US%2FFlashPlatform%2Freference%2Factionscript%2F3%2Fflash%2Fnet%2FNetStream.html%23publish%28%29

You may be right, and I haven't debugged any RTMP app in order to see what exactly is sent. Just because my app has a button that says "PAUSE" it doesn't mean it triggers an RTMP Pause command :) 

However, my main issue is not the specific PAUSE and RESUME commands, but the generic ability of being able to send commands in the first place. 

>> Let me explain how the sport event ingestion software I am using works:
>>
>> First you establish the session, choose what sports event you are going to stream etc.
>>
>> After that, the media ingestion starts. But, the server does not start the broadcasting of the media yet. It only broadcasts the stream to the one doing the ingestion, so that he/she can check that everything works.
>>
>> After that, the user sends a command to the server to start the actual broadcasting.
>>
>> Etc.
>>
>> So, the user has explicit control of when the actual broadcasting begins, even if the media ingestion has began earlier.
>>
>> As I am not the implementer of the software I don't know all the protocol level details, other than it uses RTMP.
>
> That workflow makes a lot of sense, but not sure how it maps the pause/resume operation. Typically you will control it from a control panel on the server side which is not at the encoder. 

The above is probably a bad example for PAUSE/RESUME. In the app there is a "PAUSE/RESUME" button, but it does not affect the media ingestion and broadcasting. It only affects the sports game watch (which runs in the server).

But, the example shows the usage of commands for controlling different steps (ingest-no-broadcast, ingest-with-broadcast etc). In WHIP, as far as the server is concerned, the ingestion and broadcasting will start once the O/A and ICE procedure has concluded.

---

>>> Regarding the metadata exchanged during the session, which could be done either by datachannel
>>> or by a new whip protocol extension with another http url, 
>>
>> I had a datachannel in mind, and that's why I asked about it earlier :)
>>
>> But, if commands are outside the scope of WHIP, I think it would be good to explcitly say it.
>
> The way I see it, the problem again is defining and standardizing the metadata, not about how to transport it. We can state that it is not supported by this WHIP version.

I was not thinking about standardizing all metadata, but more about a framework with e.g., an IANA registry where commands/meta-data can be registered.

BUT, having said all that, if the community thinks it's outside the scope of this WHIP version, I will not argue against that. I do think it would be good to document, though, because I think it is useful information for implementers evaluating different protocols etc.

Regards,

Christer