Re: [Wish] Prototype client/server WHIP implementations

Sergio Garcia Murillo <sergio.garcia.murillo@gmail.com> Thu, 09 September 2021 10:24 UTC

Return-Path: <sergio.garcia.murillo@gmail.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 09AA73A0906 for <wish@ietfa.amsl.com>; Thu, 9 Sep 2021 03:24:07 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.097
X-Spam-Level:
X-Spam-Status: No, score=-2.097 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, HTML_MESSAGE=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=gmail.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 P1BkBz5UKCxx for <wish@ietfa.amsl.com>; Thu, 9 Sep 2021 03:24:02 -0700 (PDT)
Received: from mail-pj1-x1035.google.com (mail-pj1-x1035.google.com [IPv6:2607:f8b0:4864:20::1035]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 808973A0907 for <wish@ietf.org>; Thu, 9 Sep 2021 03:24:02 -0700 (PDT)
Received: by mail-pj1-x1035.google.com with SMTP id d5so1029836pjx.2 for <wish@ietf.org>; Thu, 09 Sep 2021 03:24:02 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=b4CuN5SIO05NBz6DhAVuIpVdcwpiRneTFC1heYbEWjU=; b=J5c7bJhl0EgZvMJUrk9vOrPRXhJHh9HQ/esqNLBxRypcf6/N9ZKsDfxVbXgJQ4aCS4 hgcS5CA+VCiK5Z7ze8oGirquovBOqTkeRVZnALXYk+h47pJKqOz2vVrTJ+WNDUwYX7BU bExeWgasAuTxX/a5OACaEMMk/8L3/bBwTwWo06nqP7Soy1uwef4QqRusEl+eWYg3gljK blUm3oujx92JCejSEd37Ig14oCAkkuoBrZq228CMedMgQrO8mkuF4gPwiUZLjzPTbrWI zL3X4v1EgBqB7XzITxxC5VmXKra1tMK31Ao2g4LRu9cOOnTXf/10YCKIA1f5n92djPqx AFow==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=b4CuN5SIO05NBz6DhAVuIpVdcwpiRneTFC1heYbEWjU=; b=6ZhPQhNc376+kemOAQ6+JL9A8TxJyK3rXLPWQSCYUM/Sq5+x+FGBt2v3iSDswRUgNS zGJu4qyDx/uwjIgelUP+7dw3x1NMP+lZKzVfoo5laRZNT7US3QoGJbUkvhGwtO/yoGny 21iLsnZemwPo8f4xSxr1Ys16mvNrrRF8zqDkpva09t7sz6i7ahc8aYd5LXdpLBGKEvOL VY34YYZjt0sg5VQTyKmo5ZQrwUxo2ia8mOM9Pk+BgDwFcJxnXUNpHO1cC9d4gyY/RggU onDdeyITmx0DHPvvd6upHC1HZuQCWOQTVoqeNCra4Ef4xYR1Jw8JcioAvE+IEKc5nGBY G50g==
X-Gm-Message-State: AOAM531j/I0exNTi6hAThCn4+K38OtgA6p2Qu9NgelSmgYsBfDupBvyi 85bdEXUWumYJBLvFK6gmn+AiPiDKc1ZFcyZidXytVGZu
X-Google-Smtp-Source: ABdhPJwwuDmT+i6GTFqAySNT2fqaqr2CD0KcAUGAWSmsbnewCrZsluy86EQfK8cKGSVZ9AUKpt2f5hAXaeygUBiMl9o=
X-Received: by 2002:a17:90b:1488:: with SMTP id js8mr2741139pjb.41.1631183041198; Thu, 09 Sep 2021 03:24:01 -0700 (PDT)
MIME-Version: 1.0
References: <20210909115927.4b409e2b@lminiero>
In-Reply-To: <20210909115927.4b409e2b@lminiero>
From: Sergio Garcia Murillo <sergio.garcia.murillo@gmail.com>
Date: Thu, 9 Sep 2021 12:23:50 +0200
Message-ID: <CA+ag07aMp4JhqgCxTVC+0vBxZyrRerEwnfZUw77swDnxQfjRrQ@mail.gmail.com>
To: Lorenzo Miniero <lorenzo@meetecho.com>
Cc: WISH List <wish@ietf.org>
Content-Type: multipart/alternative; boundary="000000000000bbfdd105cb8d6570"
Archived-At: <https://mailarchive.ietf.org/arch/msg/wish/CFdJ67sgO3K9ih6Xdg866A2mNSI>
Subject: Re: [Wish] Prototype client/server WHIP implementations
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: Thu, 09 Sep 2021 10:24:07 -0000

Awesome work Lorenzo!

As you have anticipated, I feel that the current draft is quite mature in
terms of functionalities, so I plan to request a session at the next IETF
hackathon for doing interoperability tests between client and server
implementations and incorporate the feedback we gather into the protocol.

I also plan to implement it into Millicast and do a small javascript based
client for testing. Would be great to have much more diverse
clients/servers for testing!

Best regards
Sergio

El jue, 9 sept 2021 a las 11:59, Lorenzo Miniero (<lorenzo@meetecho.com>)
escribió:

> Hi all,
>
> FYI, I just created a couple of repositories that host a prototype
> implementation of both the server and client side of WHIP. They're
> quite barebone and nothing to write home about, but hopefully they
> should be helpful to perform some interoperability tests, and more
> importantly check whether the specification works as it is.
>
> The server side is a simple node.js frontend to the open source Janus
> WebRTC server, meaning it implements the WHIP API on one end, and
> translates those interactions to the Janus API on the other end, in
> order to eventually create a PeerConnection to the VideoRoom (SFU):
>
>         https://github.com/lminiero/simple-whip-server
>
> The client side, instead, is a basic command-line application that
> takes advantage of GStreamer's webrtcbin stack, implementing what I
> figured out a WHIP client was supposed to talk like:
>
>         https://github.com/lminiero/simple-whip-client
>
> While I've been testing them against each other, the idea of course is
> that they should also be able to talk to any other WHIP client/server
> implementation, which is the main purpose of the interoperability tests
> I'd like to happen sooner or later. I know Sergio was interested in
> doing something in that direction at the next IETF hackathon, but of
> course if anything else happens earlier than that as well I'd be glad
> to hear how that goes!
>
> About the implementation choices, I did make some assumptions on the
> specification in the prototypes (e.g., see discussion on tokens from
> the latest post by Sergio), but in general it should be a reasonably
> faithful implementation of the current specification. The client
> doesn't seem to be able to detect when a PeerConnection goes down
> (e.g., when someone else sends a DELETE on its its behalf), but that
> seems to be a limitation in the current implementation of GStreamer's
> webrtcbin (apparently changes in the DTLS state don't update the
> overall state of the webrtcbin element); I'll try to find a workaround
> for that.
>
> Hope this helps,
> Lorenzo
>
> --
> I'm getting older but, unlike whisky, I'm not getting any better
> https://twitter.com/elminiero
>
> --
> Wish mailing list
> Wish@ietf.org
> https://www.ietf.org/mailman/listinfo/wish
>