cc/td/doc/product/access/ip_ph
hometocprevnextglossaryfeedbacksearchhelp
PDF

Table Of Contents

Cisco CRM Communications Connector for Cisco CallManager Express

Contents

Prerequisites for Cisco CCC for Cisco CME

Restrictions for Cisco CCC for Cisco CME

Information About Cisco CCC for Cisco CME

Installing Cisco CCC for Cisco CME

Prerequisites for Installing Cisco CCC

Installing Cisco CCC Server Software

Installing and Maintaining Cisco IOS TSP on the Client

Installing Cisco CCC Client Software

Setting Parameters for Cisco CCC for Cisco CME

Setting Dial String Patterns and Dial Prefixes on the Server

Setting Cisco CCC Parameters on the Client

Using Cisco CCC for Cisco CME

Using Cisco CCC Windows

Using Cisco CCC with Microsoft CRM

Troubleshooting and Technical Issues

Troubleshooting Cisco CCC

How Cisco CCC Works with TAPI

How Cisco CCC Works with Microsoft CRM

Additional References

Related Documents

MIBs

Technical Assistance

Glossary

Cisco CRM Communications Connector for Cisco CallManager Express


Cisco CRM Communications Connector (Cisco CCC) integrates Microsoft Customer Relationship Management (CRM) with Cisco CallManager Express (Cisco CME) 3.0 or later versions to provide customer-service functionality for small- and medium-sized businesses.

Feature History for Cisco CCC for Cisco CME

Release
Modification

July 2004

This feature was introduced.


Contents

Prerequisites for Cisco CCC for Cisco CME

Restrictions for Cisco CCC for Cisco CME

Information About Cisco CCC for Cisco CME

Installing Cisco CCC for Cisco CME

Setting Parameters for Cisco CCC for Cisco CME

Using Cisco CCC for Cisco CME

Troubleshooting and Technical Issues

Additional References

Glossary

Prerequisites for Cisco CCC for Cisco CME

Cisco CCC software consists of a client component and a server component. This section describes the requirements for the client and server platforms.

Cisco CCC Client Requirements

Microsoft Windows 98 Second Edition, Microsoft Windows 2000 (Server or Professional), or Microsoft Windows XP (Professional or Home).

Telephony Application Programming Interface (TAPI) 2.1 (tapi32.dll), which is part of the listed operating systems.

Microsoft .NET Framework 1.1.

Microsoft Internet Explorer 5.5 with Service Pack 2 or a later Service Pack for the web interface.

Cisco IP Phone 7900 series phones connected to Cisco CallManager Express 3.0 or a later version.

Cisco CCC Server Requirements

Microsoft CRM v1.2.

The computer running Microsoft CRM must also have access to computers in the same Active Directory Domain that are running Microsoft SQL Server 2000 with Service Pack 2 or a later Service Pack.

Microsoft CRM may coexist on the same computer with the Microsoft SQL Server or the Microsoft Exchange Server, but this configuration is not recommended.

ASP.NET-enabled Internet Information Services (IIS) server.

Microsoft Windows 2000 Server (or Advanced Server) with Service Pack 3 or later, including the following services: Microsoft Message Queuing (MSMQ), Indexing Service, IIS, and Microsoft Data Access Components (MDAC) 2.7a.

Restrictions for Cisco CCC for Cisco CME

Outbound call tracking is supported only when used with click-to-dial.

International phone numbers are not supported. (Numbers can be stored in international format in CRM, but Cisco CCC cannot dial international phone numbers.)

Information About Cisco CCC for Cisco CME

Cisco CCC for Cisco CME is an application that integrates Microsoft CRM (a customer relationship management database and application) with Cisco CallManager Express systems. Cisco CCC for Cisco CME improves customer service by providing the following functionality for Cisco CME systems:

Customer-record lookup from a caller ID that is displayed for a call.

Inbound and outbound call-duration tracking.

Click-to-dial capability.

Cisco CCC uses the standard Microsoft telephony API (TAPI), which in turn utilizes the underlying Cisco IOS TAPI service provider (TSP) to communicate with the call routing server.

Cisco CCC uses a client/server model. The client provides an interface for TAPI and for the user. The server provides an interface to the Microsoft CRM server. When the Cisco CCC client requests interaction with the Microsoft CRM server, Cisco CCC server components perform the interaction. The client has no direct knowledge of Microsoft CRM objects. The system architecture is shown in Figure 1.

Figure 1 Cisco CCC System Architecture

The user interface for the Cisco CCC components are .NET form windows. The client also contains an embedded Microsoft Internet Explorer window, which makes requests from the client to the server. The Cisco CCC server components do all the work and present HTML to the embedded Internet Explorer client for user interaction. Selections made in a Cisco CCC window automatically launch CRM and Internet Explorer if they are not already open.

The user interface for the CRM components can be either a web browser (Microsoft Internet Explorer 5.5 or later only) or a Microsoft Outlook window (in online mode or offline mode).

During Cisco IOS TSP installation, a system administrator associates phones with the Cisco IOS TSP software that is installed on the Cisco CCC client. When a call is made or received from a phone that is associated with Cisco CCC, the client passes the call information (ANI or DNIS) to the Cisco CCC server components, which perform a lookup in the Microsoft CRM database and return an HTML page for the client to display. The HTML is formatted so that the appropriate actions are taken by the browser when the user clicks any of the items contained in the response.

When the Cisco CCC client detects a new incoming or outgoing call, the client presents a Create New Record window to the user ( Figure 2). This window contains an embedded Microsoft Internet Explorer window that makes requests to the Cisco CCC server components, which do all the work and present HTML to the embedded Internet Explorer client for user interaction. Cisco CCC lists in this window the customer records in the CRM database that potentially match the phone number that was detected in the call. The user can click the icon next to a name to be presented with a new CRM Phone Call Activity window to be associated with that name (see Figure 34). The user can also click the name itself to see the CRM customer record associated with that individual (see Figure 32). See the "Using Cisco CCC for Cisco CME" section for more information about how to use Cisco CCC windows.

Figure 2 Cisco CCC Create New Record Window

Installing Cisco CCC for Cisco CME

Prior to installing Cisco CCC for Cisco CME software, complete the tasks in the "Prerequisites for Installing Cisco CCC" section.

Once the prerequisite tasks are complete, perform the software installation tasks in the following order:

1. Installing Cisco CCC Server Software

2. Installing and Maintaining Cisco IOS TSP on the Client

3. Installing Cisco CCC Client Software


Note During installation, do not change the default installation directory. Using a nondefault installation directory requires that you make changes outside of the installation program and is not recommended.


Prerequisites for Installing Cisco CCC

On the Cisco CME router, collect the following information for the Cisco IOS TSP installation:

MAC address of the Cisco IP phone that needs to be associated and controlled by a TAPI client. Use the show ephone command to find this information.

Username and password for the Cisco IP phone. Use the show ephone command to find this information.

IP address (or hostname if Domain Name System [DNS] is enabled) and port number of the Cisco CME router. Use the show telephony-service command to determine the IP address and port number, and use the show running-config command to determine the hostname.

On the Cisco CCC server, download the Cisco CCC software from the Cisco Software Center. Follow the link to Cisco CCC from the Cisco CME software download location at http://www.cisco.com/cgi-bin/tablebuild.pl/ip-key.

On the Cisco CCC client, download the Cisco CCC software from the Cisco Software Center. Follow the link to Cisco CCC from the Cisco CME software download location at http://www.cisco.com/cgi-bin/tablebuild.pl/ip-key.

