Sonoma Partners Microsoft CRM and Salesforce Blog

CTI is not Just for the Big Guys Anymore (Part 3 of 3)

Today's guest blogger is Luke Simpson, a Technical Architect at Sonoma Partners.

This is the 3rd in my series on Computer Telephony Integration (CTI) with  If you haven’t read the first two posts, I definitely encourage you to do that.  You can find the 1st post here and the 2nd post here.  The last two posts have covered CTI in a general sense and the CTI Adapter implementation method specifically.  In this final post, let’s evaluate the Open CTI framework that was introduced in the Summer ’12 release for

As I mentioned in my last post, the name of this series is ‘CTI is Not Just for the Big Guys Anymore’.  As the name implies, everyone is considering CTI today.  When a consumer interacts with a call center today, she or he expects a personalized experience.  Social Media has spoiled us to the idea that if you are trying to sell me something, you should understand my specific situation instantly and be able to adapt to it.  So having all of the customer information immediately at a service representatives fingertips is no longer a ‘nice to have’, it is a ‘must have’.  This also becomes an area where organizations can differentiate themselves based upon the level of personalization that they can provide to the call experience.  This is where the Open CTI framework proves to be a difference maker, in the way the UI can be customized while lowering maintenance costs.

What is so Different About Open CTI?

Open CTI is a framework designed to allow telephony systems to communicate directly with without the use of an intermediary desktop adapter.  Prior to Open CTI, any Computer Telephony Integration project required that an organization install a small (or sometimes large) application on each user’s PC that would communicate with the CRM system as well as the telephony server.  With the advent of many new web-based technologies, the need for the desktop adapter has been eliminated.  This allows organizations to deploy solutions that are easier to install and require far fewer maintenance resources.  Additionally, using Open CTI gives organizations an entirely new level of customization options for their CTI deployments.  Because Open CTI is HTML5 and JavaScript based, the UI can be customized at a far greater level.  This architecture also allows organizations to more easily integrate data and functions from more systems into a single user experience (UX).

In Figure 1, below, we can see the standard architecture for a CTI desktop adapter prior to Open CTI.  The caller is routed from the CTI Server through the CTI adapter to the agent.  The adapter, which is prebuilt and installed on each client machine, performs all routing between the systems.  Most CTI desktop adapters are configurable to a point, and does an excellent job of providing the ability to configure the softphone within the UI to display a fairly large variety of entities and fields when a call is received or made.


figure 1 - courtesy Gautam Vasudev

In Figure 2 we see the same process but with the browser, and the Open CTI framework, acting as the intermediary.  This JavaScript and HTML5 based framework enables the web client of to receive screen pops and other notifications from the CTI Server without the need for a desktop based application.  What this means from a support perspective is that testing and deployment costs are greatly reduced.  Once an update has been developed and then tested in the sandbox, it can be deployed once for every user without the need for individualized testing based upon Operating Systems, and other client specific information.

figure 2 - courtesy Gautam Vasudev

If you would like more detail about the Open CTI architecture, I would encourage you to read Gautam Vasudev’s post on CTI integrations in the cloud here.  Gautam does a great job explaining the technical benefits and considerations.

Customization Detail is Greatly Increased

Because Open CTI is a framework, each organization has the ability to modify the UI of the softphone to an incredible level of detail.  When using the softphone that is available to a desktop adapter, the basic UI cannot be modified.  Organizations can choose what entities and fields should be displayed, but there is no way to modify color schemes, phone layout, menus or to integrate data from other systems.  Compare the two images below, figures 3 & 4.  In Figure 3 we see the standards softphone that must be used with the desktop CTI adapter.  In figure 4, compare the layout of the demo Open CTI softphone layout

figure 3


figure 4

The softphone displayed in figure 4 is an entirely custom HTML5 pages that interacts with the CTI server via the Open CTI framework.  Obviously the example is fairly simple: 1) We have a dropdown that can be set by the user to show current status; 2) a menu bar that allows the user to select options, dial out or search a help page; 3) A Search dialog to look for contacts in the system; 4) A list of recently people recently contacted.  The Action buttons located to the left of the Contact names allow the user to answer an incoming call or dial out with a single click.

The possibilities for customizations within this framework are outstanding!  Any information that you have which is accessible via the web is now available to be displayed within your softphone.  So you have information not currently stored within, but that you want the user to have the ability to see within the context of a call, you can retrieve it.  An example of this would be for current account balances.  It would be incredibly advantageous to an organization to allow users to see a flag of account status based upon the current balance immediately on the initiation of a call.  Often many customer issues can be resolved with a simple piece of information such as notifying that a credit card has expired, that a bill is overdue, or on the bright side that a credit is owed back to the customer.

In addition to the customization options, Open CTI still provides the organization with basic CRM integration that we have come to expect.  Screens automatically opening to a Contact or Case record, options to change status or open a new Case?  All of these and more are available through the framework.


click to expand

Pro’s & Con’s

Open CTI is not without its challenges, and it is understand the differences between the two approaches: 

The first obvious difference between the Open CTI framework and the desktop adapter is the UI.  Open CTI is incredibly customizable, but begins as a blank slate.  An implementer will need to spend time considering the layout of the softphone, the various buttons & menus, etc.  The desktop adapter, on the other hand, provides a softphone UI that is ready to deploy out of the box.  The limitation to this is that you have much less capability of modifying this pre-built UI.  Also, while the desktop adapter only requires configuration, the Open CTI framework requires custom code to customize and setup the UI.  This means that the skillsets needed to deploy an Open CTI softphone need to be far more technical than those needed for the desktop adapter.

Another difference comes in the architectural requirements for each method.  While the desktop adapter requires a small application to be installed on each client machine that Open CTI does not require, the Open CTI framework requires a web server to host the pages that interact with  Those pages may be deployed within as an application, but that would then require testing and architectural support for communications between the application and the telephony server through whatever firewalls and security are deployed.  The desktop adapter does not require a web server, and is designed to communicate directly with the telephony provider. 

In addition to the architectural and customization differences, Open CTI requires the implementer to consider authentication and security when designing the solution.  As the softphone is a custom HTML5 web page, organizations will need to determine what security concerns must be addressed within the application, and then create solutions to those potential issues, prior to deployment.

I’m Interested in Implementing CTI Within my Deployment, Which Way Should I go?

Without trying to sound like a Consultant, “That depends on what you need!”  Sonoma Partners has a long history of helping organizations determine the right solutions for you specific problems and then helping do solve those problems.  Whether you are a small firm looking to integrate your phone and CRM system for the first time, or a Fortune 500 that would like to catch the wave of the next big thing in the customer experience, we would love to help.  Hopefully this series has helped you to understand a little bit of the options that are available to you.  If you have any questions regarding the use of CTI or the Service Cloud, please reach me at


Topics: Salesforce

Dynamics CRM 4.0 Mainstream Support has Ended - In Extended Support

Microsoft recently provided an update on the support lifecycle for Microsoft Dynamics CRM.

Mainstream Support for Dynamics CRM 4.0 has ended, and it is now in Extended Support which goes until 4/10/2018.  What this means is that CRM will continue to be supported through 2018, but there will be no special treatment unless you pay. 

For the most part, this will have little impact as paid support (support plans, Pay Per Incident, Premier hourly, etc.) will continue as before with no changes.  The biggest change is the removal of non-security hotfix support (except for customers who purchase an Extended Hotfix Agreement) and design change requests.   Except in very limited circumstances, there will be no new hotfixes generated for Dynamics CRM 4.0 except the currently in-progress 4.0 fixes.  

If you want to sign up for the Extended Hotfix Agreement, you need to have a Premier Support Agreement in place (or you need sign up for one if you don’t have one already).

What is the difference between Mainstream Support, Extended Support, and online self-help support for software products?  The table below provides this information:

Support provided Mainstream Support phase Extended Support phase
Paid support (per-incident, per hour, and others) X X
Security update support X X
Non-security hotfix support X Requires extended hotfix agreement, purchased within 90 days of mainstream support ending.
No-charge incident support X  
Warranty claims X  
Design changes and feature requests X  
Product-specific information that is available by using the online Microsoft Knowledge Base X X
Product-specific information that is available by using the Support site at Microsoft Help and Support to find answers to technical questions X X

The table below shows a full grid of the different Dynamics CRM versions and the current support that is being offered (or not offered in some cases) per version.

Product Release

Lifecycle Start Date

Mainstream Support End Date

Extended Support End Date


CRM 1.0




No longer supported

CRM 1.2




No longer supported

Dynamics CRM 3.0




In Extended Support

Dynamics CRM 4.0




In Extended Support

Dynamics CRM 2011




In Mainstream Support

More details on the Microsoft Lifecycle Policy can be found through this link.

Topics: Microsoft Dynamics CRM

Announcing the Sonoma Partners Community Site

Our new Sonoma Partners Community is now LIVE!  To access the site, click here or “Community” on the Sonoma Partners website toolbar. 

Check out the key areas of our community site:

  • Blog – find countless articles on MSFT Dynamics CRM and lessons learned, trends, and Sonoma Partners solutions
  • Applications – download and access help for all of our free solutions and apps
  • Forums – post and browse discussions and issues related to our products
  • Ideas – search and provide suggestions for product enhancements


Our community site is built using the Portals product from our friends at Adxstudio.

Topics: Microsoft Dynamics CRM Microsoft Dynamics CRM 2011 Salesforce

Sonoma Partners Universal Search Update - CRM Online Patches Applied and Working Once Again!

Today's guest blogger is Cherish Orozco, a Consultant at Sonoma Partners

Universal Search is now working again for all CRM Dynamics Online customers!

As many of you know, Microsoft deployed a patch to CRM Online late February which adversely affected two supported functions used by Universal Search – Xrm.Utility.openWebResource (used to open the Universal Search page) and Xrm.Utility.openEntityForm (used to open the results records).  Mid-March, Microsoft provided a fix for the first function.  This allowed online customers to launch the Universal Search page, but still prevented users from opening up the results records.  Last week, Microsoft deployed a fix for the second function, Xrm.Utility.openEntityForm, to all geographies.  We have confirmed that Universal Search should now be working again for all CRM Online customers.  NOTE: On premise Dynamics customers were not affected by any of these changes.

If you have any additional issues or questions regarding Universal Search, please visit our Community Site Forum for Universal Search

Topics: Microsoft Dynamics CRM Microsoft Dynamics CRM 2011

Sonoma Partners Dynamic Forms Community Edition – New Release!

Today's guest blogger is Cherish Orozco, a Consultant at Sonoma Partners

We have just released a new version of the Sonoma Partners Dynamic Forms-Community Edition –  Click here to download. 

This version includes the following updates:

  • Fixed bugs associated with calculation and hiding actions.
  • Fixed minor cosmetic issues in configuration page.
  • Improved behavior with saving and publishing records.
  • Removed all dependencies to the 4.0 endpoints. 

If you already have the Dynamic Forms Community Edition installed, please be aware of the following:

  • Be sure to choose Overwrite Customizations when installing the updated solution. 
  • If you already have rules in your environment, they will not be affected by this new version. You do not need to delete or recreate those rules.  You can simply install the updated solution on top of what you already have and the rules should be visible to you in the Dynamic Forms configuration page as they were before. 

We hope that you continue to find Dynamic Forms to be a useful tool in your Dynamics CRM environment.  For issues, questions, and suggestions, please visit our Community Forum for Dynamic Forms.

Topics: Microsoft Dynamics CRM Microsoft Dynamics CRM 2011

Dynamics CRM UR13 and SDK v5.0.15 Released

Update Rollup 13

Update Rollup 13 was released last week.  This update provides long-awaited support for Windows Server 2012 as well as support for ADFS 2.1.  The important thing to note here is that to install CRM 2011 on Windows Server 2012, a setup update is required first which won’t be available until April 9th.

Head here for the download.

SDK v5.0.15

A new version of the SDK was released last week as well.  This update provides new DLLs that are compatible with UR 13 as well as CRM Online.  Also worth noting is a new version of the Metadata Browser that adds new properties from UR 12.

