如何搭建自己的ICE穿透STUN和TURN服务器?

WeLive项目组 2021-3-2 2167

由于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,如下图:


cc.jpg

New Post (0)
Back
Create New Thread