Integration of CRM with a phone system ensures consistent data entry and allows phone-based agents to focus on customers and not their case management tools.
Microsoft Dynamics CRM is not Telephony Application Program Interface (TAPI) natively compliant. However, third-party vendors have built solutions that can be leveraged to perform the following:
• Place an outbound call from within the system
• Recognize an incoming call and open the related information from Microsoft Dynamics CRM automatically
• Send and receive faxes
In addition, because of this level of integration, calls can be recorded and then attached directly to the Microsoft Dynamics CRM record for playback later.
Recording calls exceeds the scope of this chapter and largely depends on not only the type of system you have, but also how it is set up.
If you’re interested in this level of integration, consult with your manufacturer. (Several companies offer this as an add-on solution.)
This chapter outlines the technology and existing tools for telephone integration.
To enable phone integration for incoming and outgoing calls, you need a couple of things:
• A phone system that supports computer telephony integration (CTI/SIP/TAPI)
Usually, Voice over IP (VoIP) and modern phone systems (PBX) support CTI. Some legacy phone systems have add-ons/plug-ins to add this functionality. There are two types of integration, one where the link software runs on the user’s PC, and the other, where the software runs on the server. Also, in some cases, suppliers offer proprietary interfaces, but increasingly TAPI and Telephony Services API (TSAPI) are offered as a standard interface.
Session Initiation Protocol (SIP) is the new communication protocol that has replaced TAPI as the core API set for initiating and receiving calls in a VoIP environment. Microsoft Office Communicator uses SIP for all voice communications.
Developers and integrators need to understand the appropriate phone system so that they can develop against the appropriate APIs. In general, all old phone systems are TAPI-based. All the new phone systems are SIP-based. Cisco Call Manager supports SIP and TAPI.
• A link with your CRM
This is the software component that links Microsoft Dynamics CRM to the phone system. This software implements a variety of user interface features for the user (such as dial, transfer, and so on). Usually, the major phone system manufacturers provide this software; however, it is possible to build your own if your manufacturer doesn’t provide it.
From the end-user perceptive, the architecture of a digital telephone integration is simple: End users have a physical phone and a computer that has the TAPI client that interacts with the phone system. Figure 7.1 shows the physical layout from an end-user perceptive.
However, the software behind the functions has a lot of complex integration. Several software interface layers allow endless possibilities for integration. Figure 7.2 shows the different interfaces available. For example, you can have an array of different phone systems (VoIP solutions from Avaya and Cisco, and you can have non-VoIP solutions that can interface with TSPI) and services that are potentially connected in the TSPI layer. The TSPI interface unifies all communication for the TAPI to be used for the end-user solution.
A practical use for this applies to this scenario: We have various call centers distributed throughout the world using different phone systems, but the company has a single CRM solution using Microsoft Dynamics CRM. So, when the customer calls any call center in the company, the TAPI client should be able to query the CRM system.
The TAPI layer, as shown in the Figure 7.2, can be connected to several hardware interfaces. Therefore, you can use a spectrum of physical phones and have a mixed environment.
The telephone manufacturers mentioned in this section have partnered with Microsoft to develop their own solutions for their telephone systems, and offer out-of-the-box solutions for integration with Microsoft Dynamics CRM.
The Agent Communications Panel is integrated into the Microsoft Dynamics CRM 4.0 web application. The Agent Communications Panel enables users to telephone others (to make and receive calls), to instant message (IM) co-workers and customers, and to make conference calls. The link between your communication system and the Microsoft Dynamics CRM application enables you to have access to all of your customer information.
Figure 7.3 shows a sample of the Agent Communications Panel interacting with Microsoft Dynamics.
This integration was primarily designed for service agents. However, this solution can be used by salespeople, too.
The Agent Communications Panel has the following components:
• The Conversations pane displays active conversations.
• The Customer tab enables you to access the customer information for the active conversations. You can view and edit the customer contact or account form. You can also add a new activity record to log your conversation.
• The New Call tab enables you to contact customers or colleges. You can communicate with the customers or other contacts via telephone or IM.
• You can also manage your Contacts list.
• Share presence status with others. You can choose to grant more access to certain teams regarding your status.
• Switching between voice devices enables you to be able to switch phones without the other person noticing a difference.
This is a SIP-based system, designed for the new server-client communication system. Microsoft Office Communicator 2007 R2 is supported.
Requirements: Ensure that .NET 3.5 SP1 is installed on both the server and the client machines running Microsoft Dynamics CRM 4.0.
1. Log on to the server as a Microsoft Dynamics CRM deployment administrator.
2. Launch the install package.
3. Review and accept the license agreement, and then click Install.
4. Click Finish.
With the Agent Communications Panel, you can customize organization-specific elements on the user interface. The following customizing options are available:
• Configure the Response Group Service feature. This enables you to have a communication agent system in your organization. This feature allows you to have specialized groups of people in the call center who can help customers based on the data in certain fields.
• Change the default form for the customer information. Allows companies to use the same contact record and have a customized form for different groups of people (Sales, Marketing, or Service).
• Create custom buttons. Allows quick-access buttons with customized functions.
The Response Group Service is a new feature in Microsoft Office Communications Server 2007 R2. This is a powerful feature that can help direct the communication and the information directly to the engaged user.
It enables administrators to create and configure workflows to route and queue incoming conversations. For example, if an engineer requires assistance from the product company, the engineer places a call to the service call center for the product. The Communication Server should retrieve the relevant information about the caller from the Microsoft Dynamics CRM system. The Communication Server can initiate a workflow, which can analyze the call time and the caller and refer to a scheduled activity. At that point, the system can transfer the call to the person with the specialized skills to handle it.
To configure the Response Group Service integration feature, follow these steps:
1. In the CRM application, select Settings, Agent Communications Parameters.
2. Open ResponseGroupServiceIntegration. To enable the Response Group Service integration feature, set Parameter Value to True, and then click Save and Close.
3. Open ResponseGroupServiceWebServiceUri. Enter the URL of the Response Group web service (https://<OCS_Server>/rgs/clients/ProxyService.asmx), and then click Save and Close.
You can specify the form that displays when a user clicks the Customer button under the Customer tab. The customer information can be displayed in either the contact or account form. The contact form is the default view used.
To change the default form, follow these steps:
1. In the CRM application, select Settings, Agent Communications Parameters.
2. Open CustomerFormDisplayed, set Parameter Value to either Contact or Account, and then click Save and Close.
You can create custom buttons to add to the Agent Communications Panel user interface. Custom buttons can be added to either the Customer or Resources tab and can be used to support applications such as call scripting and knowledge bases.
The maximum number of buttons allowed per tab, including the default buttons, is 10.
To create a custom button, follow these steps:
1. In the CRM application, select Settings, Agent Communications Buttons.
2. Select New. Then enter the appropriate values:
Name: Enter the display name for the button.
Target URL: Enter the URL for the resource.
Tool Tip: Enter the text to display on mouse over.
Icon URL: Enter the path to the image file of the button icon.
Button Order: Select the button placement order. The button order in each of the tabs is oriented from left to right.
Tab Location: Select either Customer or Resources to specify the location of the custom buttons
If the custom button is placed on the Customer tab, the customer or account ID is appended to the target URL when the button is launched. This enables you to reference the customer or account ID in your application.
3. Click Save and Close.
Cisco first released a call connector in 2004, and they have been upgrading it ever since. The call connector by Cisco is called the Cisco Unified CallConnector for Microsoft Dynamics CRM, and it enables organizations to integrate the two industry-leading enterprises (Microsoft and Cisco) to aid in better customer-care solutions.
Advanced features of the connector include the following:
• Screen pops: Opens contact records and creates new phone call activity records as calls are placed or received (see Figure 7.4)
• Click-to-dial: Supports the Click-to-Dial feature from a Microsoft CRM contact record
• Call duration tracking: Tracks the duration of phone calls and associates them with phone activity records
• Call information capture: Captures incoming and outgoing call information, including calling number, called number, and call start and end times
• Customer record creation: Easily creates a new CRM customer record when a new customer call arrives
As long as you have deployed the Cisco CallManager 4.x or later, there is no cost for this connector. However, certain requirements apply: the server component Cisco CallManager 4.x or later, the client component .NET Framework 2.0 or later, the user account enabled for CTI integration, and TAPI installed on the client (as described later).
The client needs to have a thick client installed, which will interface with a server component, which is usually installed on the Microsoft Dynamics CRM server.
To install the Cisco Unified CallConnector, follow these steps:
1. Log in to the CRM web server.
2. Install the server component CUCCServerInstaller.exe. You can download this from http://www.cisco.com/public/sw-center/index.shtml.
3. Click Next on the Welcome screen.
4. At the License Agreement screen, select the I Agree option, and then click Next
5. Choose the destination folder on the Select Installation folder screen, and then click Next.
6. Click Next to begin installation on the Confirm Installation screen.
7. The Configuration Screen will display. Select the defaults, and then click OK.
8. Click Close to complete installation.
To configure the Cisco Unified CallConnector, follow these steps:
1. Launch the configuration options by selecting Start, Programs, Cisco, and then set the following configurations:
Select Cisco CallConnector Server Configuration. The Configuration window will display, as shown in Figure 7.5
2. Enter the appropriate URL information for the Microsoft Dynamics CRM server. Using our example in Figure 7.5, you would replace moss:5555 with the name of your server and port. (If you are on the default port [i.e., port 80], you enter only the machine name.)
You can verify each of the addresses entered by navigating to a browser and entering them there. Each should load a page.
3. Enter the organization the server will be using.
4. Click Enable CRM KeepAlive Searches. When this is enabled, it allows an active connection to the CRM for faster search results.
5. Click the Edit Phone Number Processor Configuration button on the Client Configuration tab (see Figure 7.6). On this screen, you can configure the dialing rules for various locations, to automate dialing.
Optional settings are for keepalive searches. These allow faster searches for end users. This is useful when you have many users and want to remove the authentication overhead.
Phone number processing is the most important part of the configuration. Every country has a different number processing pattern. It is vital to configure this properly.
Pattern recognizer and search format capabilities combine to find the appropriate record in the CRM.
Figure 7.7 shows a standard configuration. Your configuration might differ depending on your setup. Click the Utilities button to launch a wizard. The wizard walks administrators through standard settings for most locations. However, you can change the dialing rules, and you can change phone number recognition patterns based on the different implementation systems you may be dealing with.
6. On the Dialing Rules Wizard screen, click New and enter a name for the configuration. The name should be something that will be easy for end users to understand, such as San Francisco Call Center.
7. Click OK.
8. Click the Utilities button.
9. Select Wizards / Templates from the menu.
10. Select the wizard that matches your region. If a wizard does not have your region listed, you must configure the phone number pattern (PNP) manually. After configuring the PNP, click OK.
11. Click Save Changes & Exit.
The independent software vendor (ISV) integration needs to be configured in Microsoft Dynamics CRM to enable end users to access this function.
To enable ISV configuration, follow these steps:
1. Open the Dynamics CRM website with administrative privileges.
2. Open the Settings section.
3. Select the System Settings option.
4. In the System Settings window, click the Customization link.
5. In the Custom Menus and Toolbars section, click the Selection button.
6. Add Outlook and Web Application.
7. Click the >> button to add them to the selected values.
8. Click OK.
Client installation requires four major steps:
• Install the Java Runtime Environment.
• Install and configure the Cisco TSP client.
• Install the Cisco JTAPI client.
• Install and configure the Cisco MSCRM connector client.
1. Download the Java Runtime Environment (JRE) from http://www.java.com/en/download/manual.jsp.
2. Launch the installer.
3. Accept the license agreement.
4. On the Java Setup – Complete dialog box, click Finish.
1. Download the Cisco TAPI service provider (TSP) client from the Cisco download center.
2. Launch the installer.
3. On the Language Selection screen, select the appropriate language, and then click Next.
4. On the Welcome screen, click Next.
5. On the Choose Destination Location dialog box, enter the installation folder and click Next.
6. To the question about multiple instances for Cisco Unified CallManager TSP, answer No.
7. Click Next to begin the installation.
8. Click Finish.
It is important to reboot the machine before proceeding to the next steps. Otherwise, the next steps will fail.
To configure the TSPs, complete the following steps:
1. Open the Control Panel.
2. Select Phone and Modem Options.
3. Display the Advanced tab.
4. Select CiscoTSP001, as shown in Figure 7.8.
5. Click Configure.
6. Enter a username and password for the Cisco phone system.
7. The username and password is for logging in to the Cisco phone system, which enables the tie between the Cisco phone line to the computer. To obtain this username and password, contact your Cisco system administrator.
8. Enter the DNS name or the IP address of the local Cisco phone server.
9. Click OK.
10. Click Close.
It is important to reboot the machine before proceeding to the next steps. Otherwise, the next steps will fail.
1. Navigate to the location with the JTAPI installer and launch the setup for the Cisco JTAPI client.
2. On the Welcome screen, click Next.
3. Click Next on the Choose Installation Folder Location screen.
4. Confirm the settings, and then click Next to begin the installation.
5. Click Finish.
1. Download and launch the setup from the Cisco website (http://www.cisco.com/public/sw-center/index.shtml).
2. Agree to the license agreement.
3. On the Select Installation Destination screen, click Next.
4. Click Next on the Confirm Installation screen.
5. Click Finish to complete the setup.
After the server has been set up and configured, you need to configure the client. After you install and configure the TAPI on the client machine, the CallConnector client allows you to choose the physical/soft phone to which you want to attach this API, as follows:
1. To view the configuration options, right-click the Cisco CallConnector icon in the lower-right corner of the desktop and select Configuration (see Figure 7.9).
2. Select the device that you want to integrate (get the phone number from). This is where you can select a Cisco phone or a regular analog phone. Figure 7.10 shows the Microsoft Dynamics CRM client configuration options.
3. On the Client Configuration tab, enter the server name where Cisco CallConnector client is installed (see Figure 7.11).
Then select the behavior required from the integration from among the following user preferences:
• Automatically Create Activity When Only One Match: This allows service centers to have an automatic log for all matched incoming calls.
• Automatically Display Record When Only One Match: This allows the screen to pop up automatically when only one match is found.
• Automatically Create Activity on Click-to-Dial: This allows an activity to be logged into the system when the agent places a call.
Figure 7.11 shows the user preference options.
4. Click OK to accept the changes.
You can configure the Cisco CallConnector client for use with an analog telephone. This potential configuration enables remote users who don’t have a Cisco phone at home to leverage some of these features.
c360 CTI (Computer Telephony Integration) is a third-party application that enables integration between telephone systems (via TAPI) and Microsoft Dynamics CRM. Similar to the Cisco and Avaya products, this product also detects incoming phone calls (displays the caller’s name and number), automatically produces activities for incoming and outgoing calls, and much more. The CTI provides the following capabilities:
• Connects telephone systems with Microsoft Dynamics CRM
• Detects incoming calls and displays caller information
• Opens a contact or an account upon the lifting of the receiver
• Creates activities for incoming and outgoing calls
• Simplifies the process of making outgoing calls
This CTI application has been successfully tested on the following phone systems:
• Alcatel OmniPCX Office
• Nortel BCM 50
• Siemens HiPath 3550 5.0
• 3com VoIP system SuperStack 3 NBX Networked Telephony
• TeleVantage 6
• Avaya S8500 Communication Manager 3.1
To install c360 CTI, you first need to install the server component, as follows:
1. Download the setup from the c360 website. (Typically, the setup is sent in an email to every customer.) Then launch the setup by running Telephone Integration Setup.msi.
2. On the Welcome screen, click Next.
3. Select English on the Language Selection screen, and then click Next.
4. On the Destination Folder screen, select the appropriate location for the installation, and then click Next.
5. On the Ready to Install the Program screen, click Install.
Once the files are copied to the server, a server connection configuration screen will display, as shown in Figure 7.12.
6. Enter the appropriate server name and organization, and then click OK.
7. During the installation, configure ISV.config. Select the appropriate entities that require CTI within your organization (see Figure 7.13).
8. By default, Accounts and Contacts is selected. You can make any changes if needed.
9. Click Finish to complete the installation.
After the server component has been installed, you will see the Call Number button shown in the Figure 7.14
System administrators may change the configuration if desired at a later stage. To configure additional settings for c360, follow these steps:
1. Click Start.
2. Click All Programs.
3. Click c360.
4. Click Telephone Integration for MSCRM 4.
5. Click Telephone Integration Setup to launch the same configuration as shown during setup (refer back to Figure 7.13).
Click the Fields button to view the more advanced functions (to select the fields to search) that are available.
To install the client component, follow these steps:
1. Locate the installer and launch setup.
2. On the Welcome screen, click Next.
3. Agree to the license agreement, and then click Next.
4. Select English on the Language screen.
5. Select the following in the Startup Options screen:
Automatically Start TI When Windows Starts.
Start TI After Setup.
Then click Next.
6. Choose the installation folder, and then click Next.
7. Click Install to begin installation
8. Enter the following server connection options (see Figure 7.15):
MSCRM Server.
Organization.
Then click OK.
9. Select the appropriate TAPI device. Figure 7.16 shows all the TAPI devices available from the Windows system.
10. Click Finish.
With CTI, the incoming and outgoing calls are automatically logged in the Microsoft Dynamics CRM system. Figure 7.17 shows the log of the phone calls in the CRM database. The creation of the activities happens automatically; this action is performed with the security context of the person placing or receiving the phone call.
The following attributes about the call are automatically logged in Microsoft Dynamics CRM:
• Start time
• Duration
• Call direction (incoming/outgoing)
• Call priority (set to Normal by default)
• Activity status (set to Open by default)
• Sender (CRM user placing or receiving the call)
• Owner (CRM user placing or receiving the call)
• Regarding (customer record participating in the call)
This chapter examined how to automatically look up customers when incoming/outgoing calls are initiated. To enable this capability, we recommend that you use one of the products mentioned in this chapter. However, you can build a custom solution that uses the technology described in this chapter. SIP and TAPI are standards used by various vendors to unify the end-user solution.
Using CTI automation can allow organizations to provide a better customer experience. This also reduces the chance of human error, which is one of the most common requests organizations with large customer bases make. This integration also prefilters result sets to help the customer service representative accurately identify the customer.
Various solutions are available for CTI. If you have a Cisco CallManager, it is recommended to use the Cisco proprietary CTI Integration application. Otherwise, you can choose your solution from among other VoIP vendors (for example, c360). Genesys Labs is a market leader in contact center software as well, and their solutions provide CTI services for legacy telephony hardware.
18.191.240.127