diff options
author | Alex Auvolat <alex@adnab.me> | 2022-08-24 15:42:47 +0200 |
---|---|---|
committer | Alex Auvolat <alex@adnab.me> | 2022-08-24 15:42:47 +0200 |
commit | 2e8923b383eb06c53261eee8e5c442b857fb67e4 (patch) | |
tree | 0ad148f75f7b54dfed2dbac8f43f6df9badc502a /app/jitsi/integration/jvb/videobridge.conf | |
parent | 9848f3090f77363a2fda0f9fa673ebcf1fb8228c (diff) | |
download | nixcfg-2e8923b383eb06c53261eee8e5c442b857fb67e4.tar.gz nixcfg-2e8923b383eb06c53261eee8e5c442b857fb67e4.zip |
Move app files into cluster subdirectories; add prod garage
Diffstat (limited to 'app/jitsi/integration/jvb/videobridge.conf')
-rw-r--r-- | app/jitsi/integration/jvb/videobridge.conf | 290 |
1 files changed, 0 insertions, 290 deletions
diff --git a/app/jitsi/integration/jvb/videobridge.conf b/app/jitsi/integration/jvb/videobridge.conf deleted file mode 100644 index a11edc6..0000000 --- a/app/jitsi/integration/jvb/videobridge.conf +++ /dev/null @@ -1,290 +0,0 @@ -videobridge { - entity-expiration { - # If an entity has no activity after this timeout, it is expired - timeout=1 minute - - # The interval at which the videobridge will check for expired entities - check-interval=${videobridge.entity-expiration.timeout} - } - health { - # The interval between health checks - interval=10 seconds - - # The timeout for a health check - timeout=30 seconds - - # If performing a health check takes longer than this, it is considered unsuccessful. - 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 - } - 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 - - # How long an endpoint can be 'inactive' before it will - # be considered disconnected - max-inactivity-limit=3 seconds - - # How often we check endpoint's connectivity status - 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 - enable-onstage-video-suspend=false - trust-bwe=true - - # How often we check to send probing data - padding-period=15ms - - # How often we'll force recalculations of forwarded - # streams - max-time-between-calculations = 15 seconds - - # A JVB-wide last-n value, observed by all endpoints. Endpoints - # will take the minimum of their setting and this one (-1 implies - # no last-n limit) - jvb-last-n = -1 - } - # The APIs by which the JVB can be controlled - apis { - xmpp-client { - # The interval at which presence is published in the configured MUCs. - presence-interval = ${videobridge.stats.interval} - - configs { - unique-xmpp-server { - hostname="jitsi-xmpp" - domain = "auth.jitsi" - username = "jvb" - password = "jvbpass" - port = 5222 - muc_jids = "jvbbrewery@internal.auth.jitsi" - # The muc_nickname must be unique across all jitsi-videobridge instances - muc_nickname = "unique-jvb-server" - disable_certificate_verification = false - } - # example-connection-id { - # For the properties which should be - # filled out here, see MucClientConfiguration - # } - } - } - # The COLIBRI REST API - rest { - enabled = true - } - jvb-api { - enabled = true - } - } - # Configuration of the different REST APIs. - # Note that the COLIBRI REST API is configured under videobridge.apis.rest instead. - rest { - debug { - enabled = true - } - health { - enabled = true - } - shutdown { - # Note that the shutdown API requires the COLIBRI API to also be enabled. - enabled = false - } - version { - enabled = true - } - } - http-servers { - # The HTTP server which hosts services intended for 'public' use - # (e.g. websockets for the bridge channel connection) - public { - # See JettyBundleActivatorConfig in Jicoco for values - port = -1 - tls-port = -1 - } - # The HTTP server which hosts services intended for 'private' use - # (e.g. health or debug stats) - private { - # See JettyBundleActivatorConfig in Jicoco for values - host = 127.0.0.1 - } - } - octo { - # Whether or not Octo is enabled - 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" - - # The address on which the Octo relay should bind - # Must be set when 'enabled' is true - #bind-address=198.51.100.1 - - # The port to which the Octo relay should bind - bind-port=4096 - - # The address which controls the public address which - # will be part of the Octo relayId - #public-address=198.51.100.1 - - # The size of the incoming octo queue. This queue is per-remote-endpoint, - # so it matches what we use for local endpoints - recv-queue-size=1024 - - # The size of the outgoing octo queue. This is a per-originating-endpoint - # queue, so assuming all packets are routed (as they currently are for Octo) - # it should be the same size as the transceiver recv queue in - # jitsi-media-transform. Repeating the description from there: - # Assuming 300pps for high-definition, 200pps for standard-definition, - # 100pps for low-definition and 50pps for audio, this queue is fed - # 650pps, so its size in terms of millis is 1024/650*1000 ~= 1575ms. - send-queue-size=1024 - } - load-management { - # Whether or not the reducer will be enabled to take actions to mitigate load - reducer-enabled = false - load-measurements { - packet-rate { - # The packet rate at which we'll consider the bridge overloaded - load-threshold = 50000 - # The packet rate at which we'll consider the bridge 'underloaded' enough - # to start recovery - recovery-threshold = 40000 - } - } - load-reducers { - last-n { - # The factor by which we'll reduce the current last-n when trying to reduce load - 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 - impact-time = 1 minute - # The lowest value we'll set for last-n - minimum-last-n-value = 0 - # The highest last-n value we'll enforce. Once the enforced last-n exceeds this value - # we'll remove the limit entirely - maximum-enforced-last-n-value = 40 - } - } - } - sctp { - # Whether SCTP data channels are enabled. - enabled=true - } - stats { - # Whether periodic collection of statistics is enabled or not. When enabled they are accessible through the REST - # API (at `/colibri/stats`), and are available to other modules (e.g. to be pushed to callstats or in a MUC). - enabled = true - - # The interval at which stats are gathered. - interval = 5 seconds - - # Configuration related to pushing statistics to callstats.io. - callstats { - # An integer application ID (use 0 to disable pushing stats to callstats). - app-id = 0 - - # The shared secred to authentication with callstats.io. - //app-secret = "s3cret" - - # ID of the key that was used to generate token. - //key-id = "abcd" - - # The path to private key file. - //key-path = "/etc/jitsi/videobridge/ecpriv.jwk" - - # The ID of the server instance to be used when reporting to callstats. - bridge-id = "jitsi" - - # TODO: document - //conference-id-prefix = "abcd" - - # The interval at which statististics will be published to callstats. This affects both per-conference and global - # statistics. - # Note that this value will be overriden if a "callstatsio" transport is defined in the parent "stats" section. - interval = ${videobridge.stats.interval} - } - } - websockets { - enabled=false - server-id="default-id" - - # Optional, even when 'enabled' is set to true - # tls=true - # Must be set when enabled = true - #domain="some-domain" - } - ice { - tcp { - # Whether ICE/TCP is enabled. - enabled = true - - # The port to bind to for ICE/TCP. - port = 8089 - - # An optional additional port to advertise. - # mapped-port = 8443 - # Whether to use "ssltcp" or plain "tcp". - ssltcp = true - } - - udp { - # The port for ICE/UDP. - port = 10000 - } - - # An optional prefix to include in STUN username fragments generated by the bridge. - #ufrag-prefix = "jvb-123:" - - # Which candidate pairs to keep alive. The accepted values are defined in ice4j's KeepAliveStrategy: - # "selected_and_tcp", "selected_only", or "all_succeeded". - keep-alive-strategy = "selected_and_tcp" - - # Whether to use the "component socket" feature of ice4j. - use-component-socket = true - - # Whether to attempt DNS resolution for remote candidates that contain a non-literal address. When set to 'false' - # such candidates will be ignored. - resolve-remote-candidates = false - - # The nomination strategy to use for ICE. THe accepted values are defined in ice4j's NominationStrategy: - # "NominateFirstValid", "NominateHighestPriority", "NominateFirstHostOrReflexiveValid", or "NominateBestRTT". - nomination-strategy = "NominateFirstValid" - } - - transport { - send { - # The size of the dtls-transport outgoing queue. This is a per-participant - # queue. Packets from the egress end-up in this queue right before - # transmission by the outgoing srtp pipeline (which mainly consists of the - # packet sender). - # - # Its size needs to be of the same order of magnitude as the rtp sender - # queue. In a 100 participant call, assuming 300pps for the on-stage and - # 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 - } - } - - version { - // Wheather to announe the jitsi-videobridge version to clients in the ServerHello message. - announce = false - } -} - |