Cisco CallManager Extension Mobility API Developer Guide, Release 3.1
Understanding Cisco CallManager Extension Mobility
Downloads: This chapterpdf (PDF - 151.0KB) The complete bookPDF (PDF - 591.0KB) | Feedback

Understanding Cisco CallManager Extension Mobility

Table Of Contents

Understanding Cisco CallManager Extension Mobility

Cisco CallManager Extension Mobility Architecture

The Cisco CallManager Extension Mobility System Components

How the Cisco CallManager Extension Mobility System Works

The Cisco CallManager Extension Mobility Login Service

Device Profiles

Logout Device Profile

Login Policy

Automatic Logout

Authentication


Understanding Cisco CallManager Extension Mobility


Cisco CallManager Extension Mobility is a feature of Cisco CallManager Release 3.1 that allows a device, usually a Cisco IP Phone, to temporarily embody a new device profile, including lines, speed dials, and services.

You can use the XML-based Cisco CallManager Extension Mobility API with your applications so that they can take advantage of Cisco CallManager Extension Mobility functionality. For details about how to use the Cisco CallManager Extension Mobility API, refer to Using the Cisco CallManager Extension Mobility API.

To successfully develop an application that uses the Cisco CallManager Extension Mobility service, it is important to understand how the service operates and how your application fits into the Cisco CallManager Extension Mobility system.

This chapter includes these high-level concepts, important in understanding the Cisco CallManager Extension Mobility system:

Cisco CallManager Extension Mobility Architecture

Device Profiles

Login Policy

Automatic Logout

Authentication

Cisco CallManager Extension Mobility Architecture

This section explains the Cisco CallManager Extension Mobility system components and how they work together with your application. It also gives a more detailed explanation of how the Login Service component works because the Login Service is the main component that your application communicates with.

The Cisco CallManager Extension Mobility System Components

Table 1-1 lists the basic architectural components of the Cisco CallManager Extension Mobility system and a description of each component. The Cisco CallManager Extension Mobility system is composed of your application and the Cisco CallManager Extension Mobility service. Your application is the Login Application. Every other component belongs to the Cisco CallManager Extension Mobility service. To see a diagram of how all the components of the Cisco CallManager Extension Mobility system are related to each other, see Figure 1-1.

Table 1-1 Cisco CallManager Extension Mobility System Components

Component
Description

1 Login Application

Any application or process which submits a request to the Login Service via the XML over HTTP interface.

Login Service

The service that validates requests from a Login Application and sends back request and query responses.

LDAP Directory

Lightweight Directory Access Protocol Directory (LDAP) is the directory that stores information for Cisco CallManager.

DBL

Database Layer (DBL) manages Cisco CallManager database transactions that involve data such as Device Profiles, etc.

Database Layer Monitor

The service that notifies other processes of changes in the Cisco CallManager database.

CallProcessing

The core Cisco CallManager process, responsible for maintaining device connections.

CTI

Computer Telephony Interface (CTI) is the set of processes that expose programmable APIs for call control.

TAPI/JTAPI

Telephony Application Programming Interfaces that support call control.

1 The Login Application is your application.


How the Cisco CallManager Extension Mobility System Works

This section describes what happens when your application sends a message to the Login Service to use Cisco CallManager Extension Mobility functionality.

Figure 1-1 shows how Cisco CallManager Extension Mobility system components are connected to each other.

Figure 1-1 The Cisco CallManager Extension Mobility System

Your Login Application submits an XML message to the Login Service using HyperText Transfer Protocol (HTTP). The Login Service uses the LDAP Directory to check the application ID and password in the message from the Login Application.

If the application ID and password are valid, the Login Service executes the request by talking to the Database Layer (DBL) through Microsoft's Component Object Model interface (COM). For more details about how the Login Service works, see "The Cisco CallManager Extension Mobility Login Service" section.

If the DBL changes the Device Profile for the device (for a login or logout request), it tells the Database Layer Monitor. The Database Layer Monitor passes this information on to the CallProcessing and CTI components. CallProcessing tells the Cisco IP phone that it needs to restart itself to load the new Device Profile. For information about Device Profiles, see the "Device Profiles" section.

The CTI layer notifies JTAPI and TAPI applications that are monitoring the device or user that the application control list has changed.

When the DBL successfully completes a transaction, it tells the Login Service. The Login Service then sends an XML response that the transaction was successful back to your Login Application using HTTP.


Note If the transaction is not successful, the Login Service sends your Login Application an appropriate error message.


The Cisco CallManager Extension Mobility Login Service

Your Login Application talks to the Cisco CallManager Extension Mobility service through the Cisco CallManager Extension Mobility Login Service component.

When the Login Service component receives an HTML message from your Login Application, it uses HTTP to send an XML response message back. The response to a request is a success or failure message and the response to a query is a query result message. For details about messages, see the "Messages" section on page 2-2.

Figure 1-2 shows a close-up of the Login Service component of the Cisco CallManager Extension Mobility system.

Figure 1-2 The Cisco CallManager Extension Mobility Login Service Component

The Login Service component has three main functional parts: the Active Server Pages (ASPs), the Login Service Java Object, and the Logout NT Service.

The Login Service ASPs are a small set of ASPs running under Microsoft Internet Information Server (IIS). The Login Service ASPs receive the HTTP POST request or query messages and pass the contained XML to the Login Service Java Object. The ASPs then take the results from the Login Service Java Object and pass them back to the Login Application as the HTTP response.

The Login Service Java Object is wrapped as a Dynamic Link Library (DLL). The Login Service Java Object has a SAX Parser that parses the XML message.The Login Service Java Object's Authentication module checks whether the application ID and password in the message are valid. For more information about authentication, see the "Authentication" section. The Login Service Java Object's Policy Validation engine checks the pre-conditions. For information about login policies, see the "Login Policy" section.

Then, the DB Request module of the Login Service Java Object makes a request to the Database Layer (DBL).

The Logout NT Service implements the automatic logout feature. The Logout NT Service maintains the state of a device. The device state includes the login time and login duration if the automatic logout feature is invoked. When the login duration expires, the Logout NT Service sends a logout request to the DBL through the DB Request part of the Login Service Java Object. For information about the automatic logout feature, see the "Automatic Logout" section.


Note The Login Service component sends back an appropriate XML error response to your Login Application if authentication fails, a pre-condition is not met, it cannot contact the DBL, or the DBL returns an error.



Note The Logout NT Service records Errors but does not report them.


Device Profiles

The basic unit of transaction for Cisco CallManager Extension Mobility is a device profile. A device profile contains all the configuration information for a particular device, such as line appearances, speed dials, and services. It can be thought of as a "virtual device". It has all the properties of a device except physical characteristics such as a Media Access Control (MAC) address and a directory URL.

When a user logs in, the current device configuration is replaced by that users' User Device Profile. When a user logs out, the User Device Profile is replaced by the Logout Device Profile.

Logout Device Profile

Cisco CallManager Extension Mobility requires a Logout Device Profile for each configured device. Cisco CallManager Extension Mobility uses the Logout Device Profile, which can be either an Auto-Generated or User Device Profile, as the "logged out" configuration of the device.

There are two types of device profiles, Auto-Generated Device Profiles and User Device Profiles.

Auto-Generated Device Profile— can only be used as a Logout Device Profile. This is a snapshot of the existing device's configuration. It cannot be associated with a user.

User Device Profile — is generated by an administrator and associated with a user in the same manner as any other device.


Note To create an Auto-Generated Device Profile, a device is configured and a snapshot of the device is taken and saved as a device profile with the prefix ADP (Auto-Generated Device Profile) and the MAC address of the device. For example, the Auto-Generated Device Profile for the device SEP000011112222 is ADP000011112222.



Note Cisco CallManager Extension Mobility fully supports the Cisco IP Phone 7960 and the Cisco IP Phone 7940 but not the IP Phone model 7910 and older devices.


Login Policy

Only a single user is allowed to log in at a time on a particular device. Subsequent attempts by users to log in on a device before the previous user has logged out will fail. You can also not log out of a device to which no user has logged in. These are error conditions and generate error messages.

Automatic Logout

A login request can specify a login duration, after which time the system automatically logs out the device. A system-wide maximum login duration can be specified. The login duration state is maintained by an NT service, the Cisco User Logout Service.


Note The Cisco User Logout Service is used to time all login occurrences if you have specified a system maximum login time. If you have not set the login duration, the automatic logout period for that device defaults to the system maximum time.


Authentication

The Cisco CallManager Extension Mobility Service allows authentication by proxy. That is, a user with Cisco CallManager Extension Mobility proxy rights is allowed to log in any user to any device.

What this means is that an application can be responsible for authenticating a user in whatever way the designer of the application sees fit: by using a password, PIN, hardware key, biometrics, etc. Then the application must provide valid credentials for itself (the application) so that the Cisco CallManager Extension Mobility Service knows that the application is provisioned in the system and allowed to log users in and out.

To this end, a special user that corresponds to the application must be configured in the Directory. This user, representing the application, has a standard LDAP userID and password, hereafter referred to as an appID and appPassword. The application must send a valid appID and appPassword to log in or log out a user from a device.


Note This mechanism requires configuring a userID, the appID, for the application, which can be done via the Cisco CallManager User Administration.