cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
1483
Views
10
Helpful
6
Replies

EDI user photos - PhotoUriSubstitution issue

thorstenn
Level 4
Level 4

Hi,

i`m trying to implement user photos but its not working correct. I use EDI and the config looks like this:

<?xml version="1.0" encoding="utf-8"?>

<config version="1.0">

<CUCM>

   <PhoneService_UseCredentialsFrom>presence</PhoneService_UseCredentialsFrom>

</CUCM>

<Directory>

   <ConnectionType>1</ConnectionType>

   <PrimaryServerName>192.168.5.10</PrimaryServerName>

   <ServerPort1>389</ServerPort1>

   <SecondaryServerName>192.168.5.11</SecondaryServerName>

   <ServerPort2>389</ServerPort2>

   <UserAccountName>sAMAccountName</UserAccountName>

   <SearchBase1>ou=Users,ou=ou,dc=domain,dc=com</SearchBase1>

   <PhotoUriSubstitutionEnabled>true</PhotoUriSubstitutionEnabled>

   <PhotoUriSubstitutionToken>employeeID</PhotoUriSubstitutionToken>

   <PhotoUriWithToken>http://testing/employeeID.jpg</PhotoUriWithToken>

</Directory>

</config>

But it seems this is not working. Should "employeeID" work? If i browse directly to http://testing/1465745.jpg the photo is there. Is there a misconfig in the xml file? If i not include EDI it shuld use EDI by default, right?

Cheers

6 Replies 6

Jonathan Schulenberg
Hall of Fame
Hall of Fame

I think we have a documentation defect here. The newest documentation which doesn't show %% for EDI (it does for UDS) is a deviation from all previous versions. The release notes do not suggest this behavior was changed.

Setting Up URL Strings to Fetch Contact Pictures from Web Server

You can set up a parameterized URL string in the Photo field in the LDAP attribute map so that Cisco Jabber can fetch pictures from a web server instead of from the LDAP server. The URL string must contain an LDAP attribute with a query value containing a piece of data that uniquely identifies the photo of the user. Cisco recommends that you use the User ID attribute. However, you can use any LDAP attribute whose query value contains a piece of data that uniquely identifies the photo of the user.

Cisco recommends that you use %%%% as the substitution string. For example:

http://mycompany.example.com/photo/std/%%uid%%.jpg

http://mycompany.example.com/photo/std/%%sAMAccountName%%.jpg

You must include the double percent symbols in this string, and they must enclose the name of the LDAP attribute to substitute. Cisco Jabber for iPad removes the percent symbols and replaces the parameter inside with the results of an LDAP query for the user whose photo it resolves.

For example, if a query result contains the attribute "uid" with a value of "johndoe," then a template such as http://mycompany.com/photos/%%uid%%.jpg creates the URL http://mycompany.com/photos/johndoe.jpg. Cisco Jabber for iPad attempts to fetch the photo.

This substitution technique works only if Cisco Jabber can use the results of the query and can insert it into the template you specify above to construct a working URL that fetches a JPG photo. If the web server that hosts the photos in a company requires a POST (for example, the name of the user is not in the URL) or uses some other cookie name for the photo instead of the username, this technique does not work.

The uid attribute is only when using UDS (or OpenLDAP); this is not a valid Active Directory attribute.

So, try http://testing/%%employeeID%%.jpg

Please remember to rate helpful responses and identify helpful or correct answers.

Thanks for that Jonathan.

But it seems not to work, how can i check if the right URL is configured on the client? If i openthe jabber-config.xml i see the following in the web browser:

true

  employeeID

  http://testing/%%employeeID%%.jpg

Looks good?

Another strange think is that i can search the directory but i cannot add Users to my contact list, nothing is happen if i add a user to a group. Any suggestions?

Alright, I may have misspoke earlier. I made the mistake of looking at the Jabber Mobile documentation, not Jabber for Windows. What you had originally, without the %%, appears to be correct.

The next thing I can think of is that the employeeID attribute may not be replicated/indexed on the Global Catalog LDAP server. Depending whether you have the Schema Admin roll or not, you could add the employeeID attribute to the GC index. If you don't have the necessary AD permissions, you could have Jabber bind to a local DC on 389/636 instead of the GC on 3268/3269.

The ConnectionType element forces Jabber to a standard Domain Controller.

   1

Also, you should check to ensure that the updated XML file has been pulled down to the PC; it gets stored at:

%APPDATA%\Roaming\Cisco\Unified Communications\Jabber\CSF\Config

Please remember to rate helpful responses and identify helpful or correct answers.

Hi Jonathan,

thanks. That was a very good hint. We have added the attribute to the GC it was not added before.

I wait a day but no luck. I tried then for testing to make one picture with sAMAccountName.jpg and change the jabber-config.xml file to use this attribute. And this works.

But this is no option i have to use the employeeID.

Do you have any suggestion?

Cheers

Thorsten

Short update: Now it works. I saw this thread ->

https://supportforums.cisco.com/thread/2149035

and the first comment from "gwoolston" help me too.

I have to add:

employeeID

to the XML. Login and Logout of Jabber and the photos appears.

I thought this command should only be necessary if i use "Binary objects" as photo retrieval method and not with URI substitution ?

Anyway, hope this will help some one too.

Thanks for your help Jonathan

CHers

Thorsten

Hi ,

i tried with all the possibilites but no luck . I opend the sepeate thread for this .

https://supportforums.cisco.com/thread/2183735 Please check on this.

Thanks in Advance..

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: