Voice and Video - Get Started

  • November 26 2013 - System Release 9.2 MR5 - Version 3.0.5 of the Jabber voice and video SDK for web is now available. Mac OS X 10.9 Mavericks is now supported. 
     
    Go to Download and Docs for the SDK, API docs, release notes, sample code, node component and plug ins.

Add a browser-based softphone to your web application

The Jabber Voice and Video SDK (part of the Jabber SDK for Web) 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.

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 you can check our testing overview for other options.

Step 1: Download Plugin

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

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

However, if you have not purchased this software but would like to evaluate the functionality of the Voice & Video SDK please download an evaluation version of the Windows plug-in from the Downloads and Docs page. Note that this is for evaluation purposes only and must not be redistributed. After you download the plug-in, unzip it and run the installation file.

If you have previously downloaded an older version of the browser plugin, you will need to uninstall it first before installing the newer version. You may have to restart your computer afterward.

Step 2: Download SDK

Download the Jabber voice and video SDK from the Downloads and Docs page. You can either deploy the SDK to a web server or run it from the local file system while you develop and test your code. Note: Some browsers may restrict certain operations when running from a file system, so it's 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 correctly connect 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 will be enabled once your soft phone registers with Unified Communicaitons Manager.

  6. Enter a number into 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.

Assumptions

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

  Windows XP 32-bit Windows Vista Windows 7 32-bit and 64-bit Windows 8

Mac OS 10.7

Lion

Mac OS 10.8 Mountain Lion Mac OSX 10.9 Mavericks
IE 8 Supported   Supported 
(32-bit browser only)
       
IE 9    

Supported 
(32-bit browser only)

       
IE 10     Supported 
(32-bit browser only)
       
Firefox release channel 20.0 at release date Supported   Supported   Supported Supported Supported
Chrome stable channel 26.0 at release date Supported   Supported   Supported Supported Supported
Safari 6         Supported Supported Supported

Please note: Protected Mode is not supported by Internet Explorer

Ensure that your browser is not configured to prevent browser plug-ins from running. In Internet Explorer browser plug-ins are referred to as ActiveX Controls. Chrome uses the term plug-ins and Firefox calls them Add-ons.

General Concepts

The Browser Plug-in

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

Important: When you initialize the SDK, the plug-in object is inserted into the web page. This is important because this means that 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 has reloaded and the SDK is registered with CUCM.

The CWIC jQuery plug-in

The Jabber Voice and Video SDK depends on jQuery version 1.4 or later, and the API is available as a jQuery plug-in called cwic.

Important: A jQuery plug-in is completely unrelated to a browser plug-in.  The former is a JavaScript library while the latter is a piece of native functionality that interacts with the browser at a low level to extend its capabilities.

Following the principles of jQuery usage, you select one or more HTML elements and call a cwic operation on the selection to invoke voice and video functionality. cwic relies on jQuery namespacing, custom events and data to provide these features to a web application. For example, cwic triggers the conversationStart.cwic event when a new conversation starts. cwic uses the DOM as much as possible, especially to raise events and store data. For example, to start a new conversation, the application selects an HTML element to act as the conversation container. cwic uses that same element to store the conversation's information, and to trigger events related to this particular conversation.

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 relates to the Jabber SDK. For more information, please visit the main Cisco Unified Communications Manager page on our web site.

Cisco Voice and Video Infrastructure

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 be able 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're using can be reached by other people who want to place a call to them.

Registration is managed on a per-device basis. 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 that 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 your device and your 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 has been answered, voice and video is 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:

 

 

 

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