Browse Source

Merge pull request #574 from DevRockstarZ/turnconf

Change Docker turnserver.conf to latest turnserver.conf
Mészáros Mihály 5 years ago
parent
commit
07f21e0eba
1 changed files with 183 additions and 166 deletions
  1. 183 166
      docker/coturn/turnserver.conf

+ 183 - 166
docker/coturn/turnserver.conf

@@ -1,52 +1,60 @@
 # Coturn TURN SERVER configuration file
 #
-# Boolean values note: where boolean value is supposed to be used,
-# you can use '0', 'off', 'no', 'false', 'f' as 'false,
-# and you can use '1', 'on', 'yes', 'true', 't' as 'true'
-# If the value is missed, then it means 'true'.
+# Boolean values note: where a boolean value is supposed to be used,
+# you can use '0', 'off', 'no', 'false', or 'f' as 'false, 
+# and you can use '1', 'on', 'yes', 'true', or 't' as 'true' 
+# If the value is missing, then it means 'true' by default.
 #
 
 # Listener interface device (optional, Linux only).
-# NOT RECOMMENDED.
+# NOT RECOMMENDED. 
 #
 #listening-device=eth0
 
 # TURN listener port for UDP and TCP (Default: 3478).
-# Note: actually, TLS & DTLS sessions can connect to the
+# Note: actually, TLS & DTLS sessions can connect to the 
 # "plain" TCP & UDP port(s), too - if allowed by configuration.
 #
 listening-port=3478
 
 # TURN listener port for TLS (Default: 5349).
 # Note: actually, "plain" TCP & UDP sessions can connect to the TLS & DTLS
-# port(s), too - if allowed by configuration. The TURN server
+# port(s), too - if allowed by configuration. The TURN server 
 # "automatically" recognizes the type of traffic. Actually, two listening
 # endpoints (the "plain" one and the "tls" one) are equivalent in terms of
-# functionality; but we keep both endpoints to satisfy the RFC 5766 specs.
-# For secure TCP connections, we currently support SSL version 3 and
+# functionality; but Coturn keeps both endpoints to satisfy the RFC 5766 specs.
+# For secure TCP connections, Coturn currently supports SSL version 3 and 
 # TLS version 1.0, 1.1 and 1.2.
-# For secure UDP connections, we support DTLS version 1.
+# For secure UDP connections, Coturn supports DTLS version 1.
 #
 tls-listening-port=5349
 
 # Alternative listening port for UDP and TCP listeners;
-# default (or zero) value means "listening port plus one".
+# default (or zero) value means "listening port plus one". 
 # 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
+# (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 "symmetry".
 #
 #alt-listening-port=0
-
+							 
 # Alternative listening port for TLS and DTLS protocols.
 # Default (or zero) value means "TLS listening port plus one".
 #
 #alt-tls-listening-port=0
 
+# 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://www.haproxy.org/download/1.8/doc/proxy-protocol.txt)
+#
+#tcp-proxy-port=5555
+	
 # Listener IP address of relay server. Multiple listeners can be specified.
-# If no IP(s) specified in the config file or in the command line options,
+# If no IP(s) specified in the config file or in the command line options, 
 # then all IPv4 and IPv6 system IPs will be used for listening.
 #
 #listening-ip=172.17.19.101
@@ -61,7 +69,7 @@ tls-listening-port=5349
 # 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:5555 for IPv4 and [1:2::3:4]:5555 for IPv6.
 #
 # There may be multiple aux-server options, each will be used for listening
@@ -73,7 +81,7 @@ tls-listening-port=5349
 # (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
+# The TURN client must support 300 ALTERNATE-SERVER response for this 
 # functionality.
 #
 #udp-self-balance
@@ -83,13 +91,13 @@ tls-listening-port=5349
 #
 #relay-device=eth1
 
-# Relay address (the local IP address that will be used to relay the
+# 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
+# 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).
@@ -112,35 +120,33 @@ tls-listening-port=5349
 # that option must be used several times, each entry must
 # have form "-X <public-ip/private-ip>", to map all involved addresses.
 # RFC5780 NAT discovery STUN functionality will work correctly,
-# if the addresses are mapped properly, even when the TURN server itself
+# 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.
 #
-#external-ip=60.70.80.91
+external-ip=193.224.22.37
 #
 #OR:
 #
 #external-ip=60.70.80.91/172.17.19.101
 #external-ip=60.70.80.92/172.17.19.102
-#external-ip=60.70.80.92/172.17.19.102
-external-ip=193.224.22.37
 
 
 # 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
