Skip to content
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

WebRTC client & server #2135

Closed
wants to merge 37 commits into from
Closed

WebRTC client & server #2135

wants to merge 37 commits into from

Conversation

melekes
Copy link
Contributor

@melekes melekes commented Mar 10, 2022

Previous work by @tomaka: #1938
Refs #1712

TODO:

ICE conn state: checking
main.js:1 ICE conn state: connected
main.js:1 conn state: connecting
main.js:1 'data' opened
main.js:1 conn state: connected
main.js:1 new message on 'data': 'WZaAkRgSkjiGwBw'
main.js:1 new message on 'data': 'dcgSNLysAvsyMJf'
main.js:1 new message on 'data': 'OZvQJpcHmpSdApM'

@melekes

This comment was marked as outdated.

@tomaka
Copy link
Contributor

tomaka commented Mar 11, 2022

do we need multiple UDP ports for ICE traffic on the server?

No, https://datatracker.ietf.org/doc/html/rfc8445#section-2.2

is it possible to disable DTLS client's certificate verification? or all clients will have the same certificate too similar to servers?

I would prefer to disable DTLS client verification.
Hacks such as using the same certificate everywhere are necessary because we can't control the browser. However we're totally in control of the code on the server side, so we should do what is the most appropriate.

modify SDP in webrtc server (and check one in client)

I'm not sure that's the right approach. If I'm not mistaken, the server doesn't need to manipulate SDP at all, unless it makes it easier to interact with the API of the webrtc library.

@melekes
Copy link
Contributor Author

melekes commented Mar 11, 2022

I would prefer to disable DTLS client verification.

trying to figure out how to do it right now. It's possible in Go library, but not in webrtc-rs, which suggest we might need to tweak it.

I'm not sure that's the right approach. If I'm not mistaken, the server doesn't need to manipulate SDP at all, unless it makes it easier to interact with the API of the webrtc library.

Yes for the most part. I was talking about modifying some fields like IP (of the offerer, ie. client) and media's timestamp

- `end-of-candidates` requires a=ice-options:trickle
- BUNDLE is not needed, although mid is
@melekes melekes self-assigned this Mar 23, 2022
Comment on lines +5 to +6
The certificate in `./static` directory **MUST** be marked as trusted (Chrome:
'Security and privacy' -> 'Security' -> 'Manage certificates').

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why is this necessary?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You can discard that. It turned out to be another issue with the library I'm using.

@melekes
Copy link
Contributor Author

melekes commented Apr 28, 2022

Closing. The work will be continued in libp2p/rust-libp2p#2622

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants