Link to github: 0.6.25: Safari 11 beta support and refactor of getConnectionStatus() stats retrieval


CDN links (gzipped)

  • Minified library: //
  • Debug library: //
  • Minified with all dependencies: //
  • Debug with all dependencies: //

API Documentation

NPM Installation

  • npm install git://


  • For Safari 11, it is recommended to set options.enableSimultaneousTransfers in the init()method to true for Safari 11 case as starting simultaneous data transfers does not work currently. E.g. options.enableSimultaneousTransfers = AdapterJS.webrtcDetectedBrowser === 'safari' && AdapterJS.webrtcDetectedVersion >= 11.
  • For Edge 15 and 16, it is recommended to enable options.useEdgeWebRTC in the init() method to true for better connectivity.
  • For Edge 14 to 16, datachannel connections does not work still.
  • For Safari 11 and Edge 15 and above, MCU connections may not still be supported.

New Features


  • Support for Safari 11.


  • Added a flag enableSimultaneousTransfers which is true by default in the init() method to enable or disable simultaneous data transfers. This is to handle Safari 11 case where the newly opened second datachannel does not open after the negotiation has completed, so that they can start data transfers or send files still.



  • Cleaned up getConnectionStatus() retrieval of stats details.
  •  Enables end-users to retrieve the ICE candidates details despite missing SSRCs details.
  •  Returns the list of added ICE candidates instead of received ICE candidates and.
  •  Fixes Edge 15 and 16 (using useEdgeWebRTC flag) stats even though it returns 0 always.
  •  Fixes to return the SSRC parsed from the local and remote session description instead from the getStats() which returns 0 in some cases.
  •  Fixes the handling of getStats() that uses Promises.
  • Added support for Firefox 53 TURN over TLS.