Commit Graph

48 Commits

Author SHA1 Message Date
prlanzarin
1cb412529d feat(webrtc): add EXPERIMENTAL option to disable ICE candidate signaling
ICE lite servers (eg mediasoup) dont need candidates signaled out-of-band; neither does KMS in certain scenarios

Disable their signaling saves us some ticks in bbb-webrtc-sfu and some bandwidth all around
2021-09-24 17:24:06 +00:00
prlanzarin
58a8e99195 feat: add media server configuration via metadata
Applies to video, listen only and screen sharing

New metadata values: media-server-video, media-server-listenonly, media-server-screenshare; parameter is a String
2021-08-31 00:39:45 +00:00
prlanzarin
c57fb0b388 feat(audio): add media server adapter config for listen only in bbb-html5
Allows configuring, via bbb-html5, which media server adapter will be used by listen only; server wide
2021-08-31 00:24:41 +00:00
Anton Georgiev
4ecb24b4fa Merge branch 'v2.3.x-release' of github.com:bigbluebutton/bigbluebutton into merge-aug30 2021-08-30 18:11:16 +00:00
Mario Jr
cf366e5090 Get user and audio data, shows it and allows it to be copied to clipboard
Using getStats api and peer information to retrieve upload/download rates
and transport information
2021-08-12 16:39:04 -03:00
prlanzarin
54d04fdb77 refactor(listen-only): let the server generate subscriber offers 2021-08-12 13:45:18 +00:00
prlanzarin
168f66310e fix(listen-only): avoid leaving a dangling HTMLMediaElement in paused state 2021-07-23 02:35:47 +00:00
Mario Jr
287c4eb682 feat(audio): use kurento's trickle-ice to improve mic negotiation
Here's what we do when user activates mic:
1 - When we do something similar to listenonly's joining process
until we find a valid candidate-pair. The information about this
local candidate is store.
2 - We then start a new userAgent, and as soon as browser finds
a candidate with the same local ip address, we leave only this
candidate in the SDP and send this to FreeSWITCH. SDP should
contain only a single candidate.
3 - The rest of signaling process is basically the same.
2021-07-01 16:26:44 -03:00
Ramon Souza
9d590a74d3 remove unused imports 2021-05-03 09:24:07 -03: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
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
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
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
Pedro Beschorner Marin
5c71e2d0bb Included new getStats monitor for audio and video 2019-12-10 09:07:06 -03:00
Chad Pilkey
7218f36e44 listen only logging improvements 2019-12-02 14:15:46 -08:00
prlanzarin
7779a5e3a9 Display error toasts for screensharing, improve logs a bit more 2019-09-10 16:20:40 +00:00
prlanzarin
73698b1064 Fix playAndRetry import 2019-09-06 20:54:48 +00:00
prlanzarin
c8a88148e1 Improve log message for screenshare/listen only/autoplay and harden media play with retries 2019-09-06 18:58:22 +00:00
prlanzarin
01b53728f8 Only handle autoplay when DOMEx is NotAlllowedError
Add check to prevent re-handling autoplay multiple times for cams

Screenshare viewer element muted by default
2019-08-05 17:28:36 +00:00
prlanzarin
9942dd0aa2 Merge remote-tracking branch 'upstream/master' into 2.2-ap-ui 2019-08-02 21:36:44 +00:00
prlanzarin
8d65ce565d Add UI prompts when autoplay is blocked for video/screenshare/listen only 2019-08-02 21:32:42 +00:00
Anton Georgiev
0f5331aba7
Merge pull request #7839 from prlanzarin/2.2-listenonly-reconnect
Add auto-reconnect to SFU listen only (#6994)
2019-08-01 13:04:35 -04:00
prlanzarin
6844132eb4 Add auto-reconnect to SFU listen only if it fails during an ongoing session 2019-07-26 09:28:11 +00:00
Chad Pilkey
e69931a0af Merge remote-tracking branch 'upstream/master' into fix-pan-lag 2019-07-25 16:29:52 -07:00
prlanzarin
39cf33b194 Yet another workaround for autoplay issues 2019-07-25 17:36:19 +00:00
prlanzarin
a3a5d2f6a4 Refactor screenshare/listen only client-side logs 2019-07-15 20:59:00 +00:00
Anton Georgiev
b71bd48490 remove redundant audio log 2019-07-02 20:11:48 +00:00
Anton Georgiev
86a178fbf6 video-provider logger with extraInfo 2019-07-02 19:51:35 +00:00
Chad Pilkey
42f18a15fe try to improve kurento listen-only error reporting 2019-06-05 10:50:21 -07:00
Anton Georgiev
e5cdc3a0ce omit appending of username and userid 2019-04-10 21:22:33 +00:00
Anton Georgiev
d716f8360e provide safe value for user id and name in kurento bridge 2019-04-10 20:49:45 +00:00
Pedro Beschorner Marin
b5427737d7 Includes a minimal authentication step before SFU connections 2019-02-06 09:37:05 -02:00
Maxim Khlobystov
b86a990612 Add logCode and build number to log messages 2019-02-01 14:12:06 -05:00
prlanzarin
2741022cb2 Updated kurento-utils WebRTC calls, added permission request on listen only for safari
Also fixed a resource leak on listen only fallback and transitioned the SFU listen only from a tag-based approach to MediaStream
2018-10-03 18:39:55 +00:00
prlanzarin
dc767d9bdb Fixed server-side error handling for listen only via SFU, correctly handling KMS abrupt shutdown 2018-08-30 02:41:02 +00:00
prlanzarin
a7bfb985d3 Improvements to Safari/Chrome autoplay policies with placeholder buffer on audiocontext and bogus audio + upstarting audio tag as muted 2018-08-29 19:12:34 +00:00
prlanzarin
4f99173d38 Using default input stream for SFU listne only 2018-08-28 15:24:06 +00:00
Lucas Fialho Zawacki
f8d8e5c8e5 Prettier obj logs in audio, video, screenshare 2018-07-26 16:29:55 -03:00
Lucas Fialho Zawacki
e36c494252 Use newer logging calls for video,audio,screenshare 2018-07-26 15:26:56 -03:00
Lucas Fialho Zawacki
2fc85f75e1 New Logging format for listenonly audio and screenshare 2018-07-25 19:08:24 -03:00
prlanzarin
d2bdb67ed3 Propagating configs to WebRTC screenshare script and added support for STUN/TURN config to SFU components 2018-07-09 21:29:59 +00:00
prlanzarin
6a63887ebb Fixed kurento audio bridge meetingId fetching and removed uneeded object assignments 2018-06-28 18:59:36 +00:00
prlanzarin
d4858b6e70 Fixed userId/userName sending to SFU audio component
Also did some refactoring to kurento-extension parameters
2018-06-28 18:50:56 +00:00
prlanzarin
37564a0c6f Fixed userName/userId usage in kurento-extension 2018-05-07 17:17:48 +00:00
prlanzarin
4a9ba0b37a Added kurento audio bridge callbacks and sip.js depency to SFU 2018-05-07 13:39:39 +00:00
prlanzarin
c2143f9a50 Added first working versions of join/exitAudio for kurento bridge and fixed SFU session termination for freeswitch adapter 2018-04-29 00:18:54 +00:00
prlanzarin
47120111dd Fixed adapter calls in SFU and added bridge hooks for kurento listen only 2018-04-27 21:37:41 +00:00