我为WebRTC设置了Turnserver 3.2.5.9
我想这样做。
Client-A-->(TCP)-->TURN-->(UDP)-->TURN-->(TCP)-->Client-B
在不同的专用网络中,每个客户端A和客户端B都有麻烦。
有关Client-A的问题。
TURN服务器响应host
srfix
relay
的候选者。
我想有一个relay
的候选人tcp
。
但是,我只能拥有udp
。
我如何让relay
的候选人成为tcp
。
针对客户端B的问题。
TURN服务器仅响应host
。
因此,客户端B无法访问TURN服务器。
放置了Client-B的FW政策非常严格,不允许使用UDP
。
但是,我认为它应该通过TCP访问TURN服务器。
在这两种情况下,是否有人知道如何向TURN服务器告知客户端的全局IP和TCP端口。
这是turnserver.conf
listening-port=80
listening-ip=my-server-global-ip
external-ip=my-server-global-ip
lt-cred-mech
userdb=/opt/turnserver/etc/turnuserdb.conf
realm=my.server.domain
stale-nonce
no-udp
no-stun
这是来自客户端A上Trickle ICE tool的回复
Time Component Type Foundation Protocol Address Port Priority
0.015 1 host 2508812977 udp 10.2.1.17 53175 126 | 32542 | 255
0.059 1 srflx 3607399481 udp Client-Global-ip 53175 100 | 32542 | 255
0.086 1 relay 1628315121 udp my-server-global-ip 54043 1 | 32542 | 255
0.116 1 host 3674902081 tcp 10.2.1.17 9 90 | 32542 | 255
39.827 Done
39.833
这是来自客户端B的Trickle ICE tool的回复
0.012 1 host 1197209968 udp 192.168.95.131 60019 126 | 30 | 255
39.819 Done
39.823
答案 0 :(得分:1)
WebRTC不支持分配TCP中继候选者。 请注意,您仍然可以拥有在客户端和TURN服务器之间使用TCP的TURN / TCP候选对象,这些候选对象的本地类型首选项为1,您可以在细流冰工具的输出中看到。
答案 1 :(得分:0)
您需要使用TCP协议选项重新配置TURN服务器。 Kurento和Wowza支持WebRTC的TCP协议。