[EdLUG] Big Blue Button screenshare/webcam problem solved - here's how

Tai Kedzierski dch.tai at gmail.com
Wed Jul 8 17:53:34 UTC 2020


Since a couple of people said they were interested in Big Blue Button, this
is an issue that you might actually come across, though hopefully not
frequent.... and how I fixed it



++ Problem description

When trying to share either webcams or screen shares, the attempt fails
with an error message in the client:

"Error 1020 : media could not connect"

The effect is that no actual video sharing is possible, even if audio and
slides are working fine.

++ Underlying issue

The problem is due to the use of public STUN servers, and an old issue got
renewed interest just a few days ago:

https://github.com/bigbluebutton/bigbluebutton/issues/6797#issuecomment-653735722

It turns out that Big Blue Button does its setup using a public STUN server
- the one in my config was from Google - and that the configured server in
question simply stopped operating as a STUN server... a few days ago. (so
it wasn't my fault after all !!! :-P)

Because Big Blue Button likes using IPs instead of domain names, BBB was
not able to follow to where Google had moved the server to, IP-wise.

++ What is STUN

As far as I understand, a STUN server allows a client behind a NAT to know
what its external IP address is, as well as some information about the
gateways between it and the Internet, to be able to build UDP packets
properly. I must presume that both the HTML5 client (in browser) and the
BBB server (behind its NAT sometimes) both use the STUN server to be able
to establish their mutual connection.

https://www.3cx.com/pbx/what-is-a-stun-server/
https://en.wikipedia.org/wiki/STUN
https://www.ietf.org/rfc/rfc3489.txt

++ Resolution

1. See a public list of STUN servers
https://gist.github.com/sagivo/3a4b2f2c7ac6e1b5267c2f1f59ac6c6b

I chose to use the University of Nottingham's server because it's UK based,
to potentially reduce latency.

stun.nottingham.ac.uk:3478

2. Get the IP address of that STUN server - because BBB doesn't like DNS
names

$> nslookup stun.nottingham.ac.uk

---> 128.243.40.39

3. On the BBB server edit "
/etc/kurento/modules/kurento/WebRtcEndpoint.conf.ini"

Locate the uncommented lines configuring stunServerAddress and
stunServerPort

Comment them out and replace them with the new STUN server IP and port:

;; New config
;; Using Uni of Nottingham (need to use IP address)
;; stun.nottingham.ac.uk:3478
stunServerAddress=128.243.40.39
stunServerPort=3478

4. Save and reboot BBB server

$> sudo bbb-conf --restart


It works again now for me.

Is anybody here in the networking line of work? I'm a little confused about
what specifically happens once a (3rd party) STUN server is queried - how
does that become a connection between NAT'd hosts....?


Tai

===
Tai Kedzierski
Linux Operations and Deployments Engineer


I use LibreOffice <https://www.libreoffice.org/> , a free,
Freedom-respecting replacement for MS Office

*Open Source Free Software is a matter of liberty, not price.*
https://www.fsf.org/about/what-is-free-software
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.edlug.org.uk/pipermail/edlug/attachments/20200708/8e6fe1b8/attachment-0001.html>


More information about the EdLUG mailing list