Contents

Open CTI

With Spring 2012 salesforce.com released "Open CTI", a new integration architecture for CTI. Open CTI allows partners and customers to embed third party, web based call control and softphone tools directly inside the salesforce.com user interface. Salesforce.com additionally provides a cross domain JavaScript API to enable partners perform channel actions such as screen pops, saving call logs, enabling click to dial etc.

More on Open CTI .

The Developer API guide for Open CTI can be found here - Open CTI Developer's Guide

A blog about Open CTI can be found here - Open CTI: Moving CTI Integrations to the Cloud . Background on the origin of Open CTI, benefits and architecture diagrams are available in this entry.

Salesforce.com CTI Toolkit

The Force.com Connect CTI Toolkit allows developers to create integrations to telephony systems. It is just a toolkit, and so it can be connected to just about any telephony protocol, including (but not limited to) TAPI, CSTA, and proprietary protocols.

Installing The Demo Adapter

We offer a precompiled “demo adapter” which you can use to test out the Force.com CTI Toolkit functionality without having to connect it to an underlying phone system. You can find that here:

Click here to download the Demo Adapter 4.03

The Demo Adapter works only in Windows with Internet Explorer 8+, Firefox 3.5+ or Chrome 10+, and only with Salesforce.com Enterprise Edition and up.

In addition to installing the Demo Adapter, it is also necessary to make some minor configurations to your Salesforce.com org to make it work. Here's a handy tip sheet on setting it up.

Source Code And Toolkit Downloadables

Download the items here if you're interested in building a new adapter. If you just want to try out a simulator, use the Demo Adapter (above).

The CTI Toolkit 4.03 C# and C++ code targeted to Visual Studio 2008, documentation, and release notes are contained in this installer package:

Click here to download the CTI Toolkit 4.03 installer package.

(Note: If you are upgrading from a version of the CTI Toolkit prior to 1.12 and you have been granted a Client ID, please look at the 1.12 release notes that cover the new way to specify your Client ID.)

The developer's guide (which is also included in the above package) can be found here:

Click here to download the developer's guide.

You can find our slide presentation on the Force.com CTI Toolkit (Version 3.0 and below) here:

Click here to download the presentation.

If you have any questions contact Partner Support at Salesforce.com via the partner portal.

How to use the partner portal?

  • Login to https://www.salesforce.com/partnerportal
  • Username: [email protected]
  • Click on the Create a Case Button

Tips for logging technical cases via the partner portal

  • Select the correct Severity Level
  • Clear description of the issue
  • Include business impact
  • Go-live impacted
  • Development timeline impacted
  • Customer impacted
  • Attach all screenshots, log files, error messages

Browser and Operating Systems Compatibility

With CTI-4.01 all modern (HTML5) browsers are supported. No browser plugin or add-on is required.

The following table lists browser and operating system compatibility, including previous versions of the toolkit. Please note that versions prior to 2.00 are no longer supported.

Salesforce.com CTI Browser and Operating Systems Compatibility
Toolkit Version Operating Systems Browsers
4.03 Win 7 (64 bit) Internet Explorer 8 (64 bit)
Internet Explorer 9 (64 bit)
(Requires Microsoft .NET framework 3.5 +) Firefox 3.5 +
Chrome 10 +
Win 7 (32 bit) Internet Explorer 8
Internet Explorer 9
(Requires Microsoft .NET framework 3.5 +) Firefox 3.5 +
Chrome 10 +
Win XP Internet Explorer 8
(Requires Microsoft .NET framework 3.5 +) Internet Explorer 9
Firefox 3.5 +
Chrome 10 +
4.01, 4.02 Win 7 Internet Explorer 8
(32 bit or 64 bit) Internet Explorer 9
(Requires Microsoft .NET framework 3.5 +) Firefox 3.5 +
Chrome 10 +
Win XP Internet Explorer 8
(Requires Microsoft .NET framework 3.5 +) Internet Explorer 9
Firefox 3.5 +
Chrome 10 +
3.xx, 2.xx Win 7 (64 bit) Internet Explorer 8 (64 bit)
Internet Explorer 9 (64 bit)
Firefox 3.5, 3.6
Win 7 (32 bit) Internet Explorer 8
Internet Explorer 9
Firefox 3.5, 3.6
Win XP Internet Explorer 7
Internet Explorer 8
Internet Explorer 9
Firefox 3.5, 3.6
1.5x (Unsupported) Win 7 (64 bit) Internet Explorer 8 (64 bit)
Internet Explorer 9
Firefox 3.5, 3.6
Win 7 (32 bit) Internet Explorer 8
Internet Explorer 9
Firefox 3.5, 3.6
Win XP Internet Explorer 7
Internet Explorer 8
Internet Explorer 9
Firefox 3.5, 3.6
1.00 (Unsupported), 1.01 (Unsupported) Win XP Internet Explorer 6
Internet Explorer 7
Internet Explorer 8

