coturn | coturn TURN server project | Runtime Evironment library

 by   coturn C Version: docker/4.6.2-r2 License: Non-SPDX

kandi X-RAY | coturn Summary

kandi X-RAY | coturn Summary

coturn is a C library typically used in Server, Runtime Evironment applications. coturn has no bugs, it has no vulnerabilities and it has medium support. However coturn has a Non-SPDX License. You can download it from GitHub.

coturn TURN server project
Support
    Quality
      Security
        License
          Reuse

            kandi-support Support

              coturn has a medium active ecosystem.
              It has 9256 star(s) with 1809 fork(s). There are 318 watchers for this library.
              There were 2 major release(s) in the last 12 months.
              There are 231 open issues and 671 have been closed. On average issues are closed in 305 days. There are 6 open pull requests and 0 closed requests.
              It has a neutral sentiment in the developer community.
              The latest version of coturn is docker/4.6.2-r2

            kandi-Quality Quality

              coturn has no bugs reported.

            kandi-Security Security

              coturn has no vulnerabilities reported, and its dependent libraries have no vulnerabilities reported.

            kandi-License License

              coturn has a Non-SPDX License.
              Non-SPDX licenses can be open source with a non SPDX compliant license, or non open source licenses, and you need to review them closely before use.

            kandi-Reuse Reuse

              coturn releases are available to install and integrate.

            Top functions reviewed by kandi - BETA

            kandi's functional review helps you automatically verify the functionalities of the libraries and avoid rework.
            Currently covering the most popular Java, JavaScript and Python libraries. See a Sample of coturn
            Get all kandi verified functions for this library.

            coturn Key Features

            No Key Features are available at this moment for coturn.

            coturn Examples and Code Snippets

            No Code Snippets are available at this moment for coturn.

            Community Discussions

            QUESTION

            How can I use webrtc offline
            Asked 2022-Jan-15 at 22:52

            I'm developing a Vuejs app that among other things displays several RTSP streams in the browser. For converting the streams and displaying them I'm using RTSPtoWebRTC with WebRtcPlayer. I decided to use WebRTC because of the low latency (this is a robotics project). This method is working fine and I can view all the streams with a max latency of 50ms. But as soon as I disconnect from the internet I get an error:

            ...

            ANSWER

            Answered 2022-Jan-05 at 23:30

            The error gets thrown here in Firefox code: https://searchfox.org/mozilla-central/source/dom/media/PeerConnection.jsm#473

            The workaround with the loopback interface no longer works if I read that code correct. The if condition in the code just asks the networking code if there is any network connectivity.

            So you either

            • try Phillips suggestion of making one network interface believe it still has connectivity. Maybe a fake interface with a hard coded IP address, but no default route would be enough.
            • Or you convince the Mozilla developers that there are reasonable use cases for using PeerConnections in offline scenarios to drop that check in Firefox - although I would be concerned that it might run into another error further down in the code. Or you could try to submit a patch yourself.

            Source https://stackoverflow.com/questions/70597885

            QUESTION

            TURN server installation on AWS EC2 free-tier instance
            Asked 2021-Oct-02 at 12:16

            I enabled all necessary ports for coturn server on my instance from security group. I also configure the turnserver.conf file correctly, but still when I added my turn server on trickleICE, it shows error 701.

            Here is my turnserver.conf:

            ...

            ANSWER

            Answered 2021-Oct-01 at 10:26

            My suggestion is to gather more information on the reasons of the failure.

            I'm assuming you're configuring the Trickle ICE application with a turn:IP:port server URL, which allows for unencrypted exchanges with TURN.

            This means you can trace on your machine, e.g. using Wireshark, and verify whether the STUN binding requests and TURN Allocate requests are being sent out to the expected TURN server's public IP and port, and whether there are responses to them being received by the browser.

            Additional checks you can do is on the TURN server side. With something like netstat -tunapl you can verify that coturn is not only running but also listening on the expected port (which should be 3478 since you left it unspecified).

            If all looks as expected, then run a trace on coturn's host while you trigger a "Gather candidates" from the Trickle ICE application. You could use something like ngrep -d any -lqtW byline port 3478 to see the activity and content exchanged.

            If coturn doesn't receive anything, then check again the EC2 instance Security Group and ensure you're allowing traffic to port 3478 UDP (and TCP). Double check the EC2 instance's public IP address is what you're using in the Trickle ICE application.

            If instead you have more than one network interface assigned to that EC2 instance, then ensure you have a listening-ip configuration item set to the correct private IP address, and an external-ip directive which includes PUBLIC_IP:PRIVATE_IP, where the public IP is the one you're trying to use and the private IP is the one coturn is listening on.

            e.g.:

            Source https://stackoverflow.com/questions/69366981

            QUESTION

            WebRTC iceConnectionState has always been 'checking' state; (use coturn)
            Asked 2021-Sep-23 at 18:27

            I want to make a simple video web chat tool, using webrtc and weosocket.
            Use coturn as a stun and turn server.
            It can be used normally in the local area network, but it will be iceConnectionState has been checking on the public network.

            The following is the implementation code, basically from https://github.com/webrtc/samples/blob/gh-pages/src/content/peerconnection/pc1/js/main.js caller.js:

            ...

            ANSWER

            Answered 2021-Sep-23 at 18:27

            The cause of the problem is that the IceCandidate of server.js is not sent to caller.js

            Modify server.js

            Source https://stackoverflow.com/questions/69303043

            QUESTION

            Can't connect to frontend in Dockerized React web app on MacOS
            Asked 2021-Aug-29 at 07:00

            I was recently hired on a website development project and I am having trouble deploying it via docker on MacOS. I just can't connect to the frontend via localhost:8000. I have temporarily solved this problem by running docker in a virtual machine (Ubuntu), but some things are not working correctly due to this connection.

            What are the ways to solve this problem?

            Here is the config in dockerfiles:

            Dockerfile (frontend)

            ...

            ANSWER

            Answered 2021-Aug-28 at 10:42

            network_mode: host doesn't work on MacOS or Windows systems. The Docker Use host networking documentation notes:

            The host networking driver only works on Linux hosts, and is not supported on Docker Desktop for Mac, Docker Desktop for Windows, or Docker EE for Windows Server.

            It also essentially entirely disables Docker's networking stack, and is almost never necessary.

            You need to do three things here:

            1. Remove all of the network_mode: host lines from the Compose file. (The container_name: lines are also unnecessary.)
            2. For any of the services you need to access from outside Docker (could be all of them and that's fine) add ports: to publish their container ports.
            3. When any of these services internally call other services configure their URLs (for example, in the .env files) to use their Compose service names. (See Networking in Compose in the Docker documentation.) (Also note that your frontend application probably actually runs in a browser, even if the code is served from a container, and can't use these host names at all; this specific point needs to still use localhost or the host name where the system will eventually be deployed.)

            So, for example, the setup for the frontend and backend containers could look like:

            Source https://stackoverflow.com/questions/68962637

            QUESTION

            Uncaught DOMException: Failed to construct 'RTCPeerConnection': Both username and credential are required when the URL scheme is "turn" or "turns"
            Asked 2021-Aug-16 at 08:45

            Uncaught DOMException: Failed to construct 'RTCPeerConnection': Both username and credential are required when the URL scheme is "turn" or "turns".

            I have getting error.

            My code and coturn config are.

            ...

            ANSWER

            Answered 2021-Aug-16 at 08:41

            The specification says the property is credential, not credentials. Did you find the wrong spelling in a particular place?

            Source https://stackoverflow.com/questions/68798097

            QUESTION

            How do I make stun/turn safe?
            Asked 2021-Aug-08 at 19:49

            I need to make a video chat. In order to make it work I need a stun/turn server. The problem is that I have no idea how to make secure authorization in them. I use coturn, but even if I connect a database, it would be very painful to add users to the system, manage passwords. If I could use coturn along with passport.js inside node.js to allow only users who are logged in, but I can't even imagine how that would be possible.

            Anyway, how does this work in services like zoom? This security hole in the form of an accessible stun/turn server is keeping me busy.

            ...

            ANSWER

            Answered 2021-Aug-08 at 19:49

            The generally accepted solution for this is time-limited credentials as described in https://datatracker.ietf.org/doc/html/draft-uberti-behave-turn-rest-00 combined with monitoring of your turn servers to assert that the users the credentials were given to are not abusing them (for some definition of that)

            Source https://stackoverflow.com/questions/68704210

            QUESTION

            Gathering ice candidates works but failing to connect
            Asked 2021-Jul-07 at 06:57

            I have two different WebRTC clients: an Android device and an angular application. I set up a turn and stun server and both seems to work with the trickle ice tester and the webrtc tester.

            As you can see here:

            But all ice candidates fail in Firefox when I am watching the candidates in about:webrtc.

            Does anyone have an explanation for this?
            More info:

            ...

            ANSWER

            Answered 2021-Jul-07 at 06:57

            There was a simple error in my Android app. When receiving an ice candidate from the signaling server I did the following:

            Source https://stackoverflow.com/questions/68192051

            QUESTION

            Is Numb Turn server not working or are my configurations wrong?
            Asked 2021-Jun-11 at 07:57

            I am using the free TURN server provided by https://numb.viagenie.ca/. The STUN servers are also public.

            I am using the following configuration:

            ...

            ANSWER

            Answered 2021-Mar-17 at 16:54

            Before setting up a brand new TURN server you can try to understand what's actually happening: if you take a trace on the computer with an application like Wireshark, and filter for stun messages, you should be able to see the browser sending Binding Request and Allocate Request methods towards the TURN server.

            A missing response from the server may mean that the server is not available, the port is wrong, or a firewall prevents the browser to reach the TURN server.

            If instead the credentials are wrong, the browser will receive a 401 error to the Allocate Request with the message-integrity attribute.

            You can also verify the TURN URL and credentials by running the WebRTC sample application that deals with ICE candidate gathering at https://webrtc.github.io/samples/src/content/peerconnection/trickle-ice/ .

            Source https://stackoverflow.com/questions/65911068

            QUESTION

            ffmpeg x11grab to streamable format
            Asked 2021-Jun-02 at 03:01

            2 FFMPEG process

            (1) generating a ffmpeg x11grab to a .mp4 (2) take the .mp4 and restream it simultaneously to multiple rtmp endpoints

            ISSUE the generated file in (1) have this error "moov atom not found"

            This is the command that generate (1) :

            ...

            ANSWER

            Answered 2021-Jun-02 at 03:01

            QUESTION

            TURN server webrtc tcp relay
            Asked 2021-Apr-23 at 10:55

            I am using coturn as my TURN server for relay in a WebRTC connection. What I want to achieve is TCP based connection and not UDP.

            What I have tried : In coturn configuration, I have set no-udp and no-udp-relay to force TCP based connection only.

            ...

            ANSWER

            Answered 2021-Apr-19 at 17:35

            Even if a TURN extension exists to obtain a TCP allocation, WebRTC does not support TURN TCP relaying, only UDP. However, it supports connecting the TURN server with TCP or TLS.

            This reason is that the TURN server is assumed to be on an unrestricted network with working UDP connectivity. Since TCP has bad properties for real-time traffic, it should only be a last resort fallback, and in the extreme situation where both peers lack UDP connectivity, they can connect to TURN servers with TCP, the traffic between the TURN servers will still be UDP.

            Source https://stackoverflow.com/questions/67162552

            Community Discussions, Code Snippets contain sources that include Stack Exchange Network

            Vulnerabilities

            No vulnerabilities reported

            Install coturn

            You can download it from GitHub.

            Support

            For any new features, suggestions and bugs create an issue on GitHub. If you have any questions check and ask questions on community page Stack Overflow .
            Find more information at:

            Find, review, and download reusable Libraries, Code Snippets, Cloud APIs from over 650 million Knowledge Items

            Find more libraries