Commit Graph

7848 Commits

Author SHA1 Message Date
Joao Siebel
77d493792f Prevent a case where voiceUser collection was being clean for entire server 2020-11-30 17:01:41 -03:00
Anton Georgiev
6d258ac223
Merge pull request #10925 from lkiesow/mirror-cameras
Allow mirroring individual webcams
2020-11-30 11:14:22 -05:00
Lars Kiesow
74efe8735b
Allow mirroring individual webcams
BigBlueButton already allows mirroring the users own webcam as a global
setting set by administrators. Users have no way of choosing this on
their own.

This patch turns this functionality into a user setting for all webcams.
Every camera menu now gets a “mirror” entry.

The global setting is still used as a default value, keeping the current
behavior as it is to not confuse users.
2020-11-29 20:54:01 +01:00
Anton Georgiev
0225a6a97f
Merge pull request #10918 from lfzawacki/v2.2.x-release
First version of a PeerTube player
2020-11-27 16:35:09 -05:00
Anton Georgiev
f39e2eb0bb
Merge pull request #10902 from jfsiebel/remove-callbacks
Remove callbacks from mongo operations
2020-11-27 15:58:47 -05:00
Anton Georgiev
12c45a3393 Pulled HTML5 locales, Nov 27, 2020 2020-11-27 11:44:01 -05: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
Lucas Zawacki
7c704c78c1 PeerTube player, first version 2020-11-26 17:33:08 -03: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
c34d5381fe Add flag to enable/disable custom heartbeat functions 2020-11-26 11:19:59 -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
Anton Georgiev
0c7ae7537b
Only display Redis: MeetingMessageQueue if size > 100 2020-11-25 10:32:45 -05: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
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
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
Anton Georgiev
dedaea5ad2 who-is-talking - do not allow mute in breakouts 2020-11-19 14:14:37 -05:00
Joao Siebel
4a88d0a6db Handle chat messages in sync way 2020-11-18 18:09:38 -03:00
Mario Jr
8822819900 Filter 'name' field in user's search
This is a part of #10848, as discussed in https://github.com/bigbluebutton/bigbluebutton/pull/10848#discussion_r525480434
2020-11-18 10:40:15 -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
Mario Jr
1b1a055d37 Fix audio modal buttons (MIC/LISTEN) not working after audio error
When user joins audio and for some reason an error (such as 1001, 1002,...), happens, the user is not able to click "Mic" and "Listen Only Buttons"; except if the audio window is closed and oppened again.
2020-11-17 15:31:42 -03:00
Joao Siebel
b6b211f4fb Tweak heartbeat 2020-11-16 18:37:25 -03:00
Joao Siebel
1c47023e8a Add original function link for reference 2020-11-16 10:46:18 -03:00
Joao Siebel
3a2d06fd88 Tweak sockjs timeout value 2020-11-13 18:41:56 -03:00
Anton Georgiev
9ed5154740 Pulled HTML5 locales on Nov 13, 2020 2020-11-13 14:17:15 -05:00
Anton Georgiev
b1227f5785
Merge pull request #10810 from prlanzarin/u22-gumtgc-wa
[html5/webrtc] Fix tryGenerateIceCandidates rejections and put it behind a flag
2020-11-13 11:00:05 -05:00
Anton Georgiev
a8dc7a0bff Simplified redis debug and placed behind check 2020-11-12 21:03:57 -05:00
prlanzarin
8dda22f8a7 [html5/webrtc] Fix tryGenerateIceCandidates rejections, put it behind a flag
Fixed two occurrences where the tryGenerateIceCandidates workaround rejected without an error, which borked the callers error handling

Also put it behind a config flag. This workaround used to be important when Kurento didnt infer prflx candidates properly, but that`s no longer the case. With the flag, we can disable the workaround to see if there`s any visible regression and hopefully remove it down the road
2020-11-11 13:43:36 +00: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
Fred Dixon
97da7d6023
Merge pull request #10704 from KDSBrowne/2.2-upload-modal-error-bound
Add error boundary to presentation upload modal
2020-11-06 16:40:50 -05: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
7c690ab22c fix presentation downloadable tooltip msg 2020-10-30 13:00:07 +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
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
Zh4rsiest
3f13f4eca4 Changing isIphone value
The component expects a boolean but isIphone property return an array ["Iphone"] if the user is from an iPhone
2020-10-23 12:37:43 -03:00