Contact photo retrieval
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.
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.
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:
The jabber-config.xml file is located on your windows client in the following location:
1. EDI contact photo retrieval
This describes how Cisco Jabber for Windows retrieves contact photos if you use EDI or another LDAP directory.
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,
Specify the URL and the dynamic token as the value of the PhotoUriWithToken parameter.
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:
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:
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,
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:
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,
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:
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.
For more information, see the Jabber for windows administration guide, "contact photo retrieval" section:
QA engineer, UC clients.
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
I had to add in
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
Hope this helps someone.
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
In your post you state that you had to add
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.
It should be nested in the
Still not having any luck:
This is what i have:
Why doesnt this just pull from the CUPS server like the other clients?
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,
My issue was resolved by creating the jabber-config.xml with the generator.
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?
<PrimaryServerName >ip of my AD server </PrimaryServerName>
<BDIPresenceDomain>Presence Domain Name</BDIPresenceDomain>
<BDIPrimaryServerName> ip of AD server </BDIPrimaryServerName>
<BDIConnectionUsername> my AD account </BDIConnectionUsername>
<BDIConnectionPassword> my AD password </BDIConnectionPassword>