Re: [V3] RIPT BoF approved for IETF 107 - Draft charter below

Jonathan Rosenberg <> Wed, 19 February 2020 14:01 UTC

Return-Path: <>
Received: from localhost (localhost []) by (Postfix) with ESMTP id 545B61200FF for <>; Wed, 19 Feb 2020 06:01:15 -0800 (PST)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -1.9
X-Spam-Status: No, score=-1.9 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Authentication-Results: (amavisd-new); dkim=pass (1024-bit key)
Received: from ([]) by localhost ( []) (amavisd-new, port 10024) with ESMTP id I_M6cJIUgb6X for <>; Wed, 19 Feb 2020 06:01:08 -0800 (PST)
Received: from ( []) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by (Postfix) with ESMTPS id B0CE31200FE for <>; Wed, 19 Feb 2020 06:01:07 -0800 (PST)
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901;; cv=none; b=b8l7rD38WW0WIjVb9sm9Rj7/bUp3ie7l/zpugBlCdeCWZsMa7NPyLbVCqc5q7+6RqEhe53LHmdMH4hV4T1jImdvKm3sCGh/jF9U2EAc8V6umcOVFFXHKhySLxxeKj5zwHogMKgmGIm6Z3jnjhLWDJ1CsjgSip/aNWzQKI8VjKqgsn6gIfEQT0p+ThRm1Sg2w77My+y+ESvBhkblaxOs0gwiRO7QX1DIc25U1pzDhH35di4LQvdT6eeSVC513HULg4XTfbhdseK/Rw6I54zhxZi8sz4rjjrmBQbsbiMTAYBCwVo44f6nwANvcrPp/Dx1rkuRuY/Rl4n39WVlgpcVitw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed;; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=auzYUluaWg4PJyviurgB3IDxFjGHko/fRenwbT+WcYA=; b=cx2kQ18eyho16vFsi+6mlgiOZMNLXQvgw1dsSDN1rhV2ilaTFk9mH+cUa/8ddosClEZzildiT3U0rEEowzx5ozfdNLC3IDQmfBIt0p57D5rUybnz7/Zt2g+8bbKoerkadBi74y0yuszXtwekXbkzdMrHiIMwBnWz+6MYvdLCCiq2VzU1THFL/Jh65kP9GQHg3AbtcrQxxSnto1qG4Wvf33Hj8lmynPGFsnVwe/6+kbBFYHb+RlWgWXAmGLdP7QkuckfBXRs+dsSGsxdeQK7tIsY7LsuhUrZvh8KfI72aCYup9ZCSsDnxdtXwcWmFwoO/NUm0lr6I39vXV4CawIjQmA==
ARC-Authentication-Results: i=1; 1; spf=pass; dmarc=pass action=none; dkim=pass; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;; s=selector2-fivn-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=auzYUluaWg4PJyviurgB3IDxFjGHko/fRenwbT+WcYA=; b=taSaqXlVfDdGSO4Wk9Ob8OxL86xD29r4xVb78xvm7ZHqiooAI7/EEP/EcE0mClFx4mtLBSlRHDzQkobkRUt3PPyLJi6x+VRb84BgZ9QZwWcl3L7Lfoj3SU40taOnGJ+CAti7+/Gki1UNwb1+xGkrR+7eUKFUB8L+Z3mxlaSOndQ=
Received: from ( by ( with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2750.17; Wed, 19 Feb 2020 14:01:02 +0000
Received: from ([fe80::21c5:6201:54:13d4]) by ([fe80::21c5:6201:54:13d4%2]) with mapi id 15.20.2729.032; Wed, 19 Feb 2020 14:01:02 +0000
From: Jonathan Rosenberg <>
To: Spencer Dawkins at IETF <>, Justin Uberti <>
CC: Ross Finlayson <>, "Cullen Jennings (fluffy)" <>, Jonathan Rosenberg <>, "" <>
Thread-Topic: [V3] RIPT BoF approved for IETF 107 - Draft charter below
Date: Wed, 19 Feb 2020 14:01:02 +0000
Message-ID: <>
References: <> <> <> <> <> <> <> <> <>
In-Reply-To: <>
Accept-Language: en-US
Content-Language: en-US
authentication-results: spf=none (sender IP is );
x-originating-ip: []
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: 120e717b-2957-44de-14ef-08d7b54427ce
x-ms-traffictypediagnostic: BYAPR06MB6182:
x-microsoft-antispam-prvs: <>
x-ms-oob-tlc-oobclassifiers: OLM:8882;
x-forefront-prvs: 0318501FAE
x-forefront-antispam-report: SFV:NSPM; SFS:(10009020)(376002)(39850400004)(136003)(366004)(396003)(346002)(189003)(199004)(966005)(7696005)(71200400001)(52536014)(5660300002)(55016002)(6506007)(2906002)(53546011)(9686003)(33656002)(26005)(76116006)(186003)(316002)(8676002)(54906003)(81156014)(81166006)(478600001)(8936002)(86362001)(4326008)(66556008)(64756008)(66946007)(66446008)(110136005)(66476007); DIR:OUT; SFP:1101; SCL:1; SRVR:BYAPR06MB6182;; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; MX:1; A:1;
received-spf: None ( does not designate permitted sender hosts)
x-ms-exchange-senderadcheck: 1
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: ijhgBG/hXhW9jny3drUPxYie6l6kWvvyD6sZCANSIC+87T3CTJY6GAXPQjK4WvtgeTvR9UVUprsdAYcr1smQhsx6Uoi5oW+OZnKfQ/wD7BPSdldf/MfZ3Gt/p7+L9JnZcP5MaGTZazKy1AGl5g2EZBLeUeQ0qo/tesZaacJcXYin0ks4W82e2XEbjGiPVsZcR+4YOT/SyreXN9j65oaTWbGIp1k1icGCo6G3hiU1NknOVuYRsNwUjbd9gjpOFZ26BzZ2rzdAFPU1DfQMdtvci8F1Amhcum4uAaJVNAORi70mr/n8tjbuo2/FwTEtTxfPchDbOjlOvwkzE+4y7D3VlXnsBJCyEGwOh9yTM8cARDdkbnl542XWc+aWdK6qInlQD+mXaFRAom4YnGDp4L2dGtnuJrqQ/z3Pq5uRcFNd+5XLdMCs9aKAcHuB0NGLFIvFdbk3r/bihkiQw8oHKk/CYkHdI9NIuPrI6nqBY72l6+X3qWXO1LCufkeER8pJ+0yAlLwGc49AA2jxuMUHYyOR+Q==
x-ms-exchange-antispam-messagedata: gvvLH63pNI9SxEpJ+br/GQtgONHFYGzfxHBEptsdkbOYR5VpttXCgquiJNBZ32tZM4coDWR4rVOcaguAUTAkTdImUEXVBYzv8BKlnOh2UcNtX9ARWt59zRfV9sg6fZgRoWzk/7vgxhtkEQtSY8Bhfw==
x-ms-exchange-transport-forked: True
Content-Type: multipart/alternative; boundary="_000_BYAPR06MB43911753D17BCADE1B0DF40DFB100BYAPR06MB4391namp_"
MIME-Version: 1.0
X-MS-Exchange-CrossTenant-Network-Message-Id: 120e717b-2957-44de-14ef-08d7b54427ce
X-MS-Exchange-CrossTenant-originalarrivaltime: 19 Feb 2020 14:01:02.5186 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: f6c5114f-7396-4a09-af1e-98ee46f99bdb
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: Y64LO38ytFdcurCvRzs5tU2JMUPyi7fbHcZP7vnmf3u1q8ob/K+xFCMc5BYVaXyZCmooH8HkFBHiZUpPDxilkw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BYAPR06MB6182
Archived-At: <>
Subject: Re: [V3] RIPT BoF approved for IETF 107 - Draft charter below
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: <>
List-Unsubscribe: <>, <>
List-Archive: <>
List-Post: <>
List-Help: <>
List-Subscribe: <>, <>
X-List-Received-Date: Wed, 19 Feb 2020 14:01:16 -0000

Hi Spencer:

As you and Ross have inquired about – a KEY goal for this specification to enable client-to-server real-time media applications in modern cloud platforms. Examples would include audio bridges, contact centers, IP PBXs which handle media (many do), softswitches, cloud sbcs, and so on. All of these handle both signaling and media. This goal does in fact couple the media to signaling in some new ways, which introduce new requirements that a fully clean separation of signaling and media cannot easily address.  Firstly, we assume that all of the servers sit behind HTTP load balancers, and are not reachable directly. This is standard practice. That means that clients have to send media through HTTP. Secondly, we assume that sticky routing happens in these load balancers the ‘normal’ way – through a combo of hashing of 5-tuples and usage of session cookies. That means that, in order to get the media to the server handling the signaling (which is what we want), the media needs to come in the same connection, and use cookies. This further ties it to HTTP. In order to deal with failures of those servers and enable mid-call recovery without loss of media packets, we also need the transport to contain call identifiers. This way, media can just ‘be sent’ to a new server in the pool behind the load balancer, and it can pick up where things left off in the previous server without losing any media packets (like - not one). In RIPT this happens because all media are PUT/GET from the call URI.

All of the above requirements largely point to the need for a new encapsulation technique for the content of RTP packets, which enables them to be transported over HTTP in a way that is quite coupled with the signaling.

Ross had asked (or was it Spencer 😉) about whether the goal was to transmit the media over TCP. Our objective is that the media ultimately end up in a UDP packet in such a way that we avoid HOL blocking and enable the system to function with packet loss causing dropped packets. That can be accomplished in HTTP3 by using a new HTTP transaction for each packet, which maps to a new QUIC stream, which can be opened with zeroRTT, and if you end the transaction and don’t use it again, you end up getting media in a single UDP packet. This however is but one technique. Assuming webtransport gets standardized and widely deployed and runs within http, this would be another. We can also round-robin across transactions (this is what I had in earlier drafts). These are different solutions which the group needs to choose from. But the core requirement is to ultimately get low-latency media.

This also comes with an underlying assumption that the HTTP load balancers, networks, service meshes, serverless compute engines, and so on – which are used for HTTP – achieve low latency in general (network transport aside) – sufficiently low for voip. There is evidence to suggest that this is the case, as more and more ‘non-real-time’ apps on the web are getting pretty darn fast. Financial transaction processing is one such example. In fact, initial experiments were run to push media over plain old HTTP 1.1 in these platforms, which uses TCP, and it was pretty darn good!

Jonathan R.

From: Spencer Dawkins at IETF <>
Sent: Wednesday, February 19, 2020 7:41 AM
To: Justin Uberti <>
Cc: Ross Finlayson <>om>; Cullen Jennings (fluffy) <>om>; Jonathan Rosenberg <>et>; Jonathan Rosenberg <>om>;
Subject: Re: [V3] RIPT BoF approved for IETF 107 - Draft charter below

Hi, Justin,

On Tue, Feb 18, 2020 at 10:01 PM Justin Uberti <<>> wrote:

On Tue, Feb 18, 2020 at 2:47 PM Spencer Dawkins at IETF <<>> wrote:
I am also hoping for clarity here, or at least clue.

On Tue, Feb 18, 2020 at 2:02 PM Ross Finlayson <<>> wrote:

> On Feb 19, 2020, at 5:12 AM, Jonathan Rosenberg <<>> wrote:
> Also to be clear - whilst I agree that RTP on QUIC is interesting - it is not in scope because httpbis is our target, not quic. We want to allow voice signaling and media to run over web infrastructure services, so http is our 'waist of the hourglass' not quic.

So just to clarify here:  Is your goal (for this protocol) that media be transferred only over streams (TCP or (reliable) QUIC), not datagrams?  Consequently, how important is end-to-end latency for audio/video calls that would use this protocol?

And are peer-to-peer audio/video calls (that would not involve a web server at all, except perhaps for initial end-user lookup/discovery) out of scope for this protocol?

If that's the case, then you’re not really ‘replacing’ RTP, but rather defining a new media transport protocol to be used in this one (restricted, but important) environment: Transport using reliable protocols via web server(s).  And if that’s the case, then I’m concerned that your SIP replacement (i.e., replacement of the one thing that’s truly broken, and needs replacing) might end up being too restrictive for more general media transport (datagrams and/or peer-to-peer).

I think I arrived at the same place as Ross, coming from the opposite direction. ("Thunk!")

ISTM that the proposal floating through here for a new media transport protocol, if it is successful, would be useful for non-RIPT applications as well, and ISTM that other proposals for RTP over QUIC (or whatever we're all muttering about privately), if one of them is successful, might be useful for RIPT applications as well.

So, the first suggestion I'd make at the BOF, if work on media transport of whatever flavor is still part of the proposed RIPT charter, is to split it off into a separate proposal, which I'd love to see go forward on its own, unless there are really strong reasons why RIPT signaling specification work and RIPT media transport work need to be coupled, need to fate-share, and need to compete for attention in the same working group.

I can say more about that at a mike in Vancouver, but let me start with this, on a mailing list ...

Spencer -

This time, I AM Spencer :-)

I agree that the signaling and media transport aspects are separable, but ultimately many applications will deploy them together, and perhaps multiplex them over the same HTTP transport. As such, there's definitely value in having a WG that considers the overall problem space and the various interactions between the layers (I think there are actually 3 layers - signaling, session descriptions, and media transport).

"Consider" is the key word, and I think that's an invitation to good systems engineering. No objection to that.

My suggestion is that the BOF proponents be really clear about what they expect to happen after the considering, and especially asking whether work on media relies on the same expertise as signaling, and (speaking as past AD for QUIC) whether you really need everyone in the same room at the same time, with no opportunity for parallel processing of separable topics.

At a minimum, I'd suggest adding AVTCORE, MMUSIC, and ICE to the list of working groups to coordinate with.

But do the right thing, of course :-)



Certainly worth discussing further though.



Ross Finlayson
Live Networks, Inc.
V3 mailing list<>


CONFIDENTIALITY NOTICE: This e-mail and any files attached may contain confidential information of Five9 and/or its affiliated entities. Access by the intended recipient only is authorized. Any liability arising from any party acting, or refraining from acting, on any information contained in this e-mail is hereby excluded. If you are not the intended recipient, please notify the sender immediately, destroy the original transmission and its attachments and do not disclose the contents to any other person, use it for any purpose, or store or copy the information in any medium. Copyright in this e-mail and any attachments belongs to Five9 and/or its affiliated entities.