bigbluebutton / docker

Docker files for BigBlueButton
GNU Lesser General Public License v3.0
371 stars 248 forks source link

Audio stops working after one minute #337

Open bagatel opened 3 weeks ago

bagatel commented 3 weeks ago

Hello,

Trying a first time installation with Docker Compose under Ubuntu 22.04. I can create a room and connect to it OK, everything works perfectly (audio and video). Then after one minute sound gets disconnected.

Log below around the time audio is disconnected.

Any idea what I should be checking?

Thanks,

Camille.

html5-frontend-2-1  | 2024-09-26T09:49:16.160Z frontend-2 [info] : Server health {"memoryUsage":{"rss":"122.88 MB","heapTotal":"65.18 MB","heapUsed":"61.07 MB","external":"24.82 MB"},"cpuUsage":{"system":"6.1 MB","user":"37.2 MB"}}
html5-frontend-2-1  | 2024-09-26T09:49:16.200Z frontend-2 [info] : Connection status updated: meetingId=6201d1cc3a8bcbff0f2ad43db289c77456272f37-1727341410329 userId=w_7sl3pdazrlpq status=normal type=socket
apps-akka-1         | 2024-09-26T09:49:16.539Z INFO  o.b.e.redis.LearningDashboardActor - Learning Dashboard data sent for meeting 6201d1cc3a8bcbff0f2ad43db289c77456272f37-1727341410329
bbb-web-1           | 2024-09-26T09:49:16.545Z INFO  o.bigbluebutton.api.MeetingService -  --analytics-- data={"logCode":"update_activity_json","name":"Calenco","description":"Updating activities json.","meetingId":"6201d1cc3a8bcbff0f2ad43db289c77456272f37-1727341410329","externalMeetingId":"utsijsquwff77n1xxarn9gt19njtznlmtzdu5dgx"}
bbb-web-1           | 2024-09-26T09:49:16.546Z INFO  o.b.api.LearningDashboardService - Learning Dashboard (/var/bigbluebutton/learning-dashboard/6201d1cc3a8bcbff0f2ad43db289c77456272f37-1727341410329/atubcqmcxtwk/learning_dashboard_data.json) updated for meeting 6201d1cc3a8bcbff0f2ad43db289c77456272f37-1727341410329.
bbb-web-1           | 2024-09-26T09:49:16.547Z INFO  o.bigbluebutton.api.MeetingService -  --analytics-- data={"logCode":"update_activity_json","name":"Calenco","description":"Updating activities json.","meetingId":"6201d1cc3a8bcbff0f2ad43db289c77456272f37-1727341410329","externalMeetingId":"utsijsquwff77n1xxarn9gt19njtznlmtzdu5dgx"}
bbb-web-1           | 2024-09-26T09:49:16.548Z INFO  o.b.api.LearningDashboardService - Learning Dashboard (/var/bigbluebutton/learning-dashboard/6201d1cc3a8bcbff0f2ad43db289c77456272f37-1727341410329/atubcqmcxtwk/learning_dashboard_data.json) updated for meeting 6201d1cc3a8bcbff0f2ad43db289c77456272f37-1727341410329.
bbb-web-1           | 2024-09-26T09:49:16.601Z DEBUG o.b.web.controllers.ApiController - ApiController#index
fsesl-akka-1        | 2024-09-26T09:49:17.414Z INFO  o.b.f.v.freeswitch.ESLEventListener - Received Heartbeat from Freeswitch.
fsesl-akka-1        | 2024-09-26T09:49:17.715Z WARN  o.b.f.v.freeswitch.ESLEventListener - Unknown conference Action [floor-change]
fsesl-akka-1        | ##### Client conference_del_member
fsesl-akka-1        | 2024-09-26T09:49:17.715Z INFO  o.b.f.v.freeswitch.ESLEventListener - Caller left: conf=28399,uuid=a9e2db67-2131-43b2-be2e-4496834fd6f4,memberId=2,callerId=w_7sl3pdazrlpq_17-bbbID-Administrator,callerIdName=w_7sl3pdazrlpq_17-bbbID-Administrator
apps-akka-1         | 2024-09-26T09:49:17.718Z INFO  o.b.core2.AnalyticsActor - -- analytics -- {"envelope":{"name":"UserLeftVoiceConfEvtMsg","routing":{"voiceConf":"28399"},"timestamp":1727344157715},"core":{"header":{"name":"UserLeftVoiceConfEvtMsg","voiceConf":"28399"},"body":{"voiceConf":"28399","voiceUserId":"2"}}}
apps-akka-1         | 2024-09-26T09:49:17.718Z INFO  o.b.core2.AnalyticsActor - -- analytics -- {"envelope":{"name":"UserLeftVoiceConfToClientEvtMsg","routing":{"msgType":"BROADCAST_TO_MEETING","meetingId":"6201d1cc3a8bcbff0f2ad43db289c77456272f37-1727341410329","userId":"w_7sl3pdazrlpq"},"timestamp":1727344157717},"core":{"header":{"name":"UserLeftVoiceConfToClientEvtMsg","meetingId":"6201d1cc3a8bcbff0f2ad43db289c77456272f37-1727341410329","userId":"w_7sl3pdazrlpq"},"body":{"voiceConf":"28399","intId":"w_7sl3pdazrlpq","voiceUserId":"w_7sl3pdazrlpq"}}}
apps-akka-1         | 2024-09-26T09:49:17.719Z INFO  o.b.core2.AnalyticsActor - -- analytics -- {"envelope":{"name":"VoiceConfCallStateEvtMsg","routing":{"voiceConf":"28399"},"timestamp":1727344157716},"core":{"header":{"name":"VoiceConfCallStateEvtMsg","voiceConf":"28399"},"body":{"voiceConf":"28399","callSession":"b1cf26cf-6966-46f3-b010-a167b6859736","clientSession":"17","userId":"w_7sl3pdazrlpq","callerName":"Administrator","callState":"CALL_ENDED","origCallerIdName":"w_7sl3pdazrlpq_17-bbbID-Administrator","origCalledDest":"28399"}}}
apps-akka-1         | 2024-09-26T09:49:17.719Z INFO  o.b.core.running.MeetingActor - Received VoiceConfRunningEvtMsg false
apps-akka-1         | 2024-09-26T09:49:17.724Z INFO  o.b.core2.AnalyticsActor - -- analytics -- {"envelope":{"name":"VoiceCallStateEvtMsg","routing":{"msgType":"BROADCAST_TO_MEETING","meetingId":"6201d1cc3a8bcbff0f2ad43db289c77456272f37-1727341410329","userId":"28399"},"timestamp":1727344157718},"core":{"header":{"name":"VoiceCallStateEvtMsg","meetingId":"6201d1cc3a8bcbff0f2ad43db289c77456272f37-1727341410329","userId":"28399"},"body":{"meetingId":"6201d1cc3a8bcbff0f2ad43db289c77456272f37-1727341410329","voiceConf":"28399","clientSession":"17","userId":"w_7sl3pdazrlpq","callerName":"Administrator","callState":"CALL_ENDED"}}}
html5-backend-1-1   | 2024-09-26T09:49:17.730Z backend-1 [info] : Remove voiceUser=w_7sl3pdazrlpq meeting=6201d1cc3a8bcbff0f2ad43db289c77456272f37-1727341410329
html5-frontend-1-1  | 2024-09-26T09:49:17.733Z frontend-1 [info] : Remove voiceUser=w_7sl3pdazrlpq meeting=6201d1cc3a8bcbff0f2ad43db289c77456272f37-1727341410329
html5-frontend-2-1  | 2024-09-26T09:49:17.733Z frontend-2 [info] : Remove voiceUser=w_7sl3pdazrlpq meeting=6201d1cc3a8bcbff0f2ad43db289c77456272f37-1727341410329
bbb-mongodb         | {"t":{"$date":"2024-09-26T09:49:20.400+00:00"},"s":"I",  "c":"NETWORK",  "id":22943,   "ctx":"listener","msg":"Connection accepted","attr":{"remote":"127.0.0.1:40734","connectionId":276,"connectionCount":178}}
bbb-mongodb         | {"t":{"$date":"2024-09-26T09:49:20.400+00:00"},"s":"I",  "c":"NETWORK",  "id":51800,   "ctx":"conn276","msg":"client metadata","attr":{"remote":"127.0.0.1:40734","client":"conn276","doc":{"application":{"name":"MongoDB Shell"},"driver":{"name":"MongoDB Internal Client","version":"4.4.29"},"os":{"type":"Linux","name":"Ubuntu","architecture":"x86_64","version":"20.04"}}}}
bbb-mongodb         | {"t":{"$date":"2024-09-26T09:49:20.406+00:00"},"s":"I",  "c":"NETWORK",  "id":22944,   "ctx":"conn276","msg":"Connection ended","attr":{"remote":"127.0.0.1:40734","connectionId":276,"connectionCount":177}}
sathishvenkataraman commented 1 day ago

