Release Notes for the OpenTok.js library

Welcome to version 2.5 of the OpenTok.js library.

If you have any questions, concerns, feedback, please let us know on our forums.

New features
Known issues
Fixed issues
More information
How to report bugs

For details on the OpenTok.js API, see the OpenTok.js library reference.


Versioning and SRC path changes — The OpenTok.js library version numbering is changing with version 2.4. You should now load the OpenTok library by referencing the major version only in the script tag:

<script src="//"></script>

Also note that the path to the library no longer includes "webrtc/". The OpenTok.js library now only supports WebRTC audio-video streams. OpenTok has discontinued support for version 1.0, which used the Adobe Flash plug-in (not WebRTC).

Because of this versioning change, an old SRC URL pointing to v2.2 of the OpenTok.js library ("//") will redirect to the latest version of v2. This redirect will only apply to a URL pointing to "webrtc/v2.2" (the version before the versioning change) and not to any upcoming minor releases. If you need to load v2.2, set the SRC URL to "//".

For more information, see OpenTok version numbers.

OpenTok Plugin for Internet Explorer — The OpenTok Plugin for Internet Explorer enables OpenTok sessions in Internet Explorer. The plugin now works in Internet Explorer 8 - 11 (not supported in 64-bit mode). For information on testing your app with the OpenTok Plugin for Internet Explorer, see this article.

Migrating from older versions — If you are moving code from version 2.0, see Migrating from OpenTok.js 2.0. If you are moving code from version 1.0, see Migrating from version 1.0 of the OpenTok JavaScript library.

New Features on April 17, 2015 — OpenTok.js 2.5.1

Hiding built-in user interface controls for videos. You can turn off all built-in user interface controls for a Publisher or Subscriber view, by setting the showControls property to false when calling the OT.initPublisher() or Session.subscribe() method. These controls include the name display, the audio level indicator, the microphone control button (Publisher), the mute audio button, the video disabled indicator (Subscriber), and the video disabled warning icon (Subscriber). You can also control the display of each of these user interface controls individually. For more information, see Hiding all built-in user interface controls for videos.

New errors. This release includes some new errors, with the following codes:

  • 1026 — Terms of service violation: export compliance
  • 1553 — ICE workflow error publishing
  • 1554 — ICE workflow error subscribing
  • 2001 — Unexpected response from the OpenTok server

For more information, see the reference documentation for the Error object.

Other improvements. This release includes a number of improvements in performance and stability. Please see Features added in previous versions, Known issues, and Fixed issues.

Features added in previous versions

Show details.


The OpenTok.js library is currently supported in:

  • Google Chrome (latest release version)
  • Google Chrome for Android (latest release version)
  • Firefox (latest release version)
  • Firefox for Android (latest release version)
  • Internet Explorer 8 - 11 with the OpenTok Plugin for Internet Explorer (not supported in 64-bit mode)
  • Opera (latest release version)

The OpenTok.js library uses port 443. Port 443 must be open on the client network.

Known issues

The following are known issues for this version of the OpenTok on WebRTC JavaScript library.

Issues subscribing to screen-sharing streams You cannot subscribe to screen-sharing streams in OpenTok.js version 2.2. To publish or subscribe to screen-sharing streams, upgrade to version 2.4.

Repositioning and resizing Publisher and Subscriber elements. Do not reparent a a Publisher or Subscriber in the HTML DOM. You can reposition these elements by changing style properties. See this information on resizing and repositioning videos.

One Publisher in the OpenTok Plugin for Internet Explorer. You can only add one Publisher (within all browser windows and tabs). The plugin supports adding no more than two Subscribers to the page.

Cannot hide a Publisher or Subscriber in the OpenTok Plugin for Internet Explorer. Attempting to hide the a Publisher or Subscriber (by setting style.display to "none" or visibility to "hidden") causes Internet Explorer to crash.

Issue subscribing to your own stream in Internet Explorer. In Internet Explorer, you cannot subscribe to a stream published by your own client.

Issue subscribing repeatedly to a stream in Internet Explorer 8. In Internet Explorer 8, resubscribing multiple times to the same stream can cause the Publisher of the stream to stop streaming.

The OpenTok Plugin does not support 64-bit mode in Internet Explorer. The plugin works in the 32-bit mode only.

Sessions disconnect unexpectedly in Internet Explorer 8 and 9. We have seen this issue occur occasionally if there are other clients publishing streams in the session when the client using Internet Explorer connects. If you experience this problem, please let us know at the TokBox Plugin forum. (Please provide details, including the version of Windows, the version of Internet Explorer, the version of the Plugin, the URL of the app, and what was led up to the session disconnecting. You can get the version of the plugin by entering TBPlugin.version() in the console.)

OT.getDevices() supported in Chrome only. This method does not work in other browsers.

WebRTC is a peer-to-peer protocol, and it is possible that connections will fail to connect. The most common cause for failure is a firewall that the protocol cannot traverse. When OpenTok detects this failure, the TB object dispatches an exception event object, with the code property set to 1013.

You cannot publish using WebRTC on a page loaded from a file:// URL. You need to load the page from an http:// URL. For example, you can test a file from http://localhost if you have a web server set up on your local machine.

Fixed in OpenTok.js 2.4

Fixed in 2.5.1:

Publishing audio-only streams can result in errors: "cannot read property addEventListener of null" and "cannot read property videoWidth of null." We have fixed this issue.

Publisher and Subscriber videos don't resize properly if their aspect ratios change. We have fixed this issue.

When disabling video in a Publisher in Internet Explorer 9 (using the OpenTok Plugin), the last video frame remains displayed. We have fixed this issue.

Some errors in Session.publish() completion handler not resulting in the OT object dispatching an exception event. We have fixed this issue.

Some errors in publishing do not result in errors in the Session.publish() completion handler. We have fixed this issue.

Extra "no element found" errors logged in the web console in Firefox. We have fixed this issue.

Fixed in previous versions

Show details.

More information

See the reference documentation for the OpenTok.js library.

To see sample code and to read more information on using the OpenTok.js library, see the OpenTok Tutorials and Examples page.

For documentation on the OpenTok server-side libraries, see the OpenTok server-side libraries page.

Also check out the OpenTok Help Center.

How to report bugs

We'd love to hear from you! If you have any issues or bugs, you can report them to us at