+# 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
+# If this parameter is not set, then the default OS-dependent 
 # thread pattern algorithm will be employed. Usually the default
-# algorithm is the most optimal, so you have to change this option
-# only if you want to make some fine tweaks.
+# 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
+# endpoint - including the auxiliary endpoints - unless 0 (zero) or 
 # 1 (one) value is set.
 #
 #relay-threads=0
@@ -150,15 +156,15 @@ external-ip=193.224.22.37
 #
 min-port=49152
 max-port=65535
-
+	
 # Uncomment to run TURN server in 'normal' 'moderate' verbose mode.
 # By default the verbose mode is off.
 verbose
-
+	
 # Uncomment to run TURN server in 'extra' verbose mode.
 # This mode is very annoying and produces lots of output.
-# Not recommended under any normal circumstances.
-#
+# Not recommended under normal circumstances.
+#	
 #Verbose
 
 # Uncomment to use fingerprints in the TURN messages.
@@ -171,11 +177,11 @@ fingerprint
 #
 lt-cred-mech
 
-# This option is opposite to lt-cred-mech.
+# 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 or in command line or in usersdb file, then
+# 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
@@ -185,44 +191,43 @@ lt-cred-mech
 # Flag that sets a special authorization option that is based upon authentication secret.
 #
 # This feature's purpose is to support "TURN Server REST API", see
-# "TURN REST API" link in the project's page
+# "TURN REST API" link in the project's page 
 # https://github.com/coturn/coturn/
 #
 # This option is used with timestamp:
-#
+# 
 # usercombo -> "timestamp:userid"
 # 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, the timestamp alone can be used.
-# This option is just turning on secret-based authentication.
-# The actual value of the secret is defined either by option static-auth-secret,
+# 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://tools.ietf.org/html/draft-uberti-behave-turn-rest-00
 #  - https://www.ietf.org/proceedings/87/slides/slides-87-behave-10.pdf
 #
-# Be aware that use-auth-secret overrides some part of lt-cred-mech.
-# Notice that this feature depends internally on lt-cred-mech, so if you set
-# use-auth-secret then it enables internally automatically lt-cred-mech option
-# like if you enable both.
-#
-# You can use only one of the to auth mechanisms in the same time because,
-# both mechanism use the username and password validation in different way.
+# Be aware that use-auth-secret overrides some parts of lt-cred-mech.
+# The use-auth-secret feature depends internally on lt-cred-mech, so if you set
+# this option then it automatically enables lt-cred-mech internally
+# as if you had enabled both.
 #
-# This way be aware that you can't use both auth mechnaism in the same time!
-# Use in config either the lt-cred-mech or the use-auth-secret
+# 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.
 #
 #use-auth-secret
 
-# 'Static' authentication secret value (a string) for TURN REST API only.
+# 'Static' authentication secret value (a string) for TURN REST API only. 
 # If not set, then the turn server
-# will try to use the 'dynamic' value in turn_secret table
-# in user database (if present). The database-stored  value can be changed on-the-fly
-# by a separate program, so this is why that other mode is 'dynamic'.
+# will try to use the 'dynamic' value in the turn_secret table
+# in the user database (if present). The database-stored  value can be changed on-the-fly
+# by a separate program, so this is why that mode is considered 'dynamic'.
 #
 #static-auth-secret=north
 
@@ -236,10 +241,10 @@ lt-cred-mech
 #
 #oauth
 
-# 'Static' user accounts for long term credentials mechanism, only.
+# 'Static' user accounts for the long term credentials mechanism, only.
 # This option cannot be used with TURN REST API.
-# 'Static' user accounts are NOT dynamically checked by the turnserver process,
-# so that they can NOT be changed while the turnserver is running.
+# 'Static' user accounts are NOT dynamically checked by the turnserver process, 
+# so they can NOT be changed while the turnserver is running.
 #
 #user=username1:key1
 #user=username2:key2
@@ -257,7 +262,7 @@ lt-cred-mech
 # 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:
-#
+# 
 #user=ninefingers:0xbc807ee29df3c9ffa736523fb2c4e8ee
 # Or, equivalently, with open clear password (less secure):
 #user=ninefingers:youhavetoberealistic
@@ -265,95 +270,83 @@ lt-cred-mech
 
 # SQLite database file name.
 #
-# Default file name is /var/db/turndb or /usr/local/var/db/turndb or
+# The default file name is /var/db/turndb or /usr/local/var/db/turndb or
 # /var/lib/turn/turndb.
