Commit Graph

446 Commits

Author SHA1 Message Date
prlanzarin
b4ac2e7fd3 Bump min Firefox (desktop) version to 68
Rationale: removed support for gUM based screen sharing. Uses getDisplayMedia now, minimum FF 68 and Chrome 72
2021-01-13 09:04:59 -03:00
prlanzarin
c9220a48b7 screenshare: remove deprecated chrome extension configs 2021-01-13 09:04:52 -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
08a0a38f30 do not log client issues to Winston, only via nginx 2020-11-26 15:39:04 -05:00
Joao Siebel
c34d5381fe Add flag to enable/disable custom heartbeat functions 2020-11-26 11:19:59 -03: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
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
Anton Georgiev
1ee7946d38
Merge pull request #10615 from antobinary/09-30-libs
Added allowDefaultLogoutUrl config to optionally ignore non-custom logoutUrl
2020-10-09 17:14:36 -04:00
Anton Georgiev
41cab38e87 Added allowDefaultLogoutUrl config to optionally ignore non-custom logoutUrl 2020-10-08 05:15:05 -04:00
fireba11
91c49417ad fixes #9952
adds identifier for samsungs mobile browser (based on chromium) as
supported browser for check
2020-09-30 09:12:39 -04: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
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
Anton Georgiev
7ed6a2c083 Update minBrowserVersions 2020-08-28 09:36:59 -04:00
Anton Georgiev
1bb70a62ca
Merge pull request #10320 from prlanzarin/upstream-2.2-vpeg-pagination
video-provider: add inline docs for pagination configuration
2020-08-25 08:33:54 -04:00
prlanzarin
81868ce922 video-provider: add inline docs for pagination configuration
Change the default page sizes for mobile to 2
2020-08-24 21:28:42 +00:00
Anton Georgiev
4fb301c48b
Merge pull request #10293 from prlanzarin/upstream-2.2-vpeg-pagination
video-provider: first tackle at video pagination
2020-08-20 15:24:57 -04:00
prlanzarin
a98c476239 video-provider: remove page change lock in favor of a debounced approach 2020-08-20 15:43:02 +00:00
prlanzarin
2d436977cb video-provider: add pagination page change timer to prevent spamming 2020-08-19 13:56:22 +00:00
prlanzarin
28e826118a video-provider: first version of video pagination 2020-08-18 17:00:47 +00:00
KDSBrowne
fbeaf87dbd localize the dropdown values for webcam quality 2020-08-17 16:19:45 +00:00
prlanzarin
c524abf05b video-provider: normalize hidden cameraProfiles constraints
Also add some inlined docs to settings.yml
2020-08-11 14:51:50 +00:00
Paulo Lanzarin
629e2dbfd4 Update low-u3 profile to 30kbps/3fps
1 FPS looks too broken. Lower bitrate as much as we can, leave FPS at 3 which is minimally acceptable.
2020-08-05 16:56:25 +00:00
prlanzarin
69ad98f7de video-provider: fix threshold profile names 2020-08-05 16:56:12 +00:00
prlanzarin
1453ee560c video-provider: use single values for threshold frameRates to expand compat 2020-08-05 16:56:06 +00:00
prlanzarin
642de5076a video-provider: first, simplified version of dynamic camera profile control 2020-08-05 16:55:41 +00:00
prlanzarin
dac3259c48 Merge remote-tracking branch 'pedrobmarin/bbb-multiple-webcams' into upstream-2.2-vpeg-base 2020-08-05 14:20:58 +00:00
prlanzarin
1dbafffa26 audio: make listen only call timeout configurable 2020-07-09 18:02:18 +00:00
prlanzarin
0f8b27d2d8 video-provider: make camera timeouts configurable
Also add missing settings.yml val for wsConnectionTimeout
2020-07-09 17:53:24 +00:00
Anton Georgiev
e7d3487b5d
Merge pull request #9878 from lfzawacki/ending-time-alerts
Make meeting/breakout ending time alerts configurable
2020-06-19 16:25:50 -04:00
Lucas Zawacki
3f16d894c3 Configurable ending time and alert values 2020-06-18 15:11:33 -03:00
Lucas Zawacki
a586c7db55 Configuration for remaining time 2020-06-18 15:11:26 -03:00
mw781
bf68d2c76f Refactor code and implement mirroring for video-preview 2020-06-14 20:13:47 +01:00
mw781
17350a57fe Implement own video mirroring 2020-06-12 23:39:41 +01:00
Anton Georgiev
1ba6d10c0a
Update copyright year in html5 client 2020-06-05 09:20:18 -04:00
Anton Georgiev
f510fdc484
Merge pull request #9517 from KDSBrowne/2.2-restore-presentation-on-update
Restore minimized presentation for viewer on (slide or zoom change / pub…
2020-05-29 13:20:31 -04:00
Anton Georgiev
29afdafd3e
Merge pull request #9658 from konkret-devils/v2.2.x-release
Add bbb_show_public_chat_on_login as a join (co-) parameter
2020-05-29 12:42:59 -04:00
Martin Beckmann
630f3393aa Integration of PR #9292 (by weeman1337) and PR #9658 (by mantridereso)
..oops, forgot to update settings.yml
2020-05-26 15:17:11 +02:00
Anton Georgiev
66f11468ac
Merge pull request #9631 from KDSBrowne/issue-9592
Fix userData-shortcuts causing client crash
2020-05-21 15:01:49 -04:00
Anton Georgiev
ead986e3e2
Merge pull request #9542 from prlanzarin/upstream-2.2-safari-ss
Screenshare: add support on Safari 13+ and make constraints configurable
2020-05-21 14:38:32 -04:00
prlanzarin
2cba85e866 html5: refactor STUN/TURN fetch, add fallback STUN, fix deadlock in audio join
Refactored STUN/TURN fetch to be done only once, when successful, per session and cache it in mem to avoid too many reqs. Current way is a bit dumb, this should increase reliability a bit more. The caching is configurable so folks who want to use very short lived TURN credentials can disable it

Add a fallback STUN config option to be used when the default STUN/TURN fetch fails

Clean the safari/no candidate generation pre flight check from 3rd party STUNs

Fix deadlock in audio join when STUN/TURN fetch failed
2020-05-21 04:35:17 +00:00
KDSBrowne
13cf0799a1 fix shortcuts passed as userData not activating 2020-05-20 13:47:04 +00:00
prlanzarin
e875408f8d screenshare: add support on Safari 12.1+ and make constraints configurable
This adds support for screensharing on Safari 12.1+ or whichever has getDisplayMedia enabled

To be conservative and backwards compatible, I`ve maintained the current gUM-based code available as a fallback for those still using older versions of FF or Chrome

Made screenshare constraints configurable. The constraints config will be piped directly to gDM, so it`s just a regular gDM constraint dictionary
2020-05-14 16:54:54 +00:00
KDSBrowne
f5d004c322 restore minimized presentation for viewer (slide or zoom change / published poll / added annotation) 2020-05-12 12:58:14 +00:00
Richard Alam
ac78fd5913 - revert back value for wsUrl 2020-04-24 09:39:21 -07:00
Richard Alam
79096d0c55 Increase voice conf length
We need to increase the length of the voice conference. If we have lots of meetings running,
 there is a high chance of collision.

 Need corresponding changes to FreeSWITCH dialplan.

 In bbb_echo_test.xml, change to `expression="^echo(\d{5,11})$"`.

 In bbb_conference.xml, change to `expression="^(\d{5,11})$"`.
2020-04-24 09:22:46 -07:00
basisbit
f16772818d
add support for upload of '.jpeg' files (not just '.jpg')
apply previously merged PR #9025 into v2.2.x-release
2020-04-16 23:16:48 +02:00
Anton Georgiev
eccc4dd377
Update settings.yml 2020-04-15 09:45:43 -04:00
Chad Pilkey
d9eae9d2b4 increase the pingpong removal timeout to reduce false positives 2020-02-07 11:02:39 -08:00