On the Cisco CCC client, download the CiscoIOSTSP.zip file from http://www.cisco.com/cgi-bin/tablebuild.pl/ip-iostsp and uncompress the file ( Figure 3).

Figure 3 File Contents of CiscoIOSTSP1.2.zip

Installing Cisco CCC Server Software

This task uses a setup wizard to install software on the Cisco CCC server. Be sure to complete the items listed in the "Prerequisites for Installing Cisco CCC" section before starting this task.

SUMMARY STEPS

1. On the Microsoft CRM server, rename the C:\Inetpub\wwwroot\_Resources\OutlookClient_sample.xml file to OutlookClient.xml.

2. Double-click the Setup.exe icon for the Cisco CCC software.

3. On the setup wizard Welcome window, click Next.

4. On the License Agreement window, select I Agree and click Next.

5. On the Select Installation Address window, click Next.

6. On the Confirm Installation window, click Next.

7. In the Cisco CCC Administrative Configuration wizard, enter the appropriate information.

8. Click Finish and review your configuration from the Advanced tab.

9. Click OK to complete, and when the Installation Complete window appears, click Close.

DETAILED STEPS


Step 1 On the Microsoft CRM server, rename the C:\Inetpub\wwwroot\_Resources\OutlookClient_sample.xml file to OutlookClient.xml.

This file is used to create the Call This Person button on the customer contact window in the Outlook client GUI interface. The filename is not case-sensitive. Note that if you are installing the software on a Microsoft Small Business Server, this file may be found in a different directory, \inetpub\wwwroot\CRM\_Resources.

Step 2 Double-click the Setup.exe icon for the Cisco CCC software.

Step 3 On the setup wizard Welcome window, click Next.

Step 4 On the License Agreement window, select I Agree and click Next.

Step 5 On the Select Installation Address window, click Next.

If you are prompted with a browser window that prompts you to "Please locate the file:_Resources\OutlookClient.xml," browse to C:\Inetpub\wwwroot\_Resources and select the OutlookClient.xml file. This action creates the Call This Person customization on the customer contact window. The filename is not case-sensitive. Note that if you are installing the software on a Microsoft Small Business Server, this file may be found in a different directory, such as \inetpub\wwwroot\CRM\_Resources.

If you are prompted with a browser window that prompts you to "Please locate the file:isv.config," browse to C:\inetpub\wwwroot\_resources\ and select the isv.config file. Note that if you are installing the software on a Microsoft Small Business Server, this file may be found in a different directory, such as \inetpub\wwwroot\CRM\_Resources.

To confirm, click OK.

Step 6 On the Confirm Installation window, click Next.

Step 7 In the Cisco CCC Administrative Configuration wizard, enter the following information.

a. In the first window that appears, there are two fields. In the first field, enter your home area code and any other area codes that are local (Step 1 in this window). Leave the next field blank (Step 2 in this window).

b. In the second window that appears ( Figure 4), enter the area codes that are shared between local and long-distance exchanges or leave this field blank if there are none. Enter the exchanges that are long distance for each area code that you list, separating them by commas (Step 3 in this window).

c. Enter the dialing prefix for local phone numbers, if applicable, such as 9 to access an outside line. In the next field, enter the dialing prefix for long-distance phone numbers, if applicable, such as 91 to place a long-distance call (Step 4 in this window).

d. Select the local-dialing digit length as 7-digit, 10-digit, or both (Step 5 in this window).

e. Enter your local area code (Step 6 in this window).

f. Check the box to enable extension processing if you want internal extensions to be recognized by Cisco CCC. In the Number of Digits field, enter the number of digits to be used for internal extensions (Step 7 in this window).

Figure 4 Administrative Configuration Wizard

Step 8 Click Finish and review your configuration from the Advanced tab ( Figure 5). For more information about dial prefixes and dial string patterns, see the "Setting Dial String Patterns and Dial Prefixes on the Server" section.

Figure 5 Administrative Configuration Advanced Tab

Step 9 Click OK to complete, and when the Installation Complete window appears, click Close.


Installing and Maintaining Cisco IOS TSP on the Client

Cisco CME provides an interface that enables simple one-to-one remote control of a Cisco IP phone by an associated PC that is running Cisco IOS TAPI service provider (TSP). Cisco IOS TSP is a dynamic-link library (DLL) that provides device-specific controls for communications processing and an abstraction layer between TAPI applications and the underlying hardware and transport protocols, which supports the placing of outbound calls from an application such as Cisco CCC. The TSP interface supports basic TAPI services to enable caller-ID-based window popups for incoming calls and simple outgoing call placement using one-click address-book-style speed dialing from the PC application.


Note This service does not add full TAPI support for multiple users or the multiple call handling required to implement complex features like automatic call distributor (ACD) or IP contact center (IPCC). Cisco IOS TSP software does not support media or voice, which are sent to the phone.


Cisco IOS TSP provides the following functionality:

Communication with the TAPI using the Telephony Service Provider Interface (TSPI).

Implementation of a required set of APIs and interaction with TAPI.

Allowing of other TAPI-based applications to provide call control to the Cisco IP phones connected to the Cisco CME router.

This section explains the following tasks that are related to applications integration with Cisco IOS TSP:

Installing Cisco IOS TSP

Modifying a Cisco IOS TSP Configuration

Removing Cisco IOS TSP

Verifying Basic TAPI Operation

Troubleshooting Cisco IOS TSP

Installing Cisco IOS TSP

This task prepares Cisco IOS TSP for use. Be sure to complete the items listed in the "Prerequisites for Installing Cisco CCC" section before starting this task.

SUMMARY STEPS

1. Ensure that there is network connectivity between your PC and the Cisco CME router.

2. Run CiscoIOSTspLiteX.X.exe, where X.X is the software version that you have downloaded.

3. Ensure that the Cisco IOS TSP files have been installed in the PC's system directory.

4. Restart your computer.

DETAILED STEPS


Step 1 Ensure that there is network connectivity between your PC and the Cisco CME router. To verify the network connectivity, enter the ping ip-address command on your PC, using the IP address of the Cisco CME router.

Step 2 Run CiscoIOSTspLiteX.X.exe, where X.X is the software version that you have downloaded.

a. On the Welcome InstallShield Wizard window, click Next ( Figure 6).

Figure 6 Cisco IOS TSP InstallShield Wizard Window

b. On the License Agreement window, check the I Accept radio button and click Next ( Figure 7).

Figure 7 Cisco IOS TSP License Agreement Window

c. On the Customer Information window, enter a name in the User Name field, enter a company name in the Organization field, and click Next ( Figure 8).

Figure 8 Cisco IOS TSP Customer Information Window

d. On the Ready to Install window, click Install ( Figure 9).

Figure 9 Cisco IOS TSP Ready to Install Window

e. On the Restart Computer window ( Figure 10), click OK. You do not need to restart the computer now; you will restart the computer at the end of this task.

Figure 10 Restart Computer Window

f. On the InstallShield Wizard Completed window, click Finish ( Figure 11).

Figure 11 Cisco IOS TSP Wizard Completed Window

Step 3 Ensure that the following Cisco IOS TSP files have been installed in the PC's system directory:

CiscoIOSTSP.tsp

CiscoIOSTUISP.dll

LogTrace.dll

Step 4 Restart your computer.


Modifying a Cisco IOS TSP Configuration

The following task allows you to change Cisco IOS TSP parameters on your PC.

