Webrtc ice错误解决办法

janus-gateway 连接时有时会报告ice failed,或者dtls timeout错误

1.首先确认stun server设置

vi /usr/local/etc/janus/janus.cfg

[nat]
;public_ip = 1.2.3.4
stun_server = stun.l.google.com
stun_port = 19302

注意google的stun从中国访问不了,可以改用stun.voipstunt.com

2.确认stun server的连通,用https://webrtc.github.io/samples/src/content/peerconnection/trickle-ice/
来测试,这个也可以用来测试turn server,返回的信息一般是

0.001 1 host 1947478017 udp 172.16.100.20 62003 126 | 30 | 255
0.002 1 host 161342690 udp 2001::4137:9e76:38a4:dbe:745d:8c18 62004 126 | 10 | 255
0.002 2 host 1947478017 udp 172.16.100.20 62005 126 | 30 | 254
0.002 2 host 161342690 udp 2001::4137:9e76:38a4:dbe:745d:8c18 62006 126 | 10 | 254
0.115 2 srflx 842163049 udp 139.162.115.231 62005 100 | 30 | 254
0.119 1 srflx 842163049 udp 139.162.115.231 62003 100 | 30 | 255
0.153 Done

上面这个样子的

turn server的时候应该有relay的字样,表示是转发的