Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
docker_notes:turnserver [2025-03-02 Sun wk09 12:06] – [Coturn] baumkp | docker_notes:turnserver [2025-03-02 Sun wk09 13:34] (current) – [Coturn] baumkp | ||
---|---|---|---|
Line 34: | Line 34: | ||
* Use of a Docker macvlan type network to reduce the complications and overheads associated with large number of open ports on a bridge type network on Docker | * Use of a Docker macvlan type network to reduce the complications and overheads associated with large number of open ports on a bridge type network on Docker | ||
* The public web site certificates are extrated from the Trafik certificate fill for the separate email server and may be used here. (Still need to setup a correct working system to auto extract on certificate update. | * The public web site certificates are extrated from the Trafik certificate fill for the separate email server and may be used here. (Still need to setup a correct working system to auto extract on certificate update. | ||
+ | * Remember as macvlan networking has been used the Docker service is on the macnet host assign IP address, '' | ||
++++ | ++++ | ||
Line 85: | Line 86: | ||
# | # | ||
# | # | ||
+ | ++++ | ||
+ | ++++default turnserver.conf| | ||
+ | <code yaml># Coturn TURN SERVER configuration file | ||
+ | # | ||
+ | # Boolean values note: where a boolean value is supposed to be used, | ||
+ | # you can use ' | ||
+ | # and you can use ' | ||
+ | # If the value is missing, then it means ' | ||
+ | # | ||
+ | |||
+ | # Listener interface device (optional, Linux only). | ||
+ | # NOT RECOMMENDED. | ||
+ | # | ||
+ | # | ||
+ | |||
+ | # TURN listener port for UDP and TCP (Default: 3478). | ||
+ | # Note: actually, TLS & DTLS sessions can connect to the | ||
+ | # " | ||
+ | # | ||
+ | # | ||
+ | |||
+ | # TURN listener port for TLS (Default: 5349). | ||
+ | # Note: actually, " | ||
+ | # port(s), too - if allowed by configuration. The TURN server | ||
+ | # " | ||
+ | # endpoints (the " | ||
+ | # functionality; | ||
+ | # For secure TCP connections, | ||
+ | # TLS version 1.0, 1.1 and 1.2. | ||
+ | # For secure UDP connections, | ||
+ | # | ||
+ | # | ||
+ | |||
+ | # Alternative listening port for UDP and TCP listeners; | ||
+ | # default (or zero) value means " | ||
+ | # This is needed for RFC 5780 support | ||
+ | # (STUN extension specs, NAT behavior discovery). The TURN Server | ||
+ | # supports RFC 5780 only if it is started with more than one | ||
+ | # listening IP address of the same family (IPv4 or IPv6). | ||
+ | # RFC 5780 is supported only by UDP protocol, other protocols | ||
+ | # are listening to that endpoint only for " | ||
+ | # | ||
+ | # | ||
+ | |||
+ | # Alternative listening port for TLS and DTLS protocols. | ||
+ | # Default (or zero) value means "TLS listening port plus one". | ||
+ | # | ||
+ | # | ||
+ | |||
+ | # Some network setups will require using a TCP reverse proxy in front | ||
+ | # of the STUN server. If the proxy port option is set a single listener | ||
+ | # is started on the given port that accepts connections using the | ||
+ | # haproxy proxy protocol v2. | ||
+ | # (https:// | ||
+ | # | ||
+ | # | ||
+ | |||
+ | # Listener IP address of relay server. Multiple listeners can be specified. | ||
+ | # If no IP is specified in the config file or in the command line options, | ||
+ | # then all IPv4 system IPs will be used for listening. | ||
+ | # | ||
+ | # | ||
+ | # If you specify '::' | ||
+ | # listening. | ||
+ | # | ||
+ | # | ||
+ | # If you want to listen on all IPv4 as well as on all IPv6, you can do | ||
+ | # | ||
+ | # | ||
+ | # or | ||
+ | # | ||
+ | # | ||
+ | # | ||
+ | # to specify just some IPs you prefer: | ||
+ | # | ||
+ | # | ||
+ | # | ||
+ | |||
+ | # Auxiliary STUN/TURN server listening endpoint. | ||
+ | # Aux servers have almost full TURN and STUN functionality. | ||
+ | # The (minor) limitations are: | ||
+ | # | ||
+ | # 1) Auxiliary servers do not have alternative ports and | ||
+ | # they do not support STUN RFC 5780 functionality (CHANGE REQUEST). | ||
+ | # | ||
+ | # 2) Auxiliary servers also are never returning ALTERNATIVE-SERVER reply. | ||
+ | # | ||
+ | # Valid formats are 1.2.3.4: | ||
+ | # | ||
+ | # There may be multiple aux-server options, each will be used for listening | ||
+ | # to client requests. | ||
+ | # | ||
+ | # | ||
+ | # | ||
+ | |||
+ | # (recommended for older Linuxes only) | ||
+ | # Automatically balance UDP traffic over auxiliary servers (if configured). | ||
+ | # The load balancing is using the ALTERNATE-SERVER mechanism. | ||
+ | # The TURN client must support 300 ALTERNATE-SERVER response for this | ||
+ | # functionality. | ||
+ | # | ||
+ | # | ||
+ | |||
+ | # Relay interface device for relay sockets (optional, Linux only). | ||
+ | # NOT RECOMMENDED. | ||
+ | # | ||
+ | # | ||
+ | |||
+ | # Relay address (the local IP address that will be used to relay the | ||
+ | # packets to the peer). | ||
+ | # Multiple relay addresses may be used. | ||
+ | # The same IP(s) can be used as both listening IP(s) and relay IP(s). | ||
+ | # | ||
+ | # If no relay IP(s) specified, then the turnserver will apply the default | ||
+ | # policy: it will decide itself which relay addresses to be used, and it | ||
+ | # will always be using the client socket IP address as the relay IP address | ||
+ | # of the TURN session (if the requested relay address family is the same | ||
+ | # as the family of the client socket). | ||
+ | # | ||
+ | # | ||
+ | # | ||
+ | |||
+ | # For Amazon EC2 users: | ||
+ | # | ||
+ | # TURN Server public/ | ||
+ | # In that situation, if a -X is used in form "-X < | ||
+ | # as relay IP address of all allocations. This scenario works only in a simple case | ||
+ | # when one single relay address is be used, and no RFC5780 functionality is required. | ||
+ | # That single relay address must be mapped by NAT to the ' | ||
+ | # The " | ||
+ | # For that ' | ||
+ | # must be always mapped to the same ' | ||
+ | # | ||
+ | # In more complex case when more than one IP address is involved, | ||
+ | # that option must be used several times, each entry must | ||
+ | # have form "-X < | ||
+ | # RFC5780 NAT discovery STUN functionality will work correctly, | ||
+ | # if the addresses are mapped properly, even when the TURN server itself | ||
+ | # is behind A NAT. | ||
+ | # | ||
+ | # By default, this value is empty, and no address mapping is used. | ||
+ | # | ||
+ | # | ||
+ | # | ||
+ | #OR: | ||
+ | # | ||
+ | # | ||
+ | # | ||
+ | |||
+ | |||
+ | # Number of the relay threads to handle the established connections | ||
+ | # (in addition to authentication thread and the listener thread). | ||
+ | # If explicitly set to 0 then application runs relay process in a | ||
+ | # single thread, in the same thread with the listener process | ||
+ | # (the authentication thread will still be a separate thread). | ||
+ | # | ||
+ | # If this parameter is not set, then the default OS-dependent | ||
+ | # thread pattern algorithm will be employed. Usually the default | ||
+ | # algorithm is optimal, so you have to change this option | ||
+ | # if you want to make some fine tweaks. | ||
+ | # | ||
+ | # In the older systems (Linux kernel before 3.9), | ||
+ | # the number of UDP threads is always one thread per network listening | ||
+ | # endpoint - including the auxiliary endpoints - unless 0 (zero) or | ||
+ | # 1 (one) value is set. | ||
+ | # | ||
+ | # | ||
+ | |||
+ | # Lower and upper bounds of the UDP relay endpoints: | ||
+ | # (default values are 49152 and 65535) | ||
+ | # | ||
+ | # | ||
+ | # | ||
+ | |||
+ | # Uncomment to run TURN server in ' | ||
+ | # By default the verbose mode is off. | ||
+ | #verbose | ||
+ | |||
+ | # Uncomment to run TURN server in ' | ||
+ | # This mode is very annoying and produces lots of output. | ||
+ | # Not recommended under normal circumstances. | ||
+ | # | ||
+ | #Verbose | ||
+ | |||
+ | # Uncomment to use fingerprints in the TURN messages. | ||
+ | # By default the fingerprints are off. | ||
+ | # | ||
+ | # | ||
+ | |||
+ | # Uncomment to use long-term credential mechanism. | ||
+ | # By default no credentials mechanism is used (any user allowed). | ||
+ | # | ||
+ | # | ||
+ | |||
+ | # This option is the opposite of lt-cred-mech. | ||
+ | # (TURN Server with no-auth option allows anonymous access). | ||
+ | # If neither option is defined, and no users are defined, | ||
+ | # then no-auth is default. If at least one user is defined, | ||
+ | # in this file, in command line or in usersdb file, then | ||
+ | # lt-cred-mech is default. | ||
+ | # | ||
+ | #no-auth | ||
+ | |||
+ | # Enable prometheus exporter | ||
+ | # If enabled the turnserver will expose an endpoint with stats on a prometheus format | ||
+ | # this endpoint is listening on a different port to not conflict with other configurations. | ||
+ | # | ||
+ | # You can simply run the turnserver and access the port 9641 and path /metrics | ||
+ | # | ||
+ | # This is currently unavailable on apt installations | ||
+ | # | ||
+ | # For more info on the prometheus exporter and metrics | ||
+ | # https:// | ||
+ | # https:// | ||
+ | # | ||
+ | #prometheus | ||
+ | |||
+ | # Enable labeling prometheus traffic metrics with client usernames. | ||
+ | # Labeling with client usernames is disabled by default, because this may cause memory | ||
+ | # leaks when using authentication with ephemeral usernames (e.g. TURN REST API). | ||
+ | # | ||
+ | # | ||
+ | |||
+ | # Prometheus listener port (Default: 9641). | ||
+ | # | ||
+ | # | ||
+ | |||
+ | # TURN REST API flag. | ||
+ | # (Time Limited Long Term Credential) | ||
+ | # Flag that sets a special authorization option that is based upon authentication secret. | ||
+ | # | ||
+ | # This feature' | ||
+ | # "TURN REST API" link in the project' | ||
+ | # https:// | ||
+ | # | ||
+ | # This option is used with timestamp: | ||
+ | # | ||
+ | # usercombo -> " | ||
+ | # turn user -> usercombo | ||
+ | # turn password -> base64(hmac(secret key, usercombo)) | ||
+ | # | ||
+ | # This allows TURN credentials to be accounted for a specific user id. | ||
+ | # If you don't have a suitable id, then the timestamp alone can be used. | ||
+ | # This option is enabled by turning on secret-based authentication. | ||
+ | # The actual value of the secret is defined either by the option static-auth-secret, | ||
+ | # or can be found in the turn_secret table in the database (see below). | ||
+ | # | ||
+ | # Read more about it: | ||
+ | # - https:// | ||
+ | # - https:// | ||
+ | # | ||
+ | # Be aware that use-auth-secret overrides some parts of lt-cred-mech. | ||
+ | # The use-auth-secret feature depends internally on lt-cred-mech, | ||
+ | # this option then it automatically enables lt-cred-mech internally | ||
+ | # as if you had enabled both. | ||
+ | # | ||
+ | # Note that you can use only one auth mechanism at the same time! This is because, | ||
+ | # both mechanisms conduct username and password validation in different ways. | ||
+ | # | ||
+ | # Use either lt-cred-mech or use-auth-secret in the conf | ||
+ | # to avoid any confusion. | ||
+ | # | ||
+ | # | ||
+ | |||
+ | # ' | ||
+ | # If not set, then the turn server | ||
+ | # will try to use the ' | ||
+ | # in the user database (if present). The database-stored | ||
+ | # by a separate program, so this is why that mode is considered ' | ||
+ | # | ||
+ | # | ||
+ | |||
+ | # Server name used for | ||
+ | # the oAuth authentication purposes. | ||
+ | # The default value is the realm name. | ||
+ | # | ||
+ | # | ||
+ | |||
+ | # Flag that allows oAuth authentication. | ||
+ | # | ||
+ | #oauth | ||
+ | |||
+ | # ' | ||
+ | # This option cannot be used with TURN REST API. | ||
+ | # ' | ||
+ | # so they can NOT be changed while the turnserver is running. | ||
+ | # | ||
+ | # | ||
+ | # | ||
+ | # OR: | ||
+ | # | ||
+ | # | ||
+ | # | ||
+ | # Keys must be generated by turnadmin utility. The key value depends | ||
+ | # on user name, realm, and password: | ||
+ | # | ||
+ | # Example: | ||
+ | # $ turnadmin -k -u ninefingers -r north.gov -p youhavetoberealistic | ||
+ | # Output: 0xbc807ee29df3c9ffa736523fb2c4e8ee | ||
+ | # (' | ||
+ | # password. If it has 0x then it is a key, otherwise it is a password). | ||
+ | # | ||
+ | # The corresponding user account entry in the config file will be: | ||
+ | # | ||
+ | # | ||
+ | # Or, equivalently, | ||
+ | # | ||
+ | # | ||
+ | |||
+ | # SQLite database file name. | ||
+ | # | ||
+ | # The default file name is / | ||
+ | # / | ||
+ | # | ||
+ | # | ||
+ | |||
+ | # PostgreSQL database connection string in the case that you are using PostgreSQL | ||
+ | # as the user database. | ||
+ | # This database can be used for the long-term credential mechanism | ||
+ | # and it can store the secret value for secret-based timed authentication in TURN REST API. | ||
+ | # See http:// | ||
+ | # versions connection string format, see | ||
+ | # http:// | ||
+ | # for 9.x and newer connection string formats. | ||
+ | # | ||
+ | # | ||
+ | |||
+ | # MySQL database connection string in the case that you are using MySQL | ||
+ | # as the user database. | ||
+ | # This database can be used for the long-term credential mechanism | ||
+ | # and it can store the secret value for secret-based timed authentication in TURN REST API. | ||
+ | # | ||
+ | # Optional connection string parameters for the secure communications (SSL): | ||
+ | # ca, capath, cert, key, cipher | ||
+ | # (see http:// | ||
+ | # command options description). | ||
+ | # | ||
+ | # Use the string format below (space separated parameters, all optional): | ||
+ | # | ||
+ | # | ||
+ | |||
+ | # If you want to use an encrypted password in the MySQL connection string, | ||
+ | # then set the MySQL password encryption secret key file with this option. | ||
+ | # | ||
+ | # Warning: If this option is set, then the mysql password must be set in " | ||
+ | # If you want to use a cleartext password then do not set this option! | ||
+ | # | ||
+ | # This is the file path for the aes encrypted secret key used for password encryption. | ||
+ | # | ||
+ | # | ||
+ | |||
+ | # MongoDB database connection string in the case that you are using MongoDB | ||
+ | # as the user database. | ||
+ | # This database can be used for long-term credential mechanism | ||
+ | # and it can store the secret value for secret-based timed authentication in TURN REST API. | ||
+ | # Use the string format described at http:// | ||
+ | # | ||
+ | # | ||
+ | |||
+ | # Redis database connection string in the case that you are using Redis | ||
+ | # as the user database. | ||
+ | # This database can be used for long-term credential mechanism | ||
+ | # and it can store the secret value for secret-based timed authentication in TURN REST API. | ||
+ | # Use the string format below (space separated parameters, all optional): | ||
+ | # | ||
+ | # | ||
+ | |||
+ | # Redis status and statistics database connection string, if used (default - empty, no Redis stats DB used). | ||
+ | # This database keeps allocations status information, | ||
+ | # and delivering traffic and allocation event notifications. | ||
+ | # The connection string has the same parameters as redis-userdb connection string. | ||
+ | # Use the string format below (space separated parameters, all optional): | ||
+ | # | ||
+ | # | ||
+ | |||
+ | # The default realm to be used for the users when no explicit | ||
+ | # origin/ | ||
+ | # server is not using any database (just the commands-line settings | ||
+ | # and the userdb file). Must be used with long-term credentials | ||
+ | # mechanism or with TURN REST API. | ||
+ | # | ||
+ | # Note: If the default realm is not specified, then realm falls back to the host domain name. | ||
+ | # If the domain name string is empty, or set to ' | ||
+ | # | ||
+ | # | ||
+ | |||
+ | # This flag sets the origin consistency | ||
+ | # check. Across the session, all requests must have the same | ||
+ | # main ORIGIN attribute value (if the ORIGIN was | ||
+ | # initially used by the session). | ||
+ | # | ||
+ | # | ||
+ | |||
+ | # Per-user allocation quota. | ||
+ | # default value is 0 (no quota, unlimited number of sessions per user). | ||
+ | # This option can also be set through the database, for a particular realm. | ||
+ | # | ||
+ | # | ||
+ | |||
+ | # Total allocation quota. | ||
+ | # default value is 0 (no quota). | ||
+ | # This option can also be set through the database, for a particular realm. | ||
+ | # | ||
+ | # | ||
+ | |||
+ | # Max bytes-per-second bandwidth a TURN session is allowed to handle | ||
+ | # (input and output network streams are treated separately). Anything above | ||
+ | # that limit will be dropped or temporarily suppressed (within | ||
+ | # the available buffer limits). | ||
+ | # This option can also be set through the database, for a particular realm. | ||
+ | # | ||
+ | #max-bps=0 | ||
+ | |||
+ | # | ||
+ | # Maximum server capacity. | ||
+ | # Total bytes-per-second bandwidth the TURN server is allowed to allocate | ||
+ | # for the sessions, combined (input and output network streams are treated separately). | ||
+ | # | ||
+ | # | ||
+ | |||
+ | # Uncomment if no UDP client listener is desired. | ||
+ | # By default UDP client listener is always started. | ||
+ | # | ||
+ | #no-udp | ||
+ | |||
+ | # Uncomment if no TCP client listener is desired. | ||
+ | # By default TCP client listener is always started. | ||
+ | # | ||
+ | #no-tcp | ||
+ | |||
+ | # Uncomment if no TLS client listener is desired. | ||
+ | # By default TLS client listener is always started. | ||
+ | # | ||
+ | #no-tls | ||
+ | |||
+ | # Uncomment if no DTLS client listener is desired. | ||
+ | # By default DTLS client listener is always started. | ||
+ | # | ||
+ | #no-dtls | ||
+ | |||
+ | # Uncomment if no UDP relay endpoints are allowed. | ||
+ | # By default UDP relay endpoints are enabled (like in RFC 5766). | ||
+ | # | ||
+ | # | ||
+ | |||
+ | # Uncomment if no TCP relay endpoints are allowed. | ||
+ | # By default TCP relay endpoints are enabled (like in RFC 6062). | ||
+ | # | ||
+ | # | ||
+ | |||
+ | # Uncomment if extra security is desired, | ||
+ | # with nonce value having a limited lifetime. | ||
+ | # The nonce value is unique for a session. | ||
+ | # Set this option to limit the nonce lifetime. | ||
+ | # Set it to 0 for unlimited lifetime. | ||
+ | # It defaults to 600 secs (10 min) if no value is provided. After that delay, | ||
+ | # the client will get 438 error and will have to re-authenticate itself. | ||
+ | # | ||
+ | # | ||
+ | |||
+ | # Uncomment if you want to set the maximum allocation | ||
+ | # time before it has to be refreshed. | ||
+ | # Default is 3600s. | ||
+ | # | ||
+ | # | ||
+ | |||
+ | |||
+ | # Uncomment to set the lifetime for the channel. | ||
+ | # Default value is 600 secs (10 minutes). | ||
+ | # This value MUST not be changed for production purposes. | ||
+ | # | ||
+ | # | ||
+ | |||
+ | # Uncomment to set the permission lifetime. | ||
+ | # Default to 300 secs (5 minutes). | ||
+ | # In production this value MUST not be changed, | ||
+ | # however it can be useful for test purposes. | ||
+ | # | ||
+ | # | ||
+ | |||
+ | # Certificate file. | ||
+ | # Use an absolute path or path relative to the | ||
+ | # configuration file. | ||
+ | # Use PEM file format. | ||
+ | # | ||
+ | # | ||
+ | |||
+ | # Private key file. | ||
+ | # Use an absolute path or path relative to the | ||
+ | # configuration file. | ||
+ | # Use PEM file format. | ||
+ | # | ||
+ | # | ||
+ | |||
+ | # Raw public keys support. | ||
+ | # On/off switch for RFC-7250 aka raw public keys. | ||
+ | # Keep in mind, in order for rpks to work, | ||
+ | # coturn must be built against openSSL version at least 3.2.1 | ||
+ | # | ||
+ | # | ||
+ | |||
+ | # Private key file password, if it is in encoded format. | ||
+ | # This option has no default value. | ||
+ | # | ||
+ | # | ||
+ | |||
+ | # Allowed OpenSSL cipher list for TLS/DTLS connections. | ||
+ | # Default value is " | ||
+ | # | ||
+ | # | ||
+ | |||
+ | # CA file in OpenSSL format. | ||
+ | # Forces TURN server to verify the client SSL certificates. | ||
+ | # By default this is not set: there is no default value and the client | ||
+ | # certificate is not checked. | ||
+ | # | ||
+ | # Example: | ||
+ | # | ||
+ | |||
+ | # Curve name for EC ciphers, if supported by OpenSSL | ||
+ | # library (TLS and DTLS). The default value is prime256v1, | ||
+ | # if pre-OpenSSL 1.0.2 is used. With OpenSSL 1.0.2+, | ||
+ | # an optimal curve will be automatically calculated, if not defined | ||
+ | # by this option. | ||
+ | # | ||
+ | # | ||
+ | |||
+ | # Use 566 bits predefined DH TLS key. Default size of the key is 2066. | ||
+ | # | ||
+ | #dh566 | ||
+ | |||
+ | # Use 1066 bits predefined DH TLS key. Default size of the key is 2066. | ||
+ | # | ||
+ | #dh1066 | ||
+ | |||
+ | # Use custom DH TLS key, stored in PEM format in the file. | ||
+ | # Flags --dh566 and --dh1066 are ignored when the DH key is taken from a file. | ||
+ | # | ||
+ | # | ||
+ | |||
+ | # Flag to prevent stdout log messages. | ||
+ | # By default, all log messages go to both stdout and to | ||
+ | # the configured log file. With this option everything will | ||
+ | # go to the configured log only (unless the log file itself is stdout). | ||
+ | # | ||
+ | # | ||
+ | |||
+ | # Option to set the log file name. | ||
+ | # By default, the turnserver tries to open a log file in | ||
+ | # /var/log, /var/tmp, /tmp and the current directory | ||
+ | # (Whichever file open operation succeeds first will be used). | ||
+ | # With this option you can set the definite log file name. | ||
+ | # The special names are " | ||
+ | # to the stdout. Also, the " | ||
+ | # the system log (syslog). | ||
+ | # In the runtime, the logfile can be reset with the SIGHUP signal | ||
+ | # to the turnserver process. | ||
+ | # | ||
+ | # | ||
+ | |||
+ | # Option to redirect all log output into system log (syslog). | ||
+ | # | ||
+ | #syslog | ||
+ | |||
+ | # Set syslog facility for syslog messages | ||
+ | # Default values is '' | ||
+ | # | ||
+ | # | ||
+ | |||
+ | # This flag means that no log file rollover will be used, and the log file | ||
+ | # name will be constructed as-is, without PID and date appendage. | ||
+ | # This option can be used, for example, together with the logrotate tool. | ||
+ | # | ||
+ | #simple-log | ||
+ | |||
+ | # Enable full ISO-8601 timestamp in all logs. | ||
+ | # | ||
+ | |||
+ | # Set timestamp format (in strftime(1) format). Depends on new-log-timestamp to be enabled. | ||
+ | # | ||
+ | |||
+ | # Disabled by default binding logging in verbose log mode to avoid DoS attacks. | ||
+ | # Enable binding logging and UDP endpoint logs in verbose log mode. | ||
+ | # | ||
+ | |||
+ | # Option to set the " | ||
+ | # will be the address of the alternate server for UDP & TCP service in the form of | ||
+ | # < | ||
+ | # ALTERNATE-SERVER, | ||
+ | # Client will receive only values with the same address family | ||
+ | # as the client network endpoint address family. | ||
+ | # See RFC 5389 and RFC 5766 for the description of ALTERNATE-SERVER functionality. | ||
+ | # The client must use the obtained value for subsequent TURN communications. | ||
+ | # If more than one --alternate-server option is provided, then the functionality | ||
+ | # can be more accurately described as " | ||
+ | # If the port number is omitted, then the default port | ||
+ | # number 3478 for the UDP/TCP protocols will be used. | ||
+ | # Colon (:) characters in IPv6 addresses may conflict with the syntax of | ||
+ | # the option. To alleviate this conflict, literal IPv6 addresses are enclosed | ||
+ | # in square brackets in such resource identifiers, | ||
+ | # [2001: | ||
+ | # Multiple alternate servers can be set. They will be used in the | ||
+ | # round-robin manner. All servers in the pool are considered of equal weight and | ||
+ | # the load will be distributed equally. For example, if you have 4 alternate servers, | ||
+ | # then each server will receive 25% of ALLOCATE requests. A alternate TURN server | ||
+ | # address can be used more than one time with the alternate-server option, so this | ||
+ | # can emulate " | ||
+ | # | ||
+ | # Examples: | ||
+ | # | ||
+ | # | ||
+ | # | ||
+ | # | ||
+ | |||
+ | # Option to set alternative server for TLS & DTLS services in form of | ||
+ | # < | ||
+ | # number 5349 for the TLS/DTLS protocols will be used. See the previous | ||
+ | # option for the functionality description. | ||
+ | # | ||
+ | # Examples: | ||
+ | # | ||
+ | # | ||
+ | # | ||
+ | |||
+ | # Option to suppress TURN functionality, | ||
+ | # Run as STUN server only, all TURN requests will be ignored. | ||
+ | # By default, this option is NOT set. | ||
+ | # | ||
+ | #stun-only | ||
+ | |||
+ | # Option to hide software version. Enhance security when used in production. | ||
+ | # Revealing the specific software version of the agent through the | ||
+ | # SOFTWARE attribute might allow them to become more vulnerable to | ||
+ | # attacks against software that is known to contain security holes. | ||
+ | # Implementers SHOULD make usage of the SOFTWARE attribute a | ||
+ | # configurable option (https:// | ||
+ | # | ||
+ | # | ||
+ | |||
+ | # Option to suppress STUN functionality, | ||
+ | # Run as TURN server only, all STUN requests will be ignored. | ||
+ | # By default, this option is NOT set. | ||
+ | # | ||
+ | #no-stun | ||
+ | |||
+ | # This is the timestamp/ | ||
+ | # The default value is ':' | ||
+ | # | ||
+ | # | ||
+ | |||
+ | # Flag that can be used to allow peers on the loopback addresses (127.x.x.x and ::1). | ||
+ | # This is an extra security measure. | ||
+ | # | ||
+ | # (To avoid any security issue that allowing loopback access may raise, | ||
+ | # the no-loopback-peers option is replaced by allow-loopback-peers.) | ||
+ | # | ||
+ | # Allow it only for testing in a development environment! | ||
+ | # In production it adds a possible security vulnerability, | ||
+ | # it is not allowed using it together with empty cli-password. | ||
+ | # | ||
+ | # | ||
+ | |||
+ | # Flag that can be used to disallow peers on well-known broadcast addresses (224.0.0.0 and above, and FFXX:*). | ||
+ | # This is an extra security measure. | ||
+ | # | ||
+ | # | ||
+ | |||
+ | # Option to set the max time, in seconds, allowed for full allocation establishment. | ||
+ | # Default is 60 seconds. | ||
+ | # | ||
+ | # | ||
+ | |||
+ | # Option to allow or ban specific ip addresses or ranges of ip addresses. | ||
+ | # If an ip address is specified as both allowed and denied, then the ip address is | ||
+ | # considered to be allowed. This is useful when you wish to ban a range of ip | ||
+ | # addresses, except for a few specific ips within that range. | ||
+ | # | ||
+ | # This can be used when you do not want users of the turn server to be able to access | ||
+ | # machines reachable by the turn server, but would otherwise be unreachable from the | ||
+ | # internet (e.g. when the turn server is sitting behind a NAT) | ||
+ | # | ||
+ | # Examples: | ||
+ | # denied-peer-ip=83.166.64.0-83.166.95.255 | ||
+ | # allowed-peer-ip=83.166.68.45 | ||
+ | |||
+ | # File name to store the pid of the process. | ||
+ | # Default is / | ||
+ | # / | ||
+ | # | ||
+ | # | ||
+ | |||
+ | # Require authentication of the STUN Binding request. | ||
+ | # By default, the clients are allowed anonymous access to the STUN Binding functionality. | ||
+ | # | ||
+ | # | ||
+ | |||
+ | # Mobility with ICE (MICE) specs support. | ||
+ | # | ||
+ | #mobility | ||
+ | |||
+ | # Allocate Address Family according (DEPRECATED and will be removed in favor of allocation-default-address-family) | ||
+ | # If enabled then TURN server allocates address family according | ||
+ | # Client <=> Server communication address family. | ||
+ | # (By default Coturn works according RFC 6156.) | ||
+ | # !!Warning: Enabling this option breaks RFC6156 section-4.2 (violates use default IPv4)!! | ||
+ | # | ||
+ | # | ||
+ | |||
+ | # TURN server allocates address family according TURN client requested address family. | ||
+ | # If address family not requested explicitly by the client, then it falls back to this default. | ||
+ | # The standard RFC explicitly define that this default must be IPv4, | ||
+ | # so use other option values with care! | ||
+ | # Possible values: " | ||
+ | # " | ||
+ | # the TURN client allocation request connection address family. | ||
+ | # | ||
+ | # | ||
+ | # | ||
+ | |||
+ | # User name to run the process. After the initialization, | ||
+ | # will attempt to change the current user ID to that user. | ||
+ | # | ||
+ | # | ||
+ | |||
+ | # Group name to run the process. After the initialization, | ||
+ | # will attempt to change the current group ID to that group. | ||
+ | # | ||
+ | # | ||
+ | |||
+ | # Turn OFF the CLI support. | ||
+ | # By default it is always ON. | ||
+ | # See also options cli-ip and cli-port. | ||
+ | # | ||
+ | #no-cli | ||
+ | |||
+ | #Local system IP address to be used for CLI server endpoint. Default value | ||
+ | # is 127.0.0.1. | ||
+ | # | ||
+ | # | ||
+ | |||
+ | # CLI server port. Default is 5766. | ||
+ | # | ||
+ | # | ||
+ | |||
+ | # CLI access password. Default is empty (no password). | ||
+ | # For the security reasons, it is recommended that you use the encrypted | ||
+ | # form of the password (see the -P command in the turnadmin utility). | ||
+ | # | ||
+ | # Secure form for password ' | ||
+ | # | ||
+ | # | ||
+ | # | ||
+ | # Or unsecure form for the same password: | ||
+ | # | ||
+ | # | ||
+ | |||
+ | # Enable Web-admin support on https. By default it is Disabled. | ||
+ | # If it is enabled it also enables a http a simple static banner page | ||
+ | # with a small reminder that the admin page is available only on https. | ||
+ | # Not supported if no-tls option used | ||
+ | # | ||
+ | #web-admin | ||
+ | |||
+ | # Local system IP address to be used for Web-admin server endpoint. Default value is 127.0.0.1. | ||
+ | # | ||
+ | # | ||
+ | |||
+ | # Web-admin server port. Default is 8080. | ||
+ | # | ||
+ | # | ||
+ | |||
+ | # Web-admin server listen on STUN/TURN worker threads | ||
+ | # By default it is disabled for security reasons! (Not recommended in any production environment!) | ||
+ | # | ||
+ | # | ||
+ | |||
+ | # Redirect ACME, i.e. HTTP GET requests matching ' | ||
+ | # Default is '', | ||
+ | # | ||
+ | # | ||
+ | |||
+ | # Server relay. NON-STANDARD AND DANGEROUS OPTION. | ||
+ | # Only for those applications when you want to run | ||
+ | # server applications on the relay endpoints. | ||
+ | # This option eliminates the IP permissions check on | ||
+ | # the packets incoming to the relay endpoints. | ||
+ | # | ||
+ | # | ||
+ | |||
+ | # Maximum number of output sessions in ps CLI command. | ||
+ | # This value can be changed on-the-fly in CLI. The default value is 256. | ||
+ | # | ||
+ | # | ||
+ | |||
+ | # Set network engine type for the process (for internal purposes). | ||
+ | # | ||
+ | #ne=[1|2|3] | ||
+ | |||
+ | # Do not allow an TLS/DTLS version of protocol | ||
+ | # | ||
+ | #no-tlsv1 | ||
+ | #no-tlsv1_1 | ||
+ | #no-tlsv1_2 | ||
+ | |||
+ | # Disable RFC5780 (NAT behavior discovery). | ||
+ | # | ||
+ | # Originally, if there are more than one listener address from the same | ||
+ | # address family, then by default the NAT behavior discovery feature enabled. | ||
+ | # This option disables the original behavior, because the NAT behavior | ||
+ | # discovery adds extra attributes to response, and this increase the | ||
+ | # possibility of an amplification attack. | ||
+ | # | ||
+ | # Strongly encouraged to use this option to decrease gain factor in STUN | ||
+ | # binding responses. | ||
+ | # | ||
+ | no-rfc5780 | ||
+ | |||
+ | # Disable handling old STUN Binding requests and disable MAPPED-ADDRESS | ||
+ | # attribute in binding response (use only the XOR-MAPPED-ADDRESS). | ||
+ | # | ||
+ | # Strongly encouraged to use this option to decrease gain factor in STUN | ||
+ | # binding responses. | ||
+ | # | ||
+ | no-stun-backward-compatibility | ||
+ | |||
+ | # Only send RESPONSE-ORIGIN attribute in binding response if RFC5780 is enabled. | ||
+ | # | ||
+ | # Strongly encouraged to use this option to decrease gain factor in STUN | ||
+ | # binding responses. | ||
+ | # | ||
+ | response-origin-only-with-rfc5780 | ||
+ | |||
+ | # Return an HTTP/S response when an HTTP/S connection is made to a TCP port | ||
+ | # otherwise only supporting STUN/TURN. This may be useful for debugging and | ||
+ | # diagnosing connection problems. A "400 Not supported" | ||
+ | # returned. | ||
+ | # | ||
+ | *See [[https:// | ||
++++ | ++++ | ||