~ubuntu-branches/debian/sid/coturn/sid

« back to all changes in this revision

Viewing changes to README.turnserver

  • Committer: Package Import Robot
  • Author(s): Oleg Moskalenko
  • Date: 2014-11-23 00:15:03 UTC
  • mfrom: (1.1.7)
  • Revision ID: package-import@ubuntu.com-20141123001503-oxzujsbx5ye4ea6i
Tags: 4.3.1.1-1
Sync to 4.3.1.1: SQLite support added.

Show diffs side-by-side

added added

removed removed

Lines of Context:
81
81
 
82
82
User database settings:  
83
83
 
84
 
-b, --userdb    User database file name (default - turnuserdb.conf),
85
 
                for long-term credentials mechanism only.
86
 
                This user file database is being dynamically checked while the 
87
 
                turnserver is working, and the user accounts can be changed 
88
 
                dynamically by editing the database.
 
84
-b, --db, --userdb      SQLite user database file name (default - /var/db/turndb or
 
85
                /usr/local/var/db/turndb).
89
86
                                  
90
87
-e, --psql-userdb       User database connection string for PostgreSQL.
91
88
                This database can be used for long-term and short-term 
161
158
                        fingerprints to the messages in this session, regardless of the
162
159
                        per-server setting.
163
160
 
164
 
-a, --lt-cred-mech      Use long-term credentials mechanism (this one you need for WebRTC usage). 
165
 
                        This option can be used with either flat file user database or 
166
 
                        PostgreSQL DB or MySQL DB or MongoDB or Redis for user keys storage.
167
 
-A, --st-cred-mech      Use the short-term credentials mechanism. This option requires
168
 
                        a PostgreSQL or MySQL or MongoDB or Redis DB for short term passwords storage.
 
161
-a, --lt-cred-mech      Use long-term credentials mechanism (this one you need for WebRTC usage).
 
162
 
 
163
-A, --st-cred-mech      Use the short-term credentials mechanism.
169
164
 
170
165
-z, --no-auth           Do not use any credentials mechanism, allow anonymous access. 
171
166
                        Opposite to -a and -A options. This is default option when no 
491
486
 
492
487
--tls-alternate-server  Option to set alternative server for TLS & DTLS services in form of 
493
488
                        <ip>:<port>. If the port number is omitted, then the default port 
494
 
                        number 5349 for the TLS/DTLS protocols will be used. See the previous option for the 
495
 
                        functionality description.
 
489
                        number 5349 for the TLS/DTLS protocols will be used. See the 
 
490
                        previous option for the functionality description.
496
491
 
497
492
-O, --redis-statsdb     Redis status and statistics database connection string, if used (default - empty, 
498
493
                        no Redis stats DB used). This database keeps allocations status information, and it can 
499
494
                        be also used for publishing and delivering traffic and allocation event notifications.
500
495
                        This database option can be used independently of --redis-userdb option,
501
 
                        and actually Redis can be used for status/statistics and MySQL or MongoDB or PostgreSQL can
502
 
                        be used for the user database.
 
496
                        and actually Redis can be used for status/statistics and SQLite or MySQL or MongoDB or 
 
497
                        PostgreSQL can be used for the user database.
503
498
                        The connection string has the same parameters as redis-userdb connection string.
504
499
 
505
500
--max-allocate-timeout  Max time, in seconds, allowed for full allocation establishment. 
568
563
 
569
564
        a) command-line options (-u).
570
565
        
571
 
        b) userdb config file.
572
 
        
573
 
        c) a database table (PostgreSQL or MySQL or MongoDB). You will have to set keys with 
574
 
        turnadmin utility (see docs and wiki for turnadmin). You cannot use open passwords 
575
 
        in the database.
 
566
        b) a database table (SQLite or PostgreSQL or MySQL or MongoDB). You will have to 
 
567
        set keys with turnadmin utility (see docs and wiki for turnadmin). 
 
568
        You cannot use open passwords in the database.
576
569
 
577
 
        d) Redis key/value pair(s), if Redis is used. You key use either keys or 
 
570
        c) Redis key/value pair(s), if Redis is used. You key use either keys or 
578
571
        open passwords with Redis; see turndb/testredisdbsetup.sh file.  
579
572
        
580
 
        e) You also can use the TURN REST API. You will need shared secret(s) set
 
573
        d) You also can use the TURN REST API. You will need shared secret(s) set
581
574
        either  through the command line option, or through the config file, or through
582
575
        the database table or Redis key/value pairs.  
583
576
 
724
717
Obviously, only a few users can be set that way, and their credentials are fixed 
725
718
for the turnserver process lifetime.
726
719
 
727
 
2) Users can be set in turnusers.conf flat file DB. The turnserver process periodically 
728
 
re-reads this file, so the user accounts may be changed while the turnserver is running.
729
 
But still a relatively small (up to a hundred ?) number of users can be handled that way.
 
720
2) Users can be stored in SQLite DB. The default SQLite database file is /var/db/turndb
 
721
or /usr/local/var/db/turndb.
730
722
 
731
723
3) Users can be stored in PostgreSQL database, if the turnserver was compiled with PostgreSQL
732
724
support. Each time turnserver checks user credentials, it reads the database (asynchronously,
778
770
You do not have to handle the database information "manually" - the turnadmin program can handle 
779
771
everything for you. For PostgreSQL and MySQL you will just have to create an empty database
780
772
with schema.sql SQL script. With Redis, you do not have to do even that - just run turnadmin and 
781
 
it will set the users for you (see the turnadmin manuals).
 
773
it will set the users for you (see the turnadmin manuals). If you are using SQLite, then the 
 
774
turnserver or turnadmin will initialize the empty database, for you, when started. The 
 
775
TURN server installation process creates an empty initialized SQLite database in the default 
 
776
location (/var/db/turndb or /usr/local/var/db/turndb, depending on the system).
782
777
    
783
778
=================================
784
779
 
851
846
 
852
847
/etc/turnserver.conf
853
848
 
854
 
/etc/turnuserdb.conf
 
849
/var/db/turndb
 
850
 
 
851
/usr/local/var/db/turndb
855
852
 
856
853
/usr/local/etc/turnserver.conf
857
854
 
858
 
/usr/local/etc/turnuserdb.conf
859
 
 
860
855
=================================
861
856
 
862
857
DIRECTORIES