-#
+# 
 #userdb=/var/db/turndb
 
-# PostgreSQL database connection string in the case that we are using PostgreSQL
+# PostgreSQL database connection string in the case that you are using PostgreSQL
 # 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.
+# 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://www.postgresql.org/docs/8.4/static/libpq-connect.html for 8.x PostgreSQL
-# versions connection string format, see
+# versions connection string format, see 
 # http://www.postgresql.org/docs/9.2/static/libpq-connect.html#LIBPQ-CONNSTRING
 # for 9.x and newer connection string formats.
 #
 #psql-userdb="host=<host> dbname=<database-name> user=<database-user> password=<database-user-password> connect_timeout=30"
 
-#psql-userdb="host=postgresql dbname=coturn user=coturn password=CHANGE_ME connect_timeout=30"
-
-# MySQL database connection string in the case that we are using MySQL
+# MySQL database connection string in the case that you are using MySQL
 # as the user database.
-# This database can be used for long-term credential mechanism
+# 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://dev.mysql.com/doc/refman/5.1/en/ssl-options.html for the
+# Optional connection string parameters for the secure communications (SSL): 
+# ca, capath, cert, key, cipher 
+# (see http://dev.mysql.com/doc/refman/5.1/en/ssl-options.html for the 
 # command options description).
 #
-# Use string format as below (space separated parameters, all optional):
+# Use the string format below (space separated parameters, all optional):
 #
-#mysql-userdb="host=<host> dbname=<database-name> user=<database-user> password=<database-user-password> port=<port> connect_timeout=<seconds> read_timeout=<seconds>"
-
 mysql-userdb="host=mysql dbname=coturn user=coturn password=CHANGE_ME port=3306 connect_timeout=10 read_timeout=10"
 
-# If you want to use in the MySQL connection string the password in encrypted format,
-# then set in this option the MySQL password encryption secret key file.
+# 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 mysql password must be set in "mysql-userdb" in encrypted format!
-# If you want to use cleartext password then do not set this option!
+# Warning: If this option is set, then the mysql password must be set in "mysql-userdb" in an encrypted format! 
+# If you want to use a cleartext password then do not set this option!
 #
-# This is the file path which contain secret key of aes encryption while using password encryption.
+# This is the file path for the aes encrypted secret key used for password encryption.
 #
 #secret-key-file=/path/
 
-# MongoDB database connection string in the case that we are using MongoDB
+# 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 string format is described at http://hergert.me/docs/mongo-c-driver/mongoc_uri.html
+# and it can store the secret value for secret-based timed authentication in TURN REST API. 
+# Use the string format described at http://hergert.me/docs/mongo-c-driver/mongoc_uri.html
 #
 #mongo-userdb="mongodb://[username:password@]host1[:port1][,host2[:port2],...[,hostN[:portN]]][/[database][?options]]"
 
-#mongo-userdb="mongodb://coturn:CHANGE_ME@mongodb/coturn"
-#mongo-userdb="mongodb://mongodb/coturn"
-
-# Redis database connection string in the case that we are using Redis
+# 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 string format as below (space separated parameters, all optional):
+# 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-userdb="ip=<ip-address> dbname=<database-number> password=<database-user-password> port=<port> connect_timeout=<seconds>"
 
-#redis-userdb="ip=redis dbname=2 password=CHANGE_ME connect_timeout=30"
-
 # Redis status and statistics database connection string, if used (default - empty, no Redis stats DB used).
 # This database keeps allocations status information, and it can be also used for publishing
 # and delivering traffic and allocation event notifications.
-# The connection string has the same parameters as redis-userdb connection string.
-# Use string format as below (space separated parameters, all optional):
+# The connection string has the same parameters as redis-userdb connection string. 
+# Use the string format below (space separated parameters, all optional):
 #
 #redis-statsdb="ip=<ip-address> dbname=<database-number> password=<database-user-password> port=<port> connect_timeout=<seconds>"
 
-#redis-statsdb="ip=redis dbname=2 password=CHANGE_ME connect_timeout=30"
-
-# The default realm to be used for the users when no explicit
-# origin/realm relationship was found in the database, or if the TURN
+# The default realm to be used for the users when no explicit 
+# origin/realm relationship is found in the database, or if the TURN
 # server is not using any database (just the commands-line settings
-# and the userdb file). Must be used with long-term credentials
+# and the userdb file). Must be used with long-term credentials 
 # mechanism or with TURN REST API.
 #