@bagatel - For audio does not work at all.. on the UI/client i see "Connection negotiation timeout ICE error 1010)". Is it possible to share .env?

bagatel commented 12 hours ago

Here you are. Note that the sound works at first and then stops...

# ====================================
# ADDITIONS to BigBlueButton
# ====================================
# (place a '#' before to disable them)

# HTTPS Proxy
# fully automated Lets Encrypt certificates
#ENABLE_HTTPS_PROXY=true
# If your network doesn't allow access to DNS at 8.8.8.8 specify your own resolvers
#RESOLVER_ADDRESS=x.x.x.x

# coturn (a TURN Server)
# requires either the abhove HTTPS Proxy to be enabled
# or TLS certificates to be mounted to container
ENABLE_COTURN=true
COTURN_TLS_CERT_PATH=/etc/letsencrypt/live/bbb.calenco.com/fullchain.pem
COTURN_TLS_KEY_PATH=/etc/letsencrypt/live/bbb.calenco.com/privkey.pem

# Greenlight Frontend
# https://docs.bigbluebutton.org/greenlight/gl-overview.html
ENABLE_GREENLIGHT=true

# Enable Webhooks
# used by some integrations
#ENABLE_WEBHOOKS=true

# Prometheus Exporter
# serves the bigbluebutton-exporter under following URL:
# https://yourdomain/bbb-exporter
#ENABLE_PROMETHEUS_EXPORTER=true
#ENABLE_PROMETHEUS_EXPORTER_OPTIMIZATION=true

# Recording
# IMPORTANT: this is currently a big privacy issues, because it will
# record everything which happens in the conference, even when the button
# suggets, that it does not.
# https://github.com/bigbluebutton/bigbluebutton/issues/9202
# make sure that you get peoples consent, before they join a room
ENABLE_RECORDING=true
REMOVE_OLD_RECORDING=true
RECORDING_MAX_AGE_DAYS=7

# ====================================
# SECRETS
# ====================================
# important! change these to any random values
SHARED_SECRET=XXXX
ETHERPAD_API_KEY=XXXX
RAILS_SECRET=XXXXXXX
POSTGRESQL_SECRET=XXXXXX
FSESL_PASSWORD=XXXXXXX

# ====================================
# CONNECTION
# ====================================

DOMAIN=bbb.calenco.com

EXTERNAL_IPv4=XXXXXX
#EXTERNAL_IPv6=XXXXXX

# STUN SERVER
# stun.freeswitch.org
STUN_IP=XXXXXX
STUN_PORT=3478

# TURN SERVER
# uncomment and adjust following two lines to add an external TURN server
TURN_SERVER=turns:XXXXXXX:5349?transport=tcp
TURN_SECRET=XXXXXXX

# Allowed SIP IPs
# due to high traffic caused by bots, by default the SIP port is blocked.
# but you can allow access by your providers IP or IP ranges (comma seperated)
# Hint: if you want to allow requests from every IP, you can use 0.0.0.0/0
SIP_IP_ALLOWLIST=

# ====================================
# CUSTOMIZATION
# ====================================

CLIENT_TITLE=BigBlueButton

# use following lines to replace the default welcome message and footer
WELCOME_MESSAGE="Welcome to <b>%%CONFNAME%%</b>!<br><br>For help on using BigBlueButton see these (short) <a href='https://www.bigbluebutton.org/html5' target='_blank'><u>tutorial videos</u></a>.<br><br>To join the audio bridge click the speaker button.  Use a headset to avoid causing background noise for others."
WELCOME_FOOTER="This server is running <a href='https://docs.bigbluebutton.org/'' target='_blank'><u>BigBlueButton</u></a>."

# use following line for an additional SIP dial-in message
#WELCOME_FOOTER="This server is running <a href='https://docs.bigbluebutton.org/' target='_blank'><u>BigBlueButton</u></a>. <br><br>To join this meeting by phone, dial:<br>  INSERT_YOUR_PHONE_NUMBER_HERE<br>Then enter %%CONFNUM%% as the conference PIN number."

# for a different default presentation, place the pdf file in ./conf/ and
# adjust the following path
DEFAULT_PRESENTATION=./mod/nginx/default.pdf

# language of sound announcements
# options:
# - en-ca-june - EN Canadian June
# - en-us-allison - US English Allison
# - en-us-callie - US English Callie (default)
# - de-de-daedalus3 - German by Daedalus3 (https://github.com/Daedalus3/freeswitch-german-soundfiles)
# - es-ar-mario - Spanish/Argentina Mario
# - fr-ca-june - FR Canadian June
# - pt-br-karina - Brazilian Portuguese Karina
# - ru-RU-elena - RU Russian Elena
# - ru-RU-kirill - RU Russian Kirill
# - ru-RU-vika - RU Russian Viktoriya
# - sv-se-jakob - Swedish (Sweden) Jakob
# - zh-cn-sinmei - Chinese/China Sinmei
# - zh-hk-sinmei - Chinese/Hong Kong Sinmei
SOUNDS_LANGUAGE=en-us-callie

# set to false to disable listenOnlyMode
LISTEN_ONLY_MODE=true

# set to true to disable echo test
DISABLE_ECHO_TEST=false

# set to true to automatically share webcam
AUTO_SHARE_WEBCAM=false

# set to true to disable video preview for webcam sharing
DISABLE_VIDEO_PREVIEW=false

# set to false to disable chat
CHAT_ENABLED=true

# set to true to start chat closed
CHAT_START_CLOSED=false

# set to true to disable announcements "You are now (un-)muted"
DISABLE_SOUND_MUTED=false

# set to true to disable announcement "You are the only person in this conference"
DISABLE_SOUND_ALONE=false

# maximum count of breakout rooms per meeting
# Warning: increasing the limit of breakout rooms per meeting
# can generate excessive overhead to the server. We recommend
# this value to be kept under 12.
BREAKOUTROOM_LIMIT=8

# set to false to disable the learning dashboard
ENABLE_LEARNING_DASHBOARD=true

# ====================================
# Tuning
# ====================================
# Default = 2; Min = 1; Max = 4
# On powerful systems with high number of meetings you can set values up to 4 to accelerate handling of events
NUMBER_OF_BACKEND_NODEJS_PROCESSES=2

# Default = 2; Min = 1; Max = 8
# Set a number between 1 and 4 times the value of NUMBER_OF_BACKEND_NODEJS_PROCESSES where higher number helps with meetings
# stretching the recommended number of users in BigBlueButton
NUMBER_OF_FRONTEND_NODEJS_PROCESSES=2

# ====================================
# GREENLIGHT CONFIGURATION
# ====================================

### SMTP CONFIGURATION
# Emails are required for the basic features of Greenlight to function.
# Please refer to your SMTP provider to get the values for the variables below
#SMTP_SENDER_EMAIL=
#SMTP_SENDER_NAME=
#SMTP_SERVER=
#SMTP_PORT=
#SMTP_DOMAIN=bbb.calenco.com
#SMTP_USERNAME=
#SMTP_PASSWORD=
#SMTP_AUTH=
#SMTP_STARTTLS_AUTO=true
#SMTP_STARTTLS=false
#SMTP_TLS=false
#SMTP_SSL_VERIFY=true

### EXTERNAL AUTHENTICATION METHODS
#
#OPENID_CONNECT_CLIENT_ID=
#OPENID_CONNECT_CLIENT_SECRET=
#OPENID_CONNECT_ISSUER=
#OPENID_CONNECT_REDIRECT=

# To enable hCaptcha on the user sign up and sign in, define these 2 keys
#HCAPTCHA_SITE_KEY=
#HCAPTCHA_SECRET_KEY=

# Set these if you are using a Simple Storage Service (S3)
# Uncomment S3_ENDPOINT only if you are using a S3 OTHER than Amazon Web Service (AWS) S3.
#S3_ACCESS_KEY_ID=
#S3_SECRET_ACCESS_KEY=
#S3_REGION=
#S3_BUCKET=
#S3_ENDPOINT=

# Define the default locale language code (i.e. 'en' for English) from the fallowing list:
#  [en, ar, fr, es]
#DEFAULT_LOCALE=en