SUMMARY STEPS

1. Choose Start > Settings > Control Panel > Phone and Modem.

2. Choose the Advanced tab to display the Providers list.

3. Choose Cisco IOS Telephony Services Provider and click Configure.

4. In the Cisco IOS Telephony Services Provider dialog box, make the changes that you want.

5. Choose OK to save changes. Reboot your PC if prompted to do so.

DETAILED STEPS


Step 1 Choose Start > Settings > Control Panel > Phone and Modem. The name of this option may vary based on your operating system.

Step 2 In the Phone And Modem Options dialog box, choose the Advanced tab to display the Providers list ( Figure 12).

Figure 12 Phone And Modem Options Dialog Box

Step 3 Choose Cisco IOS Telephony Service Provider and click Configure.

The Cisco IOS Telephony Service Provider dialog box appears, as shown in Figure 13.

If Cisco IOS Telephony Service Provider does not appear in the Providers list, click Add to bring up a window that allows you to add Cisco IOS Telephony Service Provider to the Providers list.

Figure 13 Cisco IOS TSP Configuration Dialog Box

Step 4 In the Cisco IOS Telephony Service Provider dialog box, make the changes that you want.

a. Security—Username and password should match those displayed in the ephone information of the show running-config command output for the client that you are installing.

b. Cisco IOS Telephony Service Connectivity—Enter the IP address of the Cisco CME server. The name can be left blank. In the Port field, enter the port number of the Cisco CME router displayed by the show telephony-service or the show running-config command. The default is 2000.

c. Synchronous Message Timeout—This field can be left at its default of 3.

d. MultiMedia—Check the Using HeadSet check box if you have a headset connected to your PC.

e. Trace—Check the Trace check box to start a trace; the filename can be left at its default. For more information about using traces, see the "Troubleshooting Cisco IOS TSP" section.

Step 5 Choose OK to save changes. Reboot your PC if prompted to do so. After changing the username, password, IP address, or port, you may be prompted to reboot your PC.

Exit the Cisco CCC application if it was running, and restart it for your changes to take effect. If any services that depend on the telephony service are running, restart the system also.


Removing Cisco IOS TSP

This section explains how to remove Cisco IOS TSP from your computer.

SUMMARY STEPS

1. Choose Start > Settings > Control Panel > Add/Remove Programs.

2. Choose Cisco IOS Telephony Service Provider from the displayed list of programs and click the Change/Remove button.

3. Follow the prompts to remove all Cisco IOS TSP files from your PC.

DETAILED STEPS


Step 1 Choose Start > Settings > Control Panel > Add/Remove Programs.

Step 2 Choose Cisco IOS Telephony Service Provider from the displayed list of programs and click the Change/Remove button.

Step 3 Follow the prompts to remove all Cisco IOS TSP files from your PC.


Verifying Basic TAPI Operation

This section explains how to verify that TAPI is working.

SUMMARY STEPS

1. Place an incoming call.

2. Place an outgoing call.

DETAILED STEPS


Step 1 Place an incoming call from another Cisco IP phone to the phone that you are verifying.

Step 2 Place an outgoing call from the Cisco IP phone that you are verifying.


Troubleshooting Cisco IOS TSP

If you have problems with Cisco IOS TSP, perform the following tasks:

Verify the IP address and the port number for the Cisco CME router, and make sure that they match those defined in the TSP Settings dialog box.

Verify connectivity between the PC and the router by using the ping ip-address command.

Verify that the IP phone is connected and registered with the Cisco CME router.

If the Cisco IOS TSP fails to connect to the Cisco CME router, a message box with the title "Cisco IOS Telephony Services TSP status" displays the cause for failure.

If the Line or Address is not listed in the Preferences > Dialer dialog box, check the following settings:

Verify that the username and password have been set correctly (they are case-sensitive) and that synchronous timeout is set to a reasonable value (such as 3 seconds).

Verify that the IP address and port number in the dialog box match those on the router.

Verify connectivity between the Cisco IP phone and the Cisco CME router.

Check the Trace check box, which you can see at the bottom of Figure 13. The trace feature runs the trace utility logs and saves the files in a specified trace file.


Note To save the trace utility logs, name a file that you can recognize. Each time you run the trace log, a new trace file is created, so you may need to regularly remove the old trace files that are not required.


If Cisco IOS TSP is not listed as one of the available providers in the Start > Settings > Control Panel > Phone and Modem > Add dialog box, verify whether all the DLL files have been installed in the PC's system directory. If not, reinstall Cisco IOS TSP using the instructions in the "Installing Cisco IOS TSP" section.

Installing Cisco CCC Client Software

This task uses a setup wizard to install software on the Cisco CCC client. Be sure to complete the items listed in the "Prerequisites for Installing Cisco CCC" section before starting this task.

SUMMARY STEPS

1. Double-click the Setup.Exe icon.

2. On the setup wizard Welcome window, click Next.

3. On the License Agreement window, click I Agree and Next.

4. On the Select Installation Folder window, click Everyone and Next.

5. On the Confirm Installation window, click Next.

6. In the Cisco CCC client configuration wizard, click the TAPI tab and complete the fields on that tab.

7. Click the CRM tab and complete the fields on that tab.

8. Click the Other tab and complete the fields on that tab.

9. Click the Debugging tab and complete the fields on that tab.

10. On the Installation Complete window, click Close to exit.

DETAILED STEPS


Step 1 Double-click the Setup.Exe icon ( Figure 14).

Figure 14 Cisco CCC Client Installer Files

Step 2 On the setup wizard Welcome window, click Next ( Figure 15).

Figure 15 Cisco CCC Client Setup Wizard

Step 3 On the License Agreement window, click I Agree and Next ( Figure 16).

Figure 16 Cisco CCC Client Setup Wizard License Agreement Window

Step 4 On the Select Installation Folder window ( Figure 17), click Everyone and Next. The correct installation folder is already listed in the Folder field.

Figure 17 Cisco CCC Client Setup Wizard Select Installation Folder Window

Step 5 On the Confirm Installation window ( Figure 18), click Next to start the Cisco CCC client configuration wizard.

Figure 18 Cisco CCC Client Setup Wizard Confirm Installation Window

Step 6 In the Cisco CCC client configuration wizard, click the TAPI tab and complete the fields ( Figure 19).

a. Highlight the Cisco CME extension that you want to control. This should be the Key Line (extension number) entry, which should match the extension of the client that you are installing.

Figure 19 Cisco CCC Client Configuration TAPI Tab

Step 7 Click the CRM tab and complete the fields on that tab ( Figure 20).

a. In the CRM Server Name field, enter the hostname or IP address of the CRM server. If you enter an IP address, you should not check the Enable Single Signon check box in the Other tab ( Step 8).

b. In the CRM Services Port field, enter the HTTP port number for the CRM server (default is 80).

c. In the CRM Services Relative URL field, enter /CCCWebInterface/.

Figure 20 Cisco CCC Client Configuration CRM Tab

Step 8 Click the Other tab and complete the fields on that tab ( Figure 21).

a. Check Automatically pop ... to have Cisco CCC automatically display the CRM customer record and Phone Call record when an incoming caller ID uniquely matches a contact record.

b. Check Enable Single-Signon to eliminate the need to sign on to Cisco CCC if you are working in an Active Directory environment. Do not check the Enable Single-Signon check box if you entered an IP address (rather than a hostname) in the CRM Server Name field of the CRM tab ( Step 7).

