Skip to content

Configuration file

Olof Kallander edited this page May 29, 2023 · 7 revisions

Available configuration file (config.json) parameters with default values:

{   
    // The port used for the HTTP api on localhost
    "port": 8080,

    "logStdOut": true,
    "logLevel": "INFO",
    "logFile": "/tmp/smb.log",
    "defaultLastN": 5,

    "ice": {
        "enableIpv6": false,

        // Enable if SMB is running on AWS EC2, will automatically resolve the public IP of the instance
        "useAwsInfo": false,

        // Port used for bundled transports
        "singlePort": 10000,

        // Public IPs for srflx ICE candidate from SMB
        "publicIpv4": "",
        "publicIpv6": "",

        // Port range used for non-bundled transports
        "udpPortRangeLow": 10006,
        "udpPortRangeHigh": 26000,

        "tcp": {
            "enable": false,
            "port": 4443
        }
    }
}

The full config set can be found in https://github.com/finos/SymphonyMediaBridge/blob/master/config/Config.h

IPv6

SMB supports IPv6 and will present IPv6 candidates in the SDP if configured. The local IPv6 addresses are automatically identified and since those are usually the same as the public IPv6, there is no need to configure publicIpv6.

High capacity

More capacity is achieved by increasing available CPU cores. There is also a limitation on how much a single UDP socket can handle so you have to increase the number of ports that SMB uses when connecting participants. The config ice.sharedPorts sets the number of ports to open, starting with the port number in ice.sharedPort. Typically, you will saturate a single port at about 800Mbps, which is of course varying number of participants depending on what those send and how big the meetings are. When UDP is saturated you will generally see an increase in number of TCP connection fallbacks. At some point you will also saturate your NIC, regardless of the number of ports used by SMB.

Logging consumes cpu and disk. In high capacity scenarios, you may want to limit logging to warning level.

Clone this wiki locally