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 Chapter 2, "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 is comprises your application, the Login Application, and the Cisco Extension Mobility service. Every other component belongs to the Cisco Extension Mobility service. To see a diagram of how all the components of the Cisco Extension Mobility service system relates to each other, see Figure 1-1.
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.
|
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.
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.
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 Chapter 2, "Messages."
Figure 1-2 shows a closeup 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. The Login Service Java Object's Policy Validation engine checks the pre-conditions. For information about login policies, see the Login Policy.
For information about the automatic logout feature, see the Automatic Logout.
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 can be done via the Cisco CallManager User Administration.