Figure 21 Cisco CCC Client Configuration Other Tab

Step 9 Click the Debugging tab and complete the fields on that tab ( Figure 22).

a. Uncheck Enable Logging.

b. Click OK.

Figure 22 Cisco CCC Client Configuration Debugging Tab

Step 10 On the Installation Complete window, click Close to exit.


Note You may need to uninstall any popup blockers that you have installed in your browser in order to allow the Microsoft CRM web GUI to be launched. Disabling the popup blocker may not resolve this issue.



Setting Parameters for Cisco CCC for Cisco CME

After installing the Cisco CCC software and the Cisco IOS TSP software, you need to set dial string patterns and dial prefixes on the server. Optionally, you can adjust certain Cisco CCC parameters on the client as well. This section describes the following topics:

Setting Dial String Patterns and Dial Prefixes on the Server

Setting Cisco CCC Parameters on the Client

Setting Dial String Patterns and Dial Prefixes on the Server

Cisco CCC is able to dial numbers and interpret incoming numbers because of the dial string patterns and dial prefixes that you enter into the configuration wizard on the server. An interactive GUI window is provided for easy editing of the configuration file.

This section discusses the following topics:

About Dial String Patterns and Dial Prefixes

Using the Configuration Window to Set Dial String Patterns and Dial Prefixes

About Dial String Patterns and Dial Prefixes

Dial string patterns are regular expressions in .NET format that represent the ways that telephone numbers are entered in the CRM database. Cisco CCC uses dial string patterns to match against numbers in the database and in the telephony application. Once a number is matched to a pattern, Cisco CCC can parse it into its components and make use of those components. One example is a number from the CRM database that can be used in a click-to-dial application. Another example is a number that is received from caller ID that can be used to bring up the appropriate customer record from the CRM database. In both these examples, Cisco CCC needs to be able to separate a number into components that can be matched against other values. Dial string patterns tell Cisco CCC how to do that, and by having a number of dial string patterns, you will be able to match numbers that have been entered in the database in different formats.

A dial string pattern tells Cisco CCC how to parse a number into components such as area code, exchange, station, and extension. These are the components that are exchanged between phones to set up phone calls. For example, the following dial string pattern defines the area code, exchange, and station for a number written in this format: 805-555-1076:

(\d{3})-(\d{3})-(\d{4})

A dial prefix is a regular expression in .NET format that Cisco CCC attempts to match against a number that you want to dial. Dial prefixes contain dialing instructions for numbers that they match. For example, the following dial prefix instructs the Cisco CCC dialer to dial a 9 before any number with an 805 area code.

<Match areacode="805" dialstring="9{ac}{ex}{st}" />

When a phone number is passed to Cisco CCC from the click-to-dial function, it is processed in the following order:

1. First by the dial string patterns to determine the parts of the phone number.

2. Then by the dial prefixes to determine how the phone number should be dialed.

Although phone numbers must be in a recognizable format in CRM records, you are not limited to a single format. The exact formats that are required are the decision of the administrator at each site. Cisco CCC has no requirement for the format in which phone numbers are stored other than that those formats must match one of the dial string patterns, which will subsequently match one of the dial prefixes. So, for example, an administrator can define dial string patterns that match both 10-digit and 7-digit dialing as well as patterns for matching phone numbers that simply represent internal extensions.

You can define any number of dial string patterns and dial prefixes for Cisco CCC to match. Dial string patterns and dial prefixes are evaluated in the order in which they are listed in the configuration file, which is also their order in the interactive configuration window. If a phone number does not match any dial string pattern or dial prefix, Cisco CCC cannot dial the number.

.NET Regular Expression Matching

The following characters are used in .NET regular expression syntax in dial string patterns and dial prefixes:

\d—Digit

\s—White space

\(—Literal opening parenthesis, `('

\)—Literal closing parenthesis, `)'

.—Any character

