Commit Graph

1069 Commits (aac79ef80fc9c8bc0cd03e9ee5a9639b9ad5e19c)

Author SHA1 Message Date
pabloFuente 03859f5d06 Integration test: Assert.fail instead of System.err 2022-03-25 12:36:21 +01:00
pabloFuente b8079ce519 Integration tests: protect Whitebox#getInternalState 2022-03-25 12:21:56 +01:00
pabloFuente ad152fab8e Tests: protect InvocationOnMock#getArgument class cast exceptions 2022-03-24 23:08:25 +01:00
pabloFuente 5cc6579bf0 nodeRecovered event 2022-03-24 12:34:02 +01:00
pabloFuente 4e7483c235 Fix integration tests 2022-03-22 12:23:19 +01:00
pabloFuente 594d9f92f9 openvidu-server: prepare parameterized Media Node reconnection timeout 2022-03-22 10:59:47 +01:00
pabloFuente 5c209a55ba openvidu-server: rename Kms#getMediaServer to Kms#getMediaServerType 2022-03-21 14:48:21 +01:00
pabloFuente 96a0bbc155 openvidu-server: remove commented Kms#fetchMediaServerType 2022-03-21 14:46:33 +01:00
pabloFuente 6f417a001f openvidu-server: Kms#fetchMediaServerType performed in single point 2022-03-21 14:44:38 +01:00
pabloFuente 9d975d3a17 openvidu-server: MediaNodeManager 2022-03-21 13:49:30 +01:00
pabloFuente 3d3f7c1d74 Update package.json dependencies for OpenVidu dashboard 2022-03-18 15:08:03 +01:00
pabloFuente 9e68dd6d10 openvidu-server: reorder KurentoClient event handlers on KmsManager 2022-03-18 14:08:20 +01:00
pabloFuente a91fc4f870 openvidu-server: avoid Media Node removal ops if not 1st reconnection attempt 2022-03-18 14:06:43 +01:00
pabloFuente a940708f8d openvidu-server: update logback config to only log ERROR message of kurento-client 2022-03-18 13:46:00 +01:00
pabloFuente a74decb540 openvidu-server: improve logging on Media Node reconnection method 2022-03-18 12:49:37 +01:00
pabloFuente 022a692735 openvidu-server: Kms#fetchMediaServerType (no remote operation on GET media-node) 2022-03-18 12:38:08 +01:00
pabloFuente 701e35356b Update Copyright dates 2022-03-18 10:31:19 +01:00
pabloFuente 85c0cc0584 openvidu-server: fix close session and init session race condition 2022-03-17 17:16:17 +01:00
pabloFuente 87f2613860 openvidu-server: always call WebRtcEndpoint#addIceCandidate on RPC onIceCandidate from openvidu-browser 2022-03-15 17:37:23 +01:00
pabloFuente defba84160 openvidu-server: remove unnecessary try-catch after 2.21 in RpcHandler 2022-03-11 13:40:16 +01:00
pabloFuente 993dc831c8 openvidu-server: update dashboard package.json dependencies with npm audit 2022-03-11 13:15:35 +01:00
pabloFuente 90a665230c openvidu-server: manage INDIVIDUAL recording start uncaught error 2022-03-07 13:51:58 +01:00
pabloFuente 2dbbcfbe33 openvidu-server: extend timeouts during integration test 2022-03-04 10:48:10 +01:00
jenkinsopenvidu 0e71cbc561 Update to version v2.21.0 2022-03-03 12:28:08 +00:00
pabloFuente f503d5006b openvidu-server: fix lack of media_node_id to ELK summaries 2022-03-02 15:01:58 +01:00
pabloFuente 0b0f260ec9 Remove OPENVIDU_WEBRTC_SIMULCAST property from CE application.properties 2022-03-01 11:29:49 +01:00
Juan Navarro 4d004e4a9e Review all href usages of target="_blank"
Do not force the user's browser to open new tabs when navigating within
the documentation pages. We discussed about this and agreed that doing
so is user hostile and goes away from how HTTP links have been working
for 30 years (i.e. leave users decide if THEY want a new tab or not, by
how they open the links).

Used these regexes:

From: target="blank"
To: target="_blank"

