Audio&Video connection errors

Hi there,
Thank you for making demo server happen!

We just tested it internally, my PopOS/Ubuntu worked like a charm on Firefox.

However Hannah, the other Animorph, encountered to issues on Mac+Firefox:

  1. Could not enable their microphone (they could not hear me either), we could do only text chat.
    The error was connection failure ICE error 1007, please find screenshot below.
    Screenshot 2020-06-05 at 12.19.05
    After the error system would still try to connect to the echo test to no avail. When Hannah used Chrome it worked at first attempt though 1007 would pop up again next time round, but was fine after refreshing.

  2. Hannah encountered another error when trying to launch video on Firefox Media could not reach the server [error 1020] Did work on Chrome, will spare you the screenshot.

Hope this is somewhat relevant, thank you for all your work on this!

1 Like

Thanks for testing @szczepan_animorph! Searching up a bit on those errors leads me to think that it is connection problems which can be helped with better supporting the TURN server. We’re tracking that via this ticket.

1 Like

Cheers, hopefully this was my fault!

I updated some packages last night and then applied our Ansible role to 2 of the 3 servers we had at the time but it was late and I forgot to apply it to demo.meet.coop, it is running now, can you try again in 5 minutes or so?

We are also now enabling Etherpad with our latest BBB role release.

Best make that half an hour!

1 Like

Encountered same error before on our own instance, think it was because we misconfigured the TURN and once that was fixed it never happened again for months.

Do you know what the fix was?

Looking back at our chat logs, I think Elon upgraded BBB and the upgrade process overwrote the config file, so these reverted to default it looks like:

stunServerAddress
stunServerPort

I believe pointing to the correct address and port fixed it.

chrome://webrtc-internals (chrome) and about:webrtc (firefox) can be used to debug these issues.

Usually it happens when there is a Nat in the way. In our case it was because BBB was behind a Nat, but not exclusively.

And yes we found that upgrading causes configs to get overwritten.

I should point out that STUN and TURN are important to establish a good connection with correct ip addresses so its a good place to check.

ICE tries to find the best path to connect peers. It tries all possibilities in parallel and chooses the most efficient option that works. ICE first tries to make a connection using the host address obtained from a device’s operating system and network card; if that fails (which it will for devices behind NATs) ICE obtains an external address using a STUN server, and if that fails, traffic is routed via a TURN relay server.

1 Like

Do you know which config file? The /etc/turnserver.conf file is on the TURN/STUN server itself and the config on the BigBlueButton server with the TURN/STUN server settings is /usr/share/bbb-web/WEB-INF/classes/spring/turn-stun-servers.xml and those variables don’t appear in that file:

grep -ie "stunServerAddress" -e "stunServerPort" /usr/share/bbb-web/WEB-INF/classes/spring/turn-stun-servers.xml

The template for turn-stun-servers.xml is here and the TURN/STUN coturn server template is here and settings for this template are here.

Just relaying the chat response from Elon:

its /usr/share/bbb-web/WEB-INF/classes/spring/turn-stun-servers.xml
we are using stun:stun.freeswitch.org
https://git.coop/meet/bbb/-/blob/master/templates/turn-stun-servers.xml.j2 is set to use bbb_turn_server but can’t find where that is defined

OK, supporting multiple TURN servers is coming down the tubes now and we should be able to test this quite soon across all the instances. Change set in https://git.coop/meet/bbb/-/merge_requests/9. There is already 3 of them https://wiki.meet.coop/wiki/Servers!

2 Likes

We are putting server specific variables in the hosts.yml file in the servers repo, see for example the current variables for the BBB servers, at the moment the only variables not in this file are the ones for creating users accounts, see the host_vars files for these. This means that there is basically one file with all the settings in it, hosts.yml, we are also setting variables that apply to groups of servers in that file, for example see the list of variables for the TURN/STUN servers. At some point it might make sense to split this into separate files but at the moment just having one file with everything in keeps it simple.

Not an error - but it IS a video issue . . please create an option for video mirroring. Not being mirrored is really disturbing.

It’s not in the user setings/preferences anywhere is it?

Quite a few more than 5 minutes, but have just tested on Firefox, Chrome and Safari on Mac and no errors. Thank you Chris! Enjoy the other aspects of the bug hunt!

3 Likes

Worked very smoothly for 3 of us now on an hour-long call!

2 Likes

Sorry, not quite clear what you mean by mirroring?

Wave your hand in front of the screen with the camera on and observe your brain’s response!

Video mirroring in video chats = seeing ourselves as if in a mirror, rather than as another person sees us . . the usual default for Zoom, Skype etc. But seems not to be an option in BBB.

Pardon me, I forgot ‘mirroring’ has other meanings in the world of servers.

This is the thread for this issue.

I’m afraid to say that @decentral1se and myself are not in a position to address this issue this week, we have far to much on already.

Thanks chris. Park this in the future-issues list. I can bear to see myself wrong way round for a couple of hours :wink:

Longer term, I do think it’s a disincentive.