Important new design considerations were added to the SDK for the new Auto Save feature in CRM Online as well.  Microsoft explains that the reason for moving to an auto save is to keep consistency with modern applications and that it can’t be disabled or configured.  Although I like the option of having auto save for advanced users, it would be nice to configure the behavior as I think this could be an abrupt change for users who have been using CRM for awhile now.

Also listed is a very important note to customizers and developers explaining that each auto save is considered an update so workflows, plug-ins and auditing will trigger each time.  With that being said, the filtering attributes in plug-ins and workflows will be even more important so that they trigger only when specific fields are updated.

The following excerpt was taken from this page in the SDK -

Modern applications are moving to an implicit save model. The updated forms introduce this behavior in Microsoft Dynamics CRM Online. Auto save is not configurable. You cannot disable it or change the behavior. There is no save button. The auto save control appears in the bottom right area of the updated form and has the following behaviors:

  • When creating a new record there is a Create button in the command bar.
  • Auto save does not apply until the record is created.
  • After the first edit of the form, auto save occurs every 30 seconds.
  • Auto save retrieves any changes to the record and displays them without reloading the form.
  • Only data that has been changed since the last save are saved.
  • The field currently being edited is not saved.
  • Command bar actions like New, Close, or Qualify saves the record.
  • Closing the form saves the record.


Each time auto save occurs, it is considered an update to the record. Plug-ins, workflows, and auditing of records will treat each update as a separate event. Developers and creators of workflows need to consider the impact this will have on the business logic included in their plug-ins and workflows. Rather than triggering business logic on each update, you should include conditions to check the values of specific fields in the update to initiate your logic so that they won’t occur indiscriminately with each update.

Below is the full release history taken from the MSDN page -

New and updated topics Description of changes


Updated the assemblies for Microsoft Dynamics CRM 2011 Update Rollup 13. These assemblies are also compatible with Microsoft Dynamics CRM Online.


Updated the readme for this version of the SDK package.

Browse the Metadata for Your Organization

Updated the metadata browser so that the HasChanged and RelationshipType properties added in Microsoft Dynamics CRM 2011 Update Rollup 12 and the Microsoft Dynamics CRM December 2012 Service Update can be viewed.

Design Considerations for Different Form Presentations

Added the Auto Save Control for Updated Forms section to provide more details about the auto save control behavior.


Added to the remarks for the Targets property to indicate that the attribute is not supported if the Targets property is null.

<Scrolling> (FormXml)

Updated the topic to provide examples of valid values for this element.


Added the description “For internal use only.” for the phone value added in Microsoft Dynamics CRM 2011 Update Rollup 12 and the Microsoft Dynamics CRM December 2012 Service Update.

Tutorials for Learning About Development for Microsoft Dynamics CRM

Updated the list of walkthroughs. Added links to the sample code and walkthrough categorized views on the Developer Center on MSDN. Added a section for links to other developer resources and social media.

Use Form and Field Events

Added more information to the OnChange Event section about when this event occurs. Attribute Methods

Added a new sample to Controls Collection showing how to use the attribute controls collection to show or hide all the controls for an attribute.

Finally, head here for the latest SDK download.

Topics: Microsoft Dynamics CRM Microsoft Dynamics CRM 2011

Sonoma Cares at Inspiration Cafe

Here at Sonoma Partners we have created a group focused on charity called Sonoma Cares.  Sonoma Cares will be giving back on a quarterly basis through donations and volunteering. 

Last week a group of Sonomans went up to the Inspiration Cafe in Chicago to help out with their dinner service.  The Inspiration Cafe is a part of the wonderful Inspiration Corporation and they provide restaurant-style meals to homeless or poor men, women and families in a therapeutic community that promotes dignity and respect.  Half of our group cooked up some delicious beef tacos, rice and beans, as well as an array of desserts while the other half served.

We had a blast and we’ll definitely be going back in the near future.  The Inspiration Cafe is always looking for volunteers for a variety of jobs so if you’re in the Chicago area, check them out and head here to sign up!

 image image 20130328_181334

image image image