From d9d86a25e6c619148cfba6db9e0851b068eeeec6 Mon Sep 17 00:00:00 2001 From: Boris Grozev Date: Wed, 23 Aug 2023 12:11:23 -0500 Subject: [PATCH 1/4] Bump consent check and inactivity intervals. --- jvb/src/main/resources/application.conf | 4 ++-- jvb/src/main/resources/reference.conf | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/jvb/src/main/resources/application.conf b/jvb/src/main/resources/application.conf index 956ac8019c..9afb3c9bf8 100644 --- a/jvb/src/main/resources/application.conf +++ b/jvb/src/main/resources/application.conf @@ -1,8 +1,8 @@ # This file contains overrides for libraries JVB uses ice4j { consent-freshness { - // Sends "consent freshness" check every 3 seconds - interval = 3 seconds + // Sends "consent freshness" check every 5 seconds. + interval = 5 seconds // Retry max 5 times which will take up to 2500ms, that is before the next "consent freshness" transaction starts. max-retransmissions = 5 } diff --git a/jvb/src/main/resources/reference.conf b/jvb/src/main/resources/reference.conf index ffaaa0238b..555f79846a 100644 --- a/jvb/src/main/resources/reference.conf +++ b/jvb/src/main/resources/reference.conf @@ -29,7 +29,7 @@ videobridge { # How long an endpoint can be 'inactive' before it will # be considered disconnected - max-inactivity-limit=3 seconds + max-inactivity-limit=8 seconds # How often we check endpoint's connectivity status check-interval=500 milliseconds From e7500d27df83aa1b94a8fe6cb2bf54e0249c7251 Mon Sep 17 00:00:00 2001 From: Boris Grozev Date: Wed, 23 Aug 2023 12:56:28 -0500 Subject: [PATCH 2/4] Add missing whitespace in reference.conf. --- jvb/src/main/resources/reference.conf | 57 +++++++++++++-------------- 1 file changed, 28 insertions(+), 29 deletions(-) diff --git a/jvb/src/main/resources/reference.conf b/jvb/src/main/resources/reference.conf index 555f79846a..78ed447673 100644 --- a/jvb/src/main/resources/reference.conf +++ b/jvb/src/main/resources/reference.conf @@ -1,54 +1,54 @@ videobridge { entity-expiration { # If an entity has no activity after this timeout, it is expired - timeout=1 minute + timeout =1 minute # The interval at which the videobridge will check for expired entities - check-interval=${videobridge.entity-expiration.timeout} + check-interval = ${videobridge.entity-expiration.timeout} } health { # The interval between health checks - interval=1 minute + interval = 1 minute # The timeout for a health check. This needs to be higher than [interval], otherwise health checks timeout because # none were scheduled. - timeout=90 seconds + timeout = 90 seconds # If performing a health check takes longer than this, it is considered unsuccessful. - max-check-duration=3 seconds + max-check-duration = 3 seconds # Whether or not health check failures should be 'sticky' # (i.e. once the bridge becomes unhealthy, it will never # go back to a healthy state) - sticky-failures=false + sticky-failures = false } ep-connection-status { # How long we'll wait for an endpoint to *start* sending # data before we consider it 'inactive' - first-transfer-timeout=15 seconds + first-transfer-timeout = 15 seconds # How long an endpoint can be 'inactive' before it will # be considered disconnected - max-inactivity-limit=8 seconds + max-inactivity-limit = 8 seconds # How often we check endpoint's connectivity status - check-interval=500 milliseconds + check-interval = 500 milliseconds } cc { - bwe-change-threshold=0.15 - thumbnail-max-height-px=180 - onstage-ideal-height-px=1080 - onstage-preferred-height-px=360 - onstage-preferred-framerate=30 + bwe-change-threshold = 0.15 + thumbnail-max-height-px = 180 + onstage-ideal-height-px = 1080 + onstage-preferred-height-px = 360 + onstage-preferred-framerate = 30 // Whether the bridge is allowed to oversend (send the lowest layer regardless of BWE) for on-stage endpoints. If // allowed, it's only used when an endpoint is screensharing. - allow-oversend-onstage=true + allow-oversend-onstage = true // The maximum bitrate by which the estimation will be exceeded when oversending (if oversending is allowed). - max-oversend-bitrate=500 kbps - trust-bwe=true + max-oversend-bitrate = 500 kbps + trust-bwe = true # How often we check to send probing data - padding-period=15ms + padding-period = 15ms # How often we'll run bandwidth re-allocation. This is in addition to re-allocating when otherwise required (e.g. # a new endpoint joins or the available layers change). @@ -143,16 +143,16 @@ videobridge { } relay { # Whether or not relays (octo) are enabled - enabled=false + enabled = false # A string denoting the 'region' of this JVB. This region will be used by Jicofo in the selection of a bridge for # a client by comparing it to the client's region. # Must be set when 'enabled' is true. - #region="us-west-1" + #region = "us-west-1" # The unique identifier of the jitsi-videobridge instance as a relay. # Must be set when 'enabled' is true. - #relay-id="jvb-1234" + #relay-id = "jvb-1234" } load-management { # Whether or not the reducer will be enabled to take actions to mitigate load @@ -172,8 +172,7 @@ videobridge { reduction-scale = .75 # The factor by which we'll increase the current last-n when trying to recover recover-scale = 1.25 - # The minimum time in between runs of the last-n reducer to reduce or recover from - # load + # The minimum time in between runs of the last-n reducer to reduce or recover from load impact-time = 1 minute # The lowest value we'll set for last-n minimum-last-n-value = 1 @@ -200,22 +199,22 @@ videobridge { } sctp { // Whether SCTP data channels are enabled. - enabled=true + enabled = true } stats { // The interval at which stats are gathered. interval = 5 seconds } websockets { - enabled=false - server-id="default-id" + enabled = false + server-id = "default-id" // Whether to negotiate WebSocket compression (permessage-deflate) enable-compression = true // Optional, even when 'enabled' is set to true - #tls=true + #tls = true // The domains used when advertising a colibri-ws URL. Must be set when enabled = true - domains= [] + domains = [] // The domain used when advertising a colibri-relay-ws URL. If empty defaults to the value of `domains`. relay-domains = [] } @@ -272,7 +271,7 @@ videobridge { # 100pps for low-definition, last-n 20 and 2 participants talking, so # 2*50pps for audio, this queue is fed 300+19*100+2*50 = 2300pps, so its # size in terms of millis is 1024/2300*1000 ~= 445ms. - queue-size=1024 + queue-size = 1024 } } From 6fe1f1aa8dbcb2692b896a226d4f292721613e83 Mon Sep 17 00:00:00 2001 From: Boris Grozev Date: Wed, 23 Aug 2023 17:36:43 -0500 Subject: [PATCH 3/4] squash: Fix more whitespace. --- jvb/src/main/resources/reference.conf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/jvb/src/main/resources/reference.conf b/jvb/src/main/resources/reference.conf index 78ed447673..d4a33aab03 100644 --- a/jvb/src/main/resources/reference.conf +++ b/jvb/src/main/resources/reference.conf @@ -1,7 +1,7 @@ videobridge { entity-expiration { # If an entity has no activity after this timeout, it is expired - timeout =1 minute + timeout = 1 minute # The interval at which the videobridge will check for expired entities check-interval = ${videobridge.entity-expiration.timeout} From ceb48c2112e62537d1b3d07c2317a0bc0aea71a8 Mon Sep 17 00:00:00 2001 From: Boris Grozev Date: Wed, 23 Aug 2023 17:40:16 -0500 Subject: [PATCH 4/4] chore: Update ice4j. --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index b48673715f..ab93ef259a 100644 --- a/pom.xml +++ b/pom.xml @@ -105,7 +105,7 @@ ${project.groupId} ice4j - 3.0-58-gf41542d + 3.0-63-g9fe2d69 ${project.groupId}