Cisco AJAX XMPP Library (CAXL) Architecture integrates Instant Messaging (IM) and Presence

Cisco AJAX XMPP Library (CAXL) allows you to embed customer support portal into website, add instant messaging to gaming application,and add presence information capabilities.

Overview

Important: Version 2014.04 of the AJAX XMPP Library (CAXL) has been released. This version of CAXL supports both on-prem CUP as well as hosted deployments. Read the release notes here.

The Cisco AJAX XMPP Library (CAXL) is an API that provides a jump start for developers writing Extensible Messaging and Presence Protocol (XMPP)-enabled web applications.

CAXL is ideal for companies that are looking to leverage the Cisco Webex Collaboration Cloud and integrate presence and messaging into their own custom web-based applications. With the CAXL, developers can:

  • Embed a customer support portal into a company website.
  • Add instant messaging capabilities to a gaming application.
  • Add presence information and messaging capability to custom applications.

The IM and Presence (CAXL) tools include the following features:

1-to-1 instant messaging

  • Ability to initiate and receive P2P IM.
  • XHTML-IM rich-text support.

Multi-user chat room (including Persistent Chat)

  • Ability to create adhoc and persistent chat rooms.
  • Ability to send and receive chat room invitations.
  • Ability to search for existing chat rooms.

Pub/Sub applications (example for geolocation)

  • Personal Eventing Protocol - Ability to create/publish/subscribe to pub/sub service nodes on a server.

User authentication roster presence and roster (contact list) management

  • Ability to add/update/remove contacts.
  • Ability to move contacts between groups.

My presence

  • Ability to set device presence.
  • When integrated with Cisco Unified Communications Manager IM and Presence Service, SDK can be configured to set CAXL device presence to be the same as presence engine composed presence.

Temporary Presence Subscriptions

  • Ability to create temporary subscriptions for users who are not on your roster ("Quick Contacts").
  • Ability to bulk subscribe/unsubscribe temporary subscriptions. Useful in multi-page applications where each page can have a different list of users.

Architecture

The Cisco AJAX XMPP Library provides a foundation for developing web-based applications that use the XMPP protocol. For detailed information on the XMPP standard, please visit http://xmpp.org. The AJAX library is a JavaScript XMPP client library that is used for instant messaging integration, presence, and roster services from the Cisco Webex Collaboration Cloud or on-prem CUP.

CAXL includes the following components:

  • jQuery: An open-source library for searching, traversing, and manipulating the browser's Document Object Model (DOM).
  • CAXL Core: A high-level API for messaging and presence.
  • CAXL UI: HTML UI components built on top of the CAXL Core API.

The library can be used purely as an API or as a web UI, or both. The core CAXL API does not require the CAXL UI. The internals of the library use jQuery for low-level JavaScript tasks, but the library does not depend on any JavaScript UI framework for the UI components. The Cisco AJAX XMPP library is an object-oriented, client-side library that communicates to a BOSH server component.
Bidirectional-streams Over Synchronous HTTP (BOSH) technology is used as an HTTP binding for XMPP communications and is useful in situations where a device or client is unable to maintain a long-lived TCP connection to an XMPP server (for example, as in a web browser).

Technical Details:

The Cisco AJAX XMPP Library supports the latest versions of IE, Firefox, and Chrome. For more details on OS/browser combinations supported, please see the Developers Guide.

Learn how to use the Jabber and Core IM APIs. View