Configuring CCF Clients for .Net 3.5 SP1

CCF uses Windows Communication Framework (WCF), which is a part of the .Net framework, to communicate with the CCF Server. When a CCF client (IAD and Admin Console) running on .Net 3.5 SP1 framework connects to a CCF Server, WCF requires SPN in order to connect with the endpoint address (CCF Server). CCF SP1 QFE introduces proxy providers for Admin Console and ID. You must configure ID and Admin Console, before running them with .Net 2.5 SP1.

Note

WCF support for .Net 3.5 SP1 is available only with CCF SP1 QFE. Ensure you install CCF SP1 QFE before configuring

Configuring Admin Console

CCF SP1 QFE introduces AdminConsoleProxyProvider that retrieves the endpoint details from the application configuration file. The proxy then retrieves the server name and requisite identity details, which are used to communicate with the CCF server. The endpoint details are also required while connecting to CCF from the Admin Console. The proxy information for admin console is stored in the mmc.exe.config file.

To configure the Admin Console:

  1. In the Admin Console machine, open the mmc.exe.config file from the folder <InstallDir>/Administrative Tools/.

  2. In the <configSections> section, add entries for ProxyProviders and ProviderMapping. The following example, show the complete section (with the new entries highlighted):

  3. <configSections>
      <sectionGroup name="Microsoft.Ccf">
    
        <section name="Common.Listeners" type="Microsoft.Ccf.Common.Listeners.Configuration.ListenerConfigurationHandler, Microsoft.Ccf.Common.Listeners" />
        <section name="Ccf.TypeProviders" type="Microsoft.Ccf.Common.TypeProvider.Configuration.TypeProviderSection, Microsoft.Ccf.Common.TypeProvider" />
    
        <section name="ProxyProviders" type ="Microsoft.Ccf.Common.ProxyProvider.ProxyConfiguration, Microsoft.Ccf.Common "/>
        <section name="providerMapping" type="System.Configuration.NameValueSectionHandler, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
    
      </sectionGroup>
    </configSections>
    
  4. In the <Microsoft.Ccf> section, add a new section for the proxy providers. The following example, show the proxy providers section:

  5. <Microsoft.Ccf>
      <Ccf.TypeProviders defaultProvider="default">
    
        <types>
          <add name="default" type="Microsoft.Ccf.Common.TypeProvider.DefaultTypeProvider, Microsoft.Ccf.Common.TypeProvider, Version=4.0.0.0, Culture=neutral, PublicKeyToken=4f00c1aa5320a4d9" />
          <!-- distinct types can be specified for ITypeResolver, ITypeLoader, and ITypeActivator if necessary -->
          <!-- the type="" attribute represents a convenience fallback value when the others have not been specified -->
          <!-- <add name="default" typeResolver="" typeLoader="" typeActivator="" /> -->
        </types>
    
      </Ccf.TypeProviders>
    
      <ProxyProviders defaultProvider="adminConsoleProxy">
        <providers>
          <add name="adminConsoleProxy" description="Provides proxy for Admin Console" type="Microsoft.Ccf.Common.ProxyProvider.AdminConsoleProxy, Microsoft.Ccf.Common.ProxyProvider" />
        </providers>
      </ProxyProviders>
    
      <providerMapping>
        <add key="https://microsoft.com/ccf/*" value="adminConsoleProxy" />
      </providerMapping>
    
    </Microsoft.Ccf>
    
  6. Save the mmc.exe.config file.

Configuring AgentDesktop

This QFE introduces the following proxy providers that are used by the Integrated Desktop to communicate with the CCF server:

  • CCFProxyProvider: Retrieves the endpoint address and identity details using the CCF configuration service.
  • CcfSeProxyProvider: CCFProxyprovider for security extensions.
  • WCFProxy: Retrieves the configuration details from the configuration file using WCF.
  • DCSProxy: Retrieves the configuration details using ExtendedChannelFactory of DCS.

You can alternatively use any of the proxy providers based on your requirement, by setting the required proxy as the default proxy. The proxy details are stored in the Integrated Desktop configuration file AgentDesktop.exe.config. The SPN for the client is stored in the <Identity> element of the Agent Desktop configuration file.

To configure the Integrated Desktop:

  1. In the Integrated Desktop machine, open the AgentDesktop.exe.config file from the folder <InstallDir>/Agent Desktop/.

  2. In the <configSections> section, under the section group Microsoft.Ccf add entries for the proxy providers. The following example, show the complete section (with the new entries highlighted):

  3. <configSections>
      <sectionGroup name="Microsoft.Ccf">
        <section name="Common.Listeners" type="Microsoft.Ccf.Common.Listeners.Configuration.ListenerConfigurationHandler, Microsoft.Ccf.Common.Listeners" />
        <section name="HostedApplicationToolkit.AutomationHosting.AutomationManager" type="System.Workflow.Runtime.Configuration.WorkflowRuntimeSection, System.Workflow.Runtime, Version=3.0.00000.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
      <section name="Csr.Providers" type="Microsoft.Ccf.Common.Providers.Configuration.ProviderConfigurationHandler, Microsoft.Ccf.Common.Providers" />
      <section name="Ccf.TypeProviders" type="Microsoft.Ccf.Common.TypeProvider.Configuration.TypeProviderSection, Microsoft.Ccf.Common.TypeProvider" />
      <section name="Ccf.PhysicalProviders" type="Microsoft.Ccf.Mce.Configuration.PhysicalProviderConfigSection,Microsoft.Ccf.Mce.Configuration, Version=4.0.0.0, Culture=neutral, PublicKeyToken=4f00c1aa5320a4d9"/>
    
    <section name="ProxyProviders" type ="Microsoft.Ccf.Common.ProxyProvider.ProxyConfiguration, Microsoft.Ccf.Common"/><section name="providerMapping" type="System.Configuration.NameValueSectionHandler, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
    
      </sectionGroup>
    </configSections> 
    
  4. In the <Microsoft.Ccf> section, add new sections for the proxy providers and provider mapping. The following example, show the proxy providers section (In the below example, the default proxy provider is WCFSEProxy):

  5. <ProxyProviders defaultProvider="wcfSeProxy">
      <providers>
        <add name="wcfProxy" description="Provides WCF based proxy" type="Microsoft.Ccf.Common.ProxyProvider.WcfProxy, Microsoft.Ccf.Common.ProxyProvider" />
        <add name="wcfSeProxy" description="Provides WCF based proxy with support for Security Extn" type="Microsoft.Ccf.Common.ProxyProvider.WcfSeProxy, Microsoft.Ccf.Common.ProxyProvider" />
        <add name="ccfSeProxy" description="Provides CCF based proxy with support for Security Extn" type="Microsoft.Ccf.Common.ProxyProvider.CcfSeProxy, Microsoft.Ccf.Common.ProxyProvider" />
        <add name="dcsProxy" description="Provides DCS based proxy" type="Microsoft.Ccf.Common.ProxyProvider.DcsProxy, Microsoft.Ccf.Common.ProxyProvider" />
      </providers>
    </ProxyProviders>
    <providerMapping>
      <add key="https://microsoft.com/ccf/customer#Customer" value="wcfProxy" />
      <add key="https://microsoft.com/ccf/ContactCenter/AgentLoginManager#AgentLoginManager" value="wcfProxy" />
      <add key="https://microsoft.com/ccf/ContactCenter/Configuration#Configuration" value="wcfseProxy" />
      <add key="https://microsoft.com/ccf/*" value="CcfSeProxy" />
    </providerMapping>
    
  6. Save the AgentDesktop.exe.config file.