-# Note: If default realm is not specified at all, then realm falls back to the host domain name.
-#       If domain name is empty string, or '(None)', then it is initialized to am empty string.
+# 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 '(None)', then it is initialized as an empty string.
 #
-#realm=mycompany.org
 realm=example.org
 
-# The flag that sets the origin consistency
-# check: across the session, all requests must have the same
+# 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).
 #
@@ -373,7 +366,7 @@ realm=example.org
 
 # 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 temporary suppressed (within
+# 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.
 #
@@ -417,11 +410,11 @@ realm=example.org
 #no-tcp-relay
 
 # Uncomment if extra security is desired,
-# with nonce value having limited lifetime.
+# with nonce value having a limited lifetime.
 # By default, the nonce value is unique for a session,
-# and has unlimited lifetime.
-# Set this option to limit the nonce lifetime.
-# It defaults to 600 secs (10 min) if no value is provided. After that delay,
+# and has an unlimited lifetime. 
+# Set this option to limit the nonce 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.
 #
 #stale-nonce=600
@@ -447,18 +440,17 @@ realm=example.org
 #permission-lifetime=300
 
 # Certificate file.
-# Use an absolute path or path relative to the
+# Use an absolute path or path relative to the 
 # configuration file.
+# Use PEM file format.
 #
-#cert=/usr/local/etc/turn_server_cert.pem
 cert=/etc/ssl/certs/cert.pem
 
 # Private key file.
-# Use an absolute path or path relative to the
+# Use an absolute path or path relative to the 
 # configuration file.
 # Use PEM file format.
 #
-#pkey=/usr/local/etc/turn_server_pkey.pem
 pkey=/etc/ssl/private/privkey.pem
 
 # Private key file password, if it is in encoded format.
@@ -471,29 +463,29 @@ pkey=/etc/ssl/private/privkey.pem
 #
 #cipher-list="DEFAULT"
 
-# CA file in OpenSSL format.
+# CA file in OpenSSL format. 
 # Forces TURN server to verify the client SSL certificates.
-# By default it is not set: there is no default value and the client
+# By default this is not set: there is no default value and the client
 # certificate is not checked.
 #
 # Example:
 #CA-file=/etc/ssh/id_rsa.cert
 
-# Curve name for EC ciphers, if supported by OpenSSL
-# library (TLS and DTLS). The default value is prime256v1,
+# 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.
 #
 #ec-curve-name=prime256v1
 
-# Use 566 bits predefined DH TLS key. Default size of the key is 1066.
+# Use 566 bits predefined DH TLS key. Default size of the key is 2066.
 #
 #dh566
 
-# Use 2066 bits predefined DH TLS key. Default size of the key is 1066.
+# Use 1066 bits predefined DH TLS key. Default size of the key is 2066.
 #
-#dh2066
+#dh1066
 
 # Use custom DH TLS key, stored in PEM format in the file.
 # Flags --dh566 and --dh2066 are ignored when the DH key is taken from a file.
@@ -501,21 +493,21 @@ pkey=/etc/ssl/private/privkey.pem
 #dh-file=<DH-PEM-file-name>
 
 # Flag to prevent stdout log messages.
-# By default, all log messages are going to both stdout and to
-# the configured log file. With this option everything will be
-# going to the configured log only (unless the log file itself is stdout).
+# 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).
 #
 #no-stdout-log
 
 # Option to set the log file name.
-# By default, the turnserver tries to open a log file in
-# /var/log, /var/tmp, /tmp and current directories directories
-# (which open operation succeeds first that file will be used).
+# 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 "stdout" and "-" - they will force everything
+# The special names are "stdout" and "-" - they will force everything 
 # to the stdout. Also, the "syslog" name will force everything to
-# the system log (syslog).
-# In the runtime, the logfile can be reset with the SIGHUP signal
+# the system log (syslog). 
+# In the runtime, the logfile can be reset with the SIGHUP signal 
 # to the turnserver process.
 #
 #log-file=/var/tmp/turn.log
@@ -531,40 +523,40 @@ syslog
 #simple-log
 
 # Option to set the "redirection" mode. The value of this option
-# will be the address of the alternate server for UDP & TCP service in form of
+# will be the address of the alternate server for UDP & TCP service in the form of 
 # <ip>[:<port>]. The server will send this value in the attribute
 # ALTERNATE-SERVER, with error 300, on ALLOCATE request, to the client.
 # Client will receive only values with the same address family
