cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
59797
Views
10
Helpful
11
Replies

Having problems getting photos to display on the Jabber for Windows client?

jskehill
Cisco Employee
Cisco Employee

Contact photo retrieval

Summary:

We have found that one of the most common deployment issues experienced by Jabber for Windows Beta customers is around downloading and displaying photos for the user's contacts. Some customers have reported that they cannot get photos to display on Jabber without doing some extra configuration.

Here are some notes that will hopefully simplify the process of downloading and displaying photos on the Jabber for windows client.

Directory types:

There are two broad types of directory integration for Jabber for Windows:

1. EDI: Enhanced Directory Integration (where Microsoft AD or some other type of LDAP is used as the directory)

2. UDS: User Data Service (where the directory is integrated with the Cisco Communications Manager server.)

We will describe how to download and display photos on the win Jabber client when using either of EDI or UDS directory integration.

NOTE:

EDI is the default directory type. If the admin wants to set the directory integration type for Jabber to UDS, you must add the following line to the jabber-config.xml file on the client windows machine:

<DirectoryServerType>UDS</DirectoryServerType>

The jabber-config.xml file is located on your windows client in the following location:

%appdata%\Cisco\Unified Communications\Jabber\CSF\Config.

1. EDI contact photo retrieval

This describes how Cisco Jabber for Windows retrieves contact photos if you use EDI or another LDAP directory.

Retrieval methods

Cisco Jabber for Windows retrieves and displays contact photos with the following 3 methods:

1.1 URI substitution

Cisco Jabber for Windows dynamically builds a URL to contact photos with a directory attribute and a URL template.

Use this method if your AD objects do not contain the embedded photos, but rather the photos are stored on a web server and can be accessed through a URL.

To use this method, you need to set values in your jabber-config.xml configuration file.  ( The jabber-config.xml file is located on your windows client in the following location: %appdata%\Cisco\Unified Communications\Jabber\CSF\Config)

For photo URI substitution, set the following values in your jabber-config.xml configuration file.

•a.       Specify a directory attribute to use as a dynamic token as the value of the PhotoUriSubstitutionToken Parameter. For example,

<PhotoURISubstitutionEnabled>True</PhotoURISubstitutionEnabled>

<PhotoUriSubstitutionToken>sAMAccountName</PhotoUriSubstitutionToken>

•b.     

Specify the URL and the dynamic token as the value of the PhotoUriWithToken parameter.

For example,

<PhotoUriWithToken>http://staffphoto.example.com/sAMAccountName.jpg</PhotoUriWithToken>.

With the example values in the preceding steps, the sAMAccountName attribute might resolve to msmith in your directory. Cisco Jabber for Windows then takes this value and replaces the token to build the following URL:

http://staffphoto.example.com/msmith.jpg

NOTE: The administrator should make the config file available on the  TFTP server  that Jabber points to so that it will be downloaded  automatically to the client each time that Jabber starts. More information can be found on the jabber-config.xml file in the official documentation:

http://www.cisco.com/en/US/docs/voice_ip_comm/jabber/Windows/9_0_1/b_jabber_win_icg_chapter_0100.html#task_0873224812C048CA94DA286CD53F3FF6

1.2 Binary objects

Cisco Jabber for Windows retrieves the binary data for the photo from your database.

Use this method if the AD user object contains the embedded image, eg the "jpegPhoto" or  "thumbnailPhoto" attributes for user "msmith" stores the actual image within the AD object.

To use this method to retrieve contact photos, specify the attribute that contains the binary data as the value of the PhotoSource parameter in the jabber-config.xml configuration file. For example,

<PhotoSource>jpegPhoto</PhotoSource>

Or alternatively,

<PhotoSource>thumbnailPhoto</PhotoSource>

Tip: if setting the photosource to be jpegPhoto or thumbnailPhoto in this fashion, you should ensure that these attributes are added to the Global Catalog on the Active Directory.

1.3. PhotoURL attribute

Cisco Jabber for Windows retrieves a URL from a directory attribute.

Use this method if your AD objects do not contain the embedded photos,  but rather the photos are stored on a web server and can be accessed  through a URL. Also, each of the users on the AD directory will need to have their photoUri attribute populated with the correct URL string where their photo can be found.

To use this method to retrieve contact photos, specify the attribute that contains the photo URL as the value of the PhotoSource parameter in the jabber-config.xml  configuration file. For example:

<PhotoSource>photoUri</PhotoSource>

2. UDS contact photo retrieval

This topic describes how Cisco Jabber for Windows retrieves contact photos if you use UDS as your directory service.

UDS dynamically builds a URL to contact photos with a directory attribute and a URL template.

To resolve contact photos with UDS, you specify the format of the contact photo URL as the value of the

PhotoUriWithToken parameter. You also include a %%uid%% token to replace the contact user name in the URL. For example,

<PhotoUriWithToken>http://server_name.domain/%%uid%%.jpg</PhotoUriWithToken>

UDS substitutes the %%uid%% token with the value of the userName attribute in UDS. For example, a user named Mary Smith exists in your directory and the value of the userName attribute for Mary Smith is msmith.

To resolve the contact photo for Mary Smith, Cisco Jabber for Windows takes the value of the userName

attribute and replaces the %%uid%% token to build the following URL:

http://staffphoto.example.com/msmith.jpg

File types:

Cisco Jabber for Windows can display photos in most common file formats, including jpg, png, and bmp. The best dimensions for contact photos in Cisco Jabber for Windows are 128 by 128 pixels. Jabber automatically resizes images larger than 128 by 128 pixels.

More information:

For more information, see the Jabber for windows administration guide, "contact photo retrieval" section:

http://www.cisco.com/en/US/docs/voice_ip_comm/jabber/Windows/9_0_1/b_jabber_win_icg_chapter_0100.html#concept_0C0D101144334F1E8B3BD339F452B509

Joe Skehill

Jskehill@cisco.com

CMBU,

QA engineer, UC clients.

11 Replies 11

gwoolston
Level 1
Level 1

Hi There,

I had a lot of trouble trying to configure this in our environment. We are using a 'custom' attribute for the URL substution in our case the AD attribute was 'employeeID' in addtion to

True

employeeID

http://staffphoto.example.com/employeeID.jpg

I had to add in

employeeID

Infact mapping ANY attribute to employeeID would cause it to work. If you don't then Jabber doesn't seem to query for employeeID in it's LDAP request and there for it can't substitute it into the URL. The exact example given would work because sAMAccountName is already known.

Hope this helps someone.

Cheers,

Giles

Steps to synchronize the photo attribute to the global catalog.

on the AD, go to the run menu and type mmc to launch the console UI
then go to file - add remove snap in 
select "active directory schema" and click add. 
now you should have a window with classes and attributes on LHS 
expand the attributes to view all available attributes in the system
right click on the attribute you want (eg jpegPhoto ) and select properties 
then check the box for "replicate in global catalog" and save

Giles,

In your post you state that you had to add

employeeID

and after that it workded?

Where in the jabber-config.xml did you put it?

We are using some of the same but just a different name for the atribute and whatever I do it wont work.

thannks,

Alexander

Hi Alexander,

It should be nested in the tags as below.

  EDI

  1

  True

  employeeID

  http:///employeeID.jpg

  OU=Users,OU=,DC=,DC=

  employeeID

  ipPhone

  telephoneNumber

  mobile

   presence

Cheers,

Giles

Still not having any luck:

This is what i have:

  EDI

  1

  True

  employeeID

  http://10.131.241.129/%%sAMAccountName%%.jpg

  OU=Users,OU=,DC=,DC=

  employeeID

  ipPhone

  telephoneNumber

  mobile

   presence

Why doesnt this just pull from the CUPS server like the other clients?

There is something wrong with your URL. If your photo's on the webserver are employeeID.jpg then you need to change sAMAccountName to employeeID in the URL. Or vice versa.

employeeID

  http://10.131.241.129/%%employeeID%%.jpg

Or

sAMAccountName

  http://10.131.241.129/%%sAMAccountName%%.jpg

Cheers,

Giles

aditya deshmukh
Level 1
Level 1

Hi,

Is their any feature to upload the contact photo from the Local PC on which Cisco Jabber is installed instead of fatching the photo from AD  ???

Thnx & Rgds,

Aditya

I am having the same trouble.

 

1

True

    sAMAccountName

PrimaryServerName>X.X.X.X

     389

    jpegPhoto

 

My issue was resolved by creating the jabber-config.xml with the generator.

https://supportforums.cisco.com/docs/DOC-25778

ekpemhi.ojeifo
Level 1
Level 1

Hi,

Can I use the binary objects configuration in 1.2 above considering that we use both EDI and UDS?

csrlima
Level 3
Level 3

Hi ,

how can i troubleshoot this (wireshark , rtmt traces , jabber logs) ? My jabber client dont get photos , i tryed with an 3 party ldap software and i can see photos in "photo" field and i have also an thumbnailPhoto field , both binnary atribute type. As i know i have AD server on-premises but photos are archieved in Ofice365.

My jabber-config.xml is this and i upload to my cucm tftp server and restart tftp service after that, and still dont get photos in my jabber windows ou jabber Android. Any Ideas?

<Directory>
      <DirectoryServerType>EDI</DirectoryServerType>
    <ConnectionType >1</ConnectionType>
    <PhotoURISubstitutionEnabled>True</PhotoURISubstitutionEnabled>
<PhotoUriSubstitutionToken>sAMAccountName</PhotoUriSubstitutionToken>
    <PrimaryServerName >ip of my AD server </PrimaryServerName>
    <ServerPort1>389</ServerPort1>
    <UseWindowsCredentials>1</UseWindowsCredentials>
    <SearchBase1>OU=Users,OU=LISBON,DC=domain,DC=com</SearchBase1>
        <BDIPresenceDomain>Presence Domain Name</BDIPresenceDomain>
        <PhotoSource>photo</PhotoSource>
        <BDIEnableTLS>False</BDIEnableTLS>
<BDILDAPServerType>AD</BDILDAPServerType>
<BDIPrimaryServerName> ip of AD server </BDIPrimaryServerName>
<BDIServerPort1>3268</BDIServerPort1>
<BDIUseJabberCredentials>False</BDIUseJabberCredentials>
<BDIConnectionUsername> my AD account </BDIConnectionUsername>
<BDIConnectionPassword> my AD password </BDIConnectionPassword>
<BDIPhotoSource>thumbnailPhoto</BDIPhotoSource>
  </Directory>

Getting Started

Find answers to your questions by entering keywords or phrases in the Search bar above. New here? Use these resources to familiarize yourself with the community: