WebRTC: force peers to use TURN server

后端 未结 3 992
温柔的废话
温柔的废话 2021-02-04 05:18

I have a webrtc application, it works fine, but for testing purposes, I need to test if my TURN server works, but because both the testing devices are within the same network, I

相关标签:
3条回答
  • 2021-02-04 05:38

    just adding this to close the question,

    function onIceCandidate(event, targetSessionID, targetUserName) {
        if (event.candidate) {
        var candidate = event.candidate.candidate;
        if(candidate.indexOf("relay")<0){ // if no relay address is found, assuming it means no TURN server
            return;
        }...
    

    The above code works, checked to wireshark,

    after adding the if(candidate.indexOf("relay")<0) condition, communication takes place only through TURN server, if server is not present/ incorrect details, connection state get's struck at new

    Edit: like cullen has said in his answer, according to w3 webrtc, passing relay as iceTransportPolicy should work, but I haven't checked if it is implemented in Firefox and Chrome yet...

    0 讨论(0)
  • 2021-02-04 05:56

    I have no idea if or when the browsers will support this but have a look at the "ICE candidate policy" in section 4.1.1 of draft-ietf-rtcweb-jsep-08, you can see how setting the policy to "relay" will do what you want. In the current W3C API draft this is set using an RTCIceTransportPolicy value of "relay" for the iceTranportPolicy field in the configuration. Search for RTCIceTransportPolicy in https://w3c.github.io/webrtc-pc/

    0 讨论(0)
  • 2021-02-04 05:58

    For testing purposes on firefox you can force TURN relay.

    Check my answer here!

    0 讨论(0)
提交回复
热议问题