我想为我的 WebRTC 项目托管一个 TURN 服务器,但我不知道 'realm' 属性的作用。我看过 coturn 和 pion,他们似乎都要求我输入这个。有人可以解释它是什么吗?
我正在尝试从这里为webRTC设置rfc5766-turn-server TURN服务器.我能够使用turnuserdb.conf我的用户名和密码(my_user_name:my_password)通过此TURN服务器成功中继我的视频.在Web客户端,我用过:
"iceServers":{[
    "url": "turn:my_user_name,@turn_server_ip",
    "credential":"my_password"
}]
我正在尝试使用TURN服务器附带的REST API功能,以避免通过网络发送密码或将其存储在客户端.我在Rest API下 遵循了这个规范 和这个解释
但不幸的是,我得到了401,我无法进行身份验证.
这就是我所做的:
我创建了一个秘密"my_secret",我像这样运行转弯服务器:
turnserver -v --syslog -a -L xx.xxx.xx.xx -X yy.yyy.yyy.yy -E zz.zzz.zz.zzz --max-bps=3000000 -f -m 3 --min-port=32355 --max-port=65535 --use-auth-secret --static-auth-secret=my_secret --realm=north.gov --cert=turn_server_cert.pem --pkey=turn_server_pkey.pem --log-file=stdout -q 100 -Q 300 --cipher-list=ALL
(我刚刚更换了IP地址xx.xxx.xx.xx yy.yyy.yyy.yy zz.zzz.zz.zzz)
后来我生成了一个时间戳,现在是+ 1小时,所以我在nodejs上运行:
Date.now()+1000*60*60;      // output 1433895918506.
我在这个网站上生成了临时密码,使用我的秘密,并得到了一个结果0ca57806bdc696b3129d4cad83746945b00af77b
我将密码编码为base64.
现在我尝试使用临时用户名:1433895918506:my_user_name和密码:MGNhNTc4MDZiZGM2OTZiMzEyOWQ0Y2FkODM3NDY5NDViMDBhZjc3Yg==在Web客户端上记录与转弯服务器的通信,   现在我使用的是Web客户端
"iceServers":"url":"turn:1433895918506:my_user_name@turn_server_ip","credential":"MGNhNTc4MDZiZGM2OTZiMzEyOWQ0Y2FkODM3NDY5NDViMDBhZjc3Yg=="}]
但它没有用,我得到:
401 user <1433895918506:my_user_name>  incoming …