At a Glance
A call needs both ends to agree on codecs, encryption and network paths before any media flows. JSEP, published as RFC 8829 in January 2021, defines how a browser exposes that negotiation to JavaScript without dictating how the signalling gets from one side to the other. Uberti is its first author.
- Lived: active from the 2000s, American
- Anchor year: 2021, JSEP published as RFC 8829
- Strand: overlooked
Career
The problem as it stood
Earlier calling systems bundled negotiation and signalling together, so using one meant adopting the other's whole architecture. The web needed a model where the browser handled the media and the application chose how to exchange the messages.
What he actually did
Uberti, with Cullen Jennings and Eric Rescorla as editor, specified the JavaScript Session Establishment Protocol: what a browser offers, how it answers, and how an application drives that exchange over any transport it likes.
How it worked
The browser produces an offer describing what it can send and receive. The application delivers it by whatever means it wants. The far end answers, the application returns it, and media flows. Separating the two is what lets WebRTC sit inside any existing service.
What it made possible
Interoperable calling between independently written applications, and the ability to add real-time media to an existing product without replacing its signalling. It is the reason a browser call works between two different companies' services.
Where the credit landed
RFC 8829 names Uberti of Google, Jennings of Cisco and Rescorla of Mozilla as editor. Three companies that compete, on one specification, is the ordinary condition of internet standards and is worth noticing.
Known For
- Separating negotiation from signalling is the design decision that made WebRTC adoptable.
- Three competing companies are named on the document.
- The browser never decides how your signalling messages travel. That is deliberate.
Knowledge Base
Background and Detail
A call is two problems: agreeing what to send, and getting it there. This is the first one.
Why signalling was left undefined
Every service that wanted real-time media already had a way of exchanging messages between its users. Prescribing a signalling protocol would have forced each of them to adopt a second one. Leaving it out is what let WebRTC be added to existing products rather than replacing them.
Why the browser does not choose your signalling
It would have been easier to specify one signalling protocol and require it. That would also have meant every service adding real-time media had to run a second messaging system alongside the one it already had. Leaving the choice open cost the specification a great deal of complexity and bought universal adoptability, which is a trade standards bodies do not always get right.
Where This Fits
JSEP sets up the live browser call, a modern transmission link in the chain covered in A History of Broadcast Technology.
FAQ
Q: What is an offer and an answer?
A: One side describes the media it can send and receive, the other replies with what it accepts. The exchange predates WebRTC and comes from session description work in telephony over IP.
Q: Why are three companies named on the specification?
A: Because internet standards are agreed between competitors. Google, Cisco and Mozilla appear on this one, which is ordinary rather than remarkable.
Vocabulary
JSEP The JavaScript Session Establishment Protocol, which defines how a browser exposes call negotiation to an application without prescribing how the signalling messages are carried. That separation is what lets real-time media be added to a service that already has its own messaging.
Offer and answer The two-step exchange in which one side describes what it can send and receive and the other replies with what it accepts. It predates WebRTC and comes from the session description work behind telephony over IP.
Signalling The out-of-band exchange of messages that sets a call up, as against the media itself. WebRTC deliberately leaves it undefined so that an application can use whatever it already has.
Session description A text format listing the media a party can handle, its codecs and its network candidates. It is the payload of the offer and answer exchange and long predates the browser.
Sources
Every record below was fetched and read before it was cited here. Checked 26 August 2026.
- RFC 8829, JavaScript Session Establishment Protocol (JSEP). Standards Track, January 2021. The header names J. Uberti of Google, C. Jennings of Cisco and E. Rescorla of Mozilla as editor.
Translate this page
- Español
- 简体中文
- हिन्दी
- العربية
- Português
- Français
- Deutsch
- 日本語
- Русский
- Bahasa Indonesia
- 한국어
- Italiano
- Türkçe
- Tiếng Việt
- Polski
- Nederlands
Machine translation provided by Google Translate, on Google’s servers. We do not check these translations and they will get technical terms wrong. The English page is the authoritative one. Following a link sends this page’s address to Google. Your browser may also offer to translate this page itself, which keeps the request on your device.