\.—Literal period, `.'

The following character class is used in .NET regular expression syntax in dial string patterns and dial prefixes:

[...]—any of the characters within [ ]

The following character groups are used in .NET regular expression syntax in dial string patterns and dial prefixes:

( ... )—Group of characters for later retrieval

(?: ... )—Group of characters not to be saved for later retrieval

The following quantifiers are used in .NET regular expression syntax in dial string patterns and dial prefixes:

*—(Asterisk) Zero or more matches

?—(Question mark) Zero or one match

+—(Plus sign) One or more matches

{n}—(A single number inside braces) Exactly n matches

{n,m}—(Two numbers separated by a comma inside braces) At least n and at most m matches

For more information on .NET regular expression syntax, see " Regular Expression Language Elements" on the Microsoft website (MSDN Home > MSDN Library > .NET Development > .NET Framework SDK > .NET Framework > Reference) at the following URL:

http://msdn.microsoft.com/library/en-us/cpgenref/html/cpconRegularExpressionsLanguageElements.asp

The examples in Table 1 demonstrate how to use .NET regular expression syntax to build dial pattern definitions.

Table 1 Dial Pattern Definition Examples  

Dial Pattern Definition
Matches This Form of Number in CRM Database
Comments

\d{10}

2135550132

10-digit string.

\d{3}-\d{3}-\d{4}

213-555-0132

10-digit string with hyphen between area code and exchange and between exchange and station.

\(\d{3}\)\d{3}-\d{4}

(213)555-0132

10-digit string with parentheses around area code.

Note that parentheses in numbers present a special problem because parentheses have special meaning in .NET regular expressions. By placing a backslash (\) before a parenthesis, you specify that you want to use a literal parenthesis in that location.

\(\s*\d{3}\s*\)\s*\d{3}\s*-
\s*\d{4}

(213)555-0132

(213)555 0132

(213) 555-0132

( 213 )555-0132

( 213 ) 555-0132

10-digit string with parentheses around area code, with or without white space next to parentheses, with a hyphen or white space between exchange and station.

White space in patterns must also be explicitly specified with special syntax (\s*). The backslash and s characters indicate that white space should be matched. The asterisk indicates that the pattern should match whether or not the white space appears. You could enter these characters before and after each element of the regular expression if you think numbers might be entered in the CRM database with white space in any of those locations. Note that you do not need the white space characters at the very beginning or very end of the pattern.

\(\s*(\d{3})\s*\)\s*(\d{3})
\s*-\s*(\d{4})

All of the above.

Adds parentheses around the individual parts of a telephone number.

After identifying the pattern in a phone number, you need to be able to extract the individual parts of the phone number (area code, exchange, station, and extension) so that they can be used later for dialing. Parentheses are used to group the digits into their component parts and identify those parts for later use.

[\sext.]*(\d+)

x123

ext 123

ext. 123

ext123

And other forms.

Specifies white space and e, x, t, or period any number of times and that the test should not fail if those characters do not exist, and at least one digit and any number of digits.

This syntax allows you to specify extensions that may be entered in the CRM database in different ways, such as x123 or ext 123 or ext. 123. A regular expression can be written that matches several cases. Square brackets ([ ]) specify that any of the characters within the brackets should create a match. To match the characters e, x, t, period, or white space any number of times, enter [\sext.]*. To match at least one digit and at most any number of digits, use a plus sign (+) following the digits indicator (\d).

(?:[\sext.]*(\d+))

x123

ext 123

ext. 1234

ext12345

And other forms
or no extension.

Extension according to the preceding form or no extension.

The preceding expression requires that an extension be present in the number to get a match. When the extension is an optional portion of the number, use a question mark (?) and a colon (:) inserted inside the opening parenthesis that groups the extension component. This syntax specifies that the extension component group should not be captured for later use in Cisco CCC.

(?:[\sext.]*(\d+)){0,1}

x123

ext 123

ext. 1234

ext12345

And other forms
or no extension.

When specifying that an extension may or may not be present, follow the extension component group with the number of allowable occurrences enclosed in curly brackets ({ }). For example, this example builds on the previous example and specifies that exactly zero or one extension component groups need be present in a number for a match.

\(\s*(\d{3})\s*\)\s*(\d{3})
\s*-\s*(\d{4})[\sext.]*(\d+) (?:[\sext.]*(\d+)){0,1}

(213) 555-1032

(213)555-1032x213

( 213 ) 555-1032 ext. 1221

And other formats.

This regular expression builds on all the previously explained definitions in this table. It can be translated as follows:

\(—A literal opening parenthesis.

\s*(\d{3})\s*—A 3-digit group that is to be identified as a component part, which may or may not have some white space before or after it.

\)—A literal closing parenthesis.

\s*(\d{3})\s*—A 3-digit group that is to be identified as a component part, which may or may not have some white space before or after it.

- —A hyphen.

\s*(\d{4})—A 4-digit group that is to be identified as a component part, which may or may not have some white space before it.

[\sext.]*(\d+)—White space and e, x, t, or period any number of times or no times, and at least one digit and may be any number of digits.

(?:—The opening of the extension component group, which is not to be captured for later use by the program. The group extends to the closing parenthesis.

[\sext.]*—White space and the characters e, x, t, and period (.) any number of times or no times.

(\d+)—At least one digit but may be any number of digits.

)—The closing parenthesis of the extension component group.

{0,1}—This component group should match at least 0 times but no more than 1 time. In other words, this part of the expression makes the extension component group optional for pattern matching.


Using the Configuration Window to Set Dial String Patterns and Dial Prefixes

The configuration window on the server is used to define dial string patterns and dial prefixes for Cisco CCC ( Figure 23).

The Administrative Configuration wizard on the CRM server helps you to create a primary configuration that will be used for most cases. You can then add additional dial prefixes and dial string patterns manually using the Advanced tab, which provides a configuration window for dial prefixes and dial string patterns.


Note Cisco CCC does not support international phone numbers. Numbers can be stored in international format in the CRM database, but Cisco CCC cannot dial international phone numbers.


Figure 23 Dial Prefixes and Dial String Patterns Configuration Window

The configuration window has a pane that displays the dial string patterns that you have defined and a pane that displays the dial prefixes that you have defined. The following buttons are available in the configuration window to manipulate dial strings or dial prefixes in either pane:

New—Creates a new dial string pattern or dial prefix. For syntax information, see the ".NET Regular Expression Matching" section.

Up and Down—Moves a highlighted entry up or down to reorder the string patterns or prefixes.

Del—Removes a highlighted entry. Note that there is no verification when using Del. If you make a mistake, click Cancel and start over on this window. The description in the list panes is updated when you click another item in the same pane.

Update—Applies changes to the tables.

Below the display panes, the following areas provide fields for entering data:

Dial String Pattern Area

Dial Prefixes Area

Dial String Pattern Area

For each of the following fields, the area to enter data becomes active when the check box next to it is checked; otherwise the area remains dimmed and disabled.

Pattern—A .NET regular expression that describes a pattern of digits used for a telephone number in the CRM database.

Expected # of Matches—Number of groups of digits contained in the regular expression in the pattern. A groups of digits represents the area code, exchange, station, or extension portion of a telephone number. For example, if the pattern defined in the Pattern field has all four groups, enter 4. If the pattern has only an exchange and a station, enter 2.

Area Code—When this check box is checked, indicates that an area code is present in the dial string pattern. The number in this field is the order in which the Area Code group of digits appears in the pattern. For example, if it is the first group in the pattern, enter 1.

Default Area Code—Can be enabled only if the Area Code check box is not checked. Indicates that a default area code is applied by a dial prefix to all numbers that match this pattern.

Exchange—When this check box is checked, indicates that an exchange is present in the dial string pattern.The number in this field is the order in which the Exchange group of digits appears in the pattern. For example, if it is the second group in the pattern, enter 2.

Station—When this check box is checked, indicates that a station is present in the dial string pattern. The number in this field is the order in which the Station group of digits appears in the pattern. For example, if it is the third group in the pattern, enter 3.

Extension—When this check box is checked, indicates that an extension is present in the dial string pattern. The number in this field is the order in which the Extension group of digits appears in the pattern. For example, if it is the fourth group in the pattern, enter 4.

Force Extension—When this check box is checked, an extension is required in this pattern.

The minimum value for the Area Code, Exchange, Station, and Extension fields is 1 when those fields are enabled with check marks in their check boxes. The maximum value for these fields is the value in the Expected # of Matches field. If a field is not enabled with a check mark, the field is left blank.

Dial Prefixes Area

All fields in the Dial Prefixes area except dial pattern are optional. You must have one or more of the optional fields and a dial pattern field in every pattern that you create.

For each of the following fields, the area to enter data becomes active when the check box next to it is checked; otherwise the area remains dimmed and disabled.

Pattern—A .NET regular expression that describes the format of a number to be dialed.

Area Code—A specific 3-digit area code number. If a number to be dialed contains a match to this value in its area code field, the instructions in the dial pattern field are used to dial the number.

Exchange—A specific 3-digit exchange number. If a number to be dialed contains a match to this value in its exchange field, the instructions in the dial pattern field are used to dial the number.

Station—A specific 4-digit station number. If a number to be dialed contains a match to this value in its station field, the instructions in the dial pattern field are used to dial the number.

Extension—A specific variable-length extension number. If a number to be dialed contains a match to this value in its extension field, the instructions in the dial pattern field are used to dial the number.

Re-write Number As—When a phone number matches the criteria described in the other fields of the Dial Prefix (pattern, area code, and so forth), the re-write number field is used to determine exactly how to dial that number. This is what allows the system to know to dial 9 first, or to dial certain numbers as long-distance.

For example, if a user lives in the 407 area code and needs to dial 10-digits for local numbers, there will likely be a Dial Prefix entry for AreaCode = 407. The Re-write Number As pattern will be 9{ac}{ex}{st}, because the user also needs to dial 9 to get an outside line. The {ac} code is replaced with the actual area code being dialed, {ex} with the actual exchange, and {st} with the actual station. There are two more codes that may be used: {ext}, which will be replaced with the extension (if there is one) and {}, which will be replaced with all the digits that were recognized as a field in the Dial String Pattern. The next rule might be a Pattern rule, such as \d{10}, which is translated as a number with ten digits that is requested to be dialed. In this case, because this rule did not match the 407 area code rule, it is assumed to be a long-distance rule. The Re-write Number As pattern is 91{}, which indicates that the system should dial 9, then 1, then the digits, because 91 is needed to get an outside long-distance line.

Setting Cisco CCC Parameters on the Client

Parameters on the Cisco CCC client are determined by the values that you set in the Configuration window. The Configuration window is opened when you right-click the Cisco CCC tray icon ( Figure 28) and choose Configure from the control menu. For more information on the control menu, see the "Using Cisco CCC Windows" section.

The Configuration window contains the following tabs for setting parameters:

TAPI Tab

CRM Tab

Other Tab

Debugging Tab

Any changes that you make in the Configuration window become effective when you click OK. Clicking Cancel reverts all values to the values that they had when the configuration window was opened.

TAPI Tab

The TAPI tab ( Figure 24) includes the following parameters:

Integration Mode—Click Cisco CallManager Express if it is not already selected.

Add Extra TAPI Debug Information—Check this box to receive detailed information about caller ID lookups.

TAPI Monitor and Control Line—For Cisco CME, this pane displays the TAPI line that may be monitored and controlled.

Figure 24 TAPI General Configuration Tab

CRM Tab

The CRM tab allows you to configure the server, port, and URL for CRM service ( Figure 25).

Figure 25 CRM Configuration Tab

Other Tab

The Other tab allows you to set the following user preferences ( Figure 26).

Automatically Pop Customer Record...—Cisco CCC automatically displays the CRM customer and Phone Call records when an incoming caller ID uniquely matches a contact record.

Enable Single-Signon—Eliminates the need to sign on to Cisco CCC if you are working in an Active Directory environment. Do not check this check box if you entered an IP address (rather than a hostname) in the CRM Server Name field of the CRM tab ( Figure 25).

Figure 26 Other Configuration Tab

Debugging Tab

Logging is configured in the Debugging tab ( Figure 27). You can set the logging levels in four different categories to Off, On, CriticalErrors, Errors, Warnings, Info, or Debug. (On applies only to the Function Tracing category.) Each successive logging level generates more verbose diagnostic output than the last. Off generates virtually no output and provides only the initialization of a logging file with the date and time. Info and Debug generate the most output and should be used only when extensive debugging is being performed. The recommended logging level is Warnings, except for the Function Tracing category, which can be set only to On or Off.

The following are recommended logging levels for each of the four categories:

Function Tracing—Off. This setting should be changed only at the request of Cisco support engineers.

Program Operation—Warnings. This logging level provides information about the general operation of the Cisco CCC client program.

TAPI Operation—Warnings. This logging level provides information for the TAPI integration module, which receives messages from the TAPI layer.

CRM Operation—Warnings. This logging level provides information for the CRM integration module, which is used most by the user interface window that appears when a phone call is placed. Note that this setting does not log any information about what a user does inside CRM windows.

Figure 27 Debugging Configuration Tab

Using Cisco CCC for Cisco CME

After installation of Cisco CCC software and Cisco IOS TSP software is complete, start Cisco CCC by choosing Start > Programs > Cisco CRM Connector > Cisco CRM Connector Client.


Note Microsoft CRM and Internet Explorer automatically launch when they are called from Cisco CCC, but if you are using Cisco CCC with the Microsoft Outlook interface in either online or offline mode, you must start Outlook manually.


As Cisco CCC is loading, it provides a message stating that it is initializing. During initialization, cached CRM objects are created on the server.


Note See the "Troubleshooting and Technical Issues" section for descriptions of problems that can occur during initialization.


This section discusses the following topics:

Using Cisco CCC Windows

Using Cisco CCC with Microsoft CRM

Using Cisco CCC Windows

After Cisco CCC finishes initializing, it installs itself in the icon tray as an icon that looks like a bridge ( Figure 28). The bridge icon by the PC clock is your indication that Cisco CCC is running.


Tip To start the program automatically whenever you start up the computer, create a shortcut and drag the shortcut into the Startup folder. You normally want Cisco CCC running at all times.


Right-click the Cisco CCC icon to display the application configuration and control menu ( Figure 28), which has choices that open the following windows:

Search Window

Show Calls Window

Configure Window

About Window

Exit

In addition to these windows, The Create New Record Window is triggered whenever a phone call is placed using click-to-dial or is received.

Figure 28 Cisco CCC Icon and Icon with Control Menu Exposed

Search Window

The Search menu choice opens the Search window, which allows you to perform a text search without having an active phone call or TAPI event.

The Search window can also be activated by typing a contact name in the search field after clicking Search in a Create New Record window that was generated from a TAPI event (a call that was placed or received). If the search was initiated in this way, you can associate the current phone call with any object that is returned to you in the search results. This capability allows, for example, a phone call activity to be attached to a person calling from a phone number that does not yet exist in the person's customer record.

The search functionality is configured on the server with the CRM Search Entities file.

Show Calls Window

The Show Calls menu choice opens the Show Calls window ( Figure 29), which displays a list of the phone calls that have been made or received since the program started and allows you to look up an entry again.

The Show Calls window displays a list of incoming and outgoing calls. Right-click any item and choose Lookup to search again for that phone number. Clicking the `X' (Close) button does not close the application; it simply hides the window. This window should usually be hidden, because it is not needed for the main functionality of Cisco CCC.

