Some MynaParrot BBB users reported receiving this ICE 1007 error message when attempting to join the meeting.
Then we need to figure out why this is happening and figure out how to fix it. You may suspect that it is due to bigbluebutton server or html5 client issues, or that it is related to IP address or port 80.
BigBlueButton is a web conferencing system that is free and open source. It is web-based, so you must use a browser to participate in the meeting. The advantage is that users do not need to download and install any applications on their devices. However, it will necessitate the user configuring some browser settings, particularly the first time. However, while it is generally acceptable and simple to use, you may encounter some issues.
Today we are going to address this common issue for the BigBlueButton user.
ice 1007 reasons
For a short answer, the error caused by a firewall.
WebRTC errors
1007: ICE negotiation failed — The browser and FreeSWITCH try to negotiate ports to use to stream the media, and that negotiation failed. Possible Causes:
NAT is blocking the connection
The firewall is blocking the UDP connection/ports
WebRTC offers very high-quality audio. However, the user’s network settings (or firewall) may not allow WebRTC to connect (or keep connected).
ice 1007 Solutions
First and foremost, as a developer, you must examine your BigBlueButton server configuration. If your server does not have a TURN server configuration, your users will encounter difficulties if they access from behind a firewall. If you configure the TURN server, you should see better results.
You can find instructions on how to set up the TURN server in this official BigBlueButton Development Doc.
https://docs.bigbluebutton.org/admin/setup-turn-server.html
If you are confident that you have correctly installed and configured the TURN server. However, the user may still encounter this issue. What are other options? From our experience, the most practical way to solve it from the user’s perspective is to try the following methods:
- Try again a few times, and it may resolve itself.
- Restart your computer or mobile device if possible.
- Try a different browser or update your browser to the most recent version.
- If possible, switch to a different internet provider.
- Experiment with different devices.
The cause is sometimes a problem caused by unknown factors. It takes time to detect or solve it; however, as a user, you may only have a few minutes to resolve this issue because you need to enroll in a course. As a result, try those suggestions as soon as possible and see if they work. According to our experience, if your BigBlueButton server is correctly configured, then try those solutions from the user’s end, and the problem will be resolved.
If you still aren’t able to solve the problem by doing these. Please contact us, and we will assist you in resolving this issue as soon as possible. If you don’t have an account, try it free from here: https://mynaparrot.com/en/try-it-for-free
You can integrate with your Moodle, WordPress, Chamilo, or other LMS in minutes. After that, you can test it to see if the BigBlueButton ICE 1007 error messages continue to appear.
Check our BigBlueButton services & BigBlueButton Hosting.
I have installed bbb on my intranet behind a NAT/Firewall and i use Chrome browser. It’s work fine in https mode with any station or Smartphone i use in local mode.
When i try with a station in «external» mode (internet) i get «ICE error 1007». I saw in documentation that i need to install a Turn server and i had do it using following this procedure https://docs.bigbluebutton.org/2.2/setup-turn-server.html but error 1007 is staying. Is somebody could help me? See below my check
BigBlueButton Server 2.2.5 (1848)
Kernel version: 4.15.0-96-generic
Distribution: Ubuntu 16.04.6 LTS (64-bit)
Memory: 32925 MB
CPU cores: 16
/usr/share/bbb-web/WEB-INF/classes/bigbluebutton.properties (bbb-web)
bigbluebutton.web.serverURL: https://mydomain.com
defaultGuestPolicy: ALWAYS_ACCEPT
svgImagesRequired: true
/etc/nginx/sites-available/bigbluebutton (nginx)
server name: mydomain.com
port: 80, [::]:80
port: 443 ssl
bbb-client dir: /var/www/bigbluebutton
/var/www/bigbluebutton/client/conf/config.xml (bbb-client)
Port test (tunnel): rtmp://mydomain.com
red5: mydomain.com
useWebrtcIfAvailable: true
/opt/freeswitch/etc/freeswitch/vars.xml (FreeSWITCH)
local_ip_v4: 192.168.0.16
external_rtp_ip: MON_IP_PUBLIC
external_sip_ip: MON_IP_PUBLIC
/opt/freeswitch/etc/freeswitch/sip_profiles/external.xml (FreeSWITCH)
ext-rtp-ip: $${external_rtp_ip}
ext-sip-ip: $${external_sip_ip}
ws-binding: :5066
wss-binding: :7443
/usr/local/bigbluebutton/core/scripts/bigbluebutton.yml (record and playback)
playback_host: mydomain.com
playback_protocol: https
ffmpeg: 4.2.2-1bbb1~ubuntu16.04
/etc/bigbluebutton/nginx/sip.nginx (sip.nginx)
proxy_pass: MON_IP_PUBLIC
/usr/local/bigbluebutton/bbb-webrtc-sfu/config/default.yml (Kurento SFU)
kurento.ip: 192.168.0.16
kurento.url: ws://127.0.0.1:8888/kurento
localIpAddress: 192.168.0.16
recordScreenSharing: true
recordWebcams: true
codec_video_main: VP8
codec_video_content: VP8
/usr/share/meteor/bundle/programs/server/assets/app/config/settings.yml (HTML5 client)
build: 874
kurentoUrl: wss://mydomain.com/bbb-webrtc-sfu
enableListenOnly: true
Potential problems described below
IP does not match:
IP from ifconfig: 192.168.0.16
/etc/nginx/sites-available/bigbluebutton: mydomain.com
Warning: API URL IPs do not match host:
IP from ifconfig: 192.168.0.16
/var/lib/tomcat7/demo/bbb_api_conf.jsp: mydomain.com
Warning: The setting of MON_IP_PUBLIC for proxy_pass in
/etc/bigbluebutton/nginx/sip.nginx
does not match the local IP address (192.168.0.16).
(This is OK if you’ve manually changed the values)
Warning: The API demos are installed and accessible from:
https://mydomain.com
and
https://mydomain.com/demo/demo1.jsp
These API demos allow anyone to access your server without authentication
to create/manage meetings and recordings. They are for testing purposes only.
If you are running a production system, remove them by running:
apt-get purge bbb-demo
Rgds
Chris
The most frequent user complains about BigBlueButton are WebRTC issues: 1007 and 1020.
I am going to tell you how to fix this complain for good. No more 1007 or 1020!
Running the BigBlueButton client requires a wide range of UDP ports to be available for WebRTC communication.
However, in some network restricted sites, such as those behind NAT or a corporate firewall that restricts UDP connections, users may be unable to make outgoing UDP connections to your BigBlueButton server. These are the users who get 1007 and 1020 errors.
By setting up a separate TURN server, you can allow users to have the TURN server (connected via port 443) proxy their UDP-based WebRTC media (audio, webcam, and screen share) to the BigBlueButton server.
We recommend Ubuntu 20.04 as it has a newer version of Coturn than Ubuntu 16.04.
The server does not need to be very powerful as it will only relay communications from the BigBlueButton client to the BigBlueButton server when necessary. A dual core server virtual server should be sufficient for a dozen BigBlueButton servers.
Installing a Turn server is super simple with bbb-install.sh, which installs and configures the Coturn server that acts as both Stun and Turn server.
wget -qO- https://ubuntu.bigbluebutton.org/bbb-install.sh | bash -s -- -c : -e
With this straightforward installation and some optimizations (LimitNOFILE=1048576), you will be able to get rid of 1007/1020 errors for almost 100%.
Don’t forget to test whether your Turn server is working:
- You can force using the TURN on Firefox browser.
- Open a Firefox tab and type
about:config
. Search formedia.peerconnection.ice.relay_only
. - Set it to true. At this moment Firefox only use TURN relay.
- Now join a BigBlueButton session for this Firefox browser to see Turn server in action.
- In another tab on Firefox, type
about:webrtc
to see the status of webrtc. - Click on
show details
to see the url of stun/turn server being used withsuccess
message.
In some cases you may still get 1007/1020 complains!
That happens when your Turn server fails!
Either Turn server is down or is overwhelmed by hundreds of simultaneous user requests.
For high-availability of your Turn server, use dns round robin routing on AWS Route 53.
- First install two Turn servers as directed above with two ‘A’ records in Route 53: turn1.higheredlab.com and turn2.higheredlab.com. Ensure that you setup Turn servers in the region that is closer to your users to avoid network latency.
- Second, create another ‘A’ record in Route 53, for example turn.higheredlab.com, that does weightage routing to the two Turn Servers.
- Add Health Check so that if one Turn server goes down, requests are directed to the other Turn server.
- Setup SNS notification so that you get an email alert right away that one of your Turn server is down.
I hope this helps in conducting better online classes on BigBlueButton!
Some MynaParrot BBB users reported receiving this ICE 1007 error message when attempting to join the meeting.
Then we need to figure out why this is happening and figure out how to fix it. You may suspect that it is due to bigbluebutton server or html5 client issues, or that it is related to IP address or port 80.
BigBlueButton is a web conferencing system that is free and open source. It is web-based, so you must use a browser to participate in the meeting. The advantage is that users do not need to download and install any applications on their devices. However, it will necessitate the user configuring some browser settings, particularly the first time. However, while it is generally acceptable and simple to use, you may encounter some issues.
Today we are going to address this common issue for the BigBlueButton user.
ice 1007 reasons
For a short answer, the error caused by a firewall.
WebRTC errors
1007: ICE negotiation failed — The browser and FreeSWITCH try to negotiate ports to use to stream the media, and that negotiation failed. Possible Causes:
NAT is blocking the connection
The firewall is blocking the UDP connection/ports
WebRTC offers very high-quality audio. However, the user’s network settings (or firewall) may not allow WebRTC to connect (or keep connected).
ice 1007 Solutions
First and foremost, as a developer, you must examine your BigBlueButton server configuration. If your server does not have a TURN server configuration, your users will encounter difficulties if they access from behind a firewall. If you configure the TURN server, you should see better results.
You can find instructions on how to set up the TURN server in this official BigBlueButton Development Doc.
https://docs.bigbluebutton.org/admin/setup-turn-server.html
If you are confident that you have correctly installed and configured the TURN server. However, the user may still encounter this issue. What are other options? From our experience, the most practical way to solve it from the user’s perspective is to try the following methods:
- Try again a few times, and it may resolve itself.
- Restart your computer or mobile device if possible.
- Try a different browser or update your browser to the most recent version.
- If possible, switch to a different internet provider.
- Experiment with different devices.
The cause is sometimes a problem caused by unknown factors. It takes time to detect or solve it; however, as a user, you may only have a few minutes to resolve this issue because you need to enroll in a course. As a result, try those suggestions as soon as possible and see if they work. According to our experience, if your BigBlueButton server is correctly configured, then try those solutions from the user’s end, and the problem will be resolved.
If you still aren’t able to solve the problem by doing these. Please contact us, and we will assist you in resolving this issue as soon as possible. If you don’t have an account, try it free from here: https://mynaparrot.com/en/try-it-for-free
You can integrate with your Moodle, WordPress, Chamilo, or other LMS in minutes. After that, you can test it to see if the BigBlueButton ICE 1007 error messages continue to appear.
Check our BigBlueButton services & BigBlueButton Hosting.
If you encountered any problems with the installation of BigBlueButton, this section covers how to resolve many of the common issues.
If you have not already done so, read through the getting help section.
Introduction
Start here: run sudo bbb-conf --check
We’ve built in a BigBlueButton configuration utility, called bbb-conf
, to help you configure your BigBlueButton server and troubleshoot your setup if something doesn’t work right.
If you think something isn’t working correctly, the first step is enter the following command.
This will check your setup to ensure the correct processes are running, the BigBlueButton components have correctly started, and look for common configuration problems that might prevent BigBlueButton from working properly.
If you see text after the line ** Potential problems described below **
, then it may be warnings (which you can ignore if you’ve change settings) or errors with the setup.
Recording
Recording not processing after upgrading
If after updating from BigBlueButton 2.0 to BigBlueButton 2.2 your recordings are not processing, and if you are seeing Permission denied
errors in /var/log/bigbluebutton/bbb-rap-worker.log
I, [2019-06-07T14:26:09.034878 #14808] INFO -- : /usr/lib/ruby/2.5.0/logger.rb:754:in `initialize': Permission denied @ rb_sysopen - /var/log/bigbluebutton/presentation/process-02feca80700b3e95b877af85db972904397857a1-1559909318977.log (Errno::EACCES)
You can resolve the errors with the following command
$ sudo chown -hR bigbluebutton:bigbluebutton /var/log/bigbluebutton/presentation /var/log/bigbluebutton/screenshare
and then rebuild the recordings that had not yet processed. You can see the list of recordings with
and then to rebuild a recording, use sudo bbb-record --rebuild <internal_meeting_id>
, as in
$ sudo bbb-record --rebuild 298b06603719217df51c5d030b6e9417cc036476-1559314745219
Webcams/screen sharing aren’t working
Certify that appropriate external addresses have been set for mediasoup. When installed via packages, mediasoup IPs are normally misconfigured. If installed via bbb-install, then IPv4 is generally correct, but IPv6 might be absent.
Nonetheless, we recommend double-checking the instructions in Updating mediasoup.
Configure mediasoup to use IPv6
mediasoup (bbb-webrtc-sfu) does not come with a IPv6 enabled by default when installed either via packages or bbb-install.
To configure IPv6, bbb-webrtc-sfu’s override configuration file (located in /etc/bigbluebutton/bbb-webrtc-sfu/production.yml
) should be used.
See Updating mediasoup for instructions and examples on how to do so.
I’m having troubles seeing webcams or screen sharing in Firefox
That’s usually the symptom of a known Firefox issue where it doesn’t comply with ICE-lite implementations (and mediasoup is one).
This issue can be worked around by forcing TURN usage in Firefox user agents. To achieve that, set the public.kurento.forceRelayOnFirefox
configuration to true
in /etc/bigbluebutton/bbb-html5.yml
. For example:
public:
kurento:
forceRelayOnFirefox: true
How often does this Firefox issue happens?
Short (non) answer: that’s difficult to measure.
Every Firefox installation is prone to the lack of ICE-lite spec compliance. However, the issue doesn’t manifest itself on all Firefox installations as it is dependent on how the end user’s network topology is organized. It’s generally a small subset of Firefox users, but that can vary depending on the user base.
Where can I track progress on a definitive solution or better workaround?
This is a Firefox bug, so the best place to get an overview on progress and what the issue is about is Mozilla’s issue.
You can also track BigBlueButton’s issue for updates on additional workarounds.
Why isn’t forceRelayOnFirefox enabled by default?
It’s not on by default because bigbluebutton does not come with a TURN server by default, and that’s what versioned-in-code setting presumes.
How do I know if mediasoup is being used?
The most direct and precise way to figure out whether mediasoup is being used is checking about:webrtc (Firefox) or chrome://webrtc-internals. For example: open one of those, share a camera. Look for the remote description (SDP); see if it contains mediasoup-client in the SDP header. If it does, you’re using mediasoup.
Regardless of that: mediasoup is the default in 2.5 and should always be used unless default settings were explicitly changed.
mediasoup is the default in 2.5. Why is Kurento still around?
Because Kurento is still used for stream recording. It should be removed as a dependency as soon as this issue is addressed.
Is single-core performance still important with mediasoup?
Yes.
How can I control the number of mediasoup workers?
To control the number of mediasoup workers, bbb-webrtc-sfu’s override configuration file (located in /etc/bigbluebutton/bbb-webrtc-sfu/production.yml
) should be used.
There are a couple of configurations of interest here:
mediasoup.workers
This configuration controls the number of mediasoup workers intended for general use (media type agnostic, shared pool).
Accepted values are:
"auto"
(default): createsceil((min(nproc,32) * 0.8) + (max(0, nproc - 32) / 2))
workers;"cores"
: creates workers up to the host’s core count (as provided by os.cpus().length);- <Number>: overrides the number of workers with a fixed value;
- The default and fallback values are
auto
.
For example:
- To set the number of workers to
cores
:yq w -i /etc/bigbluebutton/bbb-webrtc-sfu/production.yml mediasoup.workers "cores"
mediasoup.dedicatedMediaTypeWorkers
This configuration controls the number of mediasoup workers to be used by specific media types.
If a dedicated pool is set, streams of its media type will always land on it. Otherwise, they will use the shared pool.
The configuration is an object of the following format:
mediasoup.dedicatedMediaTypeWorkers:
audio: "auto"|"cores"|<Number>
main: "auto"|"cores"|<Number>
content: "auto"|"cores"|<Number>
The semantics of auto
, cores
and Number
are the same as in the mediasoup.workers
configuration. Default values for all media types are 0
(no dedicated workers).
The media types semantics are:
audio
: audio (listen only, microphone) streams;main
: webcam video streams;content
: screen sharing streams (audio and video).
For example:
- To set the number of dedicated audio workers to
auto
:yq w -i /etc/bigbluebutton/bbb-webrtc-sfu/production.yml mediasoup.dedicatedMediaTypeWorkers.audio "auto"
Can I scale the number of streams up indefinitely with mediasoup?
No. Scalability improves a lot with mediasoup, but there are still a couple of bottlenecks that can be hit as far as far as the media stack is concerned. Namely:
- The signaling server (bbb-webrtc-sfu): it does not scale vertically indefinitely. There’s always work ongoing on this area that can be tracked in this issue;
- The mediasoup worker balancing algorithm implemented by bbb-webrtc-sfu is still focused on multiparty meetings with a restrained number of users. If your goal is thousand-user 1-N (streaming-like) meetings, you may max out CPU usage on certain mediasoup workers even though there are other idle oworkers free.
Kurento
WebRTC video not working with Kurento
Check the value for /proc/sys/net/ipv4/tcp_syncookies
that it contains the value 1
.
$ cat /proc/sys/net/ipv4/tcp_syncookies
1
If not, edit /etc/sysctl.conf
and set the value for net.ipv4.tcp_syncookies
to 1
.
net.ipv4.tcp_syncookies = 1
Save the file and restart.
Unit kurento-media-server.service is masked
If sudo bbb-conf --check
returns the warning
Restarting BigBlueButton 2.0.0-RC9 (and cleaning out all log files) ...
Stopping BigBlueButton
... cleaning log files
Starting BigBlueButton
Failed to start kurento-media-server.service: Unit kurento-media-server.service is masked.
You can unmask Kurento using the command
$ systemctl unmask kurento-media-server.service
The default installation of BigBlueButton should work in most netowrk configurations; however, if your users ae behind a restrictive network that blocks outgoing UDP connections, they may encounter 1020 errors (media unable to reach server).
If you get reports of these errors, setup TURN server to help their browsers send WebRTC audio and video streams via TCP over port 443 to the TURN server. The TURN server will then relay the media to your BigBlueButton server.
See Configure TURN.
FreeSWITCH
Configure BigBluebutton/FreeSWITCH to support IPV6
The HTML5 client now enables users on mobile devices to connect to a BigBlueButton server. However, on some cellular networks iOS devices only receive an IPV6 address.
To enable BigBlueButton (FreeSWITCH) to accept incoming web socket connections on IPV6, the BigBlueButton server must have an IPV6 address. You also need to make the following changes to the server.
First, create the file /etc/nginx/conf.d/bigbluebutton_sip_addr_map.conf
with this content:
map $remote_addr $freeswitch_addr {
"~:" [2001:db8::1];
default 192.0.2.1;
}
replacing the ip addresses 192.0.2.1
with the system’s external IPV4 addresses, and replace 2001:db8::1
with the system’s external IPV6 address. Next, edit the file /etc/bigbluebutton/nginx/sip.nginx
to have the following:
proxy_pass https://$freeswitch_addr:7443;
Next, ensure all of the following params are present in freeswitch’s sip_profiles/external-ipv6.xml
:
- ws-binding
- wss-binding
- rtcp-audio-interval-msec
- rtcp-video-interval-msec
- dtmf-type
- liberal-dtmf
- enable-3pcc
If any are missing, copy them from sip_profiles/external.xml
, then restart BigBlueButton (sudo bbb-conf --restart
).
FreeSWITCH fails to bind to IPV4
In rare occasions after shutdown/restart, the FreeSWITCH database can get corrupted. This will cause FreeSWITCH to have problems binding to IPV4 address (you may see error 1006 when users try to connect).
To check, look in /opt/freeswitch/var/log/freeswitch/freeswitch.log
for errors related to loading the database.
2018-10-25 11:05:11.444727 [ERR] switch_core_db.c:108 SQL ERR [unsupported file format]
2018-10-25 11:05:11.444737 [ERR] switch_core_db.c:223 SQL ERR [unsupported file format]
2018-10-25 11:05:11.444759 [NOTICE] sofia.c:5949 Started Profile internal-ipv6 [sofia_reg_internal-ipv6]
2018-10-25 11:05:11.444767 [CRIT] switch_core_sqldb.c:508 Failure to connect to CORE_DB sofia_reg_external!
2018-10-25 11:05:11.444772 [CRIT] sofia.c:3049 Cannot Open SQL Database [external]!
If you see these errors, clear the FreeSWITCH database (BigBlueButton doesn’t use the database and FreeSWITCH will recreate it on startup).
$ sudo systemctl stop freeswitch
$ rm -rf /opt/freeswitch/var/lib/freeswitch/db/*
$ sudo systemctl start freeswitch
Forward calls from an Asterisk server to FreeSWITCH
Let’s assume the following:
asterisk server ip: 192.168.1.100
bigbluebutton/freeswitch ip: 192.168.1.200
Changes to your Asterisk server
Setup your gateway to BigBlueButton/FreeSWITCH. in /etc/asterisk/sip.conf
add
[fs-gw]
type=peer
username=fs-gw
insecure=very
contactpermit=192.168.1.200/255.255.255.255
qualify=no
nat=yes
host=192.168.1.200
canreinvite=no
disallow=all
allow=ulaw
Route the calls to the gateway. In /etc/asterisk/extensions.conf
context where your calls are being handled, forward the calls to the gateway. Here, when someone dials 85001, the call is sent to the fs-gw
defined above.
exten => 85001,1,Dial(SIP/fs-gw/${EXTEN})
exten => 85001,2,Hangup
Changes to your BigBlueButton/FreeSWITCH server
In BigBlueButton/FreeSWITCH, make the following changes:
Lock down so that only Asterisk can forward calls to FreeSWITCH. In /opt/freeswitch/conf/autoload_configs/acl.conf.xml
, add the following ACL. We also need to allow BigBlueButton to call into FreeSWITCH, that’s why we add the IP of BigBlueButton/FreeSWITCH into the ACL.
<list name="asterisk-gw" default="deny">
<node type="allow" cidr="192.168.1.200/32"/>
<node type="allow" cidr="192.168.1.100/32"/>
<node type="allow" cidr="127.0.0.1/32"/>
</list>
Then we apply the ACL into the profile that receives the calls from external gateways. In /opt/freeswitch/conf/sip_profiles/external.xml
, add the ACL under <settings>
<settings>
<!-- Apply ACL from asterisk-gw -->
<param name="apply-inbound-acl" value="asterisk-gw"/>
...
</settings>
To debug, try connecting to FS CLI and increase logging level. Once connected, make your call and see what the logs say.
$ /opt/freeswitch/bin/fs_cli -p $(xmlstarlet sel -t -m 'configuration/settings/param[@name="password"]' -v @value /opt/freeswitch/etc/freeswitch/autoload_configs/event_socket.conf.xml)
Once connected:
help -- shows the available commands
console loglevel <level> -- change log level
Ctrl-D to exit
FreeSWITCH fails to bind to port 8021
FreeSWITCH supports both IPV4 and IPV6. However, if your server does not support IPV6, FreeSWITCH will be unable to bind to port 8021. If you run sudo bbb-conf --check
and see the following error
# Error: Found text in freeswitch.log:
#
# Thread ended for mod_event_socket
#
# FreeSWITCH may not be responding to requests on port 8021 (event socket layer)
# and users may have errors joining audio.
#
it might be that your server has IPV6 disabled (or does not support it). You can check this by running the following command
$ sudo ip addr | grep inet6
inet6 ::1/128 scope host
...
If you do not see the line inet6 ::1/128 scope host
, then your server has IPV6 disabled. In this case, we need to disable FreeSWITCH’s support for IPV6. First, edit /opt/freeswitch/etc/freeswitch/autoload_configs/event_socket.conf.xml
and change the line
<param name="listen-ip" value="::"/>
to
<param name="listen-ip" value="127.0.0.1"/>
This tells FreeSWITCH that instead of binding port 8021 to the local IPV6 address, bind to the IPV4 address 127.0.0.1. Next, execute the following two commands
$ sudo mv /opt/freeswitch/etc/freeswitch/sip_profiles/internal-ipv6.xml /opt/freeswitch/etc/freeswitch/sip_profiles/internal-ipv6.xml_
$ sudo mv /opt/freeswitch/etc/freeswitch/sip_profiles/external-ipv6.xml /opt/freeswitch/etc/freeswitch/sip_profiles/external-ipv6.xml_
and then restart BigBlueButton with the commands
$ sudo bbb-conf --clean
$ sudo bbb-conf --check
FreeSWITCH fails to start with a SETSCHEDULER error
When running in a container (like a chroot, OpenVZ or LXC), it might not be possible for FreeSWITCH to set its CPU priority to real-time round robin. If not, it will result in lower performance compared to a non-virtualized installation.
If you running BigBlueButton in a container and an error starting FreeSWITCH, try running systemctl status freeswitch.service
and see if you see the error related to SETSCHEDULER
$ systemctl status freeswitch.service
● freeswitch.service - freeswitch
Loaded: loaded (/lib/systemd/system/freeswitch.service; enabled; vendor preset: enabled)
Active: inactive (dead) (Result: exit-code) since Mon 2017-10-02 16:17:29 UTC; 18s ago
Process: 10967 ExecStart=/opt/freeswitch/bin/freeswitch -u freeswitch -g daemon -ncwait $DAEMON_OPTS (code=exited, status=214/SETSCHEDULER)
Main PID: 3327 (code=exited, status=0/SUCCESS)
Oct 02 16:17:29 scw-9e2305 systemd[1]: Failed to start freeswitch.
Oct 02 16:17:29 scw-9e2305 systemd[1]: freeswitch.service: Unit entered failed state.
Oct 02 16:17:29 scw-9e2305 systemd[1]: freeswitch.service: Failed with result 'exit-code'.
Oct 02 16:17:29 scw-9e2305 systemd[1]: freeswitch.service: Service hold-off time over, scheduling restart.
Oct 02 16:17:29 scw-9e2305 systemd[1]: Stopped freeswitch.
Oct 02 16:17:29 scw-9e2305 systemd[1]: freeswitch.service: Start request repeated too quickly.
Oct 02 16:17:29 scw-9e2305 systemd[1]: Failed to start freeswitch.
If you see SETSCHEDULER
in the error message, edit /lib/systemd/system/freeswitch.service
and comment out the line containing CPUSchedulingPolicy=rr
(round robin)
IOSchedulingPriority=2
#CPUSchedulingPolicy=rr
CPUSchedulingPriority=89
Save the file, run systemctl daemon-reload
, and then restart BigBlueButton. FreeSWITCH should now startup without error.
Users not able to join Listen Only mode
When doing sudo bbb-conf --check
, you may see the warning
voice Application failed to register with sip server
This error occurs when bbb-apps-sip
isn’t able to make a SIP call to FreeSWITCH. You’ll see this in BigBlueButton when users click the headset icon and don’t join the voice conference.
One possible cause for this is you have just installed BigBlueButton, but not restarted it. The packages do not start up the BigBlueButton components in the right order. To restart BigBlueButton, do the following:
$ sudo bbb-conf --restart
$ sudo bbb-conf --check
If you don’t want FreeSWITCH to bind to 127.0.0.1, you need to figure out which IP address its using. First, determine the IP address FreeSWITCH is monitoring for incoming SIP calls with the following command:
$ netstat -ant | grep 5060
You should see an output such as
tcp 0 0 234.147.116.3:5060 0.0.0.0:* LISTEN
In this example, FreeSWITCH is listening on IP address 234.147.116.3. The IP address on your server will be different.
Next, edit /usr/share/red5/webapps/sip/WEB-INF/bigbluebutton-sip.properties
and set the value for sip.server.host
to the IP address returned from the above command. Save the changes (you’ll need to edit the file as root to save changes).
Restart BigBlueButton using the commands and run the built-in diagnostics checks.
$ sudo bbb-conf --clean
$ sudo bbb-conf --check
Unable to connect using fs_cli
As of BigBlueButton 2.2.18, the packaging now replaces the default ClueCon
password for connecting to the FreeSWITCH command line interface (fs_cli
) with a random password.
(By default, FreeSWITCH only allowed unauthenticated connections from 127.0.0.1, but it’s still good security practice to not use default passwords).
To connect to fs_cli
, use the following command which supplies the password for authenticating.
/opt/freeswitch/bin/fs_cli -p $(xmlstarlet sel -t -m 'configuration/settings/param[@name="password"]' -v @value /opt/freeswitch/etc/freeswitch/autoload_configs/event_socket.conf.xml)
We also added /usr/local/bin/fs_clibbb
with the contents
#!/bin/bash
/opt/freeswitch/bin/fs_cli -p $(xmlstarlet sel -t -m 'configuration/settings/param[@name="password"]' -v @value /opt/freeswitch/etc/freeswitch/autoload_configs/event_socket.conf.xml)
that will let you type fs_clibbb
at the command prompt to get into FreeSWITCH console.
Echo test hangs upgrading BigBlueButton 2.2
The install scripts now change the default CLI password for FreeSWITCH and the other parts of BigBlueButton need to use this new password. For a new installation, the install scripts will automatically set this new password.
If you upgrade using bbb-install.sh, the script will update the FreeSWITCH password using sudo bbb-conf --setip <hostname>
.
If you upgraded using manual steps, be sure to do ao sudo bbb-conf --setip <hostname>
to sync all the FreeSWITCH passwords.
FreeSWITCH using default stun server
For many years, in BigBlueButton’s FreeSWITCH configuration file /opt/freeswitch/etc/freeswitch/vars.xml
, the default value for external_rtp_ip
was stun.freeswitch.org
<X-PRE-PROCESS cmd="set" data="external_rtp_ip=stun:stun.freeswitch.org"/>
However, this is not a reliable choice for stun server. Recommend either changing it to your servers external IP address or setup your own stun/turn server. For example, if your server has an external IP at 234.32.3.3
<X-PRE-PROCESS cmd="set" data="external_rtp_ip=234.32.3.3"/>
You can add a line in /etc/bigbluebutton/bbb-conf/apply-conf.sh
to always apply this value even if the FreeSWITCH package upgrades.
xmlstarlet edit --inplace --update '//X-PRE-PROCESS[@cmd="set" and starts-with(@data, "external_rtp_ip=")]/@data' --value "external_rtp_ip=234.32.3.3" /opt/freeswitch/conf/vars.xml
Note: If your server has an internal/exteral IP address, such as on AWS EC2 server, be sure to set it to the external IP address configure a dummy network interface card (see Update FreeSWITCH).
HTML5 Server
bbb-html5 fails to start with a SETSCHEDULER error
As of 2.2.31, the systemd unit file for bbb-html5.service
now contains the following lines
CPUSchedulingPolicy=fifo
Nice=19
You can override this with creating the following directory
mkdir /etc/systemd/system/bbb-html5.service.d
and creating /etc/systemd/system/bbb-html5.service.d/override.conf
with the following contents
[Service]
CPUSchedulingPolicy=other
Nice=-10
Then do systemctl daemon-reload
and restart BigBlueButton.
Installation and packages
The following packages have unmet dependencies
When installing the latest build of BigBlueButton, the package bbb-conf
now uses yq
to manage YAML files.
You need to add the repository ppa:rmescandon/yq
to your server. For steps on how to do this, see Update your server in the BigBlueButton 2.2 install guide.
Alternatively, if you have not made any customizations to BigBlueButton (outside of using bbb-conf
), you can use bbb-install.sh to install/upgrade to the latest version (the bbb-install.sh
script will automatically install the repository for yq
).
No Symbolic Link
If you’ve installed/uninstalled BigBlueButton packages, you may get a No Symbolic Link
warning from bbb-conf --check
:
** Potential Problems **
nginx (conf): no symbolic link in /etc/nginx/sites-enabled for bigbluebutton
To solve this, add a symbolic link to nginx for the BigBlueButton site:
$ sudo ln -s /etc/nginx/sites-available/bigbluebutton /etc/nginx/sites-enabled/bigbluebutton
$ sudo /etc/init.d/nginx restart
Package install fails with sed error
Some of the BigBlueButton packages use sed
scripts to extract contents from configuration files. If the file does not exist at the time of the script’s execution, or the sed script matches multiple entries in a file (such as when a configuration line is commented out), you can see an error such as
Setting up bbb-client (1:2.0.0-374) ...
sed: -e expression #1, char 42: unterminated `s' command
dpkg: error processing package bbb-client (--configure):
subprocess installed post-installation script returned error exit status 1
dpkg: dependency problems prevent configuration of bbb-config:
bbb-config depends on bbb-client; however:
Package bbb-client is not configured yet.
dpkg: error processing package bbb-config (--configure):
dependency problems - leaving unconfigured
Errors were encountered while processing:
bbb-client
bbb-config
E: Sub-process /usr/bin/dpkg returned an error code (1)
In the above example, the /var/lib/dpkg/info/bbb-client.postinst
failed to finish. To debug, edit this file and change the first line to read
and run
$ sudo apt-get install -f
You should now see each command in bbb-conf.postinst
as it executes upto the line in which the error occurs. Post this output to https://groups.google.com/forum/#!forum/bigbluebutton-setup
for help in resolving the issue.
Errors with packages
Some hosting providers do not provide a complete /etc/apt/source.list
. If you are finding your are unable to install a package, try replacing your /etc/apt/sources.list
with the following
deb https://archive.ubuntu.com/ubuntu xenial main restricted universe multiverse
deb https://archive.ubuntu.com/ubuntu xenial-updates main restricted universe multiverse
deb https://security.ubuntu.com/ubuntu xenial-security main restricted universe multiverse
then do
and try installing BigBlueButton again from the beginning.
WebRTC errors (1001, 1002,…)
WebRTC offers very high-quality audio. However, the user’s network settings (or firewall) may not allow WebRTC to connect (or keep connected).
Here are the following lists the possible WebRTC error messages that a user may encounter:
- 1001: WebSocket disconnected — The WebSocket had connected successfully and has now disconnected. Possible Causes:
- Loss of internet connection
- Nginx restarting can cause this
- 1002: Could not make a WebSocket connection — The initial WebSocket connection was unsuccessful. Possible Causes:
- Firewall blocking ws protocol
- Server is down or improperly configured
- See potential solution here.
- 1003: Browser version not supported — Browser doesn’t implement the necessary WebRTC API methods. Possible Causes:
- Out of date browser
- 1004: Failure on call — The call was attempted, but failed. Possible Causes:
- For a full list of causes refer here
- There are 24 different causes so I don’t really want to list all of them
- Solution for this issue outlined here.
- 1005: Call ended unexpectedly — The call was successful, but ended without user requesting to end the session. Possible Causes:
- Unknown
- 1006: Call timed out — The library took too long to try and connect the call. Possible Causes:
- Previously caused by Firefox 33-beta on Mac. We’ve been unable to reproduce since release of FireFox 34
- 1007: ICE negotiation failed — The browser and FreeSWITCH try to negotiate ports to use to stream the media and that negotiation failed. Possible Causes:
- NAT is blocking the connection
- Firewall is blocking the UDP connection/ports
- 1008: Call transfer failed — A timeout while waiting for FreeSWITCH to transfer from the echo test to the real conference. This might be caused by a misconfiguration in FreeSWITCH, or there might be a media error and the DTMF command to transfer didn’t go through (In this case, the voice in the echo test probably didn’t work either.)
- 1009: Could not fetch STUN/TURN server information — This indicates either a BigBlueButton bug (or you’re using an unsupported new client/old server combination), but could also happen due to a network interruption.
- 1010: ICE negotiation timeout — After the call is accepted the client’s browser and the server try and negotiate a path for the audio data. In some network setups this negotiation takes an abnormally long time to fail and this timeout is set to avoid the client getting stuck.
- 1020: Media cloud could not reach the server — See how to solve this here.
Networking
Server running behind NAT
The following issue might be helpful in debugging if you run into errors and your server is behind NAT.
Could not get your microphone for a WebRTC call
Chrome requires (As of Chrome 47) that to access the user’s microphone for WebRTC your site must be serving pages via HTTPS (that is, nginx is configured with a SSL certificate).
If the user attempts to share their microphone and your BigBlueButton sever is not configured for SSL, Chrome will block access and BigBlueButton will report the following error
WebRTC Audio Failure: Detected the following WebRTC issue: Could not get your microphone for a WebRTC call. Do you want to try flash instead?
To enable Chrome to access the user’s microphone, see Configure HTTPS on BigBlueButton.
The browser is not supported
When you attempt to join a BigBlueButton session, the client looks for supported browsers before fully loading. The client gets its list of supported browsers from /usr/share/meteor/bundle/programs/server/assets/app/config/settings.yml
. You can see the list of supported browsers at the bottom. For example,
- browser: mobileSafari
version:
- 11
- 1
states that Mobile Safari
version 11.1 or later is supported (notice the first letter is lower case and concatenated with the remainder of the browser name).
To add a browser to the list, first find your browser’s useragent. You could use a tool like https://wtools.io/check-my-user-agent as well. For example, with the Vivaldi browser you might see
Vivaldi 2.8.1664 / Linux 0.0.0
Next, to add this as a supported browser, append to settings.yml
- browser: vivaldi
version:
- 2
- 8
save the updated settings.yml
file, and then restart your BigBlueButton server with sudo bbb-conf --restart
. Note any browser you add must support WebRTC libraries (not all do), so be sure to check it first with https://test.webrtc.org/.
Tomcat shows “Cannot assign requested address on startup”
If your server has multiple IP addresses, Tomcat might not pick the right address to bind. This could throw an error on installation when tomcat is attempting to install.
Check /var/log/tomcat7/catalina.out
for the following error
Jan 30, 2018 9:17:37 AM org.apache.catalina.core.StandardServer await
SEVERE: StandardServer.await: create[localhost:8005]:
java.net.BindException: Cannot assign requested address (Bind failed)
at java.net.PlainSocketImpl.socketBind(Native Method)
If you see this, first ensure that there isn’t another copy of tomcat running by doing ps -aef | grep tomcat7
. If you do see another copy running, try killing it and then restarting tomcat.
If you still see the same error in catalina.out
, then /etc/tomcat7/server.xml
and change
<Server port="8005" shutdown="SHUTDOWN">
<Server address="0.0.0.0" port="8005" shutdown="SHUTDOWN">
Restart tomcat7 again and it should start normally.
nginx not running
The common reasons for nginx not running are inability to bind to port 80 and configuration errors. To check if port 80 is already in use, use
to see if any process is currently bound to port 80. If so, check to see if another web server is installed. If so, then stop the web server and try to restart nginx. One of the server requirements before you install BigBlueButton is that port 80 is not in use by another application (such as Apache). For details on why this is a requirements, see We recommend running BigBlueButton on port 80.
If port 80 is free, check if your nginx configuration file has errors. Try a restart of nginx
$ sudo systemctl restart nginx
and look for the output of
[ OK ]
If you see [ Fail ]
, then your nginx configuration files might have a syntax error. Check the syntax of the nginx configuration files using the command
and see if it reports any errors. You can also check the error.log file for nginx to see what errors it gives on startup
$ sudo cat /var/log/nginx/error.log
“Welcome to nginx”
During installation of BigBlueButton the packaging scripts attempt to assign the correct IP address during setup. However, if the IP address changes (such as when rebooting a VM), or the first IP address was not the correct IP address for the server, you may see a “Welcome to nginx” page.
To reconfigure the BigBlueButton to use the correct IP address or hostname, see BigBlueButton does not load.
bbb-web
404 Error when loading the client
BigBlueButton 2.2 requires Java 8 as the default Java. Recently, some Ubuntu 16.04 distributions have switched the default version of Java to Java 9 (or later).
Use java -version
to check that the default version of 1.8.0
.
~/dev$ java -version
openjdk version "1.8.0_242"
OpenJDK Runtime Environment (build 1.8.0_242-8u242-b08-0ubuntu3~16.04-b08)
OpenJDK 64-Bit Server VM (build 25.242-b08, mixed mode)
If not, do the following
sudo apt-get install openjdk-8-jre
update-alternatives --config java # Choose java-8 as default
Run java -version
and confirm it now shows the default as 1.8.0
, and then restart BigBlueButton with sudo bbb-conf --restart
Blank presentation area on create or upload
If you join a meeting and the default presentation is not visible or your uploaded presentation doesn’t display, then this is most likely due to a permissions error. To solve this, ensure that /var/bigbluebutton/
is owned by bigbluebutton
rather than root
or any other account. See this issue for more explanation.
Unable to create presentation
If you see the following error in /var/log/bigbluebutton/bbb-web.log
failed to map segment from shared object: Operation not permitted
use the command mount
to check that the /tmp
director does not have noexec
permissions (which would prevent executables from running in the /tmp directory). If you see noexec
for /tmp
, you need to remount the directory with permissions that enable processes (such as the slide conversion) to execute in the /tmp
directory.
Too many open files
On servers with greater than 8 CPU cores, bbb-web
log (/var/log/bigbluebutton/bbb-web.log
) may throw an error of Too many open files
Caused by: java.io.IOException: Too many open files
To resolve, create an override file that increases the number of open files for bbb-web
$ sudo mkdir -p /etc/systemd/system/bbb-web.service.d/
$ sudo cat > /etc/systemd/system/bbb-web.service.d/override.conf << HERE
[Service]
LimitNOFILE=
LimitNOFILE=8192
HERE
$ sudo systemctl daemon-reload
bbb-web takes a long time to startup
bbb-web
relies on the SecureRandom class (which uses available entropy) to provide random values for its session IDs. On a virtualized server, however, the available entropy can run low and cause bbb-web to block for a long period before it finishes it’s startup sequence (see Slow startup of tomcat).
To provide bbb-web
with more entropy, you can install haveged
$ sudo apt-get install haveged
For more information see How to Setup Additional Entropy for Cloud Servers Using Haveged.
Error installing bbb-web
If you get the following error during upgrade to BigBlueButton
Unpacking bbb-web (1:2.2.0-67) over (1:2.2.0-66) ...
dpkg: error processing archive /var/cache/apt/archives/bbb-web_1%3a2.2.0-67_amd64.deb (--unpack):
trying to overwrite '/etc/bigbluebutton/nginx/web', which is also in package bbb-client 1:2.2.0-28
dpkg-deb: error: subprocess paste was killed by signal (Broken pipe)
Errors were encountered while processing:
/var/cache/apt/archives/bbb-web_1%3a2.2.0-67_amd64.deb
E: Sub-process /usr/bin/dpkg returned an error code (1)```
Then first uninstall bbb-client
$ sudo apt-get purge bbb-client
and try installing BigBlueButton again.
Other errors
Root partition too small
If the root partition on your BigBlueButton server is too small (for disk space requirements see Before you install), we recommend moving the following directories to an external partition with sufficient disk space.
BigBlueButton processing and storage of recordings:
Location of all media directories on disk available here.
To make the move, we’ll first stop BigBlueButton, then move the above directories to a new location on the external partition, create symbolic links from the original locations to the new locations, and restart BigBlueButton.
In the following example, the external partition is mounted on /mnt
.
$ sudo bbb-conf --stop
$ sudo mv /var/freeswitch/meetings /mnt
$ sudo ln -s /mnt/recordings /var/freeswitch/meetings
$ sudo mv /usr/share/red5/webapps/video/streams /mnt
$ sudo ln -s /mnt/streams /usr/share/red5/webapps/video/streams
$ sudo /var/bigbluebutton /mnt
$ sudo ln -s /mnt/bigbluebutton /var/bigbluebutton
$ sudo bbb-conf --start
BigBlueButton does not load
If your has changed it’s network connection (such as on reboot), you can clean most of BigBlueButton’s configuration files with the following steps.
$ sudo bbb-conf --setip <ip_address_or_hostname>
$ sudo bbb-conf --clean
$ sudo bbb-conf --check
For more information see bbb-conf options.
Running within an LXD Container
LXD is a very powerful container system for Ubuntu lets you run full Ubuntu 16.04 servers within a container. Because you can easily clone and snapshot LXD containers, they are ideal for development and testing of BigBlueButton.
However, if you install BigBlueButton within an LXD container, you will get the following error from sudo bbb-conf --check
** Potential problems described below **
#
# Error: Unable to connect to the FreeSWITCH Event Socket Layer on port 8021
You’ll also get an error from starting FreeSWITCH with bbb-conf --restart
. When you try systemctl status freeswitch.service
, you’ll see an error with SETSCHEDULER.
$ sudo systemctl status freeswitch.service
● freeswitch.service - freeswitch
Loaded: loaded (/lib/systemd/system/freeswitch.service; enabled; vendor preset: enabled)
Active: inactive (dead) (Result: exit-code) since Wed 2017-04-26 16:34:24 UTC; 23h ago
Process: 7038 ExecStart=/opt/freeswitch/bin/freeswitch -u freeswitch -g daemon -ncwait $DAEMON_OPTS (code=exited, status=214/SETSCHEDULER)
Apr 26 16:34:24 big systemd[1]: Failed to start freeswitch.
Apr 26 16:34:24 big systemd[1]: freeswitch.service: Unit entered failed state.
Apr 26 16:34:24 big systemd[1]: freeswitch.service: Failed with result 'exit-code'.
Apr 26 16:34:24 big systemd[1]: freeswitch.service: Service hold-off time over, scheduling restart.
Apr 26 16:34:24 big systemd[1]: Stopped freeswitch.
Apr 26 16:34:24 big systemd[1]: freeswitch.service: Start request repeated too quickly.
Apr 26 16:34:24 big systemd[1]: Failed to start freeswitch.
This error occurs because the default systemd unit script for FreeSWITCH tries to run with permissions not available to the LXD container. To run FreeSWITCH within an LXD container, edit /lib/systemd/system/freeswitch.service
and replace with the following
[Unit]
Description=freeswitch
After=syslog.target network.target local-fs.target
[Service]
Type=forking
PIDFile=/opt/freeswitch/var/run/freeswitch/freeswitch.pid
Environment="DAEMON_OPTS=-nonat"
EnvironmentFile=-/etc/default/freeswitch
ExecStart=/opt/freeswitch/bin/freeswitch -u freeswitch -g daemon -ncwait $DAEMON_OPTS
TimeoutSec=45s
Restart=always
WorkingDirectory=/opt/freeswitch
User=freeswitch
Group=daemon
[Install]
WantedBy=multi-user.target
Then enter the following commands to load the new unit file and restart BigBlueButton.
$ sudo systemctl daemon-reload
$ sudo bbb-conf --restart
You can run BigBlueButton within a LXD container.
Unable to connect to redis
The packages bbb-apps-akka
, bbb-fsesl-akka
, and bbb-transcode-akka
are packaged by sbt, but they need to have redis-server running before they startup. If sudo bbb-conf --debug
shows redis connection errors
Sep 22 15:32:12 sv21 bbb-apps-akka[7804]: Exception in thread "main" io.lettuce.core.RedisConnectionException: Unable to connect to 127.0.0.1:6379
Sep 22 15:32:12 sv21 bbb-apps-akka[7804]: #011at io.lettuce.core.RedisConnectionException.create(RedisConnectionException.java:78)
Sep 22 15:32:12 sv21 bbb-apps-akka[7804]: #011at io.lettuce.core.RedisConnectionException.create(RedisConnectionException.java:56)
Sep 22 15:32:12 sv21 bbb-apps-akka[7804]: Caused by: io.netty.channel.AbstractChannel$AnnotatedConnectException: Connection refused: /127.0.0.1:6379
Sep 22 15:32:12 sv21 bbb-apps-akka[7804]: Caused by: java.net.ConnectException: Connection refused
Sep 22 15:32:12 sv21 bbb-fsesl-akka[7893]: Exception in thread "main" io.lettuce.core.RedisConnectionException: Unable to connect to 127.0.0.1:6379
Sep 22 15:32:12 sv21 bbb-fsesl-akka[7893]: #011at io.lettuce.core.RedisConnectionException.create(RedisConnectionException.java:78)
Sep 22 15:32:12 sv21 bbb-fsesl-akka[7893]: #011at io.lettuce.core.RedisConnectionException.create(RedisConnectionException.java:56)
Sep 22 15:32:12 sv21 bbb-fsesl-akka[7893]: Caused by: io.netty.channel.AbstractChannel$AnnotatedConnectException: Connection refused: /127.0.0.1:6379
Sep 22 15:32:12 sv21 bbb-fsesl-akka[7893]: Caused by: java.net.ConnectException: Connection refused
Sep 22 15:32:13 sv21 bbb-transcode-akka[8001]: Exception in thread "main" io.lettuce.core.RedisConnectionException: Unable to connect to 127.0.0.1:6379
Sep 22 15:32:13 sv21 bbb-transcode-akka[8001]: #011at io.lettuce.core.RedisConnectionException.create(RedisConnectionException.java:78)
Sep 22 15:32:13 sv21 bbb-transcode-akka[8001]: #011at io.lettuce.core.RedisConnectionException.create(RedisConnectionException.java:56)
Sep 22 15:32:13 sv21 bbb-transcode-akka[8001]: Caused by: io.netty.channel.AbstractChannel$AnnotatedConnectException: Connection refused: /127.0.0.1:6379
Sep 22 15:32:13 sv21 bbb-transcode-akka[8001]: Caused by: java.net.ConnectException: Connection refused
you can add overrides for these three packages to ensure they start after redis.server. Run the following script.
#!/bin/bash
mkdir -p /etc/systemd/system/bbb-apps-akka.service.d
cat > /etc/systemd/system/bbb-apps-akka.service.d/override.conf <<HERE
[Unit]
Requires=redis-server.service
After=redis-server.service
HERE
mkdir -p /etc/systemd/system/bbb-fsesl-akka.service.d
cat > /etc/systemd/system/bbb-fsesl-akka.service.d/override.conf <<HERE
[Unit]
Requires=redis-server.service
After=redis-server.service
HERE
mkdir -p /etc/systemd/system/bbb-transcode-akka.service.d
cat > /etc/systemd/system/bbb-transcode-akka.service.d/override.conf <<HERE
[Unit]
Requires=redis-server.service
After=redis-server.service
HERE
The script bbb-install
now creates these overrides by default.
500 Internal Server Error
It is most likely an error on GreenLight. Check the log file according to Troubleshooting Greenlight.
If this error occurrs on just a small number of PCs accessing a BigBlueButton server within a LAN through a proxy server and you find the description “Error::Unsafe Host Error (x.x.x.x is not a safe host)” (where x.x.x.x is an IP address) in the log file, check if the “Don’t use the proxy server for local (intranet) addresses” (in the Windows proxy setting) is ticked.
Legacy errors
Conference not found errors
The command sudo bbb-conf --debug
searches through the red5, tomcat7, and nginx logs looking for errors and exceptions. However, the messages such as
-- ERRORS found in /usr/share/red5/log/* --
/usr/share/red5/log/bigbluebutton.log:2015-05-02 13:50:37,681-04:00 [pool-17-thread-1] ERROR o.b.w.v.f.a.PopulateRoomCommand - Not XML: [Conference 78505 not found]
are innocuous and can be ignored.
Содержание
- Error 1007 ICE. Failed joining audio conf. #8418
- Comments
- ikaikai commented Dec 12, 2019 •
- Bigbluebutton не работает микрофон 1007
- Introduction
- Recording
- Recording not processing after upgrading
- Kurento
- WebRTC video not working with Kurento
- Unit kurento-media-server.service is masked
- Unable to share webcam
- FreeSWITCH
- Configure BigBluebutton/FreeSWITCH to support IPV6
- FreeSWITCH fails to bind to IPV4
- Forward calls from an Asterisk server to FreeSWITCH
- Changes to your Asterisk server
- Changes to your BigBlueButton/FreeSWITCH server
- FreeSWITCH fails to bind to port 8021
- FreeSWITCH fails to start with a SETSCHEDULER error
- Users not able to join Listen Only mode
- Unable to connect using fs_cli
- Echo test hangs upgrading BigBlueButton 2.2
- FreeSWITCH using default stun server
- HTML5 Server
- bbb-html5 fails to start with a SETSCHEDULER error
- Installation and packages
- The following packages have unmet dependencies
- No Symbolic Link
- Package install fails with sed error
- Errors with packages
- WebRTC errors (1001, 1002,…)
- Networking
- Server running behind NAT
- Could not get your microphone for a WebRTC call
- The browser is not supported
- Tomcat shows “Cannot assign requested address on startup”
- nginx not running
- “Welcome to nginx”
- bbb-web
- 404 Error when loading the client
- Blank presentation area on create or upload
- Unable to create presentation
- Too many open files
- bbb-web takes a long time to startup
- Error installing bbb-web
- Other errors
- Root partition too small
- BigBlueButton does not load
- Running within an LXD Container
- Unable to connect to redis
- 500 Internal Server Error
- Legacy errors
- Conference not found errors
Error 1007 ICE. Failed joining audio conf. #8418
[11:41:24:0464] INFO: clientLogger: Audio call session accepted InviteClientContext.p (https://class.demos.cloud/html5client/23acf17a7f66feccb643e681b6de9fd0361d4c3a.js?meteor_js_resource=true:125:1167498)
sip.js?v=815:1272 SIP.EventEmitter#off is deprecated and may be removed in future SIP.js versions.
Please use removeListener or removeAllListeners instead.
See here for more details:
http://nodejs.org/api/events.html#events_emitter_removelistener_event_listener
off @ sip.js?v=815:1272
p @ 23acf17a7f66feccb643e681b6de9fd0361d4c3a.js?meteor_js_resource=true:125
EventEmitter.emit @ sip.js?v=815:115
accepted @ sip.js?v=815:5641
onSuccess @ sip.js?v=815:6854
(anonymous) @ 23acf17a7f66feccb643e681b6de9fd0361d4c3a.js?meteor_js_resource=true:1
Promise.then (async)
n.then @ 23acf17a7f66feccb643e681b6de9fd0361d4c3a.js?meteor_js_resource=true:21
receiveInviteResponse @ sip.js?v=815:6835
receiveResponse @ sip.js?v=815:3784
InviteClientTransaction.receiveResponse @ sip.js?v=815:7835
onMessage @ sip.js?v=815:8569
ws.onmessage @ sip.js?v=815:8427
sip.js?v=815:2900 Thu Dec 12 2019 11:41:29 GMT+0800 (中国标准时间) | sip.invitecontext.mediahandler | RTCIceChecking Timeout Triggered after 5000 milliseconds
23acf17a7f66feccb643e681b6de9fd0361d4c3a.js?meteor_js_resource=true:9 [11:41:39:0496] ERROR: clientLogger: ICE connection failed before success MediaHandler.g (https://class.demos.cloud/html5client/23acf17a7f66feccb643e681b6de9fd0361d4c3a.js?meteor_js_resource=true:125:1168708)
sip.js?v=815:1272 SIP.EventEmitter#off is deprecated and may be removed in future SIP.js versions.
Please use removeListener or removeAllListeners instead.
See here for more details:
http://nodejs.org/api/events.html#events_emitter_removelistener_event_listener
off @ sip.js?v=815:1272
(anonymous) @ 23acf17a7f66feccb643e681b6de9fd0361d4c3a.js?meteor_js_resource=true:125
g @ 23acf17a7f66feccb643e681b6de9fd0361d4c3a.js?meteor_js_resource=true:125
EventEmitter.emit @ sip.js?v=815:112
peerConnection.oniceconnectionstatechange @ sip.js?v=815:11580
sip.js?v=815:1272 SIP.EventEmitter#off is deprecated and may be removed in future SIP.js versions.
Please use removeListener or removeAllListeners instead.
See here for more details:
http://nodejs.org/api/events.html#events_emitter_removelistener_event_listener
off @ sip.js?v=815:1272
(anonymous) @ 23acf17a7f66feccb643e681b6de9fd0361d4c3a.js?meteor_js_resource=true:125
(anonymous) @ 23acf17a7f66feccb643e681b6de9fd0361d4c3a.js?meteor_js_resource=true:125
exitAudio @ 23acf17a7f66feccb643e681b6de9fd0361d4c3a.js?meteor_js_resource=true:125
d @ 23acf17a7f66feccb643e681b6de9fd0361d4c3a.js?meteor_js_resource=true:125
l @ 23acf17a7f66feccb643e681b6de9fd0361d4c3a.js?meteor_js_resource=true:125
g @ 23acf17a7f66feccb643e681b6de9fd0361d4c3a.js?meteor_js_resource=true:125
EventEmitter.emit @ sip.js?v=815:112
peerConnection.oniceconnectionstatechange @ sip.js?v=815:11580
sip.js?v=815:2900 Thu Dec 12 2019 11:41:39 GMT+0800 (中国标准时间) | sip.inviteclientcontext | terminating Session
sip.js?v=815:2900 Thu Dec 12 2019 11:41:39 GMT+0800 (中国标准时间) | sip.transport | sending WebSocket message:
BYE sip:919667998@44.228.244.151:5060;transport=udp SIP/2.0
Via: SIP/2.0/WSS 33jndlprjgjs.invalid;branch=z9hG4bK5167729
Max-Forwards: 70
To: sip:919667998@class.demos.cloud;tag=75vDUmHFpe78F
From: «w_5sia44tmkbqy_9-bbbID-Tiankai» sip:w_5sia44tmkbqy_9-bbbID-Tiankai@class.demos.cloud;tag=86ejcjj0gc
Call-ID: 6084n2qs56sqd3loqlrh
CSeq: 5768 BYE
Supported: outbound
User-Agent: BigBlueButton
Content-Length: 0
sip.js?v=815:2900 Thu Dec 12 2019 11:41:39 GMT+0800 (中国标准时间) | sip.inviteclientcontext | closing INVITE session 6084n2qs56sqd3loqlrhs31fkqc5q2
sip.js?v=815:2900 Thu Dec 12 2019 11:41:39 GMT+0800 (中国标准时间) | sip.invitecontext.mediahandler | closing PeerConnection
The text was updated successfully, but these errors were encountered:
Источник
Bigbluebutton не работает микрофон 1007
If you encountered any problems with the installation of BigBlueButton, this section covers how to resolve many of the common issues.
If you have not already done so, read through the getting help section.
Introduction
Start here: run sudo bbb-conf —check
We’ve built in a BigBlueButton configuration utility, called bbb-conf , to help you configure your BigBlueButton server and troubleshoot your setup if something doesn’t work right.
If you think something isn’t working correctly, the first step is enter the following command.
This will check your setup to ensure the correct processes are running, the BigBlueButton components have correctly started, and look for common configuration problems that might prevent BigBlueButton from working properly.
If you see text after the line ** Potential problems described below ** , then it may be warnings (which you can ignore if you’ve change settings) or errors with the setup.
Recording
Recording not processing after upgrading
If after updating from BigBlueButton 2.0 to BigBlueButton 2.2 your recordings are not processing, and if you are seeing Permission denied errors in /var/log/bigbluebutton/bbb-rap-worker.log
You can resolve the errors with the following command
and then rebuild the recordings that had not yet processed. You can see the list of recordings with
and then to rebuild a recording, use sudo bbb-record —rebuild , as in
Kurento
WebRTC video not working with Kurento
Check the value for /proc/sys/net/ipv4/tcp_syncookies that it contains the value 1 .
If not, edit /etc/sysctl.conf and set the value for net.ipv4.tcp_syncookies to 1 .
Save the file and restart.
Unit kurento-media-server.service is masked
If sudo bbb-conf —check returns the warning
You can unmask Kurento using the command
The default installation of BigBlueButton should work in most netowrk configurations; however, if your users ae behind a restrictive network that blocks outgoing UDP connections, they may encounter 1020 errors (media unable to reach server).
If you get reports of these errors, setup TURN server to help their browsers send WebRTC audio and video streams via TCP over port 443 to the TURN server. The TURN server will then relay the media to your BigBlueButton server.
FreeSWITCH
Configure BigBluebutton/FreeSWITCH to support IPV6
The HTML5 client now enables users on mobile devices to connect to a BigBlueButton server. However, on some cellular networks iOS devices only receive an IPV6 address.
To enable BigBlueButton (FreeSWITCH) to accept incoming web socket connections on IPV6, the BigBlueButton server must have an IPV6 address. You also need to make the following changes to the server.
First, create the file /etc/nginx/conf.d/bigbluebutton_sip_addr_map.conf with this content:
replacing the ip addresses 192.0.2.1 with the system’s external IPV4 addresses, and replace 2001:db8::1 with the system’s external IPV6 address. Next, edit the file /etc/bigbluebutton/nginx/sip.nginx to have the following:
Next, ensure all of the following params are present in freeswitch’s sip_profiles/external-ipv6.xml :
- ws-binding
- wss-binding
- rtcp-audio-interval-msec
- rtcp-video-interval-msec
- dtmf-type
- liberal-dtmf
- enable-3pcc
If any are missing, copy them from sip_profiles/external.xml , then restart BigBlueButton ( sudo bbb-conf —restart ).
FreeSWITCH fails to bind to IPV4
In rare occasions after shutdown/restart, the FreeSWITCH database can get corrupted. This will cause FreeSWITCH to have problems binding to IPV4 address (you may see error 1006 when users try to connect).
To check, look in /opt/freeswitch/var/log/freeswitch/freeswitch.log for errors related to loading the database.
If you see these errors, clear the FreeSWITCH database (BigBlueButton doesn’t use the database and FreeSWITCH will recreate it on startup).
Forward calls from an Asterisk server to FreeSWITCH
Let’s assume the following:
Changes to your Asterisk server
Setup your gateway to BigBlueButton/FreeSWITCH. in /etc/asterisk/sip.conf add
Route the calls to the gateway. In /etc/asterisk/extensions.conf context where your calls are being handled, forward the calls to the gateway. Here, when someone dials 85001, the call is sent to the fs-gw defined above.
Changes to your BigBlueButton/FreeSWITCH server
In BigBlueButton/FreeSWITCH, make the following changes:
Lock down so that only Asterisk can forward calls to FreeSWITCH. In /opt/freeswitch/conf/autoload_configs/acl.conf.xml , add the following ACL. We also need to allow BigBlueButton to call into FreeSWITCH, that’s why we add the IP of BigBlueButton/FreeSWITCH into the ACL.
Then we apply the ACL into the profile that receives the calls from external gateways. In /opt/freeswitch/conf/sip_profiles/external.xml , add the ACL under
To debug, try connecting to FS CLI and increase logging level. Once connected, make your call and see what the logs say.
FreeSWITCH fails to bind to port 8021
FreeSWITCH supports both IPV4 and IPV6. However, if your server does not support IPV6, FreeSWITCH will be unable to bind to port 8021. If you run sudo bbb-conf —check and see the following error
it might be that your server has IPV6 disabled (or does not support it). You can check this by running the following command
If you do not see the line inet6 ::1/128 scope host , then your server has IPV6 disabled. In this case, we need to disable FreeSWITCH’s support for IPV6. First, edit /opt/freeswitch/etc/freeswitch/autoload_configs/event_socket.conf.xml and change the line
This tells FreeSWITCH that instead of binding port 8021 to the local IPV6 address, bind to the IPV4 address 127.0.0.1. Next, execute the following two commands
and then restart BigBlueButton with the commands
FreeSWITCH fails to start with a SETSCHEDULER error
When running in a container (like a chroot, OpenVZ or LXC), it might not be possible for FreeSWITCH to set its CPU priority to real-time round robin. If not, it will result in lower performance compared to a non-virtualized installation.
If you running BigBlueButton in a container and an error starting FreeSWITCH, try running systemctl status freeswitch.service and see if you see the error related to SETSCHEDULER
If you see SETSCHEDULER in the error message, edit /lib/systemd/system/freeswitch.service and comment out the line containing CPUSchedulingPolicy=rr (round robin)
Save the file, run systemctl daemon-reload , and then restart BigBlueButton. FreeSWITCH should now startup without error.
Users not able to join Listen Only mode
When doing sudo bbb-conf —check , you may see the warning
This error occurs when bbb-apps-sip isn’t able to make a SIP call to FreeSWITCH. You’ll see this in BigBlueButton when users click the headset icon and don’t join the voice conference.
One possible cause for this is you have just installed BigBlueButton, but not restarted it. The packages do not start up the BigBlueButton components in the right order. To restart BigBlueButton, do the following:
If you don’t want FreeSWITCH to bind to 127.0.0.1, you need to figure out which IP address its using. First, determine the IP address FreeSWITCH is monitoring for incoming SIP calls with the following command:
You should see an output such as
In this example, FreeSWITCH is listening on IP address 234.147.116.3. The IP address on your server will be different.
Next, edit /usr/share/red5/webapps/sip/WEB-INF/bigbluebutton-sip.properties and set the value for sip.server.host to the IP address returned from the above command. Save the changes (you’ll need to edit the file as root to save changes).
Restart BigBlueButton using the commands and run the built-in diagnostics checks.
Unable to connect using fs_cli
As of BigBlueButton 2.2.18, the packaging now replaces the default ClueCon password for connecting to the FreeSWITCH command line interface ( fs_cli ) with a random password.
(By default, FreeSWITCH only allowed unauthenticated connections from 127.0.0.1, but it’s still good security practice to not use default passwords).
To connect to fs_cli , use the following command which supplies the password for authenticating.
We also added /usr/local/bin/fs_clibbb with the contents
that will let you type fs_clibbb at the command prompt to get into FreeSWITCH console.
Echo test hangs upgrading BigBlueButton 2.2
The install scripts now change the default CLI password for FreeSWITCH and the other parts of BigBlueButton need to use this new password. For a new installation, the install scripts will automatically set this new password.
If you upgrade using bbb-install.sh, the script will update the FreeSWITCH password using sudo bbb-conf —setip .
If you upgraded using manual steps, be sure to do ao sudo bbb-conf —setip to sync all the FreeSWITCH passwords.
FreeSWITCH using default stun server
For many years, in BigBlueButton’s FreeSWITCH configuration file /opt/freeswitch/etc/freeswitch/vars.xml , the default value for external_rtp_ip was stun.freeswitch.org
However, this is not a reliable choice for stun server. Recommend either changing it to your servers external IP address or setup your own stun/turn server. For example, if your server has an external IP at 234.32.3.3
You can add a line in /etc/bigbluebutton/bbb-conf/apply-conf.sh to always apply this value even if the FreeSWITCH package upgrades.
Note: If your server has an internal/exteral IP address, such as on AWS EC2 server, be sure to set it to the external IP address configure a dummy network interface card (see Update FreeSWITCH).
HTML5 Server
bbb-html5 fails to start with a SETSCHEDULER error
As of 2.2.31, the systemd unit file for bbb-html5.service now contains the following lines
You can override this with creating the following directory
and creating /etc/systemd/system/bbb-html5.service.d/override.conf with the following contents
Then do systemctl daemon-reload and restart BigBlueButton.
Installation and packages
The following packages have unmet dependencies
When installing the latest build of BigBlueButton, the package bbb-conf now uses yq to manage YAML files.
You need to add the repository ppa:rmescandon/yq to your server. For steps on how to do this, see Update your server in the BigBlueButton 2.2 install guide.
Alternatively, if you have not made any customizations to BigBlueButton (outside of using bbb-conf ), you can use bbb-install.sh to install/upgrade to the latest version (the bbb-install.sh script will automatically install the repository for yq ).
No Symbolic Link
If you’ve installed/uninstalled BigBlueButton packages, you may get a No Symbolic Link warning from bbb-conf —check :
To solve this, add a symbolic link to nginx for the BigBlueButton site:
Package install fails with sed error
Some of the BigBlueButton packages use sed scripts to extract contents from configuration files. If the file does not exist at the time of the script’s execution, or the sed script matches multiple entries in a file (such as when a configuration line is commented out), you can see an error such as
In the above example, the /var/lib/dpkg/info/bbb-client.postinst failed to finish. To debug, edit this file and change the first line to read
You should now see each command in bbb-conf.postinst as it executes upto the line in which the error occurs. Post this output to https://groups.google.com/forum/#!forum/bigbluebutton-setup for help in resolving the issue.
Errors with packages
Some hosting providers do not provide a complete /etc/apt/source.list . If you are finding your are unable to install a package, try replacing your /etc/apt/sources.list with the following
and try installing BigBlueButton again from the beginning.
WebRTC errors (1001, 1002,…)
WebRTC offers very high-quality audio. However, the user’s network settings (or firewall) may not allow WebRTC to connect (or keep connected).
Here are the following lists the possible WebRTC error messages that a user may encounter:
- 1001: WebSocket disconnected — The WebSocket had connected successfully and has now disconnected. Possible Causes:
- Loss of internet connection
- Nginx restarting can cause this
- 1002: Could not make a WebSocket connection — The initial WebSocket connection was unsuccessful. Possible Causes:
- Firewall blocking ws protocol
- Server is down or improperly configured
- See potential solution here.
- 1003: Browser version not supported — Browser doesn’t implement the necessary WebRTC API methods. Possible Causes:
- Out of date browser
- 1004: Failure on call — The call was attempted, but failed. Possible Causes:
- For a full list of causes refer here
- There are 24 different causes so I don’t really want to list all of them
- Solution for this issue outlined here.
- 1005: Call ended unexpectedly — The call was successful, but ended without user requesting to end the session. Possible Causes:
- Unknown
- 1006: Call timed out — The library took too long to try and connect the call. Possible Causes:
- Previously caused by Firefox 33-beta on Mac. We’ve been unable to reproduce since release of FireFox 34
- 1007: ICE negotiation failed — The browser and FreeSWITCH try to negotiate ports to use to stream the media and that negotiation failed. Possible Causes:
- NAT is blocking the connection
- Firewall is blocking the UDP connection/ports
- 1008: Call transfer failed — A timeout while waiting for FreeSWITCH to transfer from the echo test to the real conference. This might be caused by a misconfiguration in FreeSWITCH, or there might be a media error and the DTMF command to transfer didn’t go through (In this case, the voice in the echo test probably didn’t work either.)
- 1009: Could not fetch STUN/TURN server information — This indicates either a BigBlueButton bug (or you’re using an unsupported new client/old server combination), but could also happen due to a network interruption.
- 1010: ICE negotiation timeout — After the call is accepted the client’s browser and the server try and negotiate a path for the audio data. In some network setups this negotiation takes an abnormally long time to fail and this timeout is set to avoid the client getting stuck.
- 1020: Media cloud could not reach the server — See how to solve this here.
Networking
Server running behind NAT
The following issue might be helpful in debugging if you run into errors and your server is behind NAT.
Could not get your microphone for a WebRTC call
Chrome requires (As of Chrome 47) that to access the user’s microphone for WebRTC your site must be serving pages via HTTPS (that is, nginx is configured with a SSL certificate).
If the user attempts to share their microphone and your BigBlueButton sever is not configured for SSL, Chrome will block access and BigBlueButton will report the following error
WebRTC Audio Failure: Detected the following WebRTC issue: Could not get your microphone for a WebRTC call. Do you want to try flash instead?
To enable Chrome to access the user’s microphone, see Configure HTTPS on BigBlueButton.
The browser is not supported
When you attempt to join a BigBlueButton session, the client looks for supported browsers before fully loading. The client gets its list of supported browsers from /usr/share/meteor/bundle/programs/server/assets/app/config/settings.yml . You can see the list of supported browsers at the bottom. For example,
states that Mobile Safari version 11.1 or later is supported (notice the first letter is lower case and concatenated with the remainder of the browser name).
To add a browser to the list, first open the following page https://test.bigbluebutton.org/html5client/useragent with the browser, which will print its useragent string. For example, with the Vivaldi browser you might see
Next, to add this as a supported browser, append to settings.yml
save the updated settings.yml file, and then restart your BigBlueButton server with sudo bbb-conf —restart . Note any browser you add must support WebRTC libraries (not all do), so be sure to check it first with https://test.webrtc.org/.
Tomcat shows “Cannot assign requested address on startup”
If your server has multiple IP addresses, Tomcat might not pick the right address to bind. This could throw an error on installation when tomcat is attempting to install.
Check /var/log/tomcat7/catalina.out for the following error
If you see this, first ensure that there isn’t another copy of tomcat running by doing ps -aef | grep tomcat7 . If you do see another copy running, try killing it and then restarting tomcat.
If you still see the same error in catalina.out , then /etc/tomcat7/server.xml and change
Restart tomcat7 again and it should start normally.
nginx not running
The common reasons for nginx not running are inability to bind to port 80 and configuration errors. To check if port 80 is already in use, use
to see if any process is currently bound to port 80. If so, check to see if another web server is installed. If so, then stop the web server and try to restart nginx. One of the server requirements before you install BigBlueButton is that port 80 is not in use by another application (such as Apache). For details on why this is a requirements, see We recommend running BigBlueButton on port 80.
If port 80 is free, check if your nginx configuration file has errors. Try a restart of nginx
and look for the output of
If you see [ Fail ] , then your nginx configuration files might have a syntax error. Check the syntax of the nginx configuration files using the command
and see if it reports any errors. You can also check the error.log file for nginx to see what errors it gives on startup
“Welcome to nginx”
During installation of BigBlueButton the packaging scripts attempt to assign the correct IP address during setup. However, if the IP address changes (such as when rebooting a VM), or the first IP address was not the correct IP address for the server, you may see a “Welcome to nginx” page.
To reconfigure the BigBlueButton to use the correct IP address or hostname, see BigBlueButton does not load.
bbb-web
404 Error when loading the client
BigBlueButton 2.2 requires Java 8 as the default Java. Recently, some Ubuntu 16.04 distributions have switched the default version of Java to Java 9 (or later).
Use java -version to check that the default version of 1.8.0 .
If not, do the following
Run java -version and confirm it now shows the default as 1.8.0 , and then restart BigBlueButton with sudo bbb-conf —restart
Blank presentation area on create or upload
If you join a meeting and the default presentation is not visible or your uploaded presentation doesn’t display, then this is most likely due to a permissions error. To solve this, ensure that /var/bigbluebutton/ is owned by bigbluebutton rather than root or any other account. See this issue for more explanation.
Unable to create presentation
If you see the following error in /var/log/bigbluebutton/bbb-web.log
use the command mount to check that the /tmp director does not have noexec permissions (which would prevent executables from running in the /tmp directory). If you see noexec for /tmp , you need to remount the directory with permissions that enable processes (such as the slide conversion) to execute in the /tmp directory.
Too many open files
On servers with greater than 8 CPU cores, bbb-web log ( /var/log/bigbluebutton/bbb-web.log ) may throw an error of Too many open files
To resolve, create an override file that increases the number of open files for bbb-web
bbb-web takes a long time to startup
bbb-web relies on the SecureRandom class (which uses available entropy) to provide random values for its session IDs. On a virtualized server, however, the available entropy can run low and cause bbb-web to block for a long period before it finishes it’s startup sequence (see Slow startup of tomcat).
To provide bbb-web with more entropy, you can install haveged
Error installing bbb-web
If you get the following error during upgrade to BigBlueButton
Then first uninstall bbb-client
and try installing BigBlueButton again.
Other errors
Root partition too small
If the root partition on your BigBlueButton server is too small (for disk space requirements see Before you install), we recommend moving the following directories to an external partition with sufficient disk space.
BigBlueButton processing and storage of recordings:
Location of all media directories on disk available here.
To make the move, we’ll first stop BigBlueButton, then move the above directories to a new location on the external partition, create symbolic links from the original locations to the new locations, and restart BigBlueButton.
In the following example, the external partition is mounted on /mnt .
BigBlueButton does not load
If your has changed it’s network connection (such as on reboot), you can clean most of BigBlueButton’s configuration files with the following steps.
For more information see bbb-conf options.
Running within an LXD Container
LXD is a very powerful container system for Ubuntu lets you run full Ubuntu 16.04 servers within a container. Because you can easily clone and snapshot LXD containers, they are ideal for development and testing of BigBlueButton.
However, if you install BigBlueButton within an LXD container, you will get the following error from sudo bbb-conf —check
You’ll also get an error from starting FreeSWITCH with bbb-conf —restart . When you try systemctl status freeswitch.service , you’ll see an error with SETSCHEDULER.
This error occurs because the default systemd unit script for FreeSWITCH tries to run with permissions not available to the LXD container. To run FreeSWITCH within an LXD container, edit /lib/systemd/system/freeswitch.service and replace with the following
Then enter the following commands to load the new unit file and restart BigBlueButton.
You can run BigBlueButton within a LXD container.
Unable to connect to redis
The packages bbb-apps-akka , bbb-fsesl-akka , and bbb-transcode-akka are packaged by sbt, but they need to have redis-server running before they startup. If sudo bbb-conf —debug shows redis connection errors
you can add overrides for these three packages to ensure they start after redis.server. Run the following script.
The script bbb-install now creates these overrides by default.
500 Internal Server Error
It is most likely an error on GreenLight. Check the log file according to Troubleshooting Greenlight.
If this error occurrs on just a small number of PCs accessing a BigBlueButton server within a LAN through a proxy server and you find the description “Error::Unsafe Host Error (x.x.x.x is not a safe host)” (where x.x.x.x is an IP address) in the log file, check if the “Don’t use the proxy server for local (intranet) addresses” (in the Windows proxy setting) is ticked.
Legacy errors
Conference not found errors
The command sudo bbb-conf —debug searches through the red5, tomcat7, and nginx logs looking for errors and exceptions. However, the messages such as
Источник
If you encountered any problems with the installation of BigBlueButton, this section covers how to resolve many of the common issues.
If you have not already done so, read through the getting help section.
Introduction
Start here: run sudo bbb-conf --check
We’ve built in a BigBlueButton configuration utility, called bbb-conf
, to help you configure your BigBlueButton server and troubleshoot your setup if something doesn’t work right.
If you think something isn’t working correctly, the first step is enter the following command.
This will check your setup to ensure the correct processes are running, the BigBlueButton components have correctly started, and look for common configuration problems that might prevent BigBlueButton from working properly.
If you see text after the line ** Potential problems described below **
, then it may be warnings (which you can ignore if you’ve change settings) or errors with the setup.
Recording
Recording not processing after upgrading
If after updating from BigBlueButton 2.0 to BigBlueButton 2.2 your recordings are not processing, and if you are seeing Permission denied
errors in /var/log/bigbluebutton/bbb-rap-worker.log
I, [2019-06-07T14:26:09.034878 #14808] INFO -- : /usr/lib/ruby/2.5.0/logger.rb:754:in `initialize': Permission denied @ rb_sysopen - /var/log/bigbluebutton/presentation/process-02feca80700b3e95b877af85db972904397857a1-1559909318977.log (Errno::EACCES)
You can resolve the errors with the following command
$ sudo chown -hR bigbluebutton:bigbluebutton /var/log/bigbluebutton/presentation /var/log/bigbluebutton/screenshare
and then rebuild the recordings that had not yet processed. You can see the list of recordings with
and then to rebuild a recording, use sudo bbb-record --rebuild <internal_meeting_id>
, as in
$ sudo bbb-record --rebuild 298b06603719217df51c5d030b6e9417cc036476-1559314745219
Webcams/screen sharing aren’t working
Certify that appropriate external addresses have been set for mediasoup. When installed via packages, mediasoup IPs are normally misconfigured. If installed via bbb-install, then IPv4 is generally correct, but IPv6 might be absent.
Nonetheless, we recommend double-checking the instructions in Updating mediasoup.
Configure mediasoup to use IPv6
mediasoup (bbb-webrtc-sfu) does not come with a IPv6 enabled by default when installed either via packages or bbb-install.
To configure IPv6, bbb-webrtc-sfu’s override configuration file (located in /etc/bigbluebutton/bbb-webrtc-sfu/production.yml
) should be used.
See Updating mediasoup for instructions and examples on how to do so.
I’m having troubles seeing webcams or screen sharing in Firefox
That’s usually the symptom of a known Firefox issue where it doesn’t comply with ICE-lite implementations (and mediasoup is one).
This issue can be worked around by forcing TURN usage in Firefox user agents. To achieve that, set the public.kurento.forceRelayOnFirefox
configuration to true
in /etc/bigbluebutton/bbb-html5.yml
. For example:
public:
kurento:
forceRelayOnFirefox: true
How often does this Firefox issue happens?
Short (non) answer: that’s difficult to measure.
Every Firefox installation is prone to the lack of ICE-lite spec compliance. However, the issue doesn’t manifest itself on all Firefox installations as it is dependent on how the end user’s network topology is organized. It’s generally a small subset of Firefox users, but that can vary depending on the user base.
Where can I track progress on a definitive solution or better workaround?
This is a Firefox bug, so the best place to get an overview on progress and what the issue is about is Mozilla’s issue.
You can also track BigBlueButton’s issue for updates on additional workarounds.
Why isn’t forceRelayOnFirefox enabled by default?
It’s not on by default because bigbluebutton does not come with a TURN server by default, and that’s what versioned-in-code setting presumes.
How do I know if mediasoup is being used?
The most direct and precise way to figure out whether mediasoup is being used is checking about:webrtc (Firefox) or chrome://webrtc-internals. For example: open one of those, share a camera. Look for the remote description (SDP); see if it contains mediasoup-client in the SDP header. If it does, you’re using mediasoup.
Regardless of that: mediasoup is the default in 2.5 and should always be used unless default settings were explicitly changed.
mediasoup is the default in 2.5. Why is Kurento still around?
Because Kurento is still used for stream recording. It should be removed as a dependency as soon as this issue is addressed.
Is single-core performance still important with mediasoup?
Yes.
How can I control the number of mediasoup workers?
To control the number of mediasoup workers, bbb-webrtc-sfu’s override configuration file (located in /etc/bigbluebutton/bbb-webrtc-sfu/production.yml
) should be used.
There are a couple of configurations of interest here:
mediasoup.workers
This configuration controls the number of mediasoup workers intended for general use (media type agnostic, shared pool).
Accepted values are:
"auto"
(default): createsceil((min(nproc,32) * 0.8) + (max(0, nproc - 32) / 2))
workers;"cores"
: creates workers up to the host’s core count (as provided by os.cpus().length);- <Number>: overrides the number of workers with a fixed value;
- The default and fallback values are
auto
.
For example:
- To set the number of workers to
cores
:yq w -i /etc/bigbluebutton/bbb-webrtc-sfu/production.yml mediasoup.workers "cores"
mediasoup.dedicatedMediaTypeWorkers
This configuration controls the number of mediasoup workers to be used by specific media types.
If a dedicated pool is set, streams of its media type will always land on it. Otherwise, they will use the shared pool.
The configuration is an object of the following format:
mediasoup.dedicatedMediaTypeWorkers:
audio: "auto"|"cores"|<Number>
main: "auto"|"cores"|<Number>
content: "auto"|"cores"|<Number>
The semantics of auto
, cores
and Number
are the same as in the mediasoup.workers
configuration. Default values for all media types are 0
(no dedicated workers).
The media types semantics are:
audio
: audio (listen only, microphone) streams;main
: webcam video streams;content
: screen sharing streams (audio and video).
For example:
- To set the number of dedicated audio workers to
auto
:yq w -i /etc/bigbluebutton/bbb-webrtc-sfu/production.yml mediasoup.dedicatedMediaTypeWorkers.audio "auto"
Can I scale the number of streams up indefinitely with mediasoup?
No. Scalability improves a lot with mediasoup, but there are still a couple of bottlenecks that can be hit as far as far as the media stack is concerned. Namely:
- The signaling server (bbb-webrtc-sfu): it does not scale vertically indefinitely. There’s always work ongoing on this area that can be tracked in this issue;
- The mediasoup worker balancing algorithm implemented by bbb-webrtc-sfu is still focused on multiparty meetings with a restrained number of users. If your goal is thousand-user 1-N (streaming-like) meetings, you may max out CPU usage on certain mediasoup workers even though there are other idle oworkers free.
Kurento
WebRTC video not working with Kurento
Check the value for /proc/sys/net/ipv4/tcp_syncookies
that it contains the value 1
.
$ cat /proc/sys/net/ipv4/tcp_syncookies
1
If not, edit /etc/sysctl.conf
and set the value for net.ipv4.tcp_syncookies
to 1
.
net.ipv4.tcp_syncookies = 1
Save the file and restart.
Unit kurento-media-server.service is masked
If sudo bbb-conf --check
returns the warning
Restarting BigBlueButton 2.0.0-RC9 (and cleaning out all log files) ...
Stopping BigBlueButton
... cleaning log files
Starting BigBlueButton
Failed to start kurento-media-server.service: Unit kurento-media-server.service is masked.
You can unmask Kurento using the command
$ systemctl unmask kurento-media-server.service
The default installation of BigBlueButton should work in most netowrk configurations; however, if your users ae behind a restrictive network that blocks outgoing UDP connections, they may encounter 1020 errors (media unable to reach server).
If you get reports of these errors, setup TURN server to help their browsers send WebRTC audio and video streams via TCP over port 443 to the TURN server. The TURN server will then relay the media to your BigBlueButton server.
See Configure TURN.
FreeSWITCH
Configure BigBluebutton/FreeSWITCH to support IPV6
The HTML5 client now enables users on mobile devices to connect to a BigBlueButton server. However, on some cellular networks iOS devices only receive an IPV6 address.
To enable BigBlueButton (FreeSWITCH) to accept incoming web socket connections on IPV6, the BigBlueButton server must have an IPV6 address. You also need to make the following changes to the server.
First, create the file /etc/nginx/conf.d/bigbluebutton_sip_addr_map.conf
with this content:
map $remote_addr $freeswitch_addr {
"~:" [2001:db8::1];
default 192.0.2.1;
}
replacing the ip addresses 192.0.2.1
with the system’s external IPV4 addresses, and replace 2001:db8::1
with the system’s external IPV6 address. Next, edit the file /etc/bigbluebutton/nginx/sip.nginx
to have the following:
proxy_pass https://$freeswitch_addr:7443;
Next, ensure all of the following params are present in freeswitch’s sip_profiles/external-ipv6.xml
:
- ws-binding
- wss-binding
- rtcp-audio-interval-msec
- rtcp-video-interval-msec
- dtmf-type
- liberal-dtmf
- enable-3pcc
If any are missing, copy them from sip_profiles/external.xml
, then restart BigBlueButton (sudo bbb-conf --restart
).
FreeSWITCH fails to bind to IPV4
In rare occasions after shutdown/restart, the FreeSWITCH database can get corrupted. This will cause FreeSWITCH to have problems binding to IPV4 address (you may see error 1006 when users try to connect).
To check, look in /opt/freeswitch/var/log/freeswitch/freeswitch.log
for errors related to loading the database.
2018-10-25 11:05:11.444727 [ERR] switch_core_db.c:108 SQL ERR [unsupported file format]
2018-10-25 11:05:11.444737 [ERR] switch_core_db.c:223 SQL ERR [unsupported file format]
2018-10-25 11:05:11.444759 [NOTICE] sofia.c:5949 Started Profile internal-ipv6 [sofia_reg_internal-ipv6]
2018-10-25 11:05:11.444767 [CRIT] switch_core_sqldb.c:508 Failure to connect to CORE_DB sofia_reg_external!
2018-10-25 11:05:11.444772 [CRIT] sofia.c:3049 Cannot Open SQL Database [external]!
If you see these errors, clear the FreeSWITCH database (BigBlueButton doesn’t use the database and FreeSWITCH will recreate it on startup).
$ sudo systemctl stop freeswitch
$ rm -rf /opt/freeswitch/var/lib/freeswitch/db/*
$ sudo systemctl start freeswitch
Forward calls from an Asterisk server to FreeSWITCH
Let’s assume the following:
asterisk server ip: 192.168.1.100
bigbluebutton/freeswitch ip: 192.168.1.200
Changes to your Asterisk server
Setup your gateway to BigBlueButton/FreeSWITCH. in /etc/asterisk/sip.conf
add
[fs-gw]
type=peer
username=fs-gw
insecure=very
contactpermit=192.168.1.200/255.255.255.255
qualify=no
nat=yes
host=192.168.1.200
canreinvite=no
disallow=all
allow=ulaw
Route the calls to the gateway. In /etc/asterisk/extensions.conf
context where your calls are being handled, forward the calls to the gateway. Here, when someone dials 85001, the call is sent to the fs-gw
defined above.
exten => 85001,1,Dial(SIP/fs-gw/${EXTEN})
exten => 85001,2,Hangup
Changes to your BigBlueButton/FreeSWITCH server
In BigBlueButton/FreeSWITCH, make the following changes:
Lock down so that only Asterisk can forward calls to FreeSWITCH. In /opt/freeswitch/conf/autoload_configs/acl.conf.xml
, add the following ACL. We also need to allow BigBlueButton to call into FreeSWITCH, that’s why we add the IP of BigBlueButton/FreeSWITCH into the ACL.
<list name="asterisk-gw" default="deny">
<node type="allow" cidr="192.168.1.200/32"/>
<node type="allow" cidr="192.168.1.100/32"/>
<node type="allow" cidr="127.0.0.1/32"/>
</list>
Then we apply the ACL into the profile that receives the calls from external gateways. In /opt/freeswitch/conf/sip_profiles/external.xml
, add the ACL under <settings>
<settings>
<!-- Apply ACL from asterisk-gw -->
<param name="apply-inbound-acl" value="asterisk-gw"/>
...
</settings>
To debug, try connecting to FS CLI and increase logging level. Once connected, make your call and see what the logs say.
$ /opt/freeswitch/bin/fs_cli -p $(xmlstarlet sel -t -m 'configuration/settings/param[@name="password"]' -v @value /opt/freeswitch/etc/freeswitch/autoload_configs/event_socket.conf.xml)
Once connected:
help -- shows the available commands
console loglevel <level> -- change log level
Ctrl-D to exit
FreeSWITCH fails to bind to port 8021
FreeSWITCH supports both IPV4 and IPV6. However, if your server does not support IPV6, FreeSWITCH will be unable to bind to port 8021. If you run sudo bbb-conf --check
and see the following error
# Error: Found text in freeswitch.log:
#
# Thread ended for mod_event_socket
#
# FreeSWITCH may not be responding to requests on port 8021 (event socket layer)
# and users may have errors joining audio.
#
it might be that your server has IPV6 disabled (or does not support it). You can check this by running the following command
$ sudo ip addr | grep inet6
inet6 ::1/128 scope host
...
If you do not see the line inet6 ::1/128 scope host
, then your server has IPV6 disabled. In this case, we need to disable FreeSWITCH’s support for IPV6. First, edit /opt/freeswitch/etc/freeswitch/autoload_configs/event_socket.conf.xml
and change the line
<param name="listen-ip" value="::"/>
to
<param name="listen-ip" value="127.0.0.1"/>
This tells FreeSWITCH that instead of binding port 8021 to the local IPV6 address, bind to the IPV4 address 127.0.0.1. Next, execute the following two commands
$ sudo mv /opt/freeswitch/etc/freeswitch/sip_profiles/internal-ipv6.xml /opt/freeswitch/etc/freeswitch/sip_profiles/internal-ipv6.xml_
$ sudo mv /opt/freeswitch/etc/freeswitch/sip_profiles/external-ipv6.xml /opt/freeswitch/etc/freeswitch/sip_profiles/external-ipv6.xml_
and then restart BigBlueButton with the commands
$ sudo bbb-conf --clean
$ sudo bbb-conf --check
FreeSWITCH fails to start with a SETSCHEDULER error
When running in a container (like a chroot, OpenVZ or LXC), it might not be possible for FreeSWITCH to set its CPU priority to real-time round robin. If not, it will result in lower performance compared to a non-virtualized installation.
If you running BigBlueButton in a container and an error starting FreeSWITCH, try running systemctl status freeswitch.service
and see if you see the error related to SETSCHEDULER
$ systemctl status freeswitch.service
● freeswitch.service - freeswitch
Loaded: loaded (/lib/systemd/system/freeswitch.service; enabled; vendor preset: enabled)
Active: inactive (dead) (Result: exit-code) since Mon 2017-10-02 16:17:29 UTC; 18s ago
Process: 10967 ExecStart=/opt/freeswitch/bin/freeswitch -u freeswitch -g daemon -ncwait $DAEMON_OPTS (code=exited, status=214/SETSCHEDULER)
Main PID: 3327 (code=exited, status=0/SUCCESS)
Oct 02 16:17:29 scw-9e2305 systemd[1]: Failed to start freeswitch.
Oct 02 16:17:29 scw-9e2305 systemd[1]: freeswitch.service: Unit entered failed state.
Oct 02 16:17:29 scw-9e2305 systemd[1]: freeswitch.service: Failed with result 'exit-code'.
Oct 02 16:17:29 scw-9e2305 systemd[1]: freeswitch.service: Service hold-off time over, scheduling restart.
Oct 02 16:17:29 scw-9e2305 systemd[1]: Stopped freeswitch.
Oct 02 16:17:29 scw-9e2305 systemd[1]: freeswitch.service: Start request repeated too quickly.
Oct 02 16:17:29 scw-9e2305 systemd[1]: Failed to start freeswitch.
If you see SETSCHEDULER
in the error message, edit /lib/systemd/system/freeswitch.service
and comment out the line containing CPUSchedulingPolicy=rr
(round robin)
IOSchedulingPriority=2
#CPUSchedulingPolicy=rr
CPUSchedulingPriority=89
Save the file, run systemctl daemon-reload
, and then restart BigBlueButton. FreeSWITCH should now startup without error.
Users not able to join Listen Only mode
When doing sudo bbb-conf --check
, you may see the warning
voice Application failed to register with sip server
This error occurs when bbb-apps-sip
isn’t able to make a SIP call to FreeSWITCH. You’ll see this in BigBlueButton when users click the headset icon and don’t join the voice conference.
One possible cause for this is you have just installed BigBlueButton, but not restarted it. The packages do not start up the BigBlueButton components in the right order. To restart BigBlueButton, do the following:
$ sudo bbb-conf --restart
$ sudo bbb-conf --check
If you don’t want FreeSWITCH to bind to 127.0.0.1, you need to figure out which IP address its using. First, determine the IP address FreeSWITCH is monitoring for incoming SIP calls with the following command:
$ netstat -ant | grep 5060
You should see an output such as
tcp 0 0 234.147.116.3:5060 0.0.0.0:* LISTEN
In this example, FreeSWITCH is listening on IP address 234.147.116.3. The IP address on your server will be different.
Next, edit /usr/share/red5/webapps/sip/WEB-INF/bigbluebutton-sip.properties
and set the value for sip.server.host
to the IP address returned from the above command. Save the changes (you’ll need to edit the file as root to save changes).
Restart BigBlueButton using the commands and run the built-in diagnostics checks.
$ sudo bbb-conf --clean
$ sudo bbb-conf --check
Unable to connect using fs_cli
As of BigBlueButton 2.2.18, the packaging now replaces the default ClueCon
password for connecting to the FreeSWITCH command line interface (fs_cli
) with a random password.
(By default, FreeSWITCH only allowed unauthenticated connections from 127.0.0.1, but it’s still good security practice to not use default passwords).
To connect to fs_cli
, use the following command which supplies the password for authenticating.
/opt/freeswitch/bin/fs_cli -p $(xmlstarlet sel -t -m 'configuration/settings/param[@name="password"]' -v @value /opt/freeswitch/etc/freeswitch/autoload_configs/event_socket.conf.xml)
We also added /usr/local/bin/fs_clibbb
with the contents
#!/bin/bash
/opt/freeswitch/bin/fs_cli -p $(xmlstarlet sel -t -m 'configuration/settings/param[@name="password"]' -v @value /opt/freeswitch/etc/freeswitch/autoload_configs/event_socket.conf.xml)
that will let you type fs_clibbb
at the command prompt to get into FreeSWITCH console.
Echo test hangs upgrading BigBlueButton 2.2
The install scripts now change the default CLI password for FreeSWITCH and the other parts of BigBlueButton need to use this new password. For a new installation, the install scripts will automatically set this new password.
If you upgrade using bbb-install.sh, the script will update the FreeSWITCH password using sudo bbb-conf --setip <hostname>
.
If you upgraded using manual steps, be sure to do ao sudo bbb-conf --setip <hostname>
to sync all the FreeSWITCH passwords.
FreeSWITCH using default stun server
For many years, in BigBlueButton’s FreeSWITCH configuration file /opt/freeswitch/etc/freeswitch/vars.xml
, the default value for external_rtp_ip
was stun.freeswitch.org
<X-PRE-PROCESS cmd="set" data="external_rtp_ip=stun:stun.freeswitch.org"/>
However, this is not a reliable choice for stun server. Recommend either changing it to your servers external IP address or setup your own stun/turn server. For example, if your server has an external IP at 234.32.3.3
<X-PRE-PROCESS cmd="set" data="external_rtp_ip=234.32.3.3"/>
You can add a line in /etc/bigbluebutton/bbb-conf/apply-conf.sh
to always apply this value even if the FreeSWITCH package upgrades.
xmlstarlet edit --inplace --update '//X-PRE-PROCESS[@cmd="set" and starts-with(@data, "external_rtp_ip=")]/@data' --value "external_rtp_ip=234.32.3.3" /opt/freeswitch/conf/vars.xml
Note: If your server has an internal/exteral IP address, such as on AWS EC2 server, be sure to set it to the external IP address configure a dummy network interface card (see Update FreeSWITCH).
HTML5 Server
bbb-html5 fails to start with a SETSCHEDULER error
As of 2.2.31, the systemd unit file for bbb-html5.service
now contains the following lines
CPUSchedulingPolicy=fifo
Nice=19
You can override this with creating the following directory
mkdir /etc/systemd/system/bbb-html5.service.d
and creating /etc/systemd/system/bbb-html5.service.d/override.conf
with the following contents
[Service]
CPUSchedulingPolicy=other
Nice=-10
Then do systemctl daemon-reload
and restart BigBlueButton.
Installation and packages
The following packages have unmet dependencies
When installing the latest build of BigBlueButton, the package bbb-conf
now uses yq
to manage YAML files.
You need to add the repository ppa:rmescandon/yq
to your server. For steps on how to do this, see Update your server in the BigBlueButton 2.2 install guide.
Alternatively, if you have not made any customizations to BigBlueButton (outside of using bbb-conf
), you can use bbb-install.sh to install/upgrade to the latest version (the bbb-install.sh
script will automatically install the repository for yq
).
No Symbolic Link
If you’ve installed/uninstalled BigBlueButton packages, you may get a No Symbolic Link
warning from bbb-conf --check
:
** Potential Problems **
nginx (conf): no symbolic link in /etc/nginx/sites-enabled for bigbluebutton
To solve this, add a symbolic link to nginx for the BigBlueButton site:
$ sudo ln -s /etc/nginx/sites-available/bigbluebutton /etc/nginx/sites-enabled/bigbluebutton
$ sudo /etc/init.d/nginx restart
Package install fails with sed error
Some of the BigBlueButton packages use sed
scripts to extract contents from configuration files. If the file does not exist at the time of the script’s execution, or the sed script matches multiple entries in a file (such as when a configuration line is commented out), you can see an error such as
Setting up bbb-client (1:2.0.0-374) ...
sed: -e expression #1, char 42: unterminated `s' command
dpkg: error processing package bbb-client (--configure):
subprocess installed post-installation script returned error exit status 1
dpkg: dependency problems prevent configuration of bbb-config:
bbb-config depends on bbb-client; however:
Package bbb-client is not configured yet.
dpkg: error processing package bbb-config (--configure):
dependency problems - leaving unconfigured
Errors were encountered while processing:
bbb-client
bbb-config
E: Sub-process /usr/bin/dpkg returned an error code (1)
In the above example, the /var/lib/dpkg/info/bbb-client.postinst
failed to finish. To debug, edit this file and change the first line to read
and run
$ sudo apt-get install -f
You should now see each command in bbb-conf.postinst
as it executes upto the line in which the error occurs. Post this output to https://groups.google.com/forum/#!forum/bigbluebutton-setup
for help in resolving the issue.
Errors with packages
Some hosting providers do not provide a complete /etc/apt/source.list
. If you are finding your are unable to install a package, try replacing your /etc/apt/sources.list
with the following
deb https://archive.ubuntu.com/ubuntu xenial main restricted universe multiverse
deb https://archive.ubuntu.com/ubuntu xenial-updates main restricted universe multiverse
deb https://security.ubuntu.com/ubuntu xenial-security main restricted universe multiverse
then do
and try installing BigBlueButton again from the beginning.
WebRTC errors (1001, 1002,…)
WebRTC offers very high-quality audio. However, the user’s network settings (or firewall) may not allow WebRTC to connect (or keep connected).
Here are the following lists the possible WebRTC error messages that a user may encounter:
- 1001: WebSocket disconnected — The WebSocket had connected successfully and has now disconnected. Possible Causes:
- Loss of internet connection
- Nginx restarting can cause this
- 1002: Could not make a WebSocket connection — The initial WebSocket connection was unsuccessful. Possible Causes:
- Firewall blocking ws protocol
- Server is down or improperly configured
- See potential solution here.
- 1003: Browser version not supported — Browser doesn’t implement the necessary WebRTC API methods. Possible Causes:
- Out of date browser
- 1004: Failure on call — The call was attempted, but failed. Possible Causes:
- For a full list of causes refer here
- There are 24 different causes so I don’t really want to list all of them
- Solution for this issue outlined here.
- 1005: Call ended unexpectedly — The call was successful, but ended without user requesting to end the session. Possible Causes:
- Unknown
- 1006: Call timed out — The library took too long to try and connect the call. Possible Causes:
- Previously caused by Firefox 33-beta on Mac. We’ve been unable to reproduce since release of FireFox 34
- 1007: ICE negotiation failed — The browser and FreeSWITCH try to negotiate ports to use to stream the media and that negotiation failed. Possible Causes:
- NAT is blocking the connection
- Firewall is blocking the UDP connection/ports
- 1008: Call transfer failed — A timeout while waiting for FreeSWITCH to transfer from the echo test to the real conference. This might be caused by a misconfiguration in FreeSWITCH, or there might be a media error and the DTMF command to transfer didn’t go through (In this case, the voice in the echo test probably didn’t work either.)
- 1009: Could not fetch STUN/TURN server information — This indicates either a BigBlueButton bug (or you’re using an unsupported new client/old server combination), but could also happen due to a network interruption.
- 1010: ICE negotiation timeout — After the call is accepted the client’s browser and the server try and negotiate a path for the audio data. In some network setups this negotiation takes an abnormally long time to fail and this timeout is set to avoid the client getting stuck.
- 1020: Media cloud could not reach the server — See how to solve this here.
Networking
Server running behind NAT
The following issue might be helpful in debugging if you run into errors and your server is behind NAT.
Could not get your microphone for a WebRTC call
Chrome requires (As of Chrome 47) that to access the user’s microphone for WebRTC your site must be serving pages via HTTPS (that is, nginx is configured with a SSL certificate).
If the user attempts to share their microphone and your BigBlueButton sever is not configured for SSL, Chrome will block access and BigBlueButton will report the following error
WebRTC Audio Failure: Detected the following WebRTC issue: Could not get your microphone for a WebRTC call. Do you want to try flash instead?
To enable Chrome to access the user’s microphone, see Configure HTTPS on BigBlueButton.
The browser is not supported
When you attempt to join a BigBlueButton session, the client looks for supported browsers before fully loading. The client gets its list of supported browsers from /usr/share/meteor/bundle/programs/server/assets/app/config/settings.yml
. You can see the list of supported browsers at the bottom. For example,
- browser: mobileSafari
version:
- 11
- 1
states that Mobile Safari
version 11.1 or later is supported (notice the first letter is lower case and concatenated with the remainder of the browser name).
To add a browser to the list, first find your browser’s useragent. You could use a tool like https://wtools.io/check-my-user-agent as well. For example, with the Vivaldi browser you might see
Vivaldi 2.8.1664 / Linux 0.0.0
Next, to add this as a supported browser, append to settings.yml
- browser: vivaldi
version:
- 2
- 8
save the updated settings.yml
file, and then restart your BigBlueButton server with sudo bbb-conf --restart
. Note any browser you add must support WebRTC libraries (not all do), so be sure to check it first with https://test.webrtc.org/.
Tomcat shows “Cannot assign requested address on startup”
If your server has multiple IP addresses, Tomcat might not pick the right address to bind. This could throw an error on installation when tomcat is attempting to install.
Check /var/log/tomcat7/catalina.out
for the following error
Jan 30, 2018 9:17:37 AM org.apache.catalina.core.StandardServer await
SEVERE: StandardServer.await: create[localhost:8005]:
java.net.BindException: Cannot assign requested address (Bind failed)
at java.net.PlainSocketImpl.socketBind(Native Method)
If you see this, first ensure that there isn’t another copy of tomcat running by doing ps -aef | grep tomcat7
. If you do see another copy running, try killing it and then restarting tomcat.
If you still see the same error in catalina.out
, then /etc/tomcat7/server.xml
and change
<Server port="8005" shutdown="SHUTDOWN">
<Server address="0.0.0.0" port="8005" shutdown="SHUTDOWN">
Restart tomcat7 again and it should start normally.
nginx not running
The common reasons for nginx not running are inability to bind to port 80 and configuration errors. To check if port 80 is already in use, use
to see if any process is currently bound to port 80. If so, check to see if another web server is installed. If so, then stop the web server and try to restart nginx. One of the server requirements before you install BigBlueButton is that port 80 is not in use by another application (such as Apache). For details on why this is a requirements, see We recommend running BigBlueButton on port 80.
If port 80 is free, check if your nginx configuration file has errors. Try a restart of nginx
$ sudo systemctl restart nginx
and look for the output of
[ OK ]
If you see [ Fail ]
, then your nginx configuration files might have a syntax error. Check the syntax of the nginx configuration files using the command
and see if it reports any errors. You can also check the error.log file for nginx to see what errors it gives on startup
$ sudo cat /var/log/nginx/error.log
“Welcome to nginx”
During installation of BigBlueButton the packaging scripts attempt to assign the correct IP address during setup. However, if the IP address changes (such as when rebooting a VM), or the first IP address was not the correct IP address for the server, you may see a “Welcome to nginx” page.
To reconfigure the BigBlueButton to use the correct IP address or hostname, see BigBlueButton does not load.
bbb-web
404 Error when loading the client
BigBlueButton 2.2 requires Java 8 as the default Java. Recently, some Ubuntu 16.04 distributions have switched the default version of Java to Java 9 (or later).
Use java -version
to check that the default version of 1.8.0
.
~/dev$ java -version
openjdk version "1.8.0_242"
OpenJDK Runtime Environment (build 1.8.0_242-8u242-b08-0ubuntu3~16.04-b08)
OpenJDK 64-Bit Server VM (build 25.242-b08, mixed mode)
If not, do the following
sudo apt-get install openjdk-8-jre
update-alternatives --config java # Choose java-8 as default
Run java -version
and confirm it now shows the default as 1.8.0
, and then restart BigBlueButton with sudo bbb-conf --restart
Blank presentation area on create or upload
If you join a meeting and the default presentation is not visible or your uploaded presentation doesn’t display, then this is most likely due to a permissions error. To solve this, ensure that /var/bigbluebutton/
is owned by bigbluebutton
rather than root
or any other account. See this issue for more explanation.
Unable to create presentation
If you see the following error in /var/log/bigbluebutton/bbb-web.log
failed to map segment from shared object: Operation not permitted
use the command mount
to check that the /tmp
director does not have noexec
permissions (which would prevent executables from running in the /tmp directory). If you see noexec
for /tmp
, you need to remount the directory with permissions that enable processes (such as the slide conversion) to execute in the /tmp
directory.
Too many open files
On servers with greater than 8 CPU cores, bbb-web
log (/var/log/bigbluebutton/bbb-web.log
) may throw an error of Too many open files
Caused by: java.io.IOException: Too many open files
To resolve, create an override file that increases the number of open files for bbb-web
$ sudo mkdir -p /etc/systemd/system/bbb-web.service.d/
$ sudo cat > /etc/systemd/system/bbb-web.service.d/override.conf << HERE
[Service]
LimitNOFILE=
LimitNOFILE=8192
HERE
$ sudo systemctl daemon-reload
bbb-web takes a long time to startup
bbb-web
relies on the SecureRandom class (which uses available entropy) to provide random values for its session IDs. On a virtualized server, however, the available entropy can run low and cause bbb-web to block for a long period before it finishes it’s startup sequence (see Slow startup of tomcat).
To provide bbb-web
with more entropy, you can install haveged
$ sudo apt-get install haveged
For more information see How to Setup Additional Entropy for Cloud Servers Using Haveged.
Error installing bbb-web
If you get the following error during upgrade to BigBlueButton
Unpacking bbb-web (1:2.2.0-67) over (1:2.2.0-66) ...
dpkg: error processing archive /var/cache/apt/archives/bbb-web_1%3a2.2.0-67_amd64.deb (--unpack):
trying to overwrite '/etc/bigbluebutton/nginx/web', which is also in package bbb-client 1:2.2.0-28
dpkg-deb: error: subprocess paste was killed by signal (Broken pipe)
Errors were encountered while processing:
/var/cache/apt/archives/bbb-web_1%3a2.2.0-67_amd64.deb
E: Sub-process /usr/bin/dpkg returned an error code (1)```
Then first uninstall bbb-client
$ sudo apt-get purge bbb-client
and try installing BigBlueButton again.
Other errors
Root partition too small
If the root partition on your BigBlueButton server is too small (for disk space requirements see Before you install), we recommend moving the following directories to an external partition with sufficient disk space.
BigBlueButton processing and storage of recordings:
Location of all media directories on disk available here.
To make the move, we’ll first stop BigBlueButton, then move the above directories to a new location on the external partition, create symbolic links from the original locations to the new locations, and restart BigBlueButton.
In the following example, the external partition is mounted on /mnt
.
$ sudo bbb-conf --stop
$ sudo mv /var/freeswitch/meetings /mnt
$ sudo ln -s /mnt/recordings /var/freeswitch/meetings
$ sudo mv /usr/share/red5/webapps/video/streams /mnt
$ sudo ln -s /mnt/streams /usr/share/red5/webapps/video/streams
$ sudo /var/bigbluebutton /mnt
$ sudo ln -s /mnt/bigbluebutton /var/bigbluebutton
$ sudo bbb-conf --start
BigBlueButton does not load
If your has changed it’s network connection (such as on reboot), you can clean most of BigBlueButton’s configuration files with the following steps.
$ sudo bbb-conf --setip <ip_address_or_hostname>
$ sudo bbb-conf --clean
$ sudo bbb-conf --check
For more information see bbb-conf options.
Running within an LXD Container
LXD is a very powerful container system for Ubuntu lets you run full Ubuntu 16.04 servers within a container. Because you can easily clone and snapshot LXD containers, they are ideal for development and testing of BigBlueButton.
However, if you install BigBlueButton within an LXD container, you will get the following error from sudo bbb-conf --check
** Potential problems described below **
#
# Error: Unable to connect to the FreeSWITCH Event Socket Layer on port 8021
You’ll also get an error from starting FreeSWITCH with bbb-conf --restart
. When you try systemctl status freeswitch.service
, you’ll see an error with SETSCHEDULER.
$ sudo systemctl status freeswitch.service
● freeswitch.service - freeswitch
Loaded: loaded (/lib/systemd/system/freeswitch.service; enabled; vendor preset: enabled)
Active: inactive (dead) (Result: exit-code) since Wed 2017-04-26 16:34:24 UTC; 23h ago
Process: 7038 ExecStart=/opt/freeswitch/bin/freeswitch -u freeswitch -g daemon -ncwait $DAEMON_OPTS (code=exited, status=214/SETSCHEDULER)
Apr 26 16:34:24 big systemd[1]: Failed to start freeswitch.
Apr 26 16:34:24 big systemd[1]: freeswitch.service: Unit entered failed state.
Apr 26 16:34:24 big systemd[1]: freeswitch.service: Failed with result 'exit-code'.
Apr 26 16:34:24 big systemd[1]: freeswitch.service: Service hold-off time over, scheduling restart.
Apr 26 16:34:24 big systemd[1]: Stopped freeswitch.
Apr 26 16:34:24 big systemd[1]: freeswitch.service: Start request repeated too quickly.
Apr 26 16:34:24 big systemd[1]: Failed to start freeswitch.
This error occurs because the default systemd unit script for FreeSWITCH tries to run with permissions not available to the LXD container. To run FreeSWITCH within an LXD container, edit /lib/systemd/system/freeswitch.service
and replace with the following
[Unit]
Description=freeswitch
After=syslog.target network.target local-fs.target
[Service]
Type=forking
PIDFile=/opt/freeswitch/var/run/freeswitch/freeswitch.pid
Environment="DAEMON_OPTS=-nonat"
EnvironmentFile=-/etc/default/freeswitch
ExecStart=/opt/freeswitch/bin/freeswitch -u freeswitch -g daemon -ncwait $DAEMON_OPTS
TimeoutSec=45s
Restart=always
WorkingDirectory=/opt/freeswitch
User=freeswitch
Group=daemon
[Install]
WantedBy=multi-user.target
Then enter the following commands to load the new unit file and restart BigBlueButton.
$ sudo systemctl daemon-reload
$ sudo bbb-conf --restart
You can run BigBlueButton within a LXD container.
Unable to connect to redis
The packages bbb-apps-akka
, bbb-fsesl-akka
, and bbb-transcode-akka
are packaged by sbt, but they need to have redis-server running before they startup. If sudo bbb-conf --debug
shows redis connection errors
Sep 22 15:32:12 sv21 bbb-apps-akka[7804]: Exception in thread "main" io.lettuce.core.RedisConnectionException: Unable to connect to 127.0.0.1:6379
Sep 22 15:32:12 sv21 bbb-apps-akka[7804]: #011at io.lettuce.core.RedisConnectionException.create(RedisConnectionException.java:78)
Sep 22 15:32:12 sv21 bbb-apps-akka[7804]: #011at io.lettuce.core.RedisConnectionException.create(RedisConnectionException.java:56)
Sep 22 15:32:12 sv21 bbb-apps-akka[7804]: Caused by: io.netty.channel.AbstractChannel$AnnotatedConnectException: Connection refused: /127.0.0.1:6379
Sep 22 15:32:12 sv21 bbb-apps-akka[7804]: Caused by: java.net.ConnectException: Connection refused
Sep 22 15:32:12 sv21 bbb-fsesl-akka[7893]: Exception in thread "main" io.lettuce.core.RedisConnectionException: Unable to connect to 127.0.0.1:6379
Sep 22 15:32:12 sv21 bbb-fsesl-akka[7893]: #011at io.lettuce.core.RedisConnectionException.create(RedisConnectionException.java:78)
Sep 22 15:32:12 sv21 bbb-fsesl-akka[7893]: #011at io.lettuce.core.RedisConnectionException.create(RedisConnectionException.java:56)
Sep 22 15:32:12 sv21 bbb-fsesl-akka[7893]: Caused by: io.netty.channel.AbstractChannel$AnnotatedConnectException: Connection refused: /127.0.0.1:6379
Sep 22 15:32:12 sv21 bbb-fsesl-akka[7893]: Caused by: java.net.ConnectException: Connection refused
Sep 22 15:32:13 sv21 bbb-transcode-akka[8001]: Exception in thread "main" io.lettuce.core.RedisConnectionException: Unable to connect to 127.0.0.1:6379
Sep 22 15:32:13 sv21 bbb-transcode-akka[8001]: #011at io.lettuce.core.RedisConnectionException.create(RedisConnectionException.java:78)
Sep 22 15:32:13 sv21 bbb-transcode-akka[8001]: #011at io.lettuce.core.RedisConnectionException.create(RedisConnectionException.java:56)
Sep 22 15:32:13 sv21 bbb-transcode-akka[8001]: Caused by: io.netty.channel.AbstractChannel$AnnotatedConnectException: Connection refused: /127.0.0.1:6379
Sep 22 15:32:13 sv21 bbb-transcode-akka[8001]: Caused by: java.net.ConnectException: Connection refused
you can add overrides for these three packages to ensure they start after redis.server. Run the following script.
#!/bin/bash
mkdir -p /etc/systemd/system/bbb-apps-akka.service.d
cat > /etc/systemd/system/bbb-apps-akka.service.d/override.conf <<HERE
[Unit]
Requires=redis-server.service
After=redis-server.service
HERE
mkdir -p /etc/systemd/system/bbb-fsesl-akka.service.d
cat > /etc/systemd/system/bbb-fsesl-akka.service.d/override.conf <<HERE
[Unit]
Requires=redis-server.service
After=redis-server.service
HERE
mkdir -p /etc/systemd/system/bbb-transcode-akka.service.d
cat > /etc/systemd/system/bbb-transcode-akka.service.d/override.conf <<HERE
[Unit]
Requires=redis-server.service
After=redis-server.service
HERE
The script bbb-install
now creates these overrides by default.
500 Internal Server Error
It is most likely an error on GreenLight. Check the log file according to Troubleshooting Greenlight.
If this error occurrs on just a small number of PCs accessing a BigBlueButton server within a LAN through a proxy server and you find the description “Error::Unsafe Host Error (x.x.x.x is not a safe host)” (where x.x.x.x is an IP address) in the log file, check if the “Don’t use the proxy server for local (intranet) addresses” (in the Windows proxy setting) is ticked.
Legacy errors
Conference not found errors
The command sudo bbb-conf --debug
searches through the red5, tomcat7, and nginx logs looking for errors and exceptions. However, the messages such as
-- ERRORS found in /usr/share/red5/log/* --
/usr/share/red5/log/bigbluebutton.log:2015-05-02 13:50:37,681-04:00 [pool-17-thread-1] ERROR o.b.w.v.f.a.PopulateRoomCommand - Not XML: [Conference 78505 not found]
are innocuous and can be ignored.
1007: Verify that any firewalls are not blocking UDP traffic, per Bongo’s article about firewall ports. If you’re using a VPN, try connecting to the meeting without it. Then, refresh the browser and try again.
Then, How do I fix Genshin download error? Right-click on the Genshin Impact executable file, then select Properties. Click on the Compatibility tab, and tick the box that says Run this program as an administrator. Restart the game.
Why does my Genshin Impact Download keep failing? One of the first things to try is to update your game drivers and make sure these are working properly. If your drivers are not fully up to date, then they might not be communicating properly with your updated game. So if you have an NVIDIA graphics card, you can go here. Or if you have an AMD graphics card, it’s here.
Similarly, What is error code Genshin Impact?
The Genshin Impact Error Code 9107 and 9908 are error codes that you don’t need to worry about. They occur when a new update for the game is available and the servers are down due to that. There are a number of other error codes that occur due to the same reason.
What does ICE error mean?
ICE Error 1007 means either your firewall is preventing the connection for your virtual classroom or NAT is blocking the connection. If you are using a VPN to connect to the network try turning it off and then connecting if that fails check for firewall settings for UDP traffic.
What is an ice error? When a call is connected using the Twilio Voice JavaScript SDK (formerly « Twilio Client »), the client and server exchange periodic messages verifying that the call is alive. If these message exchanges fail, it could indicate a problem with the connection to Twilio.
How do you fix an ice connection? ICE Checking Discord – What it means and how to fix this
- Restart everything.
- Check for internet outages.
- Check if your firewall/ antivirus is the cause of ICE checking on Discord.
- Use a VPN with an UDP.
- Check your network admin.
- Change the voice region.
- Contact Discord support.
How do I install BigBlueButton? Grab a cup of your favorite beverage and let’s begin!
- Update your server. First, make sure your server is up-to-date with latest packages and security updates. …
- Install apt-get key for BigBlueButton repository. …
- Back up custom configurations. …
- Install BigBlueButton. …
- Install API demos (optional) …
- Restart your server. …
- Next steps.
What is ice twilio?
Interactive Connectivity Establishment (ICE) is a blanket standard that describes how to coordinate STUN and TURN to make a connection between hosts. Twilio’s Network Traversal Service implements STUN and TURN for ICE-compatible clients, such as browsers supporting the WebRTC standard.
How do I fix big Bluebutton? —-Verify that the BigBlueButton meeting link has been granted permission to use the microphone or camera by the browser. If not, you must grant permission and re-join the audio or share the camera. —- If it still doesn’t work, try switching browsers, either from Chrome to Firefox or from Firefox to Chrome.
What is incompatible SDP?
This error apparently means that there is an issue with webrtc querying your ip address. If you have uBlock origin or Privacy Badger, check there settings and make sure the option to block sharing your local ip is not set.
What does ice checking mean? ICE checking means your network is blocking Discord from connecting to voice server.
Is BigBlueButton better than zoom?
BigBlueButton and Zoom both meet the requirements of our reviewers at a comparable rate. When comparing quality of ongoing product support, BigBlueButton and Zoom provide similar levels of assistance. For feature updates and roadmaps, our reviewers preferred the direction of BigBlueButton over Zoom.
Which is better Jitsi or BigBlueButton?
BigBlueButton is significantly superior to Jitsi when it comes to the integration with the online learning platform.
Do you have to pay for BigBlueButton? BigBlueButton is open-source software, meaning it is free for both personal and commercial use.
What is TURN STUN? TURN is a relay — both clients send data to the TURN server, which forwards it to the other client. STUN is not a relay — the STUN server helps to « make the connection » between the clients (by discovering and exchanging their external host:port pairs), after which they send data to each other directly.
What is a STUN server used for?
The STUN server enables clients to find out their public IP address, NAT type, and the Internet-facing port associated by the NAT device with a particular local port. This information is used to set up a UDP communication session between the client and the VoIP provider to establish a call.
What is TURN SIP? TURN is an extension for STUN-bis protocol to facilitate NAT traversal when one or both endpoints are behind NAT. With TURN, media traffic for the session will have to go to a relay server.
Can’t create a web socket connection?
1002: Could not make a WebSocket connection – The initial WebSocket connection was unsuccessful. Possible Causes: Firewall blocking ws protocol. Server is down or improperly configured.
Why can’t I see video on BigBlueButton? This is caused by your browser’s security settings blocking access to the tool. You have to go through the same steps that you go through when accessing videos or other external content, as the browser may be blocking it so that it looks like a blank screen.
How do you use BigBlueButton?
How do you fix ice Error 1004? Steps to reproduce the behavior:
- Join with microphone a couple of times.
- Sometimes you get 1004 (especially if you don’t use a different STUN server from bbb’s default)
- If you try joining again (one or a couple of times again) you will sucessfully connect to audio.
What is RTC disconnected?
What does “RTC Connecting” mean? First thing first, a little info about the “RTC Connecting” error. As Discord relies on the WebRTC protocol to function properly, the “RTC Connecting” error is then a network-related problem. It simply means Discord is experiencing issues when trying to connect to a remote server.
How do you fix RTC Discord?
- Fix 1: Restart Discord.
- Fix 2: Restart your PC/laptop.
- Fix 3: Check Network Settings.
- Fix 4: Update Discord Client.
- Fix 5: Choose a different server region.
- Fix 6: Use VPN.
- Fix 7: Disable IPv6.
- Fix 8: Disable Quality of Service (QoS) on Discord.
How do you fix no route Discord?
Once done, proceed with the solutions below.
- Method 1: Restart Modem/Router And Computer. …
- Method 2: Uninstall 3rd Party Firewall or Whitelist Discord (If Applicable) …
- Method 5: Change the Server’s Voice Region. …
- Method 6: Disable QoS From Voice & Video Settings. …
- Method 7: Flushing the DNS Setting.
Who uses BigBlueButton? As a result, BigBlueButton has been deeply embedded into major learning management systems used world-wide. It has been adopted by Canvas, Moodle Cloud, Sakai, Jenzabar, D2L, and Schoology as their default virtual classroom. Together, these vendors comprise more than 75% of the world-wide market for LMS systems.
How many users can Bigblue handle? How many simultaneous users can BigBlueButton support. As a rule of thumb, if your BigBlueButton server meets the minimum requirements, the server should be able to support 150 simultaneous users, such as 3 simultaneous sessions of 50 users, 6 x 25, etc.
What is Zoom BigBlueButton?
The primary purpose of Zoom is online meetings, whereas the primary purpose of BigBlueButton is online teaching. Hence BigBlueButton focuses on providing features for students engagement during the class and analytics from the classes to assess and evaluate students.
Don’t forget to share this post !
Содержание
- Error 1007 ICE. Failed joining audio conf. #8418
- Comments
- ikaikai commented Dec 12, 2019 •
- Bigbluebutton не работает микрофон 1007
- Introduction
- Recording
- Recording not processing after upgrading
- Kurento
- WebRTC video not working with Kurento
- Unit kurento-media-server.service is masked
- Unable to share webcam
- FreeSWITCH
- Configure BigBluebutton/FreeSWITCH to support IPV6
- FreeSWITCH fails to bind to IPV4
- Forward calls from an Asterisk server to FreeSWITCH
- Changes to your Asterisk server
- Changes to your BigBlueButton/FreeSWITCH server
- FreeSWITCH fails to bind to port 8021
- FreeSWITCH fails to start with a SETSCHEDULER error
- Users not able to join Listen Only mode
- Unable to connect using fs_cli
- Echo test hangs upgrading BigBlueButton 2.2
- FreeSWITCH using default stun server
- HTML5 Server
- bbb-html5 fails to start with a SETSCHEDULER error
- Installation and packages
- The following packages have unmet dependencies
- No Symbolic Link
- Package install fails with sed error
- Errors with packages
- WebRTC errors (1001, 1002,…)
- Networking
- Server running behind NAT
- Could not get your microphone for a WebRTC call
- The browser is not supported
- Tomcat shows “Cannot assign requested address on startup”
- nginx not running
- “Welcome to nginx”
- bbb-web
- 404 Error when loading the client
- Blank presentation area on create or upload
- Unable to create presentation
- Too many open files
- bbb-web takes a long time to startup
- Error installing bbb-web
- Other errors
- Root partition too small
- BigBlueButton does not load
- Running within an LXD Container
- Unable to connect to redis
- 500 Internal Server Error
- Legacy errors
- Conference not found errors
Error 1007 ICE. Failed joining audio conf. #8418
[11:41:24:0464] INFO: clientLogger: Audio call session accepted InviteClientContext.p (https://class.demos.cloud/html5client/23acf17a7f66feccb643e681b6de9fd0361d4c3a.js?meteor_js_resource=true:125:1167498)
sip.js?v=815:1272 SIP.EventEmitter#off is deprecated and may be removed in future SIP.js versions.
Please use removeListener or removeAllListeners instead.
See here for more details:
http://nodejs.org/api/events.html#events_emitter_removelistener_event_listener
off @ sip.js?v=815:1272
p @ 23acf17a7f66feccb643e681b6de9fd0361d4c3a.js?meteor_js_resource=true:125
EventEmitter.emit @ sip.js?v=815:115
accepted @ sip.js?v=815:5641
onSuccess @ sip.js?v=815:6854
(anonymous) @ 23acf17a7f66feccb643e681b6de9fd0361d4c3a.js?meteor_js_resource=true:1
Promise.then (async)
n.then @ 23acf17a7f66feccb643e681b6de9fd0361d4c3a.js?meteor_js_resource=true:21
receiveInviteResponse @ sip.js?v=815:6835
receiveResponse @ sip.js?v=815:3784
InviteClientTransaction.receiveResponse @ sip.js?v=815:7835
onMessage @ sip.js?v=815:8569
ws.onmessage @ sip.js?v=815:8427
sip.js?v=815:2900 Thu Dec 12 2019 11:41:29 GMT+0800 (中国标准时间) | sip.invitecontext.mediahandler | RTCIceChecking Timeout Triggered after 5000 milliseconds
23acf17a7f66feccb643e681b6de9fd0361d4c3a.js?meteor_js_resource=true:9 [11:41:39:0496] ERROR: clientLogger: ICE connection failed before success MediaHandler.g (https://class.demos.cloud/html5client/23acf17a7f66feccb643e681b6de9fd0361d4c3a.js?meteor_js_resource=true:125:1168708)
sip.js?v=815:1272 SIP.EventEmitter#off is deprecated and may be removed in future SIP.js versions.
Please use removeListener or removeAllListeners instead.
See here for more details:
http://nodejs.org/api/events.html#events_emitter_removelistener_event_listener
off @ sip.js?v=815:1272
(anonymous) @ 23acf17a7f66feccb643e681b6de9fd0361d4c3a.js?meteor_js_resource=true:125
g @ 23acf17a7f66feccb643e681b6de9fd0361d4c3a.js?meteor_js_resource=true:125
EventEmitter.emit @ sip.js?v=815:112
peerConnection.oniceconnectionstatechange @ sip.js?v=815:11580
sip.js?v=815:1272 SIP.EventEmitter#off is deprecated and may be removed in future SIP.js versions.
Please use removeListener or removeAllListeners instead.
See here for more details:
http://nodejs.org/api/events.html#events_emitter_removelistener_event_listener
off @ sip.js?v=815:1272
(anonymous) @ 23acf17a7f66feccb643e681b6de9fd0361d4c3a.js?meteor_js_resource=true:125
(anonymous) @ 23acf17a7f66feccb643e681b6de9fd0361d4c3a.js?meteor_js_resource=true:125
exitAudio @ 23acf17a7f66feccb643e681b6de9fd0361d4c3a.js?meteor_js_resource=true:125
d @ 23acf17a7f66feccb643e681b6de9fd0361d4c3a.js?meteor_js_resource=true:125
l @ 23acf17a7f66feccb643e681b6de9fd0361d4c3a.js?meteor_js_resource=true:125
g @ 23acf17a7f66feccb643e681b6de9fd0361d4c3a.js?meteor_js_resource=true:125
EventEmitter.emit @ sip.js?v=815:112
peerConnection.oniceconnectionstatechange @ sip.js?v=815:11580
sip.js?v=815:2900 Thu Dec 12 2019 11:41:39 GMT+0800 (中国标准时间) | sip.inviteclientcontext | terminating Session
sip.js?v=815:2900 Thu Dec 12 2019 11:41:39 GMT+0800 (中国标准时间) | sip.transport | sending WebSocket message:
BYE sip:919667998@44.228.244.151:5060;transport=udp SIP/2.0
Via: SIP/2.0/WSS 33jndlprjgjs.invalid;branch=z9hG4bK5167729
Max-Forwards: 70
To: sip:919667998@class.demos.cloud;tag=75vDUmHFpe78F
From: «w_5sia44tmkbqy_9-bbbID-Tiankai» sip:w_5sia44tmkbqy_9-bbbID-Tiankai@class.demos.cloud;tag=86ejcjj0gc
Call-ID: 6084n2qs56sqd3loqlrh
CSeq: 5768 BYE
Supported: outbound
User-Agent: BigBlueButton
Content-Length: 0
sip.js?v=815:2900 Thu Dec 12 2019 11:41:39 GMT+0800 (中国标准时间) | sip.inviteclientcontext | closing INVITE session 6084n2qs56sqd3loqlrhs31fkqc5q2
sip.js?v=815:2900 Thu Dec 12 2019 11:41:39 GMT+0800 (中国标准时间) | sip.invitecontext.mediahandler | closing PeerConnection
The text was updated successfully, but these errors were encountered:
Источник
Bigbluebutton не работает микрофон 1007
If you encountered any problems with the installation of BigBlueButton, this section covers how to resolve many of the common issues.
If you have not already done so, read through the getting help section.
Introduction
Start here: run sudo bbb-conf —check
We’ve built in a BigBlueButton configuration utility, called bbb-conf , to help you configure your BigBlueButton server and troubleshoot your setup if something doesn’t work right.
If you think something isn’t working correctly, the first step is enter the following command.
This will check your setup to ensure the correct processes are running, the BigBlueButton components have correctly started, and look for common configuration problems that might prevent BigBlueButton from working properly.
If you see text after the line ** Potential problems described below ** , then it may be warnings (which you can ignore if you’ve change settings) or errors with the setup.
Recording
Recording not processing after upgrading
If after updating from BigBlueButton 2.0 to BigBlueButton 2.2 your recordings are not processing, and if you are seeing Permission denied errors in /var/log/bigbluebutton/bbb-rap-worker.log
You can resolve the errors with the following command
and then rebuild the recordings that had not yet processed. You can see the list of recordings with
and then to rebuild a recording, use sudo bbb-record —rebuild , as in
Kurento
WebRTC video not working with Kurento
Check the value for /proc/sys/net/ipv4/tcp_syncookies that it contains the value 1 .
If not, edit /etc/sysctl.conf and set the value for net.ipv4.tcp_syncookies to 1 .
Save the file and restart.
Unit kurento-media-server.service is masked
If sudo bbb-conf —check returns the warning
You can unmask Kurento using the command
The default installation of BigBlueButton should work in most netowrk configurations; however, if your users ae behind a restrictive network that blocks outgoing UDP connections, they may encounter 1020 errors (media unable to reach server).
If you get reports of these errors, setup TURN server to help their browsers send WebRTC audio and video streams via TCP over port 443 to the TURN server. The TURN server will then relay the media to your BigBlueButton server.
FreeSWITCH
Configure BigBluebutton/FreeSWITCH to support IPV6
The HTML5 client now enables users on mobile devices to connect to a BigBlueButton server. However, on some cellular networks iOS devices only receive an IPV6 address.
To enable BigBlueButton (FreeSWITCH) to accept incoming web socket connections on IPV6, the BigBlueButton server must have an IPV6 address. You also need to make the following changes to the server.
First, create the file /etc/nginx/conf.d/bigbluebutton_sip_addr_map.conf with this content:
replacing the ip addresses 192.0.2.1 with the system’s external IPV4 addresses, and replace 2001:db8::1 with the system’s external IPV6 address. Next, edit the file /etc/bigbluebutton/nginx/sip.nginx to have the following:
Next, ensure all of the following params are present in freeswitch’s sip_profiles/external-ipv6.xml :
- ws-binding
- wss-binding
- rtcp-audio-interval-msec
- rtcp-video-interval-msec
- dtmf-type
- liberal-dtmf
- enable-3pcc
If any are missing, copy them from sip_profiles/external.xml , then restart BigBlueButton ( sudo bbb-conf —restart ).
FreeSWITCH fails to bind to IPV4
In rare occasions after shutdown/restart, the FreeSWITCH database can get corrupted. This will cause FreeSWITCH to have problems binding to IPV4 address (you may see error 1006 when users try to connect).
To check, look in /opt/freeswitch/var/log/freeswitch/freeswitch.log for errors related to loading the database.
If you see these errors, clear the FreeSWITCH database (BigBlueButton doesn’t use the database and FreeSWITCH will recreate it on startup).
Forward calls from an Asterisk server to FreeSWITCH
Let’s assume the following:
Changes to your Asterisk server
Setup your gateway to BigBlueButton/FreeSWITCH. in /etc/asterisk/sip.conf add
Route the calls to the gateway. In /etc/asterisk/extensions.conf context where your calls are being handled, forward the calls to the gateway. Here, when someone dials 85001, the call is sent to the fs-gw defined above.
Changes to your BigBlueButton/FreeSWITCH server
In BigBlueButton/FreeSWITCH, make the following changes:
Lock down so that only Asterisk can forward calls to FreeSWITCH. In /opt/freeswitch/conf/autoload_configs/acl.conf.xml , add the following ACL. We also need to allow BigBlueButton to call into FreeSWITCH, that’s why we add the IP of BigBlueButton/FreeSWITCH into the ACL.
Then we apply the ACL into the profile that receives the calls from external gateways. In /opt/freeswitch/conf/sip_profiles/external.xml , add the ACL under
To debug, try connecting to FS CLI and increase logging level. Once connected, make your call and see what the logs say.
FreeSWITCH fails to bind to port 8021
FreeSWITCH supports both IPV4 and IPV6. However, if your server does not support IPV6, FreeSWITCH will be unable to bind to port 8021. If you run sudo bbb-conf —check and see the following error
it might be that your server has IPV6 disabled (or does not support it). You can check this by running the following command
If you do not see the line inet6 ::1/128 scope host , then your server has IPV6 disabled. In this case, we need to disable FreeSWITCH’s support for IPV6. First, edit /opt/freeswitch/etc/freeswitch/autoload_configs/event_socket.conf.xml and change the line
This tells FreeSWITCH that instead of binding port 8021 to the local IPV6 address, bind to the IPV4 address 127.0.0.1. Next, execute the following two commands
and then restart BigBlueButton with the commands
FreeSWITCH fails to start with a SETSCHEDULER error
When running in a container (like a chroot, OpenVZ or LXC), it might not be possible for FreeSWITCH to set its CPU priority to real-time round robin. If not, it will result in lower performance compared to a non-virtualized installation.
If you running BigBlueButton in a container and an error starting FreeSWITCH, try running systemctl status freeswitch.service and see if you see the error related to SETSCHEDULER
If you see SETSCHEDULER in the error message, edit /lib/systemd/system/freeswitch.service and comment out the line containing CPUSchedulingPolicy=rr (round robin)
Save the file, run systemctl daemon-reload , and then restart BigBlueButton. FreeSWITCH should now startup without error.
Users not able to join Listen Only mode
When doing sudo bbb-conf —check , you may see the warning
This error occurs when bbb-apps-sip isn’t able to make a SIP call to FreeSWITCH. You’ll see this in BigBlueButton when users click the headset icon and don’t join the voice conference.
One possible cause for this is you have just installed BigBlueButton, but not restarted it. The packages do not start up the BigBlueButton components in the right order. To restart BigBlueButton, do the following:
If you don’t want FreeSWITCH to bind to 127.0.0.1, you need to figure out which IP address its using. First, determine the IP address FreeSWITCH is monitoring for incoming SIP calls with the following command:
You should see an output such as
In this example, FreeSWITCH is listening on IP address 234.147.116.3. The IP address on your server will be different.
Next, edit /usr/share/red5/webapps/sip/WEB-INF/bigbluebutton-sip.properties and set the value for sip.server.host to the IP address returned from the above command. Save the changes (you’ll need to edit the file as root to save changes).
Restart BigBlueButton using the commands and run the built-in diagnostics checks.
Unable to connect using fs_cli
As of BigBlueButton 2.2.18, the packaging now replaces the default ClueCon password for connecting to the FreeSWITCH command line interface ( fs_cli ) with a random password.
(By default, FreeSWITCH only allowed unauthenticated connections from 127.0.0.1, but it’s still good security practice to not use default passwords).
To connect to fs_cli , use the following command which supplies the password for authenticating.
We also added /usr/local/bin/fs_clibbb with the contents
that will let you type fs_clibbb at the command prompt to get into FreeSWITCH console.
Echo test hangs upgrading BigBlueButton 2.2
The install scripts now change the default CLI password for FreeSWITCH and the other parts of BigBlueButton need to use this new password. For a new installation, the install scripts will automatically set this new password.
If you upgrade using bbb-install.sh, the script will update the FreeSWITCH password using sudo bbb-conf —setip .
If you upgraded using manual steps, be sure to do ao sudo bbb-conf —setip to sync all the FreeSWITCH passwords.
FreeSWITCH using default stun server
For many years, in BigBlueButton’s FreeSWITCH configuration file /opt/freeswitch/etc/freeswitch/vars.xml , the default value for external_rtp_ip was stun.freeswitch.org
However, this is not a reliable choice for stun server. Recommend either changing it to your servers external IP address or setup your own stun/turn server. For example, if your server has an external IP at 234.32.3.3
You can add a line in /etc/bigbluebutton/bbb-conf/apply-conf.sh to always apply this value even if the FreeSWITCH package upgrades.
Note: If your server has an internal/exteral IP address, such as on AWS EC2 server, be sure to set it to the external IP address configure a dummy network interface card (see Update FreeSWITCH).
HTML5 Server
bbb-html5 fails to start with a SETSCHEDULER error
As of 2.2.31, the systemd unit file for bbb-html5.service now contains the following lines
You can override this with creating the following directory
and creating /etc/systemd/system/bbb-html5.service.d/override.conf with the following contents
Then do systemctl daemon-reload and restart BigBlueButton.
Installation and packages
The following packages have unmet dependencies
When installing the latest build of BigBlueButton, the package bbb-conf now uses yq to manage YAML files.
You need to add the repository ppa:rmescandon/yq to your server. For steps on how to do this, see Update your server in the BigBlueButton 2.2 install guide.
Alternatively, if you have not made any customizations to BigBlueButton (outside of using bbb-conf ), you can use bbb-install.sh to install/upgrade to the latest version (the bbb-install.sh script will automatically install the repository for yq ).
No Symbolic Link
If you’ve installed/uninstalled BigBlueButton packages, you may get a No Symbolic Link warning from bbb-conf —check :
To solve this, add a symbolic link to nginx for the BigBlueButton site:
Package install fails with sed error
Some of the BigBlueButton packages use sed scripts to extract contents from configuration files. If the file does not exist at the time of the script’s execution, or the sed script matches multiple entries in a file (such as when a configuration line is commented out), you can see an error such as
In the above example, the /var/lib/dpkg/info/bbb-client.postinst failed to finish. To debug, edit this file and change the first line to read
You should now see each command in bbb-conf.postinst as it executes upto the line in which the error occurs. Post this output to https://groups.google.com/forum/#!forum/bigbluebutton-setup for help in resolving the issue.
Errors with packages
Some hosting providers do not provide a complete /etc/apt/source.list . If you are finding your are unable to install a package, try replacing your /etc/apt/sources.list with the following
and try installing BigBlueButton again from the beginning.
WebRTC errors (1001, 1002,…)
WebRTC offers very high-quality audio. However, the user’s network settings (or firewall) may not allow WebRTC to connect (or keep connected).
Here are the following lists the possible WebRTC error messages that a user may encounter:
- 1001: WebSocket disconnected — The WebSocket had connected successfully and has now disconnected. Possible Causes:
- Loss of internet connection
- Nginx restarting can cause this
- 1002: Could not make a WebSocket connection — The initial WebSocket connection was unsuccessful. Possible Causes:
- Firewall blocking ws protocol
- Server is down or improperly configured
- See potential solution here.
- 1003: Browser version not supported — Browser doesn’t implement the necessary WebRTC API methods. Possible Causes:
- Out of date browser
- 1004: Failure on call — The call was attempted, but failed. Possible Causes:
- For a full list of causes refer here
- There are 24 different causes so I don’t really want to list all of them
- Solution for this issue outlined here.
- 1005: Call ended unexpectedly — The call was successful, but ended without user requesting to end the session. Possible Causes:
- Unknown
- 1006: Call timed out — The library took too long to try and connect the call. Possible Causes:
- Previously caused by Firefox 33-beta on Mac. We’ve been unable to reproduce since release of FireFox 34
- 1007: ICE negotiation failed — The browser and FreeSWITCH try to negotiate ports to use to stream the media and that negotiation failed. Possible Causes:
- NAT is blocking the connection
- Firewall is blocking the UDP connection/ports
- 1008: Call transfer failed — A timeout while waiting for FreeSWITCH to transfer from the echo test to the real conference. This might be caused by a misconfiguration in FreeSWITCH, or there might be a media error and the DTMF command to transfer didn’t go through (In this case, the voice in the echo test probably didn’t work either.)
- 1009: Could not fetch STUN/TURN server information — This indicates either a BigBlueButton bug (or you’re using an unsupported new client/old server combination), but could also happen due to a network interruption.
- 1010: ICE negotiation timeout — After the call is accepted the client’s browser and the server try and negotiate a path for the audio data. In some network setups this negotiation takes an abnormally long time to fail and this timeout is set to avoid the client getting stuck.
- 1020: Media cloud could not reach the server — See how to solve this here.
Networking
Server running behind NAT
The following issue might be helpful in debugging if you run into errors and your server is behind NAT.
Could not get your microphone for a WebRTC call
Chrome requires (As of Chrome 47) that to access the user’s microphone for WebRTC your site must be serving pages via HTTPS (that is, nginx is configured with a SSL certificate).
If the user attempts to share their microphone and your BigBlueButton sever is not configured for SSL, Chrome will block access and BigBlueButton will report the following error
WebRTC Audio Failure: Detected the following WebRTC issue: Could not get your microphone for a WebRTC call. Do you want to try flash instead?
To enable Chrome to access the user’s microphone, see Configure HTTPS on BigBlueButton.
The browser is not supported
When you attempt to join a BigBlueButton session, the client looks for supported browsers before fully loading. The client gets its list of supported browsers from /usr/share/meteor/bundle/programs/server/assets/app/config/settings.yml . You can see the list of supported browsers at the bottom. For example,
states that Mobile Safari version 11.1 or later is supported (notice the first letter is lower case and concatenated with the remainder of the browser name).
To add a browser to the list, first open the following page https://test.bigbluebutton.org/html5client/useragent with the browser, which will print its useragent string. For example, with the Vivaldi browser you might see
Next, to add this as a supported browser, append to settings.yml
save the updated settings.yml file, and then restart your BigBlueButton server with sudo bbb-conf —restart . Note any browser you add must support WebRTC libraries (not all do), so be sure to check it first with https://test.webrtc.org/.
Tomcat shows “Cannot assign requested address on startup”
If your server has multiple IP addresses, Tomcat might not pick the right address to bind. This could throw an error on installation when tomcat is attempting to install.
Check /var/log/tomcat7/catalina.out for the following error
If you see this, first ensure that there isn’t another copy of tomcat running by doing ps -aef | grep tomcat7 . If you do see another copy running, try killing it and then restarting tomcat.
If you still see the same error in catalina.out , then /etc/tomcat7/server.xml and change
Restart tomcat7 again and it should start normally.
nginx not running
The common reasons for nginx not running are inability to bind to port 80 and configuration errors. To check if port 80 is already in use, use
to see if any process is currently bound to port 80. If so, check to see if another web server is installed. If so, then stop the web server and try to restart nginx. One of the server requirements before you install BigBlueButton is that port 80 is not in use by another application (such as Apache). For details on why this is a requirements, see We recommend running BigBlueButton on port 80.
If port 80 is free, check if your nginx configuration file has errors. Try a restart of nginx
and look for the output of
If you see [ Fail ] , then your nginx configuration files might have a syntax error. Check the syntax of the nginx configuration files using the command
and see if it reports any errors. You can also check the error.log file for nginx to see what errors it gives on startup
“Welcome to nginx”
During installation of BigBlueButton the packaging scripts attempt to assign the correct IP address during setup. However, if the IP address changes (such as when rebooting a VM), or the first IP address was not the correct IP address for the server, you may see a “Welcome to nginx” page.
To reconfigure the BigBlueButton to use the correct IP address or hostname, see BigBlueButton does not load.
bbb-web
404 Error when loading the client
BigBlueButton 2.2 requires Java 8 as the default Java. Recently, some Ubuntu 16.04 distributions have switched the default version of Java to Java 9 (or later).
Use java -version to check that the default version of 1.8.0 .
If not, do the following
Run java -version and confirm it now shows the default as 1.8.0 , and then restart BigBlueButton with sudo bbb-conf —restart
Blank presentation area on create or upload
If you join a meeting and the default presentation is not visible or your uploaded presentation doesn’t display, then this is most likely due to a permissions error. To solve this, ensure that /var/bigbluebutton/ is owned by bigbluebutton rather than root or any other account. See this issue for more explanation.
Unable to create presentation
If you see the following error in /var/log/bigbluebutton/bbb-web.log
use the command mount to check that the /tmp director does not have noexec permissions (which would prevent executables from running in the /tmp directory). If you see noexec for /tmp , you need to remount the directory with permissions that enable processes (such as the slide conversion) to execute in the /tmp directory.
Too many open files
On servers with greater than 8 CPU cores, bbb-web log ( /var/log/bigbluebutton/bbb-web.log ) may throw an error of Too many open files
To resolve, create an override file that increases the number of open files for bbb-web
bbb-web takes a long time to startup
bbb-web relies on the SecureRandom class (which uses available entropy) to provide random values for its session IDs. On a virtualized server, however, the available entropy can run low and cause bbb-web to block for a long period before it finishes it’s startup sequence (see Slow startup of tomcat).
To provide bbb-web with more entropy, you can install haveged
Error installing bbb-web
If you get the following error during upgrade to BigBlueButton
Then first uninstall bbb-client
and try installing BigBlueButton again.
Other errors
Root partition too small
If the root partition on your BigBlueButton server is too small (for disk space requirements see Before you install), we recommend moving the following directories to an external partition with sufficient disk space.
BigBlueButton processing and storage of recordings:
Location of all media directories on disk available here.
To make the move, we’ll first stop BigBlueButton, then move the above directories to a new location on the external partition, create symbolic links from the original locations to the new locations, and restart BigBlueButton.
In the following example, the external partition is mounted on /mnt .
BigBlueButton does not load
If your has changed it’s network connection (such as on reboot), you can clean most of BigBlueButton’s configuration files with the following steps.
For more information see bbb-conf options.
Running within an LXD Container
LXD is a very powerful container system for Ubuntu lets you run full Ubuntu 16.04 servers within a container. Because you can easily clone and snapshot LXD containers, they are ideal for development and testing of BigBlueButton.
However, if you install BigBlueButton within an LXD container, you will get the following error from sudo bbb-conf —check
You’ll also get an error from starting FreeSWITCH with bbb-conf —restart . When you try systemctl status freeswitch.service , you’ll see an error with SETSCHEDULER.
This error occurs because the default systemd unit script for FreeSWITCH tries to run with permissions not available to the LXD container. To run FreeSWITCH within an LXD container, edit /lib/systemd/system/freeswitch.service and replace with the following
Then enter the following commands to load the new unit file and restart BigBlueButton.
You can run BigBlueButton within a LXD container.
Unable to connect to redis
The packages bbb-apps-akka , bbb-fsesl-akka , and bbb-transcode-akka are packaged by sbt, but they need to have redis-server running before they startup. If sudo bbb-conf —debug shows redis connection errors
you can add overrides for these three packages to ensure they start after redis.server. Run the following script.
The script bbb-install now creates these overrides by default.
500 Internal Server Error
It is most likely an error on GreenLight. Check the log file according to Troubleshooting Greenlight.
If this error occurrs on just a small number of PCs accessing a BigBlueButton server within a LAN through a proxy server and you find the description “Error::Unsafe Host Error (x.x.x.x is not a safe host)” (where x.x.x.x is an IP address) in the log file, check if the “Don’t use the proxy server for local (intranet) addresses” (in the Windows proxy setting) is ticked.
Legacy errors
Conference not found errors
The command sudo bbb-conf —debug searches through the red5, tomcat7, and nginx logs looking for errors and exceptions. However, the messages such as
Источник
ice error 1007 bigbluebutton как исправить
- ◄ Как добавить отчет по практике
- Как сменить ФИО??? ►
Режим отображения
ice error 1007 bigbluebutton как исправить
от Портнов Алексей Владимирович — среда, 15 марта 2023, 15:01
Количество ответов: 1
ice error 1007 bigbluebutton как исправить
Не могу установить аудиосоединение. Нет звука ни от меня, ни я ничего не получаю.
Постоянная ссылка
В ответ на Портнов Алексей Владимирович
Re: ice error 1007 bigbluebutton как исправить
от Богомолов Владислав Афанасьевич — понедельник, 20 марта 2023, 12:20
Если на других сатах есть, то случайно не работает через прокси или VPN?
Постоянная ссылка
Показать сообщение-родителя
- ◄ Как добавить отчет по практике
- Как сменить ФИО??? ►
◄ Новости сайта
Перейти на…
Полезные ресурсы ►
colin lowry
unread,
Sep 29, 2019, 11:34:36 PM9/29/19
to BigBlueButton-Setup
I am using BBB with Moodle. I am having no issues connecting but two of our users has said they are getting a 1007 error. I have asked them to send me on their log (attached called ‘user-log’).
They said they have no issues when using the test URL. I have also attached my log when connected — I don’t get any 1007 error so it’s making it really difficult to debug (attached called ‘my-log’).
Fred Dixon
unread,
Sep 30, 2019, 1:13:40 AM9/30/19
to BigBlueButton-.
Hi Colin,
Are those users behind a firewall by chance? The server at
has a TURN server setup to help users behind a firewall connect. To setup a TURN server for your server, see
(If you used bbb-install.sh to setup your server, you can also use bbb-install.sh to setup a separate TURN server as well), see
Regards,… Fred
I am using BBB with Moodle. I am having no issues connecting but two of our users has said they are getting a 1007 error. I have asked them to send me on their log (attached called ‘user-log’).
They said they have no issues when using the test URL. I have also attached my log when connected — I don’t get any 1007 error so it’s making it really difficult to debug (attached called ‘my-log’).
—
BigBlueButton Developer
@bigbluebutton
colin lowry
unread,
Sep 30, 2019, 1:31:42 AM9/30/19
to BigBlueButton-Setup
Fred,
Many thanks for your response. This would make sense as they are connected to an institutional network which would probably have stricter policies than our own.
I will give setting a TURN server a whirl!
Colin.
On Sunday, 29 September 2019 23:13:40 UTC+1, Fred Dixon wrote:
Hi Colin,
Are those users behind a firewall by chance? The server at
has a TURN server setup to help users behind a firewall connect. To setup a TURN server for your server, see
(If you used bbb-install.sh to setup your server, you can also use bbb-install.sh to setup a separate TURN server as well), see
Regards,… Fred
I am using BBB with Moodle. I am having no issues connecting but two of our users has said they are getting a 1007 error. I have asked them to send me on their log (attached called ‘user-log’).
They said they have no issues when using the test URL. I have also attached my log when connected — I don’t get any 1007 error so it’s making it really difficult to debug (attached called ‘my-log’).
—
You received this message because you are subscribed to the Google Groups «BigBlueButton-Setup» group.
colin lowry
unread,
Oct 1, 2019, 9:45:30 PM10/1/19
to BigBlueButton-Setup
Fred,
I just wanted to follow up to confirm setting a TURN server solved the issue. Thank you for pointing me in the right direction.
Colin.
Fred Dixon
unread,
Oct 1, 2019, 9:56:51 PM10/1/19
to BigBlueButton-.
:-).
Regards,… Fred
P.S. If you want support the project, send out a tweet to @bigbluebutton about your experience. Positive feedback is always welcome!
Fred,
I just wanted to follow up to confirm setting a TURN server solved the issue. Thank you for pointing me in the right direction.
Colin.
On Sunday, 29 September 2019 23:31:42 UTC+1, colin lowry wrote:
Fred,
Many thanks for your response. This would make sense as they are connected to an institutional network which would probably have stricter policies than our own.
I will give setting a TURN server a whirl!
Colin.
On Sunday, 29 September 2019 23:13:40 UTC+1, Fred Dixon wrote:
Hi Colin,
Are those users behind a firewall by chance? The server at
has a TURN server setup to help users behind a firewall connect. To setup a TURN server for your server, see
(If you used bbb-install.sh to setup your server, you can also use bbb-install.sh to setup a separate TURN server as well), see
Regards,… Fred
I am using BBB with Moodle. I am having no issues connecting but two of our users has said they are getting a 1007 error. I have asked them to send me on their log (attached called ‘user-log’).
They said they have no issues when using the test URL. I have also attached my log when connected — I don’t get any 1007 error so it’s making it really difficult to debug (attached called ‘my-log’).
—
You received this message because you are subscribed to the Google Groups «BigBlueButton-Setup» group.
—
BigBlueButton Developer
@bigbluebutton
You received this message because you are subscribed to the Google Groups «BigBlueButton-Setup» group.
From MoodleDocs
Jump to:navigation, search
This is a list of the Turnitin Codes, and their descriptions.
Success States 1-99
- 1 General Success State, no errors
- 10 FID 1, FCMD 1 – successful, send to login
- 11 FID 1, FCMD 2 – successful, do not send to login
- 20 FID 2, FCMD 1 – successful, send to login
- 21 FID 2, FCMD 2 – successful, do not sent to login
- 30 FID 3, FCMD 1 – successful, send to login
- 31 FID 3, FCMD 2 – successful, do not send to login
- 40 FID 4, FCMD 1,5 – successful, redirect user to assignment creation/modification page
- 41 FID 4, FCMD 2 – successful
- 42 FID 4, FCMD 3 – successful
- 43 FID 4, FCMD 4 – successful
- 50 FID 5, FCMD 1 – successful, redirect user to submission page
- 51 FID 5, FCMD 2 — successful
- 60 FID 6, FCMD 1 — successful
- 61 FID 6, FCMD 2 — successful
- 70 FID 7, FCMD 1,2 – successful
- 70 FID 12, FCMD 1 – successful, redirect to administrator statistics page
- 71 FID 8, FCMD 2 — successful
- 72 FID 10, FCMD 2 — successful
- 73 FID 11, FCMD 2 – successful
- 74 FID 0 – successful
- 75 FID 9, FCMD 2 — successful
Data Errors 100-199
- 100 Primary account ID missing from URL
- 101 No HTTPS — the URL was not transmitted via HTTPS
- 102 GMT missing from URL
- 103 GMT malformed — the date/time in the URL is bad
- 104 Email missing from URL
- 105 Email address is not between 5-75 characters
- 106 Email address contains whitespace
- 107 Email address in URL is malformed
- 108 Password in URL contained whitespace
- 109 Diagnostic value in URL is bad
- 110 MD5 missing from URL
- 111 fcmd missing from URL
- 112 User first name missing from URL or incorrect length
- 113 User last name missing from URL or incorrect length
- 114 Class title missing from URL, or not between 5-50 characters
- 115 Password is not between 6-12 characters
- 116 fid missing from URL, or does not reference existing function
- 117 User type missing from URL or is not valid
- 118 encrypt value in URL is bad or missing
- 119 Paper author’s first name missing or incorrect length
- 120 Paper author’s last name missing or incorrect length
- 121 Paper title missing – Please make sure to include a paper title before submitting your paper
- 122 Paper type missing or invalid
- 123 Assignment title missing or incorrect length
- 124 ObjectID missing
- 125 Password is required for function
- 126 Date start and date due is required for function
- 127 If one unique ID is used, they must all be used
- 128 The class end date parameter is not in the right format. Please make sure that the format is in YYYMMDD.”
- 140 Undocumented, but appears to occur when assignment title is too long. Should probably return either 2302 or 123 in this situation.
- 141 «The value for the a date parameter is invalid»
Turnitin Database Errors 200-299
- 200 Primary account ID for Turnitin not activated to use the API
- 201 IP address validation range for Turnitin not configured
- 202 Primary account entry not active in Turnitin database
- 203 MD5 key missing from Turnitin database
- 204 Class does not exist in Turnitin database. Please contact you instructor for further details.
- 205 Database error verifying class
- 206 Assignment does not exist in Turnitin database for this class. The assignment may have been deleted.
- 207 Database error verifying assignment
- 208 User is not enrolled in class
- 209 Database error verifying user’s enrollment in class
- 210 User password does not match user email
- 211 Database error verifying objectID
- 212 objectID does not exist for this user
- 213 objectID does not belong to this user
- 214 Filename does not exist for this paper
- 215 This primary account ID is not authorized to use this product
- 216 Student limit for this account has been reached. Cannot join student to this class.
- 217 The product for this account has expired. Please contact your sales agent to renew the product
- 218 Database Error inserting unique ID into the database (Note: This may happen on a new install of Moodle if the mdl_assignment ID’s clash with turnitin assignment ID’s in the previous installation. Fix this by increasing the autoincrement for mdl_assignment in the new installation to a number greater than the maximum ID in the old Moodle)
- 219 Unique user id in the database does not match submitted uid
- 220 More than one class exists with this title and unique ids must be used in this case
- 221 More than one assignment exists with this title and unique ids must be used in this case
- 222 User is associated with a different external uid. If you have another user account with the same email address as the user account you are currently using, that could be the cause of the problem. Please try modifying the email address for your current user account to a unique email address and try again.
- 223 Cannot verify Blackboard user’s identity within Turnitin. Missing Blackboard user id
- 224 Could not verify user as primary instructor for this course
- 225 Database error checking if student can view reports
- 226 The class you are trying to update could not be found. Please check to make sure that the class exists.
- 227 The class you are trying to update has an assignment which ends after the class end date you have specified. Please change you class end date or modify the assignment.
- 228 The assignment with the assignment id that you entered does not belong to the class with the class id you entered. Please check to make sure that you are not using a duplicate assignment id.
- 229 There was an error creating the rollover assignment.
- 230 You have been dropped from this class on the Turnitin end by your instructor. Please contact your instructor if you think you are receiving this message in error.
- 231 There was an error processing your request: please try your action again. Please contact the Turnitin helpdesk if the problem persists.
- 232 Grademark is currently inactive for this account.
- 233 There was an error accessing this Turnitin Assignment because it was created via Course Copy, Snapshot, or some other process, and the original Turnitin Assignment could not be found.
- 234 Could not find class with the given unique ID or title.
- 235 Could not find assignment with the given assignment ID or title.
- 236 Could not retrieve assignment info with the given information.
- 237 Could not retrieve grade for the given object.
- 238 Could not find user with the given userid or email.
- 239 There was an error disabling Anonymous Marking for this submission.
- 240 Migrating of this product is not supported.
- 241 The user does not have the specified role in the class.
- 242 There was an error with the attached file, please make sure it follows the proper format.
- 243 The attached file is not a CSV file.
- 244 The number of files you have selected exceeds the 500 file maximum for bulk download. Please make sure that the number of files you select for bulk download does not exceed 500 files.
- 245 The objectIDs that were provided do not all belong to the same assignment.
- 246 The compression process cannot begin because the students you selected do not have GradeMark files.
- 247 We are compressing a file you previously requested for download. When this compression is complete, you may request another file for download.
- 248 The class you have selected has been deleted.
- 250 Submission Error: There was an error building up the user session data to submit the paper. Please verify the user information being used.
Inconsistency Errors 300-399
- 300 Your IP address does not fall within the range of accepted IP addresses as specified by your Turnitin account administrator. Please check with your Turnitin account administrator if your IP address needs to be added as an accepted IP address.
- 301 Date/time expired – GMT timestamp used in MD5 calculation is off. API calls must have a GMT within 60 minutes of the current GMT
- 302 MD5 not authenticated — the MD5 in the URL does not match the MD5 calculated
Function Errors 400-499
- 400 Creating new user failed
- 401 Unauthorized access — user exists, but does not belong to correct primary account ID or sub-account ID, do not execute function
- 402 User is not an instructor, must be an instructor to run this function
- 403 User is not a student, must be a student to run this function
- 404 FCMD is not valid
- 405 Class title is not unique
- 406 Creating new class failed in fid 2
- 407 Student failed to join or log in to a class in fid 3
- 408 Attempt to join new user to account failed
- 409 Function requires POST request
- 410 Function requires GET request
- 411 Creating/Updating/Deleting assignment failed in fid 4
- 412 Assignment title is not unique
- 413 Error while trying to save the paper
- 414 Originality report not generated yet in fid 6, fcmd 1
- 415 Originality score not available yet in fid 6, fcmd 2
- 416 Error checking if submission existed for user
- 417 Error trying to change user password
- 418 Error trying to delete submission
- 419 Could not create a new assignment. An assignment with this title already exists for this class and instructor. Please change the assignment title.
- 420 Error trying to build up session data for user/class
- 421 Error trying to retrieve paper submission info for assignment
- 422 Updating user information failed
- 423 Updating user information failed because user email was changed to an address that is already associated with an account
- 424 Updating class title failed
- 425 Error trying to sync grades between servers
- 426 Error trying to sync roster between servers
- 427 Unable to establish web services session with remove webct server
- 428 Unable to create WebCT gradebook column for assignment
- 429 Web services parameters error
- 430 (This is a general webservices error – there could be a number of different messages that come with it)
- 431 Error trying to connect back to the Blackboard web service.
- 432 Students are not allowed to view reports in this assignment
- 434 The start time you specified is invalid or not formatted correctly (YYYY-MM-DD HH:MM:SS).
- 435 Error trying to grade submission.
- 436 Institution repository is not available for this account, please change the submit_papers_to parameter to either 0 (no repository) or 1 (standards repository).
- 437 The account administrator has set that all papers must be submitted to a repository, please change the submit_papers_to parameter.
- 438 Error trying to set submissions to be stored in a standard repository. The account is using its own private institutional node. Please change the submit_papers_to parameter.
- 439 The institutional check is not available for this account. Please set the institution_check parameter to 0
- 440 Please specify an email for the new instructor for this course.
- 441 New instructor specified doesn’t exist, please create the user first.
- 442 New Instructor is not joined to this account, please join them to the account first.
- 443 Anonymous Marking is enabled for this assignment. Cannot download file until after the assignment post date.
- 444 Usage of this account is not currently high enough to generate meaningful statistics. If you would like more information or would like to see these statistics any way, please contact your Turnitin sales representative.
- 445 User login failed.
- 446 Session ID missing from URL
- 447 Error trying to set user as an instructor for the class.
- 448 Error migrating this account to another product.
- 449 Error removing user from class.
- 450 Cannot remove user from class because the user is the only instructor for the class.
- 451 Error initiating GradeMark Bulk Download.
Paper Submission Errors 1000-1099
- 1000 The due date for this assignment has passed. Please see your instructor to request a late submission.
- 1001 You may not submit a paper to this assignment until the assignment start date
- 1002You may not submit a paper to this assignment because the Plagiarism Prevention product is unavailable
- 1003You have reached the maximum limit of 10 papers for the InSite demo account
- 1004Paper author’s first name missing or incorrect length in URL
- 1005Paper author’s last name missing or incorrect length in URL
- 1006Paper title missing
- 1007The file you have uploaded is too big (TurnItIn site has a note that file size may not exceed 10.48576Mb)
- 1008No file uploaded! Please make sure that you have attached the file that you wish to submit before sending the request
- 1009Invalid file type! Valid file types are MS Word, Acrobat PDF, Postscript, Text, HTML, WordPerfect (WPD) and Rich Text Format. Please make sure the format of your file is one of the valid file types.
- 1010You must submit more than 100 characters of non-whitespace
- 1011The paper you are tyring to submit is incorrectly formatted. There seems to be spaces between each letter in your paper. Please try submitting again or contact our helpdesk if the problem persists.
- 1012Paper length exceeds limits
- 1013You must submit more than 20 words of text
- 1014You must select an enrolled student as the author of this paper
- 1015You have already submitted a paper to this assignment. Please contact your instructor to request a resubmission
- 1016This student has already submitted a paper to this assignment. Please delete the original paper before submitting a new one.
- 1017Paper author’s first name missing or incorrect length in URL
- 1018Paper author’s last name missing or incorrect length in URL
- 1019Paper title exceeds maximum of 200 characters
- 1020 This document cannot be accepted because it contains characters from a character set that is not supported.
- 1021 You have already submitted a paper to this assignment. Please contact your instructor to request a resubmission.
- 1022 This student has already submitted a portfolio item to this assignment. Please delete the original portfolio item before submitting a new one.
- 1023 We’re sorry, but we could not read the PDF you submitted. Please make sure that the file is not password protected and contains selectable text rather than scanned images.
- 1024 The paper you are tyring to submit does not meet our cirteria for a legitimate paper. Please try submitting again or contact our helpdesk if the problem persists.
Assignment Creation Errors 2025-2324
- 2025 The class name must be between 5-200 characters
- 2026 The class enrollment password must be between 4-12 characters
- 2027 There was an error processing your request
- 2028 The class end date must be within 6 months of the start date
- 2029 The end date for this class must occur on or after today
- 2030 The end date for this class must occur on or after the start date
- 2031 The end date for this class must occur at least 3 months after the start date
- 2032 There was an error updating the class end date
- 2035 There was an error processing your request
- 2036 There was an error processing your request
- 2100 User first name missing from URL
- 2101 User last name missing from URL
- 2102 Email is missing. Please make sure that your email address has been set
- 2108 The email address needs to conform to Internet Standard RFC822
- 2109 The email address needs to have a fully qualified domain name.
- 2110 We only allow email addressses with 5-75 characters
- 2111 The email address cannot contain white space
- 2112 Please make sure you are entering a valid email address. The email address you enter can only contain letters, numbers, and the symbols _ (underscore), — (dash), . (period), ‘ (apostrophe), and + (plus).”
- 2300 You have entered an invalid date!
- 2301 You must select a rubric set to user with remediation
- 2302 The assignment title must be between 2-100 characters
- 2303 The assignment must have a point value between 0 and 1000
- 2304 The assignment instructions must be less than 1000 characters
- 2305 The start date for this assignment must occur on or after today
- 2306 The due date for this assignment must occur on or after the start date
- 2307 The due date for this assignment must occur within 6 months of the start date
- 2308 When creating your assignment, the post date must occur on or before the class end date. The class end date in Turnitin is by default set to 6 months from the day the class was created. The class end date can be chaned in the class update area in Turnitin
- 2309 When creating your assignment, please make sure that the post date is on or after the due date of the assignment
- 2310 You must specify a point value for this assignment because this class is using distributed grading
- 2314 When modifying your assignment, please make sure that the post date is on or after the due date of the assignment
- 2315 There was an error processing your request
- 2316 There was an error processing your request
- 2317 There was an error processing your request
- 2318 You cannot change the search targets because papers have already been submitted to this assignment. You must create a new assignment if you would like to change the search targets
- 2319 There was an error processing your request
- 2320 There was an error processing your request
- 2321 When excluding small matches by word, you must enter a positive number
- 2324 When excluding small matches by percentage, you must enter a number between 1 and 100