turnserver 配置说明记录

时间:2024-01-08 08:31:50

coTurn工程提供了较完整的STUN和TURN服务,记录其主要的命令行参数配置说明

针对TURN/STUN服务进程turnserver.exe的使用参数做简单说明

-L 监听的IP地址

-p 监听端口

-E 中继IP

-X 公网/内网 映射配置

--no-loopback-peers  不使用127.x.x.x,::1回路IP地址

-m <numbeer>  当前连接上的线程数,默认CPU个数

--min-port   起始用的最小端口

--max-port   最大端口号

-o 以守护进程模式运行(后台运行)

-f 使用指纹

-a 长期验证机制

-z 不进行验证,所有客户端均可访问

-u 用户名:密码

-r realm组别

--check-origin-consistency 连续检测会话的属性值

-q, --user-quota <number>  allocation配额

-Q, --total-quota <number> 总配额值

-s, --max-bps 带宽

-B, --bps-capacity 总带宽容量

-c 配置文件名称

-b, --db, --userdb <filename>  数据库名

-M, --mysql-userdb <con-string> mysql连接字符串

  --server-name  服务名,默认同realm

-n 不使用配置,全部使用命令行参数

--cert PEM格式的证书

--pkey PEM格式的私钥文件

--pky-pwd 私钥的密码

--no-udp 不提供UDP协议的服务

--no-tcp 不提供TCP协议的服务

--no-tls 不使用TLS服务

--no-udp-relay 不使用UDP中继

--no-tcp-relay 不使用TCP中继

-l, --log-file,<filename> 指定日志文件

--no-stdout-log 控制台不输出std-out格式的日志

--syslog 使用系统日志

--simple-log 使用建议日志记录,所有日志会覆盖之前对应日志文件的内容(日志文件同名)

-S, --stun-only 只使用STUN服务

  --no-stun  不使用STUN服务

--mobility 支持Mobility ICE(MICE specs)协议

简单举例如下:

turnserver.exe -L 61.59.55.23 -p 6666 -E 61.59.55.23 -a -u test:123456 -r demo -s --max-bps=10000000 -n -o --no-loopback-peers --no-cli

针对PJSIP使用的STUN服务和TURN服务,由于对于STUN服务无法进行用户验证,而对TRUN服务需要验证,所以在一台服务器上,分别将应用程序放在两个目录下,分别启用STUN服务(不带验证的)和TURN服务(带验证),当然,两个服务的监听端口要有一个改变一下,不能都使用3478.

配置STUN服务如下,使用conf配置文件:

#STUN服务配置
listening-port=
alt-listening-port=
listening-ip=192.168.25.3
relay-ip=192.168.25.3
relay-threads=
min-port=
max-port=
verbose
fingerprint
#lt-cred-mech
#user=test1:
#user=test2:
#realm=test.com
max-bps=
log-file=stdout
#secure-stun
#no-stun
stun-only
no-auth
no-cli

配置TURN服务的conf文件如下:

#TURN服务配置
listening-port=
alt-listening-port=
listening-ip=192.168.25.3
relay-ip=192.168..25.3
relay-threads=
min-port=
max-port=
verbose
fingerprint
lt-cred-mech
user=test1:
user=test2:
realm=test.com
max-bps=
log-file=stdout
secure-stun
no-stun
#no-auth
no-cli