Figure 29 Show Calls Window

Configure Window

The Configure menu choice opens the Configuration window, which is described in the "Setting Cisco CCC Parameters on the Client" section.

About Window

The About menu choice provides a window with version information for Cisco CCC.

Exit

The Exit menu choice exits the program.

Create New Record Window

Once you have started Cisco CCC, the Create New Record window ( Figure 30) is triggered whenever a phone call is placed using click-to-dial or is received. The window has three sections: phone number display, possible matches, and other options.

When a Create New Record window appears, take one of the following actions:

Click the icon next to a contact name to create a phone call activity record for that contact. A phone call activity window is shown in Figure 34.

Click a name to open the subject's customer record. A customer record window is shown in Figure 32.

Close the window to continue the call without creating an activity record.

Enter a string in the Search field to find a name in the database with which to manually associate the current phone call.

Figure 30 Create New Record Window

Using Cisco CCC with Microsoft CRM

Cisco CCC uses a small subset of the information and capability available in Microsoft CRM, primarily the data storage of accounts, contacts, and leads.

Microsoft CRM has two user interfaces: a web browser interface and a Microsoft Outlook interface. The Outlook interface gives you the option of working online or offline.


Note The web browser that is used to access Microsoft CRM must be Microsoft Internet Explorer 5.5 or a later version. No other browser type can be used.


If you are using the web browser interface, you need only to start Cisco CCC, which will automatically launch CRM and Internet Explorer as needed. It is recommended that you start the Cisco CCC software and the CRM web browser interface or the Microsoft Outlook client before taking calls.

You can also manually start CRM using the Start > Programs menu. If you do, you see the home window shown in Figure 31. You can create new CRM objects by clicking Quick Create, Sales, or Service. Complete instructions for using CRM are available in online help.

If you are using the Outlook interface, use the Start > Programs menu to start Outlook. You can use Cisco CCC and CRM with Outlook in online mode while connected to your home network or you can use CRM alone in offline mode.


Note You must be connected to your home network for Cisco CCC to receive TAPI information about calls coming in or going out. Therefore, if you are not connected to your home network, you can use only CRM and not Cisco CCC.


Figure 31 Microsoft CRM Home Window

A Microsoft CRM customer record window ( Figure 32) allows quick access to each of the types of data that can be stored with the current object. There are different windows for accounts and for individual customers. Refer to the CRM online help for more information about CRM windows.

Figure 32 Microsoft CRM Customer Record Window

Click-to-Dial

The menu bar at the top of the Microsoft CRM customer record window ( Figure 32) provides quick access to certain commonly used functions. Cisco CCC uses a customization that adds a Call This Person button in the menu bar to provide a click-to-dial function.

To dial the person listed in the window, click the Call This Person button in the menu bar. If there is more than one phone number in the record, a dialog box asks you which phone number to dial. Otherwise, the call is placed immediately using the Cisco CME phone that is associated with Cisco CCC.

Activities

