|
@@ -1,5 +1,5 @@
|
|
.\" Text automatically generated by txt2man
|
|
.\" Text automatically generated by txt2man
|
|
-.TH TURN 1 "08 January 2021" "" ""
|
|
|
|
|
|
+.TH TURN 1 "10 January 2021" "" ""
|
|
.SH GENERAL INFORMATION
|
|
.SH GENERAL INFORMATION
|
|
|
|
|
|
The \fBTURN Server\fP project contains the source code of a TURN server and TURN client
|
|
The \fBTURN Server\fP project contains the source code of a TURN server and TURN client
|
|
@@ -40,6 +40,9 @@ to run the programs. The scripts are meant to be run from examples/ sub\-directo
|
|
.PP
|
|
.PP
|
|
$ cd examples
|
|
$ cd examples
|
|
$ ./scripts/secure_relay.sh
|
|
$ ./scripts/secure_relay.sh
|
|
|
|
+.SH SYSTEMD
|
|
|
|
+
|
|
|
|
+If the systemd development library is available, then it will notify systemd about the server status.
|
|
.SH RUNNING THE TURN SERVER
|
|
.SH RUNNING THE TURN SERVER
|
|
|
|
|
|
Options note: \fIturnserver\fP has long and short option names, for most options.
|
|
Options note: \fIturnserver\fP has long and short option names, for most options.
|
|
@@ -78,7 +81,8 @@ is equivalent to:
|
|
|
|
|
|
.fam T
|
|
.fam T
|
|
.fi
|
|
.fi
|
|
-=====================================
|
|
|
|
|
|
+.SH =====================================
|
|
|
|
+
|
|
.SS NAME
|
|
.SS NAME
|
|
\fB
|
|
\fB
|
|
\fBturnserver \fP\- a TURN relay server implementation.
|
|
\fBturnserver \fP\- a TURN relay server implementation.
|
|
@@ -230,10 +234,6 @@ Extra verbose mode, very annoying and not recommended.
|
|
.B
|
|
.B
|
|
\fB\-o\fP, \fB\-\-daemon\fP
|
|
\fB\-o\fP, \fB\-\-daemon\fP
|
|
Run server as daemon.
|
|
Run server as daemon.
|
|
-.TP
|
|
|
|
-.B
|
|
|
|
-\fB\-\-systemd\fP
|
|
|
|
-Notify systemd about server status. (Use only in foreground!)
|
|
|
|
.PP
|
|
.PP
|
|
\fB\-\-no\-software\-attribute\fP Production mode: hide the software version.
|
|
\fB\-\-no\-software\-attribute\fP Production mode: hide the software version.
|
|
.TP
|
|
.TP
|
|
@@ -864,15 +864,15 @@ By default it is disabled for security resons!
|
|
.B
|
|
.B
|
|
\fB\-\-ne\fP=[1|2|3]
|
|
\fB\-\-ne\fP=[1|2|3]
|
|
Set network engine type for the process (for internal purposes).
|
|
Set network engine type for the process (for internal purposes).
|
|
-.PP
|
|
|
|
-==================================
|
|
|
|
|
|
+.SH ==================================
|
|
|
|
+
|
|
.SH LOAD BALANCE AND PERFORMANCE TUNING
|
|
.SH LOAD BALANCE AND PERFORMANCE TUNING
|
|
|
|
|
|
This topic is covered in the wiki page:
|
|
This topic is covered in the wiki page:
|
|
.PP
|
|
.PP
|
|
https://github.com/coturn/coturn/wiki/turn_performance_and_load_balance
|
|
https://github.com/coturn/coturn/wiki/turn_performance_and_load_balance
|
|
-.PP
|
|
|
|
-===================================
|
|
|
|
|
|
+.SH ===================================
|
|
|
|
+
|
|
.SH WEBRTC USAGE
|
|
.SH WEBRTC USAGE
|
|
|
|
|
|
This is a set of notes for the WebRTC users:
|
|
This is a set of notes for the WebRTC users:
|
|
@@ -909,8 +909,8 @@ Usually WebRTC uses fingerprinting (\fB\-f\fP).
|
|
.IP 5) 4
|
|
.IP 5) 4
|
|
\fB\-\-min\-port\fP and \fB\-\-max\-port\fP may be needed if you want to limit the relay endpoints ports
|
|
\fB\-\-min\-port\fP and \fB\-\-max\-port\fP may be needed if you want to limit the relay endpoints ports
|
|
number range.
|
|
number range.
|
|
-.PP
|
|
|
|
-===================================
|
|
|
|
|
|
+.SH ===================================
|
|
|
|
+
|
|
.SH TURN REST API
|
|
.SH TURN REST API
|
|
|
|
|
|
In WebRTC, the browser obtains the TURN connection information from the web
|
|
In WebRTC, the browser obtains the TURN connection information from the web
|
|
@@ -1048,8 +1048,8 @@ examples/scripts/restapi/shared_secret_maintainer.pl .
|
|
.PP
|
|
.PP
|
|
A very important thing is that the nonce must be totally random and it must be
|
|
A very important thing is that the nonce must be totally random and it must be
|
|
different for different clients and different sessions.
|
|
different for different clients and different sessions.
|
|
-.PP
|
|
|
|
-===================================
|
|
|
|
|
|
+.SH ===================================
|
|
|
|
+
|
|
.SH DATABASES
|
|
.SH DATABASES
|
|
|
|
|
|
For the user database, the \fIturnserver\fP has the following \fIoptions\fP:
|
|
For the user database, the \fIturnserver\fP has the following \fIoptions\fP:
|
|
@@ -1112,8 +1112,8 @@ it will set the users for you (see the \fIturnadmin\fP manuals). If you are usin
|
|
\fIturnserver\fP or \fIturnadmin\fP will initialize the empty database, for you, when started. The
|
|
\fIturnserver\fP or \fIturnadmin\fP will initialize the empty database, for you, when started. The
|
|
TURN server installation process creates an empty initialized SQLite database in the default
|
|
TURN server installation process creates an empty initialized SQLite database in the default
|
|
location (/var/db/turndb or /usr/local/var/db/turndb or /var/lib/turn/turndb, depending on the system).
|
|
location (/var/db/turndb or /usr/local/var/db/turndb or /var/lib/turn/turndb, depending on the system).
|
|
-.PP
|
|
|
|
-=================================
|
|
|
|
|
|
+.SH =================================
|
|
|
|
+
|
|
.SH ALPN
|
|
.SH ALPN
|
|
|
|
|
|
The server supports ALPNs "stun.turn" and "stun.nat\-discovery", when
|
|
The server supports ALPNs "stun.turn" and "stun.nat\-discovery", when
|
|
@@ -1122,16 +1122,16 @@ ClientHello message that contains one or both of those ALPNs, then the
|
|
server chooses the first stun.* label and sends it back (in the ServerHello)
|
|
server chooses the first stun.* label and sends it back (in the ServerHello)
|
|
in the ALPN extension field. If no stun.* label is found, then the server
|
|
in the ALPN extension field. If no stun.* label is found, then the server
|
|
does not include the ALPN information into the ServerHello.
|
|
does not include the ALPN information into the ServerHello.
|
|
-.PP
|
|
|
|
-=================================
|
|
|
|
|
|
+.SH =================================
|
|
|
|
+
|
|
.SH LIBRARIES
|
|
.SH LIBRARIES
|
|
|
|
|
|
In the lib/ sub\-directory the build process will create TURN client messaging library.
|
|
In the lib/ sub\-directory the build process will create TURN client messaging library.
|
|
In the include/ sub\-directory, the necessary include files will be placed.
|
|
In the include/ sub\-directory, the necessary include files will be placed.
|
|
The C++ wrapper for the messaging functionality is located in TurnMsgLib.h header.
|
|
The C++ wrapper for the messaging functionality is located in TurnMsgLib.h header.
|
|
An example of C++ code can be found in stunclient.c file.
|
|
An example of C++ code can be found in stunclient.c file.
|
|
-.PP
|
|
|
|
-=================================
|
|
|
|
|
|
+.SH =================================
|
|
|
|
+
|
|
.SH DOCS
|
|
.SH DOCS
|
|
|
|
|
|
After installation, run the command:
|
|
After installation, run the command:
|
|
@@ -1146,8 +1146,8 @@ to see the man page.
|
|
.PP
|
|
.PP
|
|
In the docs/html subdirectory of the original archive tree, you will find the client library
|
|
In the docs/html subdirectory of the original archive tree, you will find the client library
|
|
reference. After the installation, it will be placed in PREFIX/share/doc/\fIturnserver\fP/html.
|
|
reference. After the installation, it will be placed in PREFIX/share/doc/\fIturnserver\fP/html.
|
|
-.PP
|
|
|
|
-=================================
|
|
|
|
|
|
+.SH =================================
|
|
|
|
+
|
|
.SH LOGS
|
|
.SH LOGS
|
|
|
|
|
|
When the \fBTURN Server\fP starts, it makes efforts to create a log file turn_<pid>.log
|
|
When the \fBTURN Server\fP starts, it makes efforts to create a log file turn_<pid>.log
|
|
@@ -1170,8 +1170,8 @@ log messages are sent only to the standard output of the process.
|
|
.PP
|
|
.PP
|
|
This behavior can be controlled by \fB\-\-log\-file\fP, \fB\-\-syslog\fP and \fB\-\-no\-stdout\-log\fP
|
|
This behavior can be controlled by \fB\-\-log\-file\fP, \fB\-\-syslog\fP and \fB\-\-no\-stdout\-log\fP
|
|
\fIoptions\fP.
|
|
\fIoptions\fP.
|
|
-.PP
|
|
|
|
-=================================
|
|
|
|
|
|
+.SH =================================
|
|
|
|
+
|
|
.SH HTTPS MANAGEMENT INTERFACE
|
|
.SH HTTPS MANAGEMENT INTERFACE
|
|
|
|
|
|
The \fIturnserver\fP process provides an HTTPS Web access as statistics and basic
|
|
The \fIturnserver\fP process provides an HTTPS Web access as statistics and basic
|
|
@@ -1184,8 +1184,8 @@ populated with the admin user \fBaccount\fP(s). An admin user can be a superuser
|
|
(if not assigned to a particular realm) or a restricted user (if assigned to
|
|
(if not assigned to a particular realm) or a restricted user (if assigned to
|
|
a realm). The restricted admin users can perform only limited actions, within
|
|
a realm). The restricted admin users can perform only limited actions, within
|
|
their corresponding realms.
|
|
their corresponding realms.
|
|
-.PP
|
|
|
|
-=================================
|
|
|
|
|
|
+.SH =================================
|
|
|
|
+
|
|
.SH TELNET CLI
|
|
.SH TELNET CLI
|
|
|
|
|
|
The \fIturnserver\fP process provides a telnet CLI access as statistics and basic management
|
|
The \fIturnserver\fP process provides a telnet CLI access as statistics and basic management
|
|
@@ -1193,8 +1193,8 @@ interface. By default, the \fIturnserver\fP starts a telnet CLI listener on IP 1
|
|
port 5766. That can be changed by the command\-cline \fIoptions\fP of the \fIturnserver\fP process
|
|
port 5766. That can be changed by the command\-cline \fIoptions\fP of the \fIturnserver\fP process
|
|
(see \fB\-\-cli\-ip\fP and \fB\-\-cli\-port\fP \fIoptions\fP). The full list of telnet CLI commands is provided
|
|
(see \fB\-\-cli\-ip\fP and \fB\-\-cli\-port\fP \fIoptions\fP). The full list of telnet CLI commands is provided
|
|
in "help" command output in the telnet CLI.
|
|
in "help" command output in the telnet CLI.
|
|
-.PP
|
|
|
|
-=================================
|
|
|
|
|
|
+.SH =================================
|
|
|
|
+
|
|
.SH CLUSTERS
|
|
.SH CLUSTERS
|
|
|
|
|
|
\fBTURN Server\fP can be a part of the cluster installation. But, to support the "even port" functionality
|
|
\fBTURN Server\fP can be a part of the cluster installation. But, to support the "even port" functionality
|
|
@@ -1203,8 +1203,8 @@ in "help" command output in the telnet CLI.
|
|
the RTP and RTCP relaying endpoints must be allocated on the same relay IP. It would be possible
|
|
the RTP and RTCP relaying endpoints must be allocated on the same relay IP. It would be possible
|
|
to design a scheme with the application\-level requests forwarding (and we may do that later) but
|
|
to design a scheme with the application\-level requests forwarding (and we may do that later) but
|
|
it would affect the performance.
|
|
it would affect the performance.
|
|
-.PP
|
|
|
|
-=================================
|
|
|
|
|
|
+.SH =================================
|
|
|
|
+
|
|
.SH FILES
|
|
.SH FILES
|
|
|
|
|
|
/etc/turnserver.conf
|
|
/etc/turnserver.conf
|
|
@@ -1216,8 +1216,8 @@ it would affect the performance.
|
|
/var/lib/turn/turndb
|
|
/var/lib/turn/turndb
|
|
.PP
|
|
.PP
|
|
/usr/local/etc/turnserver.conf
|
|
/usr/local/etc/turnserver.conf
|
|
-.PP
|
|
|
|
-=================================
|
|
|
|
|
|
+.SH =================================
|
|
|
|
+
|
|
.SH DIRECTORIES
|
|
.SH DIRECTORIES
|
|
|
|
|
|
/usr/local/share/\fIturnserver\fP
|
|
/usr/local/share/\fIturnserver\fP
|
|
@@ -1225,16 +1225,15 @@ it would affect the performance.
|
|
/usr/local/share/doc/\fIturnserver\fP
|
|
/usr/local/share/doc/\fIturnserver\fP
|
|
.PP
|
|
.PP
|
|
/usr/local/share/examples/\fIturnserver\fP
|
|
/usr/local/share/examples/\fIturnserver\fP
|
|
-.PP
|
|
|
|
-=================================
|
|
|
|
|
|
+.SH =================================
|
|
|
|
+
|
|
.SH STANDARDS
|
|
.SH STANDARDS
|
|
|
|
|
|
obsolete STUN RFC 3489
|
|
obsolete STUN RFC 3489
|
|
.PP
|
|
.PP
|
|
new STUN RFC 5389
|
|
new STUN RFC 5389
|
|
-.PP
|
|
|
|
-TURN RFC 5766
|
|
|
|
-.PP
|
|
|
|
|
|
+.SH TURN RFC 5766
|
|
|
|
+
|
|
TURN\-TCP extension RFC 6062
|
|
TURN\-TCP extension RFC 6062
|
|
.PP
|
|
.PP
|
|
TURN IPv6 extension RFC 6156
|
|
TURN IPv6 extension RFC 6156
|
|
@@ -1242,14 +1241,13 @@ TURN IPv6 extension RFC 6156
|
|
STUN/TURN test vectors RFC 5769
|
|
STUN/TURN test vectors RFC 5769
|
|
.PP
|
|
.PP
|
|
STUN NAT behavior discovery RFC 5780
|
|
STUN NAT behavior discovery RFC 5780
|
|
-.PP
|
|
|
|
-=================================
|
|
|
|
|
|
+.SH =================================
|
|
|
|
+
|
|
.SH SEE ALSO
|
|
.SH SEE ALSO
|
|
|
|
|
|
\fIturnadmin\fP, \fIturnutils\fP
|
|
\fIturnadmin\fP, \fIturnutils\fP
|
|
-.RE
|
|
|
|
-.PP
|
|
|
|
-======================================
|
|
|
|
|
|
+.SH ======================================
|
|
|
|
+
|
|
.SS WEB RESOURCES
|
|
.SS WEB RESOURCES
|
|
|
|
|
|
project page:
|
|
project page:
|
|
@@ -1263,8 +1261,8 @@ https://github.com/coturn/coturn/wiki
|
|
forum:
|
|
forum:
|
|
.PP
|
|
.PP
|
|
https://groups.google.com/forum/?fromgroups=#!forum/turn\-server\-project\-rfc5766\-turn\-server
|
|
https://groups.google.com/forum/?fromgroups=#!forum/turn\-server\-project\-rfc5766\-turn\-server
|
|
-.PP
|
|
|
|
-======================================
|
|
|
|
|
|
+.SH ======================================
|
|
|
|
+
|
|
.SS AUTHORS
|
|
.SS AUTHORS
|
|
|
|
|
|
Oleg Moskalenko <[email protected]>
|
|
Oleg Moskalenko <[email protected]>
|