由于WeCaller是使用webRTC点对点音视频技术进行语音视频通话的,所以必须有STUN服务器提供ICE穿透。
免费的STUN服务器比较多,但由于上网方式、设备浏览器等等这些差异,引起STUN服务器穿透不成功,这时就需要TURN服务器提供ICE中继服务,以确保webRTC实时通话的成功率。
coturn服务器可以同时提供STUN和TURN服务,下面是Centos下的安装过程,供参考:
1. Centos SSL终端下,执行: yum install coturn
安装coturn服务器,中途可能需要输入y确认
2. 执行: ifconfig
查看网卡信息:
如: eth0: //网卡名称
inet 192.168.6.88 //内网地址
3. 执行: vi /etc/coturn/turnserver.conf
打开coturn的配置文件,修改以下配置项:
relay-device=eth0 #与前面ifconfig查到的网卡名称一致
relay-ip=192.168.6.88 #内网IP,参见第2步
listening-port=3478 #监听端口,coturn默认监听的端口号
external-ip=118.6.252.26 #公网IP,服务器的公网IP地址
relay-threads=50 #线程数
realm=xxxxx #未使用数据库时需要,这个值好像可以随你设置
lt-cred-mech #这个需要启用,不然不支持webRTC
user=xxx:yyy #用户名和密码,xxx指用户名,yyy指密码
4. 启动coturn: turnserver -o -a -f
5. 查看coturn是否启动: ps aux | grep turn
6. 开放3478端口:云服务器安全策略组需要开放TCP和UDP协议的3478端口,宝塔环境需要开放3478端口
7. 在线测试地址: https://webrtc.github.io/samples/src/content/peerconnection/trickle-ice/
8. 将安装好的coturn服务器信息填写到WeCaller后台基本设置中,并重启workerman,如下图:
