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