Knowlege base

Contacts Separation

Article ID: 547
Last updated: 29 Apr, 2020

Introduction   

Article Purpose

Speedy Enterprise is the solution that centralizes and synchronizes company directories, providing fast searches, click to call and caller ID on phone, web, mobile and Cisco Jabber.

Speedy supports four different directory types: 

  1. Local Directories (internal contacts only); 
  2. Public Directories (external contacts, not to be used in a Multi-Tenant/Company environment);
  3. Department Directories (internal or external contacts);
  4. Personal Directories (external contacts only).

Speedy can be used in the following scenarios:

  1. In a single Tenant/Company environment, making available one Local Directory shared-accessible by all users; 
  2. In a single Tenant-Company environment with different departments, where users belonging to each Department can be granted access to only their own department contacts (Contacts Separation);
  3. In a Multi-Tenant/Company environment, where users belonging to each Tenant/Companies can be granted access only to their own Company contacts (Contacts Separation).

In case Contacts separation is not required, please refer to standard Speedy configuration documentation (https://www.imagicle.com/kb#/kb/51), which covers both the cases for local-VPN and in mobility (MRA) connectivity. 

In case Contacts Separation is required, please continue reading this guide. 

In scenarios 2 and 3, it is a common requirement to ensure a separated access to contacts and directories to the different departments-tenants included into the same shared instance; this is typically required for Corporate Directory access from IP Phones and for Jabber clients, both from the office or VPN and when in MRA.

In such situations, Imagicle Speedy can:

  • Replace existing Cisco UDS server and act as an alternate UDS server to provide each customer with the proper list of own Department-Tenant Internal Contacts on their Jabber Clients and other devices supporting UDS;
  • Replace existing Cisco Global Directory XML service to provide each customer with the proper list of own Department-Tenant Internal and External Contacts on their IP Phones; 

The following chapters explain how to configure the environment for proper contacts separation with all supported devices and scenarios.

Common Imagicle ApplicationSuite Configurations

In order to enable Imagicle Application Suite to deliver contacts separation through Speedy Directory service, it is required to access Speedy ⇒ Manage service menu option and set the specific flag, as per picture below.

Click “Save” at the bottom of the page to apply changes on the fly. In case of large directory, contacts split might requires some minutes.

Customer-Tenant based Contacts separation - DNS configuration

It is required to make sure that each customer-tenant in Shared Architecture infrastructure has an associated DNS entry pointing to Imagicle server’s IP address. (i.e. *.imagicle.mydomain.com).
This is done creating a new Sub-Domain entry into the Company Domain Manager, as in figure below.

Each Imagicle Application Suite Server must have an associated Host A entry inside the above created  Sub Domain. If High Availability is in place it is necessary to create two HA entries, one pointing to primary and one to secondary node. 

Host A entry name should be created using “*”, in order to match any FQDN in the Sub Domain resolving it with Imagicle Server IP address (in figure above 192.168.100.11)


UDS Internal Contacts Separation for Telepresence devices

This configuration applies to all video/telepresence devices registered to a Cisco Unified Call Manager, which use UDS (Cisco Unified Communications Manager User Data Service) protocol to retrieve internal contacts (DXxxx, MXxxx, SXxxx, Telepresence Codecs, Etc.). For Jabber clients, please read next chapter.

To enable contacts separation, Imagicle Speedy has to act as an alternate UDS Server to all the supported devices; to do so, it is required to specify UDS as alternate phone book server type (picture below, with Imagicle Server FQDN) in the CuCM, in their relevant device configuration page.

UDS Internal Contacts Separation for Jabber devices

This chapter explains how to enable contacts separation for both internal and external Speedy contacts. There are two different configurations, depending on your CUCM version in place. The following paragraphs describe both of them:

Cisco Unified Call Manager version >= 12.5

Configure UC Service(s) for each Jabber client type

CuCM 12.5 allows to create multiple UC Services, related to specific Jabber configurations to associate to different customers/tenant. Pls. access to this feature by logging into "Cisco Unified CM Administration" web portal and select User Management ⇒ User Settings ⇒ UC service

Click on Add New to create a new UC Service Type "Jabber Client Configuration (jabber-config.xml)"

If not yet available, you can start compiling the first part of UC Service with some parameters related to Cisco environment. What's important here is to specify the correct UDS directory search URL, to enable contact separation. See below sample:

Important parameters are the following:

  • UdsServer = DNS entry for specific customer, like customer1.imagicle.mydomain.com
  • DirectoryServerType = UDS
  • UseSipUriToResolveContacts = True
  • UdsPhotoUriWithToken = optional photo repository. See here.

Then you can add a "Client" section to enable Imagicle Speedy Gadget button, following the sample below:

Important parameters are the following:

  • Icon = Gadget icon URL, like https://customer1.imagicle.mydomain.com/jabber/speedy/speedy.png
  • URL = Gadget URL, like https://customer1.imagicle.mydomain.com/jabber/speedy?{UserID}&HideLocalContacts=0

Adding optional &HideLocalContacts=0 statement, you can enable Internal Contacts search within Speedy Jabber Gadget.

The parameter "internal" should be set to true to allow gadget tunneling over MRA. This is the correct configuration for gadgets associated to PC/Mobile Jabber clients.

For MacOS-based and Mobile Jabber clients, where gadget traffic MRA tunnelling is currently not supported, you need direct access to Imagicle Application Suite Web Portal on port 80 or 443 or 8443 (via Internet or via VPN). In order to force Jabber NOT to use MRA tunneling, you must set "internal" parameter to false. We suggest to create a specific profile for Jabber mobile/MAC.

Cisco Unified Call Manager version <= 12.0

You need to create a jabber-config.xml file for each customer/tenant, including the statements for UDS internal directory access and Speedy Gadget for external directories access.

Already existing and customized Jabber xml configuration file

In case a customized Cisco configuration file is already in place, it is recommended to modify this file adding the XML code lines highlighted in the example jabber config file below; these lines should be added between the <Directory> XML statements and <Client> XML statements:

<?xml version="1.0" encoding="UTF-8"?>
<config version="1.0">
 <Client>
  <jabber-plugin-config>
   <browser-plugin>  
    <page refresh="false" preload="false">
     <tooltip>Speedy</tooltip>
     <icon>http://customer1.imagicle.mydomain.com/jabber/speedy/speedy.png</icon>
     <url>http://customer1.imagicle.mydomain.com/jabber/speedy?{UserID}&amp;HideLocalContacts=0</url>
    </page>
   </browser-plugin>
  </jabber-plugin-config>
 </Client>
 <Policies>
   <DirectoryURI>mail</DirectoryURI>
   <EnableCallPickup>true</EnableCallPickup>
   <EnableGroupCallPickup>true</EnableGroupCallPickup>
   <EnableSIPURIDialling>true</EnableSIPURIDialling>
   <UserDefinedRemoteDestinations>true</UserDefinedRemoteDestinations>
   <Voicemail_Enabled>false</Voicemail_Enabled>
 </Policies>
 <Directory>
  <DirectoryServerType>UDS</DirectoryServerType>
  <UdsServer>customer1.imagicle.mydomain.com</UdsServer>
 </Directory>
</config>

Adding optional &amp;HideLocalContacts=0 statement, you can enable Internal Contacts search within Speedy Jabber Gadget. Ensure the protocol keywords 'http' or 'https' of the Imagicle URLs are written lowercase.

When you save amended jabber-config file, please give it a specific name dictated by customer name, like jabber-config-customer1.xml.

Not existing Jabber xml configuration file

In case no Jabber config file is in place or in use, it is possible to download a fresh one from Imagicle administrator's web portal ADMIN ⇒ Jabber. See below screenshot sample:

In Address field, please add the DNS entry related to specific customer/tenant.

Picture repository feature is optional. See here for further details.

Once file has been exported, you must edit it and add the following <Directory> statements to enable UDS search:

<?xml version="1.0" encoding="UTF-8"?>
<config version="1.0">
<Directory>
  <DirectoryServerType>UDS</DirectoryServerType>
  <UdsServer>customer1.imagicle.mydomain.com</UdsServer>
</Directory>
</config>

When you save amended jabber-config file, please give it a specific name dictated by customer name, like jabber-config-customer1.xml.

Configuration file upload

It is required to upload all above created Jabber configuration files into “CUCM TFTP File Management” and to restart CUCM TFTP service. The procedure is fully described here.

Finally, it is needed to fill “Cisco Support Field” into CuCM Jabber Desktop/Mobile phone devices, for all Tenant-Customer’s Users. See sample below

The final result is:

  • Internal contacts separation directly in standard Jabber search tab
  • External contacts separations from Imagicle Speedy gadget

Starting from Imagicle rel. 2020.Winter.1, it is also possible to enable contact search of both internal and external contacts by using existing standard "Contacts" button. Pls. read more here.

XML-based Internal/External Contacts Separation for IP Phones

This configuration applies to devices which use XML protocol (i.e. IP phones), where you can enable a dedicated Speedy Directory phone service to enable internal and external department and personal directories access and search.

First you need to enable Imagicle Internal Contacts access, hiding existing CUCM Global Directory access, as described in this page.

Speedy XML Phone Service creation is described here. Just remember to use DNS entry in phone service URL, instead of IAS IP address. See below sample:

http://speedy.imagicle.mydomain.com/fw/Apps/Speedy/xml/directories/default.aspx?name=#DEVICENAME#

No need to create a phone service for each customer.

MRA specific configuration

In case of MRA scenario, please apply Cisco Expressway-C configurations described here.

Article ID: 547
Last updated: 29 Apr, 2020
Revision: 11
Views: 1107
Print Export to PDF Subscribe Share
This article was:  
Prev   Next
Enabling Speedy Directories for Cisco Finesse Agents     Troubleshooting