'How to make turn server fast

I've been working on a personal project for 2 months and I am trying to build a Video conferencing web application using django and WebRTC.

I am facing an issue: I am using several STUN/TURN servers but the TURN server is too slow and doesn't provide a good user experience.

I am using some public TURN servers. If I only use STUN servers then it only works in some specific network conditions.

The servers that I am using are:

    let iceConfiguration = {
    "iceServers":
        [
            // { url :'stun4.l.google.com:19302'},
            // { url: 'stunserver.org:3478'},
            { url: 'stun:stun.l.google.com:19302' },
            { url: 'stun:stun1.l.google.com:19302' },
            { url: 'stun:stun2.l.google.com:19302' },
            { url: 'stun:stun3.l.google.com:19302' },
            {
                url: 'turn:numb.viagenie.ca',
                credential: 'muazkh',
                username: '[email protected]'
            },
            {
                url: 'turn:relay.backups.cz',
                credential: 'webrtc',
                username: 'webrtc'
            },
            {
                url: 'turn:relay.backups.cz?transport=tcp',
                credential: 'webrtc',
                username: 'webrtc'
            },
            {
                url: 'turn:192.158.29.39:3478?transport=udp',
                credential: 'JZEOEt2V3Qb0y27GRntt2u2PAYA=',
                username: '28224511:1379330808'
            },
            {
                url: 'turn:192.158.29.39:3478?transport=tcp',
                credential: 'JZEOEt2V3Qb0y27GRntt2u2PAYA=',
                username: '28224511:1379330808'
            },
            {
                url: 'turn:turn.bistri.com:80',
                credential: 'homeo',
                username: 'homeo'
             },
             {
                url: 'turn:turn.anyfirewall.com:443?transport=tcp',
                credential: 'webrtc',
                username: 'webrtc'
            }
        ]
    };

And my whole code is here https://github.com/nikhilkotiya/Microsoft-Teams/tree/newbranch

Please help me out for this problem. Thanks in advance.



Solution 1:[1]

You need an aws ec2 instance, then follow this tutorial installing coturn in the instance: https://gabrieltanner.org/blog/turn-server Ps. Be sure to select your country in aws, otherwise you will get pretty bad latency, and very laggy calls Pps. Test your server here https://webrtc.github.io/samples/src/content/peerconnection/trickle-ice/ Before testing it in app

Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source
Solution 1 Skin_phil