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
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
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
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
Tainan Felipe
cb53b42c0e
Merge remote-tracking branch 'upstream/develop' into issue-9723
2020-08-10 16:52:58 -03:00
Tainan Felipe
cc9662b6b8
Implement speaker change and add device update feature
2020-08-10 16:43:49 -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
Pedro Beschorner Marin
ab31861544
Add a minimum socket validation to full-audio connection
2020-07-29 15:51:19 -03:00
Pedro Beschorner Marin
19e301e28e
Add a minimum socket validation to full-audio connection
2020-07-29 13:10:17 -03:00
Tainan Felipe
0ba6ff5cf6
Merge remote-tracking branch 'upstream/develop' into issue-9723
2020-07-27 17:02:44 -03:00
Tainan Felipe
2c61d5ee75
Add input/output dynamic audio change
2020-07-27 16:49:26 -03:00
prlanzarin
1dbafffa26
audio: make listen only call timeout configurable
2020-07-09 18:02:18 +00:00
Joao Siebel
3e95ed0e4b
Merge remote-tracking branch 'upstream/v2.2.x-release' into merge-2.2
2020-06-16 16:40:56 -03:00
Anton Georgiev
ddb54273c1
Added callerIdName in audio logs where possible
2020-06-12 21:13:49 +00:00
Anton Georgiev
c9e996de21
Merge branch 'v2.2.x-release' of github.com:bigbluebutton/bigbluebutton into merge-2.2-into-develop
2020-05-25 17:32:24 +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
Anton Georgiev
8129468300
Merge branch 'v2.2.x-release' of github.com:bigbluebutton/bigbluebutton into merging
2020-03-04 23:36:21 +00:00
Chad Pilkey
5a678a4faf
react to voice call state when connecting with FS LO
2020-03-04 10:25:54 -08:00
Chad Pilkey
ecfbe5e506
implmenent sip.js fallback for playing audio with web audio api
2020-02-29 00:38:30 +00:00
Anton Georgiev
3754d0ab6f
Merge branch 'v2.2.x-release' of github.com:bigbluebutton/bigbluebutton into merge-2.2-into-master-feb-28-2020
2020-02-28 17:47:06 -05:00
Chad Pilkey
6a4ba7a300
watch for voice call state updates instead of DTMFs in the client
2020-02-18 14:03:06 -08:00
Anton Georgiev
4b0452d1fd
Merge branch 'v2.2.x-release' of github.com:bigbluebutton/bigbluebutton into feb14-merge-2.2-into-master
2020-02-14 21:43:35 +00:00
Chad Pilkey
162dc4dbe4
the client will end the call when kicked
2020-01-09 15:50:10 -08:00
Chad Pilkey
f5cb7a64fb
log the selected sip.js candidate
2019-12-18 16:11:24 -08:00
Pedro Beschorner Marin
5c71e2d0bb
Included new getStats monitor for audio and video
2019-12-10 09:07:06 -03:00
Chad Pilkey
50365aa4da
extra log messages for sipjs candidates
2019-12-05 16:33:38 -08:00
Chad Pilkey
7218f36e44
listen only logging improvements
2019-12-02 14:15:46 -08:00
Chad Pilkey
66a705a87d
hangup the sip.js call when a timeout hits
2019-11-22 13:48:46 -08:00
Chad Pilkey
c70577b05f
add a counter to sipjs caller id
2019-11-13 16:00:47 -08:00
Chad Pilkey
927cbf35bb
add option to reconnect audio with relay only
2019-10-26 02:57:49 +00: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
612aca99e6
sipjs logCode-s preserve inconsistencies
2019-07-02 20:50:25 +00:00
Anton Georgiev
b71bd48490
remove redundant audio log
2019-07-02 20:11:48 +00:00
Anton Georgiev
004547f681
prepend sip.js logCode-s
2019-07-02 19:56:25 +00:00
Anton Georgiev
86a178fbf6
video-provider logger with extraInfo
2019-07-02 19:51:35 +00:00
Anton Georgiev
3fcb95ab44
log structure {logCode, extraInfo}, comment
2019-06-28 21:45:50 +00:00
Anton Georgiev
fc1c4ed53f
pass baseErrorCodes on SIPSession create
2019-06-25 19:13:31 +00:00
Anton Georgiev
8b53c32565
baseErrorCodes not defined
2019-06-24 20:41:58 +00:00
Fred Dixon
2c617fed7b
Merge pull request #7610 from capilkey/ipv4-audio-fallback
...
IPv4 FS audio fallback, auto-reconnect, and fixed input select
2019-06-12 19:41:15 -04:00
Chad Pilkey
cc7513279e
IPv4 FS audio fallback, auto-reconnect, and fixed input select
2019-06-12 21:01:20 +00:00
Anton Georgiev
8946951f08
Merge pull request #7575 from capilkey/improve-kurento-lo-errors
...
Try to improve Kurento listen-only error reporting
2019-06-05 15:00:43 -04:00
Chad Pilkey
42f18a15fe
try to improve kurento listen-only error reporting
2019-06-05 10:50:21 -07:00
Chad Pilkey
1e391695c1
strip mDNS candidates from sip.js SDPs
2019-06-03 18:54:30 +00:00
prlanzarin
9a563a006c
Fixed typo in toPlanB conversion
...
Also tidy some stray lines
2019-05-21 17:38:22 +00:00
prlanzarin
8a7b53db20
Fixed safari detection on sip.js bridge
2019-05-21 16:56:57 +00:00
prlanzarin
ca9a0fad4a
Added unified-plan/plan-b translation for Safari endpoints
2019-05-21 16:48:01 +00:00
Chad Pilkey
2bee179eff
improved audio connect and transfer
2019-05-09 21:01:34 +00:00
Chad Pilkey
8c9d09dd49
increase audio timeouts in HTML5
2019-04-12 15:23:22 -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
Chad Pilkey
242a9f019f
add transfer dtmf resend for firefox users
2019-03-14 14:02:51 -07:00
Anton Georgiev
8380875e70
remove Verto code
2019-03-08 19:41:19 +00:00
Chad Pilkey
5827ec7ff5
increase call connect timeout and only apply to firefox
2019-02-21 13:58:27 -08:00
Chad Pilkey
50670365c5
dont log ice closed if user requested hangup
2019-02-21 12:53:39 -08:00
Chad Pilkey
160ea38f5b
Replace double quotes in audio name with single quotes
2019-02-21 12:49:04 -08:00
Chad Pilkey
89b8189087
html5 sipjs bridge has useful errors now
2019-02-20 13:58:37 -08:00
Pedro Beschorner Marin
b5427737d7
Includes a minimal authentication step before SFU connections
2019-02-06 09:37:05 -02:00
Anton Georgiev
cd531f91ff
Merge pull request #6702 from MaximKhlobystov/html5-logs
...
Improve logging
2019-02-01 16:03:23 -05:00
Maxim Khlobystov
b86a990612
Add logCode and build number to log messages
2019-02-01 14:12:06 -05:00
Chad Pilkey
f2ba2c8bc9
update the html5 sipjs logging with more messages
2019-01-31 15:15:29 -08:00
Chad Pilkey
d5189549bf
webrtc call is ready in Edge when ICE completed not connected
2019-01-29 16:11:20 -08:00
Chad Pilkey
032460480d
update the version of adapterjs and renable sipjs logging
2019-01-25 10:03:01 -08:00
Gustavo Trott
6d4cca9306
Fix audio in ios webview
2018-12-21 15:14:05 -02:00
Chad Pilkey
7e99929214
[HTML5] delay the notfication that the echo test is connected
2018-10-29 09:41:05 -07:00
Fred Dixon
c807da095f
Update sip.js
...
Fix #6167
2018-10-24 16:26:20 -04: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
Bobak Oftadeh
a5354c9c10
Merge branch 'v2.0.x-release' of https://github.com/bigbluebutton/bigbluebutton into fixes3
2018-07-13 12:18:55 -07:00
Bobak Oftadeh
c98bd10024
Replaced console.errors with client logger and alterted logger configurations
2018-07-13 12:16:50 -07: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
Anton Georgiev
915c1bae8b
Merge pull request #5757 from Tainan404/issue-5714
...
Add some messages about audio errors
2018-07-03 11:22:45 -04:00
prlanzarin
8c50ddf762
Removed audio failure listeners on graceful exit
2018-07-02 16:36:54 +00:00
prlanzarin
769143ad48
Fixed audio state bug regarding ICE connection
2018-07-02 15:36:48 +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
Tainan Felipe
c21749992d
Tiny fixes
2018-06-28 15:16:28 -03:00
prlanzarin
2f5aa09fe5
Merge remote-tracking branch 'upstream/v2.0.x-release' into sfu-opt-audio
2018-06-27 17:34:33 +00:00
Tainan Felipe
7dc251fc5a
add treater of webrtc error
2018-06-27 10:56:03 -03:00
Anton Georgiev
f38271b3f8
pass correct structure for TURNs
2018-06-11 20:20:32 +00:00
Anton Georgiev
e4a6f31abc
revert special api changes made for html5 client
2018-05-24 18:42:59 +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