-
Notifications
You must be signed in to change notification settings - Fork 7
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Full WebRTC signalling is not necessary #48
Comments
Thanks for bringing this up. It has certainly been our goal to keep the stack minimal and as close to existing API/protocols. Avoiding the need for unnecessary PIN entry is certainly something we want to explore, for example by using different authentication methods/helpers or by introducing peer persistence. I tried to capture some of my thoughts on the subject below. This is not meant as a conclusion, just to move the conversation ahead. Notes on ICE in this setting:
Another option would be to "skip" ICE but make the peer authentication more independent of the transport protocol. For example, allowing peer authentication to happen over the existing transport (UDP/DTLS/SCTP) instead of using a more integrated protocol such as OpenScreen Protocol. This is feasible but there will likely always be some transport-specifics bits that need to be spec'd out. Notes on OpenScreen Protocol in this setting:
|
I was thinking more on how to keep the spec even closer to the existing WebRTC stack, the following came to mind: Assuming OSP is used for discovery & authentication, this could be used to initiate a WebRTC connection more directly; Using the ORTC API for illustration purposes, you could have a new constructor similar to what we currently define for
On the protocol level this would create a DTLS connection with certificates provided by OSP authentication (potentially using child certificates as mentioned in #34). On top of this, one can run the rest of the WebRTC protocol stack (SRTP / SCTP) as-is. This may also be a nice way to gain SRTP Media on LAN. The same can be done for RTCQuicTransport. This is basically equivalent to
This should also be sufficient to enable RoQ and MoQ. For the One downside to all this I can see is that it moves somewhat away from supporting different connection media as discussed in #47. Maybe it's possible to keep |
In the explainer you state that webRTC requires signalling through a cloud server. This isn't strictly true.
The wire protocol only requires the following data to be available about the peer.
This is enough to create a valid offer/answer and start a data channel connection.
These could be exchanged via MDNS in a similar way to the one proposed here.
WebRTC allows for persistence of DTLS certificates - which could obviate the need for the user to submit a PIN on subsequent usage.
The text was updated successfully, but these errors were encountered: