All Projects → nicojanssens → turn-js

nicojanssens / turn-js

Licence: MIT license
TURN (Traversal Using Relay NAT) library written entirely in JavaScript

Programming Languages

javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to turn-js

violet
Lightweight STUN/TURN server
Stars: ✭ 112 (+314.81%)
Mutual labels:  turn, rfc-5766
Ejabberd
Robust, Ubiquitous and Massively Scalable Messaging Platform (XMPP, MQTT, SIP Server)
Stars: ✭ 5,077 (+18703.7%)
Mutual labels:  turn
video-chat
Simple Web Application that offer you to create video meeting room using WebRTC and Socket.
Stars: ✭ 32 (+18.52%)
Mutual labels:  turn
mystery
WebRTC Server implemented by ❤️ Rust + Node.js.
Stars: ✭ 150 (+455.56%)
Mutual labels:  turn
speaker.app
Source code for https://speaker.app, a batteries-included, web-based, quasi-decentralized, WebRTC networking platform, with a primary focus on audio and screen-sharing, and a secondary focus on chat messages and peripheral features.
Stars: ✭ 26 (-3.7%)
Mutual labels:  turn
stun codec
Decoders and encoders for STUN (RFC 5389) and its extensions
Stars: ✭ 19 (-29.63%)
Mutual labels:  turn
libjuice
JUICE is a UDP Interactive Connectivity Establishment library
Stars: ✭ 197 (+629.63%)
Mutual labels:  rfc-5766

CircleCI npm

Turn-JS

TURN (Traversal Using Relay NAT) library written entirely in JavaScript.

Features

  • implements (most of) the features specified in RFC 5766
  • supports TCP and UDP communication
  • offers callback and promise based API
  • can be browserified (to be used in chrome apps)

Install

npm install turn-js

Usage

Callbacks

Promises

API

myClient = turn(serverAddr, serverPort, user, pwd, transport)

myClient.allocate(function(address) {}, function(error) {})

myClient.allocateP()

myClient.createPermission(address, function() {}, function(error) {})

myClient.createPermission(address)

myClient.bindChannel(address, port, channel, lifetime, function() {}, function(error) {})

myClient.bindChannelP(address, port, channel)

myClient.refresh(lifetime, function() {}, function(error) {})

myClient.refreshP(lifetime)

myClient.close(function() {}, function(error) {})

myClient.sendToRelay(bytes, address, port, function() {}, function(error))

myClient.sendToRelayP(bytes, address, port)

myClient.sendToChannel(bytes, channel, function() {}, function(error) {})

myClient.sendToChannelP(bytes, channel)

Events

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].