Cisco CallManager Extension Mobility API Developer Guide, Release 4.1(3)
Understanding the Cisco Extension Mobility Service
Downloads: This chapterpdf (PDF - 196.0KB) The complete bookPDF (PDF - 617.0KB) | Feedback

Understanding the Cisco Extension Mobility Service

Table Of Contents

Understanding the Cisco Extension Mobility Service

Cisco Extension Mobility Service Architecture

The Cisco Extension Mobility Service System Components

How the Cisco Extension Mobility Service System Works

The Cisco Extension Mobility Login Service

Device Profiles

Logout Device Profile

Login Policy

Automatic Logout

Authentication


Understanding the Cisco Extension Mobility Service


The Cisco Extension Mobility service feature 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 Extension Mobility service API with your applications, so they can take advantage of Cisco Extension Mobility service functionality. For details about how to use the Cisco Extension Mobility service API, see Using the Cisco Extension Mobility API.

To successfully develop an application that uses the Cisco Extension Mobility service, you need to understand how the service operates and how your application fits into the Cisco Extension Mobility service system.

This chapter includes these high-level concepts that are important in understanding the Cisco Extension Mobility service system:

Cisco Extension Mobility Service Architecture

Device Profiles

Login Policy

Automatic Logout

Authentication

Cisco Extension Mobility Service Architecture

This section explains the Cisco Extension Mobility service 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 represents the main component with which your application communicates with.

The Cisco Extension Mobility Service System Components

Table 1-1 lists the basic architectural components of the Cisco Extension Mobility service system and a description of each component. The Cisco Extension Mobility service system comprises your application, the Login Application, and the Cisco Extension Mobility service. Every other component belongs to the Cisco Extension Mobility service. See Figure 1-1 for a diagram of how all the components of the Cisco Extension Mobility service system relates to each other.

Table 1-1 Cisco Extension Mobility Service 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) stores information for Cisco CallManager.

DBL

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

Database Layer Monitor

Database Layer Monitor service notifies other processes of changes in the Cisco CallManager database.

CallProcessing

CallProcessing represents the core Cisco CallManager process that has responsibility for maintaining device connections.

CTI

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

TAPI/JTAPI

TAPI and JTAPI support call control.

1 The Login Application is your application.


How the Cisco Extension Mobility Service System Works

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

Figure 1-1 shows how Cisco Extension Mobility service system components connect to each other.

Figure 1-1 Cisco Extension Mobility Service System

Your Login Application submits an XML message to the Login Service servlet by using Hypertext Transfer Protocol (HTTP). The Login Service uses the LDAP Directory to check the UserID and PIN in the message from the Login Application.

If the UserID and PIN are valid, the Login Service executes the request by communicating with the database layer (DBL) through JNI. For more details about how the Login Service works, see "The Cisco 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 "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 by using HTTP.


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


The Cisco Extension Mobility Login Service

Your Login Application communicates with the Cisco Extension Mobility service through the Cisco 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. The response to a request serves as success or failure message, and the response to a query serves as a query result message. For details about messages, see Messages, page 2-2

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

Figure 1-2 Cisco Extension Mobility Login Service Component

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

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.

For information about the automatic logout feature, see the "Automatic Logout" section.

Device Profiles

Device profile acts as the basic unit of transaction for Cisco Extension Mobility. A device profile contains all the configuration information, such as line appearances, speed dials, and services, for a particular device. You can think of it 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 User Device Profile replaces the current device configuration. When a user logs out, the Logout Device Profile replaces the User Device Profile.

Logout Device Profile

Cisco Extension Mobility requires a Logout Device Profile for each configured device. Cisco 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.

Two types of device profiles exist: 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, the system configures a device 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 specifies ADP000011112222.



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


Login Policy

Only a single user can 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 also can not log out of a device to which no user has logged in. These error conditions generate error messages.

Automatic Logout

The Logout Scheduler in the Login Service times 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 Extension Mobility service allows authentication by proxy. That is, a user with Cisco Extension Mobility proxy rights can log in any user to any device.

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

To this end, you must ensure that a special user that corresponds to the application is configured in the Directory. This user, representing the application, has a standard LDAP UserID and PIN. The application must send a valid UserID and PIN to log a user in or log out from a device.


Note This mechanism requires configuring a UserID and PIN for the application; this is done by using Cisco CallManager Administration, User Configuration.