Adding Firefox Support To Your Adapter (Versions 3.x and below) -

With version 1.50 we added support for Firefox on the Windows platform. Supporting this browser requires 2 new DLLs and a Firefox addon.

Note that as of CTI Toolkit 1.54, only Firefox versions 3.5 and higher are supported due to an incompatibility with prior versions that Mozilla introduced in Firefox 3.5.

To enable Firefox support for your adapter, you have to make your installer install 2 additional DLLs (which are included in the CTI Toolkit) and register them; these DLLs are SFDCFirefoxConnectorPS.dll and SFDCFirefoxConnector.dll. Note that in order for SFDCFirefoxConnector.dll to register properly, the Firefox root directory must be in the path -- as such, you should discover this directory in the process of installing your adapter.

Finally, make your installer run sfdcffextension.xpi using firefox.exe; that will install the needed Firefox extension. Your adapter will now work in Firefox.

Note on Connect For Outlook incompatibility

Please note that CTI Toolkit versions 1.13 and up include a new version of the Office Toolkit shared library which resolves an incompatibility with Salesforce Outlook Connect 3.2.501 and up. However, due to the fact that it updates a shared library, this new version of the library unfortunately introduces an incompatibility with prior versions of Salesforce Outlook Connect .

Partners are advised to recompile their adapters using the latest version of the CTI Toolkit. Customers wishing to use Salesforce Outlook Connect and a CTI integration simultaneously should upgrade to the latest version of Salesforce Outlook Connect and should use an adapter which has been compiled with the latest version of the CTI Toolkit.

FAQ and Troubleshooting Your CTI Adapter

Please refer to the Troubleshooting Your CTI Adapter page.

Release Notes For Salesforce.com CTI Toolkit 4.03

Overview

CTI-4.03 is a re-architecture of the CTI Adapter aimed at improving stability. A new, separate browser communication model has been introduced for Internet Explorer. In addition, Firefox and Chrome browser communication has been bolstered by a static pop-up window responsible for maintaining connectivity to the adapter. These improvements will ensure the browser and adapter are able to communicate reliably.

Popup.png

Adapter pop-up for Firefox and Chrome. Note: This pop-up window does not show for Internet Explorer browsers.

More information about the new pop-up window for Firefox and Chrome browsers, as well as best practices, can be found here - CTI-4.03 Troubleshooting.

In addition, CTI 4.03 also introduces an "Auto Exit" mechanism. The adapter now receives an "EXIT" message when -

  • An agent closes all salesforce.com browser windows (this includes the adapter pop-up window for Firefox and Chrome)
  • An agent logs out of salesforce.com
  • The agent's salesforce.com session expires

The auto exit functionality is available in CTI-3.02. CTI-4.03 is now at parity with CTI-3.02.

Browser Connector

  • Updated version to 4.03
  • COM communication now used to pass messages between Adapter and Internet Explorer. This is the same technology used in CTI-3.02. Unlike CTI-3.02, however, the COM communication is handled by the .NET framework. This adds significant robustness.
  • Internet Explorer 8 64 bit supported for Win7 64 bit. Note: IE8 32 bit will not work with Win 7 64 bit. Win7 64 bit always ships with IE8 64 bit. This was the case for CTI-3.02 as well. See browser support matrix above.
  • Firefox and Chrome continue to use AJAX and web technologies to communicate with CTI adapter. Pop-up window used to maintain continuous connection with adapter. This eliminates the issues caused by page refreshes in CTI-4.02.
  • Auto exit mechanism introduced to send "EXIT" message in UpdateNotificationSender. Message sent when salesforce.com session cookie is no longer visible to the CTI Adapter or all salesforce.com browser windows closed (including pop-up).

CTIAdapterLib

  • Version updated to 4.02

Demo Adapter

There are no changes in the DemoAdaoter project for CTI-4.03.

Specific Files That Have Changed In This Release

  • BrowserConnector/BrowserConnector.csproj
  • BrowserConnector/ConnectionListener/BrowserHttpListener.cs
  • BrowserConnector/ConnectionListener/Common.cs
  • BrowserConnector/ConnectionListener/UpdateNotificationSender.cs
  • BrowserConnector/Properties/AssemblyInfo.cs
  • BrowserConnector/Properties/Resources.Designer.cs
  • BrowserConnector/Properties/Resources.resx
  • BrowserConnector/Properties/Settings.Designer.cs
  • BrowserConnector/Properties/Settings.settings
  • BrowserConnector/Resources/Warning.png
  • BrowserConnector/Shell/AboutDialog.Designer.cs
  • BrowserConnector/Shell/SalesforceCTIForm.cs
  • BrowserConnector/WebConnector/ConnectorPage.html
  • BrowserConnector/app.config
  • Salesforce_CTI.sln

Release Notes For Salesforce.com CTI Toolkit 4.02

Overview

CTI-4.02 incorporates fixes related to robustness, API compatibility and exception handling.

Browser Connector

  • Updated version to 4.02
  • Fix for 60 minute disconnect experienced in Internet Explorer 8
    • New XhrTimeout parameter introduced. This is responsible for specifying the timeout of XMLHttpRequest (AJAX) requests sent from Internet Explorer and Firefox browsers. The connection between the adapter and the browser is reset at the expiration of this interval. Default value to 15 minutes.
  • PE support
  • Internal API used to avoid API governor limits when connecting with salesforce.com
  • Handle additional uncaught exceptions
  • Error message for duplicate running instances of CTI Adapter
  • PingSessionTimeout and PingSessionTime have been removed. A subsequent release will allow for more granular notifications of salesforce browser exit
  • Additional diagnostic information

CTIAdapterLib

  • Version updated to 4.02

Demo Adapter

There are no changes in the DemoAdaoter project for CTI-4.02.

Specific Files That Have Changed In This Release

  • BrowserConnector/ConnectionListener/BrowserHttpListener.cs
  • BrowserConnector/ConnectionListener/Common.cs
  • BrowserConnector/ConnectionListener/UpdateNotificationSender.cs
  • BrowserConnector/Properties/AssemblyInfo.cs
  • BrowserConnector/Properties/Settings.Designer.cs
  • BrowserConnector/Properties/Settings.settings
  • BrowserConnector/Shell/AboutDialog.Designer.cs
  • BrowserConnector/Shell/Program.cs
  • BrowserConnector/Shell/SalesforceCTIForm.cs
  • BrowserConnector/WebConnector/ConnectorPage.html
  • BrowserConnector/WebConnector/WebConnectorProvider.cs
  • BrowserConnector/app.config


Release Notes For Salesforce.com CTI Toolkit 4.01

Overview

CTI-4.01 incorporates fixes related to robustness, security, handling of special characters and notification on salesforce.com session expiration.

Browser Connector

  • Updated version to 4.01
  • Fixed handling of special characters
  • Added 2 new config parameters
    • PingSessionForLogout: Should the adapter watch the user's salesforce.com session and send EXIT command when user logs out of salesforce.com.
    • PingSessionTime: Interval with which session validity is pinged. Defaults to 60 seconds.
  • Added extra debugging information for BrowserConnector exceptions.
  • Modified Logger.cs. Messages with passwords are no longer logged.

CTIAdapterLib

  • Version updated to 4.01
  • Modified CTILogger.cpp. Messages with passwords are no longer logged.

Demo Adapter

There are no changes in the DemoAdaoter project for CTI-4.01.

Specific Files That Have Changed In This Release

  • BrowserConnector/ConnectionListener/BrowserHttpListener.cs
  • BrowserConnector/Logger.cs
  • BrowserConnector/Properties/AssemblyInfo.cs
  • BrowserConnector/Properties/Settings.Designer.cs
  • BrowserConnector/Properties/Settings.settings
  • BrowserConnector/Shell/AboutDialog.Designer.cs
  • BrowserConnector/WebConnector/ConnectorPage.html
  • BrowserConnector/app.config
  • CTIAdapterLib/CTIConstants.cpp
  • CTIAdapterLib/CTILogger.cpp

Release Notes For Salesforce.com CTI Toolkit 4.0

Overview

CTI-4.0 is a complete re-architecture of the Salesforce CTI executable. This release is the first step towards a pure cloud based CTI Toolkit. There are several exciting enhancements with CTI-4.0. These are listed below.

  • Browser agnostic for HTML5 compatible browsers (must support Local Storage and Post Messages)
    • IE8 +
    • Firefox 3.5 +
    • Chrome 10 +
    • No Add-Ons or Plug-Ins
  • Based on standard web technologies
    • Easy to debug
    • More innovation
    • More stability
  • More compatibility (32 bit vs 64 bit)
  • Complete Source Code
  • Easier deployment

Browser Connector

The Browser Connector has been re-written in C#. Under the new architecture, logic that was previously contained in the Browser Connector (SalesforceCTI.exe) has now been moved into the JavaScript layer. The Browser Connector is responsible for passing messages from this JavaScript to the CTI (Partner) adapter DLL and vice versa. The source code for this project is included in the Toolkit, and must be compiled with CTI-4.0. Instructions on compiling are available in the CTI Toolkit Developer's Guide included in the Toolkit installer.

CTIAdapterLib

There are no changes in the CTIAdapterLib project for CTI-4.0.

Demo Adapter

There are no changes in the DemoAdaoter project for CTI-4.0.

Specific Files That Have Changed In This Release

Browser Connector project added to CTI Toolkit.

Release Notes For Salesforce.com CTI Toolkit 3.02

Overview

3.02 incorporates changes around stability in Internet Explorer and security.

Browser Connector

  • Updated version to 3.02
  • Lazy IE browser object disposal, leading to increased stability

CTIAdapterLib

  • Updated to 3.02
  • Modified CTILogger.cpp. Messages with passwords are no longer logged.

Demo Adapter

There are no changes in the DemoAdaoter project for CTI-3.02.

Specific Files That Have Changed In This Release

  • CTIAdapterLib/CTIConstants.cpp
  • CTIAdapterLib/CTILogger.cpp

The 3.02 CTI Toolkit and Demo Adapter can be downloaded at the following links -

Click here to download the Demo Adapter 3.02

Click here to download the CTI Toolkit 3.02 installer package.

Release Notes For Salesforce.com CTI Toolkit 3.01

Overview

The 3.01 release focuses on the following features -

  • Save custom fields to call logs
    • New map with the OnCallEnd method. See CTIAdapterLib section.
  • WPAD (AutoProxy) support
  • New ADD_DIALPAD_NUMBER message to support DTMF
  • Changes around stability with IE

Browser Connector

  • Updated version to 3.01
  • SalesforceCTI.pdb now included with the CTI Toolkit. This will allow partners to isolate and debug issues within SalesforceCTI.exe
  • SalesforceCTI.exe version information set
  • "transformed.html" debug information removed

CTIAdapterLib

  • Saving custom fields to call logs
    • Added mapCallLogData to the OnCallEnd. This is a name value map that will save values to the field names specified in the map
    • The values in the map will be saved whenever a call log is created/ updated
  • Autoproxy support
    • Thanks to LiveOps for this contribution. We really appreciate it
    • You will need to add winhttp.lib to the linker input for this
  • ADD_DIALPAD_NUMBER message
    • The ADD_DIALPAD_NUMBER message is received whenever a number is added to a dialpad in the softphone. The parameters with this message are the number that was added as well as the dialpad identifier
  • Fixed a bug for screen pops on No Match with Synchronous search

Demo Adapter

  • Updated version to 3.01

Specific Files That Have Changed In This Release

  • CTIAdapterLib/CTIAdapterLib.vcproj
  • CTIAdapterLib/CTIAppExchange.cpp
  • CTIAdapterLib/CTIAppExchangeSaveThread.cpp
  • CTIAdapterLib/CTICallLog.cpp
  • CTIAdapterLib/CTIConstants.cpp
  • CTIAdapterLib/CTILogger.cpp
  • CTIAdapterLib/CTIUserInterface.cpp
  • CTIAdapterLib/CTIUtils.cpp
  • CTIAdapterLib/include/CTIAppExchangeSaveThread.h
  • CTIAdapterLib/include/CTICallLog.h
  • CTIAdapterLib/include/CTIConstants.h
  • CTIAdapterLib/include/CTIUserInterface.h
  • CTIAdapterLib/include/CTIUtils.h
  • CTIAdapterLib/include/stdafx.h
  • DemoAdapter/DemoAdapter.vcproj
  • DemoAdapter/stdafx.h

Release Notes For Salesforce.com CTI Toolkit 3.00

Overview

The primary focus of the 3.00 release is to integrate salesforce.com CTI with the Service Cloud Console. This includes modification to:

  • CTI widget location, skin and resizing
  • Screen pops within the Console context
  • Communication with the Interaction Log

In addition, the 3.00 release also addresses the following:

  • A cleaner uninstall process
  • Tray icon context menu updates when agent logs out of salesforce.com

Browser Connector

  • Updated version to 3.00
  • Added IE and Firefox support for CTI in the Service Cloud Console
  • Added javascript notification for CTI application exit. This allows the CTI widget in the Service Cloud Console to know that the desktop application has exited.
  • CTI is now aware of whether it is running the in the Service Cloud Console or the regular salesforce.com application

CTIAdapterLib

  • Updated version to 3.00
  • Updated Line object to always publish Status and Call Type in the transformation xml, from the beginning of the call
  • Updated Call Log object to mark calls in the Service Cloud Console. This allows us to communication with the interaction log. NOTE: In the Service Cloud Console, the CTI adapter does not save call logs. The Interaction Log is responsible for this.

Demo Adapter

  • Updated version to 3.00
  • DEBUG mode in Demo Adapter is now always set

Specific Files That Have Changed In This Release

  • CTIAdapterLib/CTIAppExchange.cpp
  • CTIAdapterLib/CTICallLog.cpp
  • CTIAdapterLib/CTIConstants.cpp
  • CTIAdapterLib/CTIUserInterface.cpp
  • CTIAdapterLib/include/CTICallLog.h
  • CTIAdapterLib/include/CTIConstants.h
  • CTIAdapterLib/include/CTILine.h
  • CTIAdapterLib/include/CTIUserInterface.h
  • DemoAdapter/DemoAdapterBase.cpp
  • DemoAdapter/demo_menu.xml
  • sfdcffextension.xpi
  • SalesforceCTI.exe

Release Notes For Salesforce.com CTI Toolkit 2.03

Overview

Allowed special characters in Visualforce payloads for "Pop To Visualforce" screen pops.

Browser Connector

  • Updated version to 2.03

CTIAdapterLib

  • Updated version to 2.03

Demo Adapter

  • Updated version to 2.03

Specific Files That Have Changed In This Release

  • BrowserConnector/BrowserEventHandler.cpp
  • CTIAdapterLib/CTIConstants.cpp
  • DemoAdapter/DemoAdapterBase.cpp
  • SalesforceCTI.exe

Release Notes For Salesforce.com CTI Toolkit 2.02

Overview

Browser Connector

  • Updated version to 2.02.
  • Modified screen pop mechanism to fix double pops.
  • Fixed XSLT translation bug that caused rapid-fire events to make the softphone disappear temporarily.

CTIAdapterLib

  • Added support for new screen pop mechanism.

Demo Adapter

  • Added a menu option to simulate an autoanswered call.
  • Updated version to 2.02.

Specific Files That Have Changed In This Release

  • CTIAdapterLib/CTIAppExchange.cpp
  • CTIAdapterLib/CTIConstants.cpp
  • CTIAdapterLib/CTIUserInterface.cpp
  • CTIAdapterLib/include/CTIConstants.h
  • CTIAdapterLib/include/CTILine.h
  • CTIAdapterLib/include/CTIUserInterface.h
  • DemoAdapter/DemoAdapter.rc
  • DemoAdapter/DemoEventSink.cpp
  • DemoAdapter/DemoEventSink.h
  • DemoAdapter/DemoUserInterface.cpp
  • DemoAdapter/DemoUserInterface.h
  • DemoAdapter/demo_menu.xml
  • DemoAdapter/resource.h

Release Notes For Salesforce.com CTI Toolkit 2.0

Overview

This release adds significant new functionality, namely Custom Screen Pops. Please see the Spring '10 Release Notes for the full scope of the Custom Screen Pops capabilities. In short, it allows customers to configure without any coding screen pops of Visualforce pages, new object pages, and search pages; pops on no match, single match, and many matches; and pops to new browser windows and tabs.

Browser Connector

  • Added Custom Screen Pops capability.
  • Updated version to 2.0.

CTIAdapterLib

  • Added capability for sending a data "payload" to screen pops when popping a Visualforce screen, to give that screen context about the call.
  • Added class to represent "no search results" to enable a screen pop from a no-match.
  • Added a .cpp file for constants to hold more complex constant values.

Demo Adapter

  • Added a DNIS to simulated inbound calls to add more payload for Visualforce screen pops.
  • Updated version to 2.0.

Specific Files That Have Changed In This Release

Files Modified:

  • CTIAdapterLib/CTIAdapterLib.vcproj
  • CTIAdapterLib/CTIAppExchange.cpp
  • CTIAdapterLib/CTIAppExchangeSaveThread.cpp
  • CTIAdapterLib/CTIAppExchangeSearchThread.cpp
  • CTIAdapterLib/CTILine.cpp
  • CTIAdapterLib/CTIParty.cpp
  • CTIAdapterLib/CTIUserInterface.cpp
  • CTIAdapterLib/include/CTIAppExchange.h
  • CTIAdapterLib/include/CTIConstants.h
  • CTIAdapterLib/include/CTILine.h
  • CTIAdapterLib/include/CTIParty.h
  • CTIAdapterLib/include/SF_MSApi4.dll
  • DemoAdapter/DemoAdapter.xml
  • DemoAdapter/DemoAdapterBase.cpp
  • DemoAdapter/DemoEventSink.cpp
  • DemoAdapter/DemoUserInterface.cpp
  • DemoAdapter/demo_menu.xml
  • sfdcffextension.xpi

Files Added:

  • CTIAdapterLib/CTIConstants.cpp
  • CTIAdapterLib/CTINoRelatedObjectSet.cpp
  • CTIAdapterLib/CTIPayload.cpp
  • CTIAdapterLib/CTIPayloadData.cpp
  • CTIAdapterLib/include/CTINoRelatedObjectSet.h
  • CTIAdapterLib/include/CTIPayload.h
  • CTIAdapterLib/include/CTIPayloadData.h

Release Notes For Prior Versions

For release notes on prior versions of the CTI Toolkit, please see the page entitled CTI Toolkit Prior Version Release Notes.

[Category:Tools for Telephony]]