From: (\]\((?!http)[^)]+\))\{:target="_blank"\}
To: $1

From: (\]\(https?://docs.openvidu.io[^)]+\))\{:target="_blank"\}
To: $1

From: href="((?!http)\S+)" target="_blank"
To: href="$1"

From: href="(https?://docs.openvidu.io\S+)" target="_blank"
To: href="$1"
2022-02-28 13:51:44 +01:00
cruizba d32aefb900 openvidu-server,openvidu-node-client: Typos and missing parameter in openvidu-node-client for IceServerProperties 2022-02-25 16:24:27 +01:00
cruizba c15d6170da openvidu-server: External Turn REST API credentials: https://datatracker.ietf.org/doc/html/draft-uberti-rtcweb-turn-rest-00 2022-02-25 10:47:07 +01:00
cruizba af5efc4de4 openvidu-server: Simplify readIceServer method to load OPENVIDU_WEBRTC_ICE_SERVERS 2022-02-24 21:59:00 +01:00
cruizba 963191fe93 openvidu: Remove not needed method 2022-02-21 22:57:23 +01:00
cruizba 8220d9e6ed openvidu-server: Minor changes on showing configuration at first run.
- Don't show on running some empty parameters on first run.
- Add post processing config for openvidu-pro to show postprocessed config parameters correctly on first run.
2022-02-21 22:19:38 +01:00
cruizba 2719540d32 openvidu: Rename IceServerPropertiesTests to IceServerPropertiesTest 2022-02-16 18:11:53 +01:00
cruizba 4d579cf8b3 openvidu: Add OPENVIDU_WEBRTC_ICE_SERVERS configuration paramater 2022-02-13 19:33:41 +01:00
cruizba 0437cc9199 Add customIceServers to openvidu-node-client. Send customIceServers to openvidu-browser in 'joinRoom' response 2022-02-11 20:03:26 +01:00
cruizba fca9c7b2ab Tests for IceServerProperties. Integrate new attribute to Connection and generation token logic 2022-02-08 20:04:51 +01:00
cruizba 3274db8a61 Merge branch 'master' of https://github.com/OpenVidu/openvidu into feature/custom-ice-servers 2022-02-07 18:13:34 +01:00
pabloFuente 14b89da6f3 openvidu-server: replace IdentifierPrefixes.MEDIA_ID with MEDIA_NODE_ID 2022-02-03 13:08:29 +01:00
pabloFuente 6fec7f7cd3 openvidu-server: add new IdentifierPrefixes.OPENVIDU_NODE_ID 2022-02-03 13:01:02 +01:00
cruizba ad778ff0d3 openvidu-server: Add customIceServers to REST post of connection 2022-02-02 18:44:19 +01:00
Juan Navarro eddf86f430 openvidu-server: sanitize string for custom ConnectionId 2022-01-28 14:16:04 +01:00
pabloFuente 425fe0983c openvidu-server: allow setting custom ConnectionId for debug purposes
Allows applications to set a custom string for the the connection ID,
which is a great help for debugging purposes, as it will appear in
all server logs and also will be used to set media server object names
(with obj.setName() API)
2022-01-28 14:12:21 +01:00
Juan Navarro 202e782c9d openvidu-server: disable Simulcast Publisher by default 2022-01-28 14:07:06 +01:00
Juan Navarro f05dc3db33 openvidu-server: rename Simulcast Publisher config
OPENVIDU_STREAMS_VIDEO_SIMULCAST --> OPENVIDU_WEBRTC_SIMULCAST
2022-01-28 14:06:36 +01:00
Juan Navarro 0cb9180ec5 openvidu-server+clients: add new forcedVideoCodecResolved session property
Fill a new SessionProperties member "forcedVideoCodecResolved" to
contain the resolved value of "forcedVideoCodec", once the new
MEDIA_SERVER_PREFERRED has been taken into account and translated into
the appropriate option for each media server.

The logic to decide how to translate MEDIA_SERVER_PREFERRED into a
concrete forcedVideoCodec value is placed once in the REST entry point
of session creation (SessionRestController.java). Afterwards,
SessionProperties is just used as a simple storage for all session
features, and serialized / passed around between server and client.
2022-01-20 12:00:01 +01:00
Juan Navarro 0262c85ac0 openvidu-server: remove duplicated serialization of SessionProperties
Let SessionProperties serialize itself, instead of doing it externally
on the Session classes.
2022-01-20 12:00:01 +01:00
Juan Navarro 32fd093cf3 openvidu-server: add MEDIA_SERVER_PREFERRED as default for ForcedVideoCodec
MEDIA_SERVER_PREFERRED: A recommended choice is done for you,
based on the media server that is currently in use.
This is the default setting, and is equivalent to these values:
- For *mediasoup*, `NONE` is selected.
- For *Kurento*, `VP8` is selected.
2022-01-20 12:00:01 +01:00
pabloFuente 16682c5456 Dashboard: update Angular script commands location in package.json 2022-01-10 15:41:05 +01:00
pabloFuente cb48033e72 Update to Angular Material 13 2022-01-10 15:34:12 +01:00
pabloFuente 21e81baa03 Update to Angular 13 2022-01-10 15:30:18 +01:00
pabloFuente a976ab8390 Update to Angular Material 12 2022-01-10 15:19:10 +01:00
pabloFuente 4dd688efa8 Update angular/flex-layout dependency 2022-01-10 15:16:46 +01:00
pabloFuente e8ee49c396 Update to Angular 12 2022-01-10 15:13:40 +01:00
Juan Navarro 8e5f5d4cf4
openvidu-server, browser: Add Simulcast Publisher config (#680)
Simulcast is a per-Publisher configuration that allows to enable
Simulcast senders on the client's PeerConnection of each sender.

Simulcast is a WebRTC feature that sends multiple simultaneous streams
with different video qualities, in order to let the media server decide
which quality is best for which Subscriber on the receiving side.

Enabled by default.
2022-01-05 15:12:51 +01:00
pabloFuente c7f247fbe6 Test commit trigger, again 2021-12-03 11:49:10 +01:00
pabloFuente da2758a93e Test commit trigger, again 2021-12-03 11:45:27 +01:00
pabloFuente 055d99206b openvidu-server: more FormatChecker unit tests 2021-12-02 14:38:01 +01:00
pabloFuente 31464df41b openvidu-server: check null on turnCredentials when leaving session 2021-12-02 12:12:48 +01:00
pabloFuente 0dd32610ae openvidu-server: fix name for recording containers 2021-12-02 12:03:43 +01:00
pabloFuente 7d8221de73 openvidu-server: change recording number delimiter from - to ~ 2021-12-01 17:58:28 +01:00
pabloFuente 2aecdfad1f openvidu-server: remove unused containers Map in ComposedRecordingService 2021-12-01 17:08:13 +01:00
pabloFuente 024230a87c Add FormatChecker unit test 2021-12-01 15:43:01 +01:00
pabloFuente e73ebfee78 Fix KurentoClient disconnect handler after Netty exception 2021-11-30 19:24:30 +01:00
pabloFuente 7470261345 openvidu-server: add OpenviduConfig#asOptionalStringAndNullIfBlank 2021-11-24 17:16:01 +01:00
Juan Navarro 5ea339c3cd openvidu-server: warn Publisher about useless usage of AllowTranscoding 2021-11-24 15:54:15 +01:00
pabloFuente e60ac50d26 WebhookIntegrationTest 2021-11-14 23:16:54 +01:00
pabloFuente 90b075cc7f openvidu-server: support for rtsp SSL IP cameras (rtsps://...) 2021-11-12 18:45:05 +01:00
pabloFuente c9aed9da7b openvidu-server: revert commit reversion, without polling thread bug 2021-11-12 18:35:58 +01:00
pabloFuente c6687efe0e Revert "openvidu-test-e2e: fix restApiProTest"
This reverts commit 10ad16464c.
2021-11-12 18:09:52 +01:00
pabloFuente 10ad16464c openvidu-test-e2e: fix restApiProTest 2021-11-11 18:50:32 +01:00
pabloFuente a604865f65 openvidu-server: typo fixed in RpcHandler log 2021-11-11 12:01:55 +01:00
pabloFuente f81735d7f9 openvidu-server: remove unused imports. Update deprecated docker-java methods 2021-11-10 19:45:00 +01:00
pabloFuente cd847c1daf openvidu-server: new certificate with better "-name" flag 2021-11-09 17:10:59 +01:00
pabloFuente 00d3e429af openvidu-server: updated certificate 2021-11-09 16:26:17 +01:00
pabloFuente 47058c6292 Update Junit Jupiter versions. RecordingManager#checkRecordingPaths to protected 2021-11-09 01:17:48 +01:00
cruizba 594cd24706 openvidu-server: refactor with method Kms.getMediaServer to get which media server is running and Add it to Kms.toJsonExtended as attribute 2021-11-05 21:57:07 +01:00
Juan Navarro cff5e634f5 openvidu-server: unify debug message in connect() methods 2021-11-05 15:52:47 +01:00
Juan Navarro 142348fcef openvidu-server: gatherCandidates() returns immediately, no need for async 2021-11-05 15:52:47 +01:00
pabloFuente e4d0123682 openvidu-test-e2e: fix openViduJavaClientTestIpCamAndTranscoding 2021-11-03 11:09:53 +01:00
pabloFuente ada73560d6 openvidu-server: disable KurentoClient remote operations for stopping INDIVIDUAL recording upon media server reconnection 2021-11-02 13:37:12 +01:00
Juan Navarro a7332aac70
openvidu-server: add MKV recording profile as part of MediaServer enum (#658)
Uses the MediaServer enum to contain information that is specific about
each particular media server. Specifically,

* kurento must record with the WEBM profile and ".webm" file extension
* mediasoup must record with the MKV profile and ".mkv" file extension

Integrating this as part of the global Openvidu config object makes it
trivial to replace the static or hardcoded lines with others that simply
obtain the data from the current media server mode in use.
2021-11-02 11:40:42 +01:00
pabloFuente 9b599ebb6a openvidu-test-e2e: mediaServerReconnect tests 2021-10-30 19:28:30 +02:00
pabloFuente ff50fa45f0 Use kurento docker image with tests. Infinite media server reconnection on CE 2021-10-29 13:38:20 +02:00
pabloFuente edb5dd36ff openvidu-server: deprecated recordingStarted/recordingStopped CDR events removed 2021-10-28 14:06:48 +02:00
pabloFuente 8e418bfd16 Check openvidu-browser and openvidu-server compatibility 2021-10-27 14:04:19 +02:00
Juan Navarro 88d5fd97a7 openvidu-server: remove ForceCodec=NONE for mediasoup
Allow forcing a specific codec when mediasoup is the media server. This
requires changes in the recording! Otherwise, incompatible combinations
might occur. For example, currently WEBM is a container that works ok
for VP8 and VP9 video, but won't work with H.264.
2021-10-26 10:32:57 +02:00
cruizba c2ec01d38c openvidu-server-e2e: E2E Test for mediasoup 2021-10-21 14:35:11 +02:00
pabloFuente 6bf0797df6 openvidu-server: removed ServletCustomizer (https://github.com/spring-projects/spring-boot/blob/main/spring-boot-project/spring-boot/src/main/java/org/springframework/boot/web/server/MimeMappings.java) 2021-10-19 13:02:07 +02:00
Juan Navarro fc61692b09 openvidu-server / deployment: add VP9 to OPENVIDU_STREAMS_FORCED_VIDEO_CODEC
This was already a possibility but most comments didn't mention it
2021-10-15 16:53:44 +02:00
Juan Navarro 0678d86eeb openvidu-server: simplify logic for recording track selection
Two changes that try to make the code easier to read and maintain in the
future. The logic itself doesn't change.

- Do not repeat the MediaProfile assignments. This makes the flow much
easier to understand. And less error prone.

- Do not mix error handling with actual logic. By throwing early, the
actual selection logic that follows is more obvious.
2021-10-15 16:53:44 +02:00
cruizba 93626e5907 openvidu-server: LocalDockerManage#removeVolume added 2021-10-13 15:33:01 +02:00
cruizba c32622dc28 Stop OpenVidu with error if COTURN_PORT is not valid 2021-10-07 22:20:56 +02:00
cruizba bced9ecfa2 If COTURN_PORT not defined or errored, set 3478 by default 2021-10-07 22:13:21 +02:00
Pablo Fuente Pérez 20fdbe0fe1
Merge pull request #656 from gtunon/master
Coturn port conf
2021-10-07 18:35:55 +02:00
gtunon a9a4be6c7c Double space to single space 2021-10-07 07:32:28 +02:00
gtunon 45c04e0156 getNonUserProperties updated with COTURN_PORT 2021-10-07 07:26:21 +02:00
pabloFuente fa2e949b99 openvidu-server: LocalDockerManage#getMountsForContainers added 2021-10-06 14:15:31 +02:00
gtunon 57faf14b21 Coturn port conf 2021-10-01 09:09:04 +02:00
pabloFuente 197ddc8ce8 openvidu-server: LocalDockerManage#getRunningContainers filtering by status 2021-09-30 15:32:03 +02:00
pabloFuente 2e5f605225 /latest to /stable 2021-09-29 11:44:18 +02:00
jenkinsopenvidu 5ee08a2d62 Update to version v2.20.0 2021-09-22 16:16:07 +00:00
pabloFuente 34a16cf98c Replace System.exit with Runtime.getRuntime.halt 2021-09-22 11:16:15 +02:00
pabloFuente 1f3f439e22 openvidu-server: asOptionalInetAddress less restrictive 2021-09-21 12:52:31 +02:00
pabloFuente 67fad6a3ce openvidu-server: session already created message improved 2021-09-10 14:41:49 +02:00
pabloFuente 91d24ccd42 openvidu-server: improved concurrent Session initializaion 2021-09-10 13:10:52 +02:00
Juan Navarro 5b79f9a0a1 recording: improve Error event logs
Make the logs more descriptive and use the same structure for both of
them in CompositeWrapper and SingleStreamRecordingService.
2021-09-08 11:28:10 +02:00
Juan Navarro 1b01ffab81 recording: block on connect() before calling record()
The Kurento RecorderEndpoint.record() method expects that all elements
have been successfully connected. However if connect() is called non-
blocking, then it might happen that record() is called in parallel, when
the connections haven't been done yet.
2021-09-08 11:28:10 +02:00
pabloFuente 3b3fcaa1f0 openvidu-server: fix nullpointers when removing crashed Media Node 2021-09-02 17:53:05 +02:00
pabloFuente 132653cde7 openvidu-server: parallel stop of RecorderEndpoints 2021-09-02 17:09:25 +02:00
Juan Navarro 3e42a6ef23 recording: block on connect() before calling record()
The Kurento RecorderEndpoint.record() method expects that all elements
have been successfully connected. However if connect() is called non-
blocking, then it might happen that record() is called in parallel, when
the connections haven't been done yet.
2021-08-30 18:53:01 +02:00
pabloFuente 4d3602dc30 Fix e2e tests 2021-08-11 02:20:53 +02:00
pabloFuente b9fa01eccb openvidu-server: fix NullPointer when location is null in Participant 2021-08-10 21:34:27 +02:00
pabloFuente 23eed95937 openvidu-server: fix typo 2021-08-10 20:03:12 +02:00
pabloFuente 0b7c993551 Fix e2e tests with new Connection#ip property 2021-08-10 19:27:17 +02:00
pabloFuente 8559ca96d4 openvidu-server: change order of action upon KurentoClient disconnection (nodeCrashed) 2021-08-10 18:25:12 +02:00
pabloFuente 2cba879541 openvidu-server: fix GeoLocationByIpDummy to support Connection ip 2021-08-10 17:56:26 +02:00
pabloFuente 7d17c05409 openvidu-server: add property ip to Connection entity 2021-08-10 17:54:00 +02:00
jenkinsopenvidu 5a5e99c50c Update to version v2.19.0 2021-07-26 12:01:34 +00:00
pabloFuente 4c9e9ee6b3 Update .env file with OPENVIDU_EDITION property 2021-07-23 17:57:24 +02:00
cruizba ad1dca04cb openvidu server: Experimental parameter to enable GPU in recording containers. Add custom recording image configuration parameter. 2021-07-23 17:03:23 +02:00
cruizba 968f1b1391 Bump openvidu-recording version to 2.19.0 2021-07-13 14:33:59 +02:00
cruizba d47a1c9ad7 Add additional parameter 'COTURN_INTERNAL_RELAY=<boolean>' to use Public or Internal IP. Defaults to 'false', which respect previous OpenVidu default deployment configuration 2021-07-12 15:55:31 +02:00
pabloFuente fc5a53ce91 openvidu-server: no more sintactic sugar 2021-07-08 18:36:43 +02:00
pabloFuente 4b3b3780be openvidu-server: improve websocket disconnection detection when sending response 2021-07-08 18:04:18 +02:00
cruizba 3265bf401d openvidu-server: Reduce number of candidates when MEDIA_NODES_PUBLIC_IPS is defined 2021-07-08 17:49:52 +02:00
pabloFuente 9fd690559e openvidu-server: extend warn log when client websocket is closed 2021-07-08 15:33:15 +02:00
pabloFuente 432301e565 openvidu-server: warn instead of error when websocket has been closed by client 2021-07-08 15:31:01 +02:00
cruizba aa050b140d openvidu-server: Better implementation for MEDIA_NODES_PUBLIC_IPS 2021-07-07 18:08:49 +02:00
cruizba 87e9fb308c openvidu-server: Refactor method to check valid IPv4 and IPv6 parameters in OpenViduConfig.java 2021-07-06 21:31:18 +02:00
cruizba 879a88299d openvidu-server: Add parameter MEDIA_NODES_PUBLIC_IPS to modify public ip on remote media server candidates 2021-07-06 21:22:30 +02:00
pabloFuente 08b0742163 openvidu-server: not active sessions generate sessionDestroyed event 2021-07-02 14:57:05 +02:00
pabloFuente 6d93fc3405 Forcibly reconnect subscribers upon publisher reconnection if necessary 2021-06-30 16:00:13 +02:00
pabloFuente 35238a3390 openvidu-server: updated KurentoClient generic methods usage 2021-06-21 11:14:53 +02:00
pabloFuente 9b1663f1c8 openvidu-server: change sessionCreated CDR event timing 2021-06-07 13:09:40 +02:00
pabloFuente 1b89d2751b openvidu-server: disable recording check on init if mediasoup 2021-06-03 13:42:46 +02:00
pabloFuente 7c4b1c94ef openvidu-server: forcedVideoCodec to NONE if mediasoup 2021-06-03 13:30:43 +02:00
pabloFuente 1aff994c8e openvidu-server: fix /accept-certificate controller to return template 2021-06-02 22:33:02 +02:00
pabloFuente fd646bc2a2 openvidu-server: fix Recording construction with frameRate property 2021-06-02 12:42:16 +02:00
jenkinsopenvidu 516d3d76dc Update to version v2.18.0 2021-06-01 16:10:54 +00:00
pabloFuente 31002b2ffc openvidu-server: always apply heavy munging 2021-05-31 17:40:20 +02:00
pabloFuente 21615755f9 Support subscription with different client-server negotiation order 2021-05-31 15:20:54 +02:00
pabloFuente 845a088e69 Revert "openvidu-server: gatherCandidates after processAnswer on 2.18.0 SubscriberEndpoint"
This reverts commit e6808f987c.
2021-05-28 16:09:00 +02:00
pabloFuente 98d409c5c3 openvidu-server: fix PARTICIPANTJOINED_MEDIASERVER_PARAM 2021-05-28 14:20:29 +02:00
pabloFuente 8e5836a21b openvidu-server: mediaServer joinRoom response parameter 2021-05-28 12:40:46 +02:00
pabloFuente 21020c1ca9 openvidu-server: "echo" rpc method 2021-05-26 14:47:16 +02:00
pabloFuente f36da68598 openvidu-server: document EndReason 2021-05-20 18:03:01 +02:00
pabloFuente e2b6963a6b openvidu-server: close sessions before closing KurentoClients on PreDestroy 2021-05-20 17:59:30 +02:00
pabloFuente eb3c28d0be openvidu-server: fix RecordingProperties build on setFinalRecordingNameAndGetFreeRecordingId 2021-05-11 17:04:47 +02:00
pabloFuente 888cc1bfc5 openvidu-server: parse ignoreFailedStreams recording property from REST params 2021-05-11 12:35:37 +02:00
pabloFuente f1da724533 New RecordingProperty ignoreFailedStreams 2021-05-11 12:28:41 +02:00