Cisco CCC stores knowledge of phone calls to and from customers under the Activities tab ( Figure 33). When you click the Activities button on a customer record window, CRM provides the following standard activity types: Phone Call, FAX, Email, Task, Letter, and Appointment. Of these, Cisco CCC uses only the Phone Call task, automatically creating and populating appropriate fields when you want to record details of a phone call.

Activities are considered current or historical. When a phone call is created, it is current, and it is listed under the Activities tab, as shown in Figure 33. When a phone call activity is closed, it is moved to the History tab.

Figure 33 Microsoft CRM Activities Tab

Phone Call Activity

Figure 34 shows an activity window for an incoming phone call. If this were an outgoing phone call, the initiator and the recipient data would be switched, and the direction would be Outgoing.

The Duration field is left empty for you to complete; the actual call duration as recorded by Cisco CCC is stored under the Notes tab. Cisco CCC leaves the Duration field in the phone call activity area empty to allow you to use that field to include additional time spent not on the phone call itself but on issues related to the phone call.

Figure 34 Microsoft CRM Phone Call Activity Window

When a call is completed and a phone call activity is created, Cisco CCC automatically adds a note that contains the actual call duration, as shown in Figure 35.

Figure 35 Microsoft CRM Notes Area

Troubleshooting and Technical Issues

This section contains the following topics:

Troubleshooting Cisco CCC

How Cisco CCC Works with TAPI

How Cisco CCC Works with Microsoft CRM

Troubleshooting Cisco CCC

Some issues may occur during initialization. The Cisco CCC client performs a basic test of connectivity to the CRM server by connecting to the CRM HTTP server port. If the CRM server is unavailable, the initialization window displays the message "CRM Server Unavailable." Sometimes, even though this connection succeeds, other problems with the server may prevent the actual initialization request from completing. In this case, the initialization window remains displayed indefinitely. When the initialization window is displayed indefinitely, it can be closed by pressing Alt-F4. To aid in determining whether the initialization process is unable to complete, double-click anywhere in the gray portion of the window to display the underlying embedded Internet Explorer object. If the initialization request cannot complete, the familiar Internet Explorer "Action cannot be completed" error message will be visible. At this point, you should refer the problem to an administrator.

Other problems can be diagnosed by following one or more of the steps in this task.

SUMMARY STEPS

1. Check the configuration.

2. Isolate the problem to TAPI or CRM.

3. Use the logging capabilities.

4. Use the troubleshooting utility.

5. If the Phone Dialer application is available in your operating system, use Dialer.exe to verify TAPI operation.

DETAILED STEPS


Step 1 Check the configuration by looking at the configuration windows.

Step 2 Isolate the problem to either TAPI or CRM.

Step 3 Use Cisco CCC logging capabilities by setting the logging levels to Debug or Info.

The default log file location on the client is the directory that contains the Cisco CCC executable.

The default log file location on the server is %WINDIR%\system32, which is the default directory for IIS in general.

Use the Debugging Configuration window to set logging levels to Off, On, CriticalErrors, Errors, Warnings, Info, or Debug. Each successive level generates more verbose diagnostic output than the last. Off generates virtually no output, only the initialization of a logging file with the date and time. Info and Debug generate the most output and should be used only when debugging is being performed. The recommended setting for normal operation is Warnings.

On the client, logging levels can be set separately for each of the following categories:

Function Tracing—Logs function entries and exits. Set to Off or On. (Set this level to On only at the request of a Cisco support engineer.)

Program Operation—Logs general operation messages. Recommended setting is Warnings.

TAPI Operation—Logs TAPI integration module messages. Recommended setting is Warnings.

CRM Operation—Logs CRM integration module messages. Recommended setting is Warnings.

On the server, logging levels can be set separately for each of the following categories:

Function Tracing—Logs function entries and exits. Set to Off or On.

Web Operations—Logs all other server messages. Recommended setting is Warnings.

Step 4 Use the Cisco CCC troubleshooting utility.

The Cisco CCC troubleshooting utility is a tool that is included with the Cisco CCC client to assist in troubleshooting. The utility filename is CiscoCRMConnectorTU.exe, and the file is located in the same directory as the Cisco CCC client executable. The utility obtains its configuration from the same file that the Cisco CCC client uses.

The Cisco CCC troubleshooting utility uses a window with the following four tabs:

TAPI—This tab contains a text debug area that shows events occurring on the TAPI line and some other information, such as matched dial strings ( Figure 36). This area allows you to monitor TAPI messages.

Dial Strings—This tab allows you to test a dial string by entering a character string that represents a phone number to see how Cisco CCC interprets a phone number that it gets from CRM ( Figure 37).

Dial Prefixes—This tab allows you to test a dial prefix by entering an area code, exchange, and so forth, to see how a particular number would be dialed ( Figure 38).

CRM—This tab allows phone number and text searches to be performed manually to test the connection to the Cisco CCC server components ( Figure 39).

Figure 36 Cisco CCC Troubleshooting Utility—TAPI Tab

Figure 37 Cisco CCC Troubleshooting Utility—Dial Strings Tab

Figure 38 Cisco CCC Troubleshooting Utility—Dial Prefixes Tab

Figure 39 Cisco CCC Troubleshooting Utility—CRM Tab

Step 5 If the Phone Dialer application is available in your operating system, use Dialer.exe to verify TAPI operation.

If there are concerns that TAPI is not operating correctly, the dialer program can be used as a baseline test for TAPI.


How Cisco CCC Works with TAPI

Whenever a TAPI message becomes available, it is passed to the Cisco CCC application, which logs the message if the appropriate logging levels have been set. The only messages that are processed are the ones necessary for maintaining call information details such as the call duration. Once a call is placed or received, TAPI messages are monitored to trigger specific events such as starting the call duration timer and performing caller ID lookup.

The following TAPI messages are monitored:

LINE_APPNEWCALL—New incoming/outgoing call.

LINE_REPLY—New outgoing call.

LINE_CALLSTATE—Call status changed.

LINE_CALLINFO—Call information changed or available.

LINE_IDLE—Line entered idle (unused) state.

All other TAPI messages are left unprocessed.

In addition, the following LINE_CALLSTATE TAPI messages are monitored:

LINE_CALLSTATECONNECTED—Call duration starts.

LINE_CALLSTATEDISCONNECTED—Call duration ends.

LINE_CALLSTATEOFFERING—Cisco CME caller ID lookup.

LINE_CALLSTATEPROCEEDING—Caller ID lookup.

How Cisco CCC Works with Microsoft CRM

This section describes the following topics:

Cisco CCC Server Components

Cisco CCC Message Flows

CRM Customization

Cisco CCC Server Components

Cisco CCC server components communicate with the Microsoft CRM server to perform lookups, create objects, and so forth. These components are made up of IIS ASP.NET pages and associated code in dynamic linking library (DLL) form that has been installed on the Cisco CCC server.

Cisco CCC server components include the following:

InitializeWebInterface.aspx—Initializes cached objects.

Each call that the server makes to the Microsoft CRM APIs requires that at least two objects be present: the User Authorization object and the target object (Contact, Account, Lead, and so forth). Creating the User Authorization object also requires that a BizUser object be created (this is the object that actually creates the User Authorization object). These objects are created whenever necessary by the Cisco CCC server components. To improve performance, InitializeWebInterface.aspx creates the objects ahead of time and stores them in the Microsoft CRM HTTP Server Session object for that user. These cached objects are used when available and are recreated if the session is timed out.

ProcessCallInfo.aspx—Performs customer record search.

When the Cisco CCC client receives caller ID information on an incoming or outgoing call, the number is passed to ProcessCallInfo.aspx, which invokes the Microsoft CRM API Search object to locate records associated with that phone number. The results are processed and returned to the client as HTML in groups, grouped by object type, as each group is made available by the search. Each link in the HTML output either calls CreateCallRecord.aspx or opens a CRM window to display the item detail.

CreateCallRecord.aspx—Creates phone call activity.

After you click Accept or Create Call in the client window, this page utilizes Microsoft CRM APIs to create a phone call activity record corresponding to the record that was selected. An instruction is then returned to the client to close the search window.

CloseCall.aspx—Completes phone call activity.

If you created a phone call activity record by clicking Accept or Create Call, the Cisco CCC client transparently calls this page when the call is disconnected. CloseCall.aspx then determines the length of the call and uses the Microsoft CRM APIs to create a note indicating the duration of the call.

CRMDialPhone.aspx—Allows multiple phone numbers to be dialed from a single customer record.

When the Click-to-Dial function is used and there is more than one phone number stored in the target record, this page is called to present a small dialog asking which phone number you wish to call. The information is relayed back to the Cisco CCC client application's built-in HTTP server on port 49499, which initiates the dial sequence. If there is only one number stored in the target record, the dialog is skipped and the number is passed directly to the Cisco CCC client to begin dialing.

CCCWS.dll—Object that interfaces with CRM APIs.

This DLL provides the common interface functions that call the Microsoft CRM APIs. Each of the previously mentioned ASPX pages actually calls this DLL, which calls CRM and returns the results. This DLL is dependent on the Microsoft.Crm.Platform.Proxy.dll, which is the Microsoft CRM v1.2 API, that was installed by the .NET Global Assembly Cache (GAC).

Cisco CCC Message Flows

In general, the message flow between Cisco CCC and CRM is as follows:

1. Clients make requests to the Cisco CCC server components.

2. The Cisco CCC server components process the requests using the Microsoft CRM APIs.

3. The Cisco CCC server components return HTML to the client.

Specific message flows include the following:

Incoming or Outgoing Call Originated Message Flow

Call-Terminated Message Flow

Click-to-Dial Message Flow

Incoming or Outgoing Call Originated Message Flow

1. Appropriate TAPI messages are received by Cisco CCC, indicating that a new call is in progress.

2. Caller ID or called ID lookup occurs, and the number is passed to the appropriate server component.

3. The server component performs a lookup and returns HTML to the client for display.

4. The user clicks the name or icon to accept or create a call, which connects to the appropriate server component.

5. The server component creates a phone call activity record in Microsoft CRM and returns a web page to the user that instructs the Cisco CCC client to automatically open the record and close the Cisco CCC window.

Call-Terminated Message Flow

1. A TAPI message is received by Cisco CCC, indicating that a call has been terminated.

2. Cisco CCC calls the appropriate server component with the call ID and requests that the call be closed.

3. The server component records the call duration in the Notes field of the phone call activity.


Note The call termination code works from a hidden window. If the call from the server component fails and the window remains open, it may cause issues when Cisco CCC is trying to shut down.


Click-to-Dial Message Flow

1. The user clicks the Call This Person button in the Microsoft CRM interface, which links to one of the server components.

2. The server component performs a lookup to identify the telephone numbers that are associated with the object. If there is more than one phone number, a window is displayed asking which phone number to dial.

3. The Cisco CCC client receives a request to dial the phone via HTTP on port 49499.

4. The phone number is processed according to dial string and dial prefix rules.

5. The resulting phone number is passed to TAPI, which instructs the phone to dial.

6. When the outgoing call is detected by TAPI, it is recognized as an expected call, so the phone call activity record is created without user intervention.

CRM Customization

Microsoft provides independent software vendor (ISV) integration as a method for third parties to produce add-on products. ISV integration allows administrators to customize various aspects of the CRM user interface in both the web interface and the Outlook interface, so that they can add menu items, navigation bar entries, and menu bar items to most of the object types that are supported. This customization is achieved through the use of XML files located in the Inetpub\wwwroot\_Resources directory on the CRM server.

Additional References

The following sections provide references related to Cisco CCC for Cisco CME.

Related Documents

Related Topic
Document Title or URL

Cisco CallManager Express

Cisco Call Manager Express documentation

Microsoft CRM Version 1.2 SDK

http://msdn.microsoft.com/library/en-us/CrmSdk1_2/htm/v1d2microsoftcrmversion12sdk.asp

.NET regular expression syntax

http://msdn.microsoft.com/library/en-us/cpgenref/html/cpconRegularExpressionsLanguageElements.asp


MIBs

MIBs
MIBs Link

No new or modified MIBs are supported by this feature, and support for existing MIBs has not been modified by this feature.

To locate and download MIBs for selected platforms, Cisco IOS releases, and feature sets, use Cisco MIB Locator found at the following URL:

http://www.cisco.com/go/mibs


Technical Assistance

Description
Link

Technical Assistance Center (TAC) home page, containing 30,000 pages of searchable technical content, including links to products, technologies, solutions, technical tips, and tools. Registered Cisco.com users can log in from this page to access even more content.

http://www.cisco.com/public/support/tac/home.shtml


Glossary

area code—Regional identifier that precedes a telephone number.

Cisco CCC—Cisco CRM Communications Connector. Application that integrates Microsoft Customer Relationship Management (CRM) with Cisco CallManager Express 3.0 or a later version to provide customer-service functionality for small- and medium-sized businesses.

Cisco CME—Cisco CallManager Express. Telephony service for small- to medium-sized businesses.

click-to-dial—Ability to click a button in a PC application to initiate the dialing of a particular number on an associated phone.

CRM—Customer Relationship Management. Software that provides customer-service functionality. Microsoft CRM is the application that works with Cisco CCC.

dial prefix—A a regular expression in .NET format that Cisco CCC attempts to match against a number that you want to dial. The matched dial prefix contains dialing instructions for the number.

dial string pattern—A regular expression in .NET format that Cisco CCC attempts to match against a number that you want to dial or that is received from an incoming call. The matched dial string pattern tells Cisco CCC how to parse the number to identify its individual components, such as area code, exchange, station, and extension.

exchange—The first group of digits in a telephone number; this group of digits identifies a local area within a region identified by an area code.

extension—A group of digits that is supplementary to a telephone number and usually follows that number; this group of digits identifies a particular phone at a location identified by a station.

IIS—Internet Information Services. Enterprise web services that run under Microsoft operating systems.

MDAC—Microsoft Data Access Components. Server service that supports Cisco CCC.

MSMQ—Microsoft Message Queuing. Server service that supports Cisco CCC.

station—The second group of digits in a telephone number; this group of digits identifies a particular location within a local area identified by an exchange.

TAPI—Telephony Application Programming Interface. Microsoft API for telephony applications.

TSP—TAPI (or telephony) service provider. A dynamic-link library (DLL) that provides device-specific controls for communications processing. TSP provides an abstraction layer between TAPI applications and the underlying hardware and transport protocols.


Note See Internetworking Terms and Acronyms for terms not included in this glossary.



hometocprevnextglossaryfeedbacksearchhelp

Posted: Tue Aug 3 15:39:36 PDT 2004
All contents are Copyright © 1992--2004 Cisco Systems, Inc. All rights reserved.
Important Notices and Privacy Statement.