-# as the client network endpoint address family.
-# See RFC 5389 and RFC 5766 for ALTERNATE-SERVER functionality description.
+# 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 options are provided, then the functionality
-# can be more accurately described as "load-balancing" than a mere "redirection".
-# If the port number is omitted, then the default port
+# If more than one --alternate-server option is provided, then the functionality
+# can be more accurately described as "load-balancing" than a mere "redirection". 
+# 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, for example:
-# [2001:db8:85a3:8d3:1319:8a2e:370:7348]:3478 .
+# 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, for example: 
+# [2001:db8:85a3:8d3:1319:8a2e:370:7348]:3478 . 
 # 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 we 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
+# 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 "weighting" of the servers.
 #
-# Examples:
+# Examples: 
 #alternate-server=1.2.3.4:5678
 #alternate-server=11.22.33.44:56789
 #alternate-server=5.6.7.8
 #alternate-server=[2001:db8:85a3:8d3:1319:8a2e:370:7348]:3478
-
-# Option to set alternative server for TLS & DTLS services in form of
-# <ip>:<port>. If the port number is omitted, then the default port
-# number 5349 for the TLS/DTLS protocols will be used. See the previous
+			
+# Option to set alternative server for TLS & DTLS services in form of 
+# <ip>:<port>. If the port number is omitted, then the default port 
+# number 5349 for the TLS/DTLS protocols will be used. See the previous 
 # option for the functionality description.
 #
-# Examples:
+# Examples: 
 #tls-alternate-server=1.2.3.4:5678
 #tls-alternate-server=11.22.33.44:56789
 #tls-alternate-server=[2001:db8:85a3:8d3:1319:8a2e:370:7348]:3478
@@ -592,30 +584,37 @@ syslog
 
 # This is the timestamp/username separator symbol (character) in TURN REST API.
 # The default value is ':'.
-# rest-api-separator=:
+# rest-api-separator=:	
 
-# Flag that can be used to disallow peers on the loopback addresses (127.x.x.x and ::1).
+# Flag that can be used to allow peers on the loopback addresses (127.x.x.x and ::1).
 # This is an extra security measure.
 #
-no-loopback-peers
+# (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, so for security reasons 
+# it is not allowed using it together with empty cli-password. 
+#
+#allow-loopback-peers
 
 # 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.
 #
 #no-multicast-peers
 
-# Option to set the max time, in seconds, allowed for full allocation establishment.
+# Option to set the max time, in seconds, allowed for full allocation establishment. 
 # Default is 60 seconds.
 #
 #max-allocate-timeout=60
 
-# 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
+# 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
+# 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:
@@ -637,8 +636,8 @@ no-loopback-peers
 #
 #mobility
 
-# Allocate Address Family according
-# If enabled then TURN server allocates address family according  the TURN
+# Allocate Address Family according 
+# If enabled then TURN server allocates address family according  the TURN 
 # 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)!!
@@ -647,12 +646,12 @@ no-loopback-peers
 
 
 # User name to run the process. After the initialization, the turnserver process
-# will make an attempt to change the current user ID to that user.
+# will attempt to change the current user ID to that user.
 #
 #proc-user=<user-name>
 
 # Group name to run the process. After the initialization, the turnserver process
-# will make an attempt to change the current group ID to that group.
+# will attempt to change the current group ID to that group.
 #
 #proc-group=<group-name>
 
@@ -672,8 +671,8 @@ cli-ip=127.0.0.1
 cli-port=5766
 
 # CLI access password. Default is empty (no password).
-# For the security reasons, it is recommended to use the encrypted
-# for of the password (see the -P command in the turnadmin utility).
+# 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 'qwerty':
 #
@@ -681,13 +680,31 @@ cli-port=5766
 #
 # Or unsecure form for the same password:
 #
-#cli-password=qwerty
 cli-password=CHANGE_ME
 
-# Server relay. NON-STANDARD AND DANGEROUS OPTION.
-# Only for those applications when we want to run
+# 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.
+#
+#web-admin
+
+# Local system IP address to be used for Web-admin server endpoint. Default value is 127.0.0.1.
+#
+#web-admin-ip=127.0.0.1
+
+# Web-admin server port. Default is 8080.
+#
+#web-admin-port=8080
+
+# Web-admin server listen on STUN/TURN worker threads
+# By default it is disabled for security resons! (Not recommended in any production environment!)
+#
+#web-admin-listen-on-workers
+
+# 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
+# This option eliminates the IP permissions check on 
 # the packets incoming to the relay endpoints.
 #
 #server-relay