Jabber Voice and Video SDK and Supported Browsers
Learn about Voice and Video SDK and supported browsers and add a browser-based softphone to your web application.

Voice and Video - Get Started

Note: Go to Downloads and Documents to download the Getting Started .pdf.

Add a browser-based softphone to your web application

The Jabber Voice and Video SDK (part of the Jabber SDK ) allows you to embed voice and video telephony into your web pages. Although the SDK is designed to hide as much of the underlying complexity as possible, this guide is designed to give you important background information that will help you to get started as well as to understand some of the SDK's more advanced features.

Download SDK

The Jabber SDK works with Cisco Unified Communications Manager software to provide voice and video functionality. You will either need access to your own Unified Communicaitons Manager infrastructure or use the Shared Sandbox.

Procedure to add a browser-based softphone to your web application:

Step 1. Download Add-on

You will also need to download the Cisco Jabber SDK browser add-on that is required for signaling and media termination.

Important: If you have already purchased a Jabber SDK Browser add-on software license (that is, if you have purchased the browser add-on and the appropriate ESW contract, or you have a CUWL entitlement), please download the add-on from here.

However, if you have not purchased this software but would like to evaluate the functionality of the Voice and Video SDK, download an evaluation version of the Windows add-on from the Downloads and Documents page.

Note: This is for evaluation purposes only and must not be redistributed. After you download the add-on, unzip it and run the installation file.

Step 2: Download SDK

Download the Jabber voice and video SDK from the Downloads and Documents page. You must run the SDK and Sample App contained therein on a web server, while you develop and test your code. Running from the local file system is an unsupported configuration, and not all functionality may work. A simple way to run a web server is to use Python’s SimpleHTTPServer. In the terminal, navigate to “www” folder and type “python –m SimpleHTTPServer”.

Note: Some browsers may restrict certain operations when running from a file system, so it is always advisable to test your code from a web server as soon as possible.

Step 3: Configure Device

Configure a suitable softphone device in Cisco Unified Communication Manager. This will enable the SDK to connect correctly and make calls.

  1. Open sample.html that comes with the SDK download.
  2. Enter your Unified Communications Manager username, password and IP address in the fields provided.
  3. Select SoftPhone as the mode.
  4. Click Login.
  5. Select the device and then click Connect. The Make Call button is enabled once your softphone registers with Unified Communications Manager.
  6. Enter a number on the Number field and click Make Call.
  7. Finally, locate a colleague with whom you can make test calls and initiate some browser-to-browser video calls. Alternatively, or you can make calls to existing Cisco hardware and software voice and video products.

Supported Operating Systems and Browsers

The Jabber Voice and Video SDK work on the following operating systems and browsers:

Windows

Browser 32-bit and 64-bit Windows 7 Windows 8.1 Windows 10
Chrome: Stable channel 55 32 bit Yes Yes Yes
64 bit Yes Yes Yes
Firefox: Final release channel 50 32 bit Yes Yes Yes
64 bit No No No
Internet Explorer 11 32 bit Yes Yes Yes
64 bit Yes Yes Yes

Mac OS X

Browser Mac OS X 10.10 Yosemite Mac OS X 10.11 El Capitan Mac OS X 10.12 Sierra
Chrome: Stable channel 55 Yes Yes Yes
Firefox: Final release channel 50 Yes Yes Yes
Safari 9 Yes Yes Yes
Safari 10 Yes Yes Yes

Note:

  • On April 8, 2014, Microsoft ended support and updates for Windows XP, so Windows XP is no longer supported.
  • Windows RT 8 is not supported.
  • Windows RT 8.1 is not supported.
  • We recommend that App Nap, a feature in Mac OS X 10.9 and 10.10 to be disabled for all browsers supported by the Jabber SDK for Web.

As Microsoft announced (http://blogs.msdn.com/b/ie/archive/2014/08/07/stay-up-to-date-with-internet-explorer.aspx), after January 12, 2016, only the most recent version of Internet Explorer available for a supported operating system will receive technical support and security updates. Jabber Web SDK releases after 11.0 will follow this support policy.

Enterprise Mode for Internet Explorer 11 (http://blogs.msdn.com/b/ie/archive/2014/04/02/stay-up-to-date-with-enterprise-mode-for-internet-explorer-11.aspx), released in April 2014, offers enhanced backward compatibility and enables you to run many legacy Web apps during your transition to modern Web standards.

Ensure that your browser is not configured to prevent browser add-ons from running. In the Internet Explorer browser, add-ons are referred to as ActiveX Controls. Chrome and Firefox use the term plug-in.

Web browsers using Jabber SDK on Windows 8 and later must run in Windows desktop mode. For IE, adding a requiresActiveX "META" tag to your page will prompt users to reload IE in the traditional desktop mode if they are using IE in the new Windows User Interface.

Note: There may be issues if you use the SDK and Protected Mode.

General Concepts

The Browser Add-on

The Jabber Voice and Video SDK use a browser add-on to implement its core functionality. Although the SDK makes it unnecessary to call the add-on directly, you will get the most from the SDK if you have a good understanding of it.

Important: When you initialize the SDK, the add-on object is inserted into the web page. This is important because this means that the functionality of the SDK is only available while the web page is loaded by the browser.

  • If you close the page you lose any existing calls and you are unable to receive calls.
  • If you refresh the page, you lose existing calls and the voice and video functionality until the page is reloaded, and the SDK is registered with Cisco Unified Communications Manager.

Introduction to Cisco Voice and Video Infrastructure

This section is intended to be a high-level introduction to Cisco's Voice and Video architecture, particularly how it is related to the Jabber SDK. For more information, visit the main Cisco Unified Communications Manager page on our website.

In this diagram, users Dave and Lucy are both sitting at their PC using a Jabber SDK-based web application (the picture would be identical if they were using another Cisco Jabber voice and video product). In order to make calls, their Jabber SDK instance has to be registered with Cisco Unified Communications Manager. This registration is important as it means that the application that they are using can be reached by other people who want to place a call to them.

Registration is managed on a per-device basis. The device in this context is usually associated with a user by an admin, and you need to make sure that a suitable device has been set up for your user(s) and you know the device name before you start using the SDK. After your device is registered, Cisco Unified Communications Manager will contain a mapping between the device and IP address, enabling calls, voice, and video to be routed to you.

Registration and call signaling is carried out using a protocol called SIP. In basic terms, SIP signaling is responsible for placing and ending the call, and for supporting mid-call features like hold and resume. However, once a call is answered, voice and video are transmitted directly between the participants using a protocol called RTP.

The Jabber SDK hides the details of SIP and RTP, but understanding these basic concepts can be useful, especially when diagnosing any problems that may occur when you deploy your applications.

Next Steps:

Need a Lab?

Check out options for accessing or building your own Cisco collaboration development lab.
Labs.

Troubleshooting

Versions of the Cisco Jabber SDK for Web plug-in earlier than 3.0.6 is found to be vulnerable to CVE-2011-3919.
Find out more.

Community

Visit the Jabber Developer Forums to ask questions and interact with other developers.
Forums.