-
-
Notifications
You must be signed in to change notification settings - Fork 370
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
Failed PeerConnection establishment: Navigating the Peer Connection Conundrum #982
Comments
I looks like libdatachannel simply picks the last attribute it finds, which is an oversight. It should be fixed by #983. I think it wasn't caught earlier because it requires a very specific scenario: negotiating 2 media or more, with libdatachannel as answerer, and with a remote endpoint generating different ICE ufrag and pwd attributes per media (aiortc is the only implementation that comes to mind). It looks like aiortc generating setting different |
Woow I'm deeply impressed by the fast response. 🚀 I tested the patch today and my problem is actually resolved. 🎉 Thank you so much @paullouisageneau. Would it make sense to apply this patch also to the v0.18 and v0.19 release branches? |
Great! The patch will be released in v0.19.2. |
I'm using aiortc as the offering peer and like to connect it to libdatachannel. The offer contains 2 tracks (a video track and a datachannel). The connection establishment fails. I found the following cause for it in the logs:
When I analyzed the SDP offer I noticed that the offer has
ice-ufrag
andice-pwd
entries per track and not one on the session level. I checked the RFC8839 and found the following information:So my question is: Does libdatachannel handle the case correctly when the
ice-ufrag
andice-pwd
are sent per track? Can someone point me to the class where this is implemented or some Unit-Tests covering that topic?SDP Offer (from aiortc):
SDP answer (from libdatachannel):
Here are the full logs of the libdatachannel peer: logs_libdatachannel.txt
I observed this behavior with v0.18.5 as well as v0.19.1 of libdatachannel.
Any help is highly appreciated. Keep up the great work on libdatachannel.
The text was updated successfully, but these errors were encountered: