Commit Graph

1931 Commits

Author SHA1 Message Date
Joao Siebel
811d6d3f98 Clear guestUsers, voiceCallStates and whiteboard-multi-user collections on meeting end 2021-02-09 12:44:10 -03:00
Anton Georgiev
6b3c97037f Clear meeting-time-remaining collection 2021-02-09 11:23:51 -03:00
Tainan Felipe
e99825f60a Merge remote-tracking branch 'upstream/develop' into develop+pr10919+pr10838 2021-02-09 10:40:39 -03:00
Joao Siebel
2eb8abcba9 Clear guestUsers, voiceCallStates and whiteboard-multi-user collections on meeting end 2021-02-09 09:30:09 -03:00
Anton Georgiev
e2e0b78d40 Merge branch 'develop' of github.com:bigbluebutton/bigbluebutton into split-meteor-roles-on-top-of-2.3-alpha6 2021-02-08 23:39:42 +00:00
Maxim Khlobystov
ff4260dc98 Merge branch 'develop' of https://github.com/bigbluebutton/bigbluebutton into updating-poll-ui 2021-02-08 21:41:43 +00:00
Tainan Felipe
3e921ee93b Remove filter for messages before login time 2021-02-08 17:35:16 -03:00
Ramon Souza
a3780209f3 Add property to settings.yml to enable/disable breakout invitations to moderators 2021-02-08 14:40:03 -03:00
Pedro Beschorner Marin
d7c0975b61 Fix mobile user-list identification
Added the missing extractCredential method and replaced the old callback strategy
with the new try-catch block.
2021-02-08 09:55:38 -03:00
Anton Georgiev
363c801338
Merge pull request #11215 from pedrobmarin/guest-draft
Disable authenticated guests
2021-02-05 16:13:46 -05:00
Anton Georgiev
8c0f0fdd52 Split Meteor roles backend-frontend revisit 2021-02-05 17:47:46 +00:00
Anton Georgiev
5a6f232989
Merge pull request #11285 from ramonlsouza/issue-10454
Changes on webcam skip preview behavior
2021-02-04 13:43:46 -05:00
KDSBrowne
0abdf00a25
Add new join param skip echo test on first join only (#11284)
* add param to force echo test when user joins audio after init

* fix UI stuck on connecting when userdata-bbb_auto_join_audio=false

* fix conditions for joinFullAudioImmediately and joinFullAudioEchoTest | remove old format

* remove extra param in getItem

* recover audioLocked | only set getEchoTest if doesnt exist
2021-02-04 13:42:31 -05:00
Ramon Souza
b1cb4435ee introduce userdata-bbb_skip_video_preview_on_first_join parameter 2021-02-04 15:05:48 -03:00
Tainan Felipe
9cf483d18f Change message getter 2021-02-03 17:49:58 -03:00
Mario Jr
b582b1ca78 Correctly return MediaStream object when calling audio-manager's inputStream
This was missed in recent audio/sip.js changes.
MediaStream is now returned from SIP.js
Related to #10733
2021-01-29 19:05:51 -03:00
Anton Georgiev
09e6ba8dfd Merge branch 'v2.2.x-release' of github.com:bigbluebutton/bigbluebutton into merge-Jan30 2021-01-29 20:58:05 +00:00
Joao Siebel
09f5931d65 Keep track of active connection id for users 2021-01-29 17:29:07 -03:00
Anton Georgiev
d122639042
Merge pull request #11239 from jfsiebel/sync-with-active-connections
Synchronize users with active connections
2021-01-29 12:28:07 -05:00
Joao Siebel
68b2752e0d Add flag to enable sync 2021-01-29 14:27:13 -03:00
Mario Jr
f2de2806eb Add setting for enabling/disabling microphone audio filters
As explained in #11143, disabling audio filters is desired in some scenarios.
This basically adds an option for user to disable default constraints.
When user doesn't change this value in Settings > Application, the default
value for each audio constraints is retrieved from settings.yml.
When user changes this value in Settings > Application, audio
filters (AGC, Noise Supression and Echo Cancellation) are all set to
true/false, according to the value selected in the Settings GUI.

To start it simple, we decided to not to add a different setting in the GUI for
each audio contraint. This may be added in the future, though (perhaps in a
dedicated Audio Settings tab)
This is related to #4873
2021-01-29 14:18:15 -03:00
Joao Siebel
8c7c21f936 Sync users in collection with server active connections 2021-01-26 16:22:32 -03:00
Mario Jr
b753ef5d8d Fix wrong path in settings for audio constraints
Using now 'application' instead of old 'audio' path
2021-01-26 14:12:18 -03:00
Anton Georgiev
6c27e815fc Only publish full users to client side, no dummy users 2021-01-26 16:56:28 +00:00
Mario Jr
7858ba94ba Avoid setting empty/undefined constraint
This removes the console warning about invalid constraint
2021-01-25 23:45:27 -03:00
Pedro Beschorner Marin
85ee3b283f Identify mobile users at user list 2021-01-23 21:57:55 -03:00
Pedro Beschorner Marin
0bbef12ac7 Authenticated guests feature controlled at bbb-web properties 2021-01-23 21:48:02 -03:00
Anton Georgiev
45c1ff6e40
Merge pull request #11175 from MaximKhlobystov/select-random-user
Presenter selecting a random viewer
2021-01-22 15:31:00 -05:00
Mario Jr
97c76900cb Add setting for enabling/disabling microphone audio filters
As explained in #11143, disabling audio filters is desired in some scenarios.
This basically adds an option for user to disable default constraints.
When user doesn't change this value in Settings > Application, the default
value for each audio constraints is retrieved from settings.yml.
When user changes this value in Settings > Application, audio
filters (AGC, Noise Supression and Echo Cancellation) are all set to
true/false, according to the value selected in the Settings GUI.

To start it simple, we decided to not to add a different setting in the GUI for
each audio contraint. This may be added in the future, though (perhaps in a
dedicated Audio Settings tab)
This is related to #4873
2021-01-22 16:30:42 -03:00
Joao Siebel
8f36ac3586 Add throttle to startUserTyping function 2021-01-21 13:05:41 -03:00
Joao Siebel
fa0fd8a054 Add configurable process interval for cursor and annotations 2021-01-20 11:36:40 -03:00
Ramon Souza
39b63368e2 Fixes #11116 2021-01-19 17:16:29 -03:00
Maxim Khlobystov
5238dac647 Remove callbacks from update and clear Mongo operations for randomly selecting a user 2021-01-19 01:53:13 +00:00
prlanzarin
0a36da1e46 screensharing: remake error locales, split them into error classes
There are new locale strings for screensharing errors with a new format (Code X. #What to do) to make it easier for the end user
2021-01-13 09:43:28 -03:00
prlanzarin
25f5139973 screenshare: clean up getDisplayMedia method bindings 2021-01-13 09:05:24 -03:00
prlanzarin
077369c442 screenshare: add a centralized error code/message helper 2021-01-13 09:05:18 -03:00
Mario Jr
92708da447 Allow audio constraints to be changed in bbb-html5's settings.yml
In some scenarios, there's no need for the browser to apply such audio filters. For example, when user's microphone already does audio filtering (echo cancellation, noise supression ...).
This commit doens't change the current behavior (filters still follow browser's default config): admins need to uncomment/set these values if disabling/enabling specific filters if desired.
This is related to #4873
2021-01-12 14:42:27 -03:00
Anton Georgiev
fc93b5a91c correctly add chat message without flattening 2020-12-17 22:02:38 +00:00
Anton Georgiev
c1ffced27d Merge branch 'v2.2.x-release' of github.com:bigbluebutton/bigbluebutton into develop 2020-12-17 21:14:29 +00:00
Anton Georgiev
99ff801d34 remove obsolete callback from user remove 2020-12-15 22:04:26 +00:00
Joao Siebel
3ad269c24c Check if metrics are enabled 2020-12-15 16:20:32 -03:00
prlanzarin
569ace358b screenshare: improve reconnection procedures and error logging in kurento/sfu bridge 2020-12-15 17:45:20 +00:00
Joao Siebel
c5b8f30f5d Add option to generate heapdump file and improve metrics 2020-12-15 13:10:39 -03:00
Anton Georgiev
0be8773e4c Loadbalance bbb-html5 in bbb-web based on CPU 2020-12-11 21:36:06 +00:00
Anton Georgiev
9a04087c12
Merge pull request #11006 from mariogasparoni/v2.2.x-release
Add keep alive message to audio's websocket
2020-12-11 10:41:33 -05:00
Joao Siebel
b07b200a2f Prevent calling function when parameters are undefined 2020-12-11 11:24:03 -03:00
Mario Jr
6113113af9 Add option to disable traceSip logs
Audio client logs already cover audio session progress the way we need.
This avoids keepAlive and other unnecessary messages to be logged in browser's console.
If setting is not present, default value is set to false.
2020-12-11 00:31:10 -03:00
Mario Jr
c65fa2b350 Add keep alive message to audio's websocket
This was added as an option (websocketKeepAliveInterval), which is the interval to send keep alive messages.
Setting websocketKeepAliveInterval to 0 disables the keep alive, producing the same old behavior.
This helps avoid websocket disconnection due to socket inactivity, preventing it to unnecessarily reconnect.
Also, sometimes reconnect fails and error 1005 is triggered.
Fixes problems reported in #10985.
Also reduces occurrences of error 1005.
2020-12-10 23:48:01 -03:00
Joao Siebel
ec2cb2dbde Chek for queueMetrics 2020-12-10 14:07:46 -03:00
Joao Siebel
bf5a45d303 Create Metrics class 2020-12-10 12:07:06 -03:00
prlanzarin
1383ab4def screenshare/html5: rewrite most of the client side code
Added new SFU broker for screen sharing

Removed kurento-extension entirely

Added inbound and outbound reconnection procedures

Improve UI responsiveness when sharing

Add reconnection UI states

Redo error handling

Refactor actions-bar screen share components. Make it smarter with less prop drilling and less re-rendering. Also more readable. Still work to do in that I think

Add a connection retry procedure for screen presenters when they are sharing; try a configurable amount of times when failure is triggered, with configurable min and max reconn timeouts and timeout increase factor

Make local preview attachment smarter

ADD PARTIAL SUPPORT FOR AUDIO SHARING VIA SCREEN SHARING WITH GET DISPLAY MEDIA, RECORDING STILL NOT SUPPORTED!!!
2020-12-09 22:00:54 +00:00
Anton Georgiev
675d440fa6
Merge pull request #10996 from jfsiebel/fix-sync-chat-msgs
Prevent exception when there is no message to sync
2020-12-09 11:30:09 -05:00
Anton Georgiev
a97bb541af
Merge pull request #10945 from prlanzarin/u22-lov18102020
[listenonly] Rewrite SFU/Kurento listen only bridge
2020-12-09 11:29:07 -05:00
Joao Siebel
dd8c3fafc1 Prevent exception when there is no message to sync 2020-12-09 10:33:01 -03:00
prlanzarin
f24460192c screeshare+audio: reorganize some audio checks, pass the flag to SFU 2020-12-08 20:30:30 +00:00
germanocaumo
83fe68db08 Play screenshare audio when present 2020-12-08 20:30:22 +00:00
Anton Georgiev
a5ea33b2b8
Merge pull request #10934 from jfsiebel/throttle-bulk-add-msg
Add bulk chat message insert and optimize chat message insert
2020-12-01 15:28:13 -05:00
Anton Georgiev
244a239810 Merge branch 'v2.2.x-release' of github.com:bigbluebutton/bigbluebutton into 2020-12-01-merge 2020-12-01 20:02:50 +00:00
prlanzarin
1bef5f37a6 [sip.js] Annotate every audio-manager callback call with a bridge name identifier
Useful when parsing logs to split errors by bridge type
2020-12-01 18:23:14 +00:00
prlanzarin
338e8f8291 [listenonly] Rewrite listen only SFU/Kurento bridge
Fixed listen only reconnection handling

Added proper error handling; now all errors have proper mapped codes which are funneled through to audio-manager logger and should be easier to gauge types of errors

Fixed botched reconnection error rejection, audio modal shouldnt be stuck anymore when it fails

Remove every tie that listen only bridge had to kurento-extension
2020-12-01 18:19:31 +00:00
Anton Georgiev
e62710298d
Fix typo 2020-11-30 15:59:12 -05:00
Joao Siebel
c0f42a3c07 Add missing semicolon 2020-11-30 17:11:57 -03:00
Joao Siebel
77d493792f Prevent a case where voiceUser collection was being clean for entire server 2020-11-30 17:01:41 -03:00
Joao Siebel
c6adb2988d Merge remote-tracking branch 'upstream/v2.2.x-release' into throttle-bulk-add-msg 2020-11-30 14:10:30 -03:00
Anton Georgiev
f34826718d include instanceId in resources url 2020-11-30 16:09:35 +00:00
Joao Siebel
b07786b9b8 WIP add bulk insert and throttle for chat messages 2020-11-30 11:27:26 -03:00
Tiago D J
1e4c634dd9
Merge branch 'v2.2.x-release' into remove-callbacks 2020-11-27 13:43:36 -03:00
Anton Georgiev
08a0a38f30 do not log client issues to Winston, only via nginx 2020-11-26 15:39:04 -05:00
Anton Georgiev
698199454c Reduce cursor logging, fix ExternalVideo object logging 2020-11-26 15:31:00 -05:00
Joao Siebel
ccda3b3a34 WIP remove callback from update methods 2020-11-26 13:23:57 -03:00
Joao Siebel
e4a5e88986 Fix selectors 2020-11-26 10:36:44 -03:00
Mario Jr
214cd12c59 Fix typo on dtmf log 2020-11-26 00:01:58 -03:00
Mario Jr
370e3cb39d Use INFO message as default for sending dtmf on call transfer
Instead of sending using rfc4733 standard, we use INFO message for all transfers
INFO message was used in older SIP.js version. Although this is not a standard for sending DTMF tones, this has more reliability (once it sent over TCP)
This might reduce occurrences of 1008
2020-11-25 18:33:45 -03:00
Joao Siebel
11f1a1ac47 Merge remote-tracking branch 'upstream/v2.2.x-release' into remove-callbacks 2020-11-25 10:54:18 -03:00
Joao Siebel
a244fc1acf WIP remove callback from remove operations 2020-11-24 17:44:13 -03:00
Anton Georgiev
3faabd1821 Merge 2.2.29 and 2.2.30 into 2.3.x 2020-11-24 15:13:09 +00:00
Anton Georgiev
21644a1a43 Remove string interpolation for server debug and verbose logs 2020-11-23 14:35:59 -05:00
Mario Jr
af48c8977d Reduce delay for the first reconnection attempt of audio's websocket
This is the same behavior we used to have on older sip.js version code
By doing this we reduce errors when user try to perform join/hangup during an websocket reconnection
2020-11-23 12:40:38 -03:00
Joao Siebel
bcc1d6c880 WIP remove callback from mongo operations 2020-11-23 10:13:46 -03:00
Tainan Felipe
af7479df28 add missing file 2020-11-20 17:32:21 -03:00
Tainan Felipe
091c5f3932 Port Handle chat messages in sync way for 2.3 2020-11-20 16:26:34 -03:00
Mario Jr
2b89dd7db2 Do not trigger reconnect when ICE connection terminates before hanging up process is finished
This could leave users to have your audio reconnected in the main room, while joining a breakout room
Some information can be found in #10528
2020-11-20 00:25:46 -03:00
Mario Jr
9a2fcd27e0 Revert "Prevent Error 1006 when user has two or more occurrences of ':' (colon) in your name"
This reverts commit 0a601359bb.
2020-11-20 00:23:43 -03:00
Joao Siebel
4a88d0a6db Handle chat messages in sync way 2020-11-18 18:09:38 -03:00
Mario Jr
0a601359bb Prevent Error 1006 when user has two or more occurrences of ':' (colon) in your name
This happens because FreeSWITCH is not able to parse the "From" header when it has multiple occurrences of ':'. So user is not able to join audio.
To fix, we now changed the "callerId" to use the base64 value of the user name, instead of directly using user's input (the callerId format keeps being a triple like this: <user_id>-bbbID-<base64_encoded_name>).
Once this callerIdName is encoded at the same point it is generated, there shouldn't be server side effects for changing this value; except for those places where the callerName is retrieved by splitting this triple (such as the voice talking-indicator, as described below).
Updated the talking-indicator to retrieve the username from User's object, instead of retrieving from the one username generated by splitting the callerId triple.
This problem also happens in versions <= 2.2.26.
2020-11-17 15:31:43 -03:00
prlanzarin
a1f0276b64 [html5/audio] Add hackViaWs to SIP.js and make it configurable in settings.yml, 1002 workaround
This adds the possibility to configure the SIP Via header to plain WS to allow reverse proxying from WSS to WS, internally, to work around a bug in freeswitch where the WSS stack would get deadlocked due to a still unidentified bug in there that has to do with SSL termination
2020-11-10 15:04:45 +00:00
Mario Jr
b948bea11b Force using plan-b as default sdpSemantics for chrome
Although Chrome's default is now unified plan, Chrome <-> FreeSWITCH ICE connection fails for some Chrome installations (specially those running on Windows).
FS ICE fails when Chromes's SDP has "a=mid:<index>" (instead of "a=mid:audio").
This fixes Error 1010 and situations where echo test takes too long.
This fixes #6414 regression, once we do the same older version of SIP.js used to do.
2020-11-09 21:58:16 -03:00
Mario Jr
46e0c263fe Use iceConnectionState to monitor ICE connection status
We now use both peer's connectionstatechange and iceconnectionstatechange to monitor ICE state for audio sessions.
The same way we did with old sip.js version, we leave iceconnectionstate trigger audio actions , such as connect, disconnect, reconnect.
We still listen for 'failed' state for connectionstatechange event, because chrome triggers this (tested on 86+).
This should reduce the audio error 1010 ocurrences, once some browsers (specially Chrome/Android) don't trigger connectionstatechangeevent.
This might reduce problems reported in #10708, which still needs more investigation though.
2020-11-08 22:43:52 -03:00
Richard Alam
e28bba42fc
Merge pull request #10742 from KDSBrowne/2.2-issue-10705
Prevent users from sending multiple votes per poll
2020-11-06 16:33:56 -05:00
Mario Jr
3a689578c6 Monitor peer's iceconnectionstatechange event
This gives more information about ICE connection, combined with onconnectionstatechange event
2020-11-06 09:37:58 -03:00
Mario Jr
2585d957e8 Correctly map WebSocket error
Maps WebSocket's 1006 error to BBB's 1002, the same way it was done with old sip.js version
Set user agent's number of reconnection attempts to the same value as older sip.js version
2020-11-06 09:25:40 -03:00
KDSBrowne
2468ac225c return null in publishVote if user already voted 2020-11-05 17:02:31 +00:00
KDSBrowne
5076a2accd fix typo / use operator / add log 2020-11-05 14:19:36 +00:00
KDSBrowne
76dc9034ee Merge branch 'develop' of https://github.com/bigbluebutton/bigbluebutton into 2.3-per-user-wb 2020-11-02 16:36:59 +00:00
KDSBrowne
2f46c1fd28 Merge branch 'develop' of https://github.com/bigbluebutton/bigbluebutton into 2.3-user-rand-select 2020-11-02 16:16:29 +00:00
KDSBrowne
d2cb02b3bd prevent users from being able to send more than 1 poll vote 2020-10-28 18:33:09 +00:00
Mario Jr
3e3b648040 Properly stops userAgent / peer when audio connection/reconnection fails
Changed the maximum attempts of the UserAgent reconnection (this should be changed when binding audio's websocket to meteor's connection state).
Added a log to monitor WS reconnect attempts.
2020-10-28 15:04:30 -03:00
Anton Georgiev
df8b6350c9
Merge pull request #10617 from KDSBrowne/2.3-undo-pencil
Fix broken undo of consecutive pencil annotations
2020-10-27 14:59:57 -04:00
Joao Siebel
91c8e78d44 Fix join listen only problem 2020-10-26 13:10:40 -03:00
Mario Jr
d1e5f189ba Prevent 1005 error log when user close/reload bbb's window/tab
When closing/reloading tab with active microphone, audio exits successfully but a wrong log-error (1005) is shown.
We now process closing/reloading tab the same way we do when user hangup the call.
2020-10-25 16:12:58 -03:00
Mario Jr
18c20261e1 Change default value of iceGatheringTimeout to current's SIP.js default
For some reason (still investigating), using turn/coturn on 443/tcp makes firefox's iceGathering process (during echo test) takes 12+ seconds (tested on webrtc's trickle page with multiple instances).
This was found when testing the current default (15s) on production with a private turn/coturn server on port 443/tcp. For default bbb setup (stun only), echo test still runs fast.
To avoid adding extra delay to iceGathering on this scenario (Firefox + turn on 443/tcp), i am just setting the default value back to the 5s (old default).
So , for those who wants to reduce the 1004 occurrences, increasing the iceGatheringTimeout could help (just be aware this adds delay on the mentioned scenario).
2020-10-24 08:58:25 -03:00
Mario Jr
a86ff72aa3 Increase default iceGatheringTimeout
Added a default 'MEDIA' option: iceGatheringTimeout. This option allows admin to set a higher ICE gathering timeout, which can help when getting ICE errors during audio negotiation (eg 1004)
Default value set to 15s (current default is 5s).
2020-10-23 11:21:20 -03:00
Mario Jr
993c3a5a8a Do not show reconnect/disconnect message when new ICE candidates are found
Sometimes, when user already joined audio session, RTCPeerConnection may
find new ICE candidates, which triggers 'connected' state for peer's
'onconnectionstatechange' event. When this happens we process this
new state the same way when user is not running an audio session, which
makes html5client popup an annoying 'Audio Connected' message.
The audio keeps working fine, but this can make user think that there's a
connection issue, or the audio is reconnecting, while audio is ok.
2020-10-23 11:20:08 -03:00
Joao Siebel
be8421db3c Merge remote-tracking branch 'upstream/develop' into connection-manager 2020-10-21 13:57:17 -03:00
KDSBrowne
73f890c9d8 Merge branch 'develop' of https://github.com/bigbluebutton/bigbluebutton into 2.3-updated-polling 2020-10-21 16:05:03 +00:00
Anton Georgiev
0c7ead1916 Merge branch 'v2.2.x-release' of github.com:bigbluebutton/bigbluebutton into oct16-merge 2020-10-21 14:48:02 +00:00
KDSBrowne
2ee9d0c723 allow late joiner whiteboard access when multiUser enabled 2020-10-19 16:36:02 +00:00
KDSBrowne
d74b5af2a9 clear selected user when moderator closes modal | clean up 2020-10-19 14:46:41 +00:00
Anton Georgiev
70eb028da9
Merge pull request #10667 from jfsiebel/improve-streamer-and-error-logs
Improve annotations and cursor streamer logs
2020-10-16 14:42:05 -04:00
Joao Siebel
109c18beb0 Improve annotations and cursor streamer logs, also add a type info for some logs in authentication process
and rollback some attempts to fix multiple leaving end call.
2020-10-16 10:30:50 -03:00
Mario Jr
df67d2e680 Better handling audio reconnection
When getting disconnected with 1001 ("websocket closed unexpectedly" error) we were creating a new SIP session, therefore a new FreeSWITCH channel.
While reconnecting the socket, instead of closing the SIP session, we keep it alive during reconnection (audio should keep working in the meantime). When reconnected we keep using this same session (avoiding the creation of an extra one).
We also better handle WebSocket error codes from SIP.js.
FF immediately closes websocket when unloading page, so we now to stop user agent when 'beforeunload' event is triggered, to avoid leaving open sessions in FreeSWITCH when user leaves page.
2020-10-15 11:24:23 -03:00
Anton Georgiev
b1e57e3d2f
Bump up log level of forced meeting end 2020-10-14 09:44:17 -04:00
Anton Georgiev
adcb05b1ec
Merge pull request #10612 from jfsiebel/improve-logs
Improve  log in/authentication logs
2020-10-09 13:43:09 -04:00
Anton Georgiev
bf555dc047
Merge pull request #10564 from KDSBrowne/2.2-publishVote-error
Fix exception while invoking method 'publishVote'
2020-10-09 13:36:21 -04:00
KDSBrowne
9827664efc fix textArea width / height sent from client 2020-10-09 14:20:22 +00:00
KDSBrowne
c518263fc9 fix broken undo of consecutive pencil annotations 2020-10-08 14:35:36 +00:00
Joao Siebel
14388ec922 Improve logs for a better debug/understanding of problems related to authentication and log in process 2020-10-07 16:50:17 -03:00
Mario Jr
e9e436378a Correctly set audio input/output devices
When refusing ("thumbs down" button) echo test, user is able to select a different input device. This should work fine for chrome, firefox and safari (once user grants permission when asked by html5client).
For output devices, we depend on setSinkId function, which is enabled by default on current chrome release (2020) but not in Firefox (user needs to enable "setSinkId in about:config page). This implementation is listed as (?) in MDN.
In other words, output device selection should work out of the box for chrome, only.
When selecting an outputDevice, all alert sounds (hangup, screenshare , polling, etc) also goes to the same output device.
This solves #10592
2020-10-06 20:37:55 -03:00
Mario Jr
e1b9ad3536 Map stun/turn servers into WebRTC's iceServers, when using fallback stun 2020-10-02 16:19:55 -03:00
Anton Georgiev
95277836f8
Merge pull request #10580 from mariogasparoni/v2.2.x-release
Set stun/turn server for audio's peer in html5 client
2020-10-02 13:50:35 -04:00
Joao Siebel
895e82f260 Remove unused method 2020-10-01 15:32:24 -03:00
Joao Siebel
78ead44d17 Fix reconnection flow 2020-10-01 14:31:38 -03:00
Mario Jr
49bfe9f48d Set stun/turn server for audio's peer in html5 client
Latest SIP.js version sets this using peerConnectionConfiguration property instead of UserAgent option.
This solves #10569
2020-10-01 10:16:48 -03:00
Joao Siebel
db7164253d Prevent repeated setUserId 2020-09-29 18:02:03 -03:00
Anton Georgiev
3ddf834de0
Merge pull request #10549 from jfsiebel/prevent-multiple-on-close-handler-attach
Prevent multiple on close handler attach
2020-09-29 12:57:55 -04:00
Anton Georgiev
64efa67412
Merge pull request #10548 from jfsiebel/rework-session-token-check
Add extra check for sessionToken
2020-09-29 12:39:02 -04:00
Joao Siebel
6919498234 Prevent multiple attaches on socket close for the same user 2020-09-29 09:57:31 -03:00
Joao Siebel
b0f2abad8b Prevent user who logout from meeting to join again using the same sessionToken
also move this and banned user check to a different method.
2020-09-29 09:33:15 -03:00
KDSBrowne
e99292836f fix Match error: Expected object, got undefined in publishVote 2020-09-28 19:28:35 +00:00
Mario Jr
619ffa0ec1 Port SIP.js to 0.17.1 release
This considerably changes the way we process audio signaling and start audio elements in user's browser.
We now avoid using AudioContext element for both microphone and listenonly calls, once it is unstable for some iOS devices (cracky audio, user stops hearing audio after a while).
Increased default value for listenOnlyCallTimeout: this avoids activating FreeSWITCH's fallback when ICE negotiation takes longer than 15sec (tested on DO).
Increased listenonly logs.
This fixes #8133 #10388
2020-09-25 20:26:22 -03:00
KDSBrowne
3e8eebdd1b move random viewer selection to akka-apps 2020-09-25 19:41:30 +00:00
KDSBrowne
f16dd6f702 Merge branch 'develop' of https://github.com/bigbluebutton/bigbluebutton into 2.3-per-user-wb 2020-09-21 23:41:40 +00:00
Joao Siebel
a3cf7cd98e Prevent validateAuthToken spamming.
If an ejected user tries to enter in the meeting using the current url
html5 client keep trying to validate that user, but without success
causing a validateAuthToken message spam until the connection times out.
2020-09-21 15:50:54 -03:00
KDSBrowne
d32155cc5f add new poll type | allow typed responses | update UI 2020-09-21 12:07:36 +00:00
Joao Siebel
b2adffa4c2 Merge remote-tracking branch 'upstream/develop' into connection-manager 2020-09-18 16:30:20 -03:00
Anton Georgiev
377dc27a8d Merge branch 'v2.2.x-release' of github.com:bigbluebutton/bigbluebutton into 09-16-merge 2020-09-17 14:37:28 +00:00
Joao Siebel
087939855e fix some problems with using same user in multiple tabs 2020-09-16 09:52:44 -03:00
Anton Georgiev
ed9c8af1e7
Merge pull request #10431 from prlanzarin/upstream-2.2-spl
screenshare: make presenter's screenshare preview local instead of remote
2020-09-10 14:40:29 -04:00
prlanzarin
b9e1bd3e31 screenshare: cleanup on old playElement code 2020-09-10 15:01:10 +00:00
mvasylenko
7ba421cc4a Configurable max number of breakout rooms
Use this wisely: breakoutRoomLimit parameter was introduced to controll max number of breakout rooms.
2020-09-10 11:59:21 -03:00
prlanzarin
37d21ddd97 screenshare: adjust stun fetch failure log 2020-09-10 14:11:42 +00:00
prlanzarin
7b7c10db64 screenshare: make presenter preview local
Also some much needed code movearound in Kurento`s bridge
2020-09-10 13:48:05 +00:00
Joao Siebel
ac0a014571 WIP onClose 2020-09-10 08:49:22 -03:00
Joao Siebel
6e4e0a510a Merge branch 'remove-user-on-exit' into connection-manager 2020-09-08 16:36:01 -03:00
Tainan Felipe
8651a02676 Add override default locale to user settings 2020-09-08 15:54:08 -03:00
Anton Georgiev
07a776ea0e
Merge pull request #10411 from jfsiebel/banned-users-log
Fix banned users log
2020-09-08 13:40:16 -04:00
Joao Siebel
96bd372f15 Fix banned users log 2020-09-08 13:56:17 -03:00
Joao Siebel
1581c71efe Normalize custom parameters by removing extra space. 2020-09-08 11:29:05 -03:00
Joao Siebel
700c91729e Prevent non presenters to start/stop an external video 2020-09-04 13:49:01 -03:00
João Francisco Siebel
52654bc927
Update bigbluebutton-html5/imports/api/external-videos/server/methods/stopWatchingExternalVideo.js
Co-authored-by: Anton Georgiev <antobinary@users.noreply.github.com>
2020-09-03 17:02:27 -03:00