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
createOffer() is creating two different a=ice-ufrag lines, confusing media servers #370
Comments
Test: between aiortc and Kurento I rewrote aiortc's offer SDP to reuse ice-ufrag/ice-pwd from m=audio. This does indeed work and the two are able to exchange RTP. |
At first look I'd suggest looking for a fix on the kurento side, as it's perfectly legitimate to have ice-ufrag / ice-pwd at the media level, and not at the session level. Is the failure specific to kurento or are you able to reproduce it with aiortc vs a browser? |
No reply from submitter, closing |
The Rust @jlaine could you please reopen this issue? |
Using pypi release and HEAD on master:
createOffer()
for a audio+video MediaPlayer has differentice-ufrag
andice-pwd
lines form=audio
andm=video
. This causes ICE failures.Connection object
. A media server (Kurento) uses the second pair to do ICE REQUEST, this leads to integrity check and username match failures.Symptoms of this failure:
ValueError
due to integrity check; if you bypass integrity check in aioice, thenValueError
due to mismatch username.Would it be possible for aiortc to emulate browsers and reuse ice-ufrag/ice-pwd attributes in both media streams on offer?
The first ice-ufrag/ice-pwd pair is stored in the
Connection
and used to verify integrity and username. But the media server uses the second pair.See the closed issue #369 for more background. I wasn't clear about what was happening so the explanation there is bad but left for reference.
The text was updated successfully, but these errors were encountered: