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.

Contents

Downloadables

The CTI Toolkit 1.12 code, documentation, and release notes are contained in this installer package:

Click here to download the CTI Toolkit 1.12 installer package.

(Note: If you are upgrading from a prior version of the CTI Toolkit 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.

The code documentation (also included in the CTI Toolkit package) can be found here:

Click here to download the code documentation.

We also have 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 1.12.

You can find our slide presentation on the Force.com CTI Toolkit here:

Click here to download the presentation.

Contact Marco Casalaina or Herve Danzelaud at Salesforce.com if you have any questions about this.

Release Notes For Salesforce.com CTI Toolkit 1.12

Overview

This release contains minor bugfixes.

Browser Connector

  • Updated version to 1.12.

CTIAdapterLib

  • New static methods, CCTIUserInterface::GetClientId and CCTIUserInterface::SetClientId, are added. If you have been granted a Client ID, specify it with CCTIUserInterface::SetClientId in the first line of your Initialize method, before calling the base class Initialize method. Previously adapter writers had to specify the Client ID by changing the CTI_CLIENT_KEY constant in the toolkit; but as of 1.12 adapter writers no longer need to make any modifications to the core toolkit in order to compile a stock adapter.
  • The CCTIAppExchange classes have been modified to use the new Client ID statics.
  • CCTIUserInterface will no longer log the parameters of a LOGIN call so as to avoid emitting credentials in plain text in the log file.
  • A new parameter, nCallType, is added to OnCallDialing so that the adapter can discriminate between outbound calls and internal calls. If OnCallDialing is called with a call type of CALLTYPE_INTERNAL, no call log will be generated.
  • CCTILogger is fixed such that it can now emit log messages in Japanese versions of Windows.
  • CCTICallLog is fixed such that if the user revisits an object page during the context of a call, that object will be reselected in the call log.
  • CCTIUtils::ReverseString will no longer crash.

Demo Adapter

  • A modification is made to explicitly set the My Calls Today report URL to a URL that will work in non-US locales. This modification will no longer be necessary as of May 8, 2008, at which time a Salesforce server-side change will fix this reporting issue for all adapters, but it does serve to demonstrate how one might change the My Calls Today report URL.
  • The Demo Adapter now sets its Client ID in its Initialize() method.
  • The version number is updated to 1.12.

Specific Files That Have Changed In This Release

  • /CTIAdapterLib/CTIAppExchange.cpp
  • /CTIAdapterLib/CTIAppExchangeSaveThread.cpp
  • /CTIAdapterLib/CTICallLog.cpp
  • /CTIAdapterLib/CTILogger.cpp
  • /CTIAdapterLib/CTIUserInterface.cpp
  • /CTIAdapterLib/include/CTIUserInterface.h
  • /CTIAdapterLib/include/CTIUtils.h
  • /DemoAdapter/DemoAdapterBase.cpp
  • /DemoAdapter/DemoUserInterface.cpp

Release Notes For Salesforce.com CTI Toolkit 1.1

Overview

This release contains minor bugfixes, plus a usability enhancement allowing agents to edit previous call logs. Major changes are listed below.

Browser Connector

  • The Browser Connector now points to version 1.1 of the XSLT, which enables agents to edit previous call logs.
  • A modification was made to the Browser Connector to improve exception handling in IE; some exceptions previously caused a crash in rare cases.
  • A minor modification was made to CCTILogger to prevent Visual Studio 2005 from failing to compile the toolkit.
  • A new version of SF_MSApi4.dll is included that features improved stability.

CTIAdapterLib

  • A method is added, CCTIAppExchange::SetDatetimeFieldValue, to set values of datetime-typed fields when saving call logs.
  • The CTI Toolkit now sets the Type field of call log Task objects to "Call."
  • The CTI Toolkit now sets itself to logged out before exiting itself, ensuring that any phone numbers on the page become non-clickable when the adapter quits.

Demo Adapter

- No changes.

Errata in version 1.1

In the CTI Toolkit version 1.1, the CCTIUtils::ReverseString method can cause a debug assertion or crash. Please replace it with the following:

static std::wstring ReverseString(const std::wstring& sInput)
{
	std::wstring sReturnString = sInput;
	std::reverse(sReturnString.begin(),sReturnString.end());
	return sReturnString;
}

Specific Files That Have Changed In This Release

  • /BrowserConnector/IEEventHandler.cpp
  • /BrowserConnector/ShellEventHandler.cpp
  • /CTIAdapterLib/CTIAppExchange.cpp
  • /CTIAdapterLib/CTIAppExchangeSaveThread.cpp
  • /CTIAdapterLib/CTICallLog.cpp
  • /CTIAdapterLib/CTILogger.cpp
  • /CTIAdapterLib/CTIPreviousCalls.cpp
  • /CTIAdapterLib/CTIUserInterface.cpp
  • /CTIAdapterLib/include/CTIAppExchange.h
  • /CTIAdapterLib/include/CTICallLog.h
  • /CTIAdapterLib/include/CTIConstants.h
  • /CTIAdapterLib/include/CTIPreviousCalls.h
  • /CTIAdapterLib/include/CTIUserInterface.h
  • /DemoAdapter/DemoAdapterBase.cpp