Voice and Video - Get Started
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.
Open sample.html that comes with the SDK download.
Enter your Unified Communications Manager username, password and IP address in the fields provided.
Select SoftPhone as the mode.
Select the device and then click Connect. The Make Call button will be enabled once your soft phone registers with Unified Communicaitons Manager.
Enter a number into the Number field and click Make Call.
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.
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
|Mac OS 10.8 Mountain Lion||Mac OSX 10.9 Mavericks|
|IE 8|| |
(32-bit browser only)
|IE 9|| |
|IE 10|| |
(32-bit browser only)
|Firefox release channel 20.0 at release date|
|Chrome stable channel 26.0 at release date|
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.
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.
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.
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.
- Deploy the cwic.js and ciscobase.js files to your web server and add a softphone to your existing web application.
- Learn how to add video capability to your jabber softphone.
- Learn how to do more with voice and video
- Take a look at our server-side reference application that is built using node.js
- Add IM and Presence capabilities to your web app using Jabber Cisco Ajax XMPP Library (CAXL).
Visit the Jabber Developer Forums to ask questions and interact with other developers.