Not all users' Lync 2010 or 2013 avatars are displaying on the BlackBerry Enterprise IM app for BlackBerry 10 smartphones

Article ID: KB35950

Type: Support Content

Last Modified: 07-22-2014

 

Product(s) Affected:

  • BlackBerry Enterprise Service 10
  • Enterprise Instant Messaging for BlackBerry 10
CollapseEnvironment
  • BlackBerry Enterprise Service 10 version 10.1.0 to 10.2.2
  • BlackBerry Collaboration Service 10.2.0 to 10.2.1
  • BlackBerry Enterprise IM app version 3.1.0.27 to 3.1.1.6
  • Microsoft Lync 2010 to 2013
  • JI 672117
  • JI 673031
  • JI 680226

 

CollapseOverview

When a Lync 2010 or 2013 user logs into the BlackBerry Enterprise IM app on the BlackBerry 10 smartphone, some users' avatars are displayed within the app, and some are not.

The contacts' avatars are assigned via Microsoft Active Directory (within the Lync 2010 desktop client, the image is assigned via Default corporate picture) rather than a web address.

The BBIM logs from the BlackBerry Collaboration Service will only show the interaction of obtaining the contacts' avatars when the logging is increased to <DEV > level logging as per KB04939.

<DEV >:<LAYER = BBIM, EIM: HTTP traffic: 192.168.0.1 -> GET /eim/me/ping, X-RIM-Token: ...4f2e-a00d-52a8cf9fca12, X-RIM-Req-Params: pin=12345678;reqid=60;seqid=33, body: {}>
<DEV >:<LAYER = BBIM, EIM: HTTP traffic: 192.168.0.1 <- GET /eim/me/ping, 200, X-RIM-Seqid: 34, X-RIM-Token:...4f2e-a00d-52a8cf9fca12, pin:12345678, body: [{"locationMap":{},"photoHash":"8d58e194bdb706612f675abf4acd9585","statusIcon":2,"eventName":"presenceUpdate","locationAction":-1,"uri":"
user02@example.com","isMobile":false,"isAvailable":true,"note":"","iconType":-1},{"locationMap":{"locationMessage":"here somewhere"},"statusIcon":-1,"eventName":"presenceUpdate","locationAction":1,"uri":" user02@example.com","iconType":-1},{"addressbookIds":[5,2],"originId":4,"eventName":"addressBookUpdate","addressbookValues":["+15195551212","user02@example.com"],"uri":"user02@example.com"},{"etag":"9C 15 F8 9B 1A 93 25 0B 96 4E 33 1E BA 4D D2 56 2F CE E0 D8 ","sourceNetwork":2,"presenceAccessLevel":200,"originId":0,"name":"User02, FirstName","eventName":"contactUpdate","uri":" user02@example.com "}]>
<DEV >:<LAYER = BBIM, EIM: HTTP traffic: 192.168.0.1 -> GET /eim/me/ping, X-RIM-Token: ...4f2e-a00d-52a8cf9fca12, X-RIM-Req-Params: pin=12345678;reqid=61;seqid=34, body: {}>
<DEV >:<LAYER = BBIM, EIM: HTTP traffic: 192.168.0.1 -> POST /eim/me/displayimage, X-RIM-Token: ...4f2e-a00d-52a8cf9fca12, X-RIM-Req-Params: pin=12345678;reqid=62;seqid=34, body: {"contactIds":["
user02@example.com "]}>
<DEBUG>:<LAYER = BBIM, DEVICEPIN = 12345678, USERID = u129, THREAD = http-nio-8181-exec-1, TAG = 1070992007, EVENT = INCOMING, TYPE = 48, METHOD = onDisplayImageRequest, SERVICEID = 0, SIZE = 0>
<DEV >:<LAYER = BBIM, [OCSC] Received request to query display images with parameters sipUri=sip:user01@example.com, reqId=18, contactIds=sip:user02@example.com>
<DEV >:<LAYER = BBIM, [BBCS] Invoked remote OCSC method, displayImageRequest, response received:>
<DEV >:<LAYER = BBIM, {>
<DEV >:<LAYER = BBIM, "reqId": 18,>
<DEV >:<LAYER = BBIM, "sipUri": "sip:user01@example.com">
<DEV >:<LAYER = BBIM, }>
<DEV >:<LAYER = BBIM, [OCSC] rawXml=<contactCard xmlns="
http://schemas.microsoft.com/2006/09/sip/contactcard"><title updated="2014-02-07T00:00:00Z">Sr. Manager IT Operations</title><delimiter xmlns:auto-ns1=" http://schemas.microsoft.com/2006/09/sip/contactcard " xmlns=" http://schemas.microsoft.com/2006/09/sip/commontypes"></delimiter><delimiter xmlns:auto-ns1=" http://schemas.microsoft.com/2006/09/sip/contactcard " xmlns=" http://schemas.microsoft.com/2006/09/sip/commontypes"></delimiter><displayADPhoto>true</displayADPhoto><photo type="enterprise" updated="2014-02-20T12:51:44Z"><uri></uri><hash>8d58e194bdb706612f675abf4acd9585</hash></photo></contactCard>>
<DEV >:<LAYER = BBIM, [OCSC] Display image for sip:user02@example.com found at:>
<DEV >:<LAYER = BBIM, EIM: HTTP traffic: 192.168.0.1 <- GET /eim/me/ping, 200, X-RIM-Seqid: 35, X-RIM-Token:...4f2e-a00d-52a8cf9fca12, pin:12345678, body: [{"displayPhoto":true,"photoType":"enterprise","photoHash":"8d58e194bdb706612f675abf4acd9585","eventName":"displayImageUpdate","uri":"
user02@example.com "}]>
<DEV >:<LAYER = BBIM, EIM: HTTP traffic: 192.168.0.1 -> GET /eim/me/ping, X-RIM-Token: ...4f2e-a00d-52a8cf9fca12, X-RIM-Req-Params: pin=12345678;reqid=63;seqid=35, body: {}>

The body line above that shows displayPhoto and photoType information should also have a photoContent item.

CollapseCause

Cause 1:

The BlackBerry Collaboration Service queries Microsoft Active Directory via a simple LDAP call to retrieve the thumbnailPhoto attribute based on the msRTCSIP-PrimaryUserAddress of the contact.
If the query does not return anything, that status is not reflected in the log, and therefore the photoContent information is not included in the return data to the Enterprise IM app on the BlackBerry 10 smartphone.

The simple LDAP query does not recurse into child domains of the parent Microsoft Active Directory domain. In the above example, user02@example.com exists in a child domain.

Cause 2:

The BlackBerry Collaboration Service successfully retrieved the thumbnailPhoto attribute and submitted it to the Enterprise IM application (photoContent information populated), but the image was not rendered.

Using a third party tool to integrate with Active Directory and display user images, when connecting to this particular user object in question, the third party tool crashes. This tells us that the image in Active Directory is corrupted in some manner.

The desktop client may still display an image for this contact, but the desktop client caches it locally. The visible image may be a previously functional image before the corruption.

Cause 3:

The photoType value returned from Lync 2013 shows exchange instead of enterprise.

<DEV >:<LAYER = BBIM, EIM: HTTP traffic: 192.168.0.1 <- GET /eim/me/ping, 200, X-RIM-Seqid: 5, X-RIM-Token:...4ac2-9e25-a19ee0e36480, pin:12345678, body: [{"displayPhoto":true,"photoType":"exchange","photoHash":"\"33DBE7E7\"","eventName":"displayImageUpdate","uri":"user01@example.com"}]>

 

CollapseResolution
This is a previously reported issue that is being investigated by our development team. No resolution time frame is currently available.
CollapseWorkaround

Workaround for Cause 2:

Clear the thumbnailPhoto content manually from the Active Directory user object, then replace it using a third party tool.

Workaround for Cause 3:

photoType exchange is not currently supported by the BlackBerry Collaboration Service.

CollapseAdditional Information

Within the information sent to the BlackBerry 10 smartphone from the BlackBerry Collaboration Service, these XML items can be seen:

displayPhoto : true (this represents if the contact has set the Do not show my picture setting or not)

photoType : enterprise (this shows that the contact's picture is set in Active Directory within the thumbnailPhoto attribute)

photoHash : (this is a hash of the image, and is used by clients to determine if the image has changed or not. If the hash has changed, the image itself has changed, and the client should request the new image to be retrieved. This is not the image content itself.)

photoContent : (this would be the actual bitmap content of the image returned from Microsoft Active Directory)

A way to load the thumbnailPhoto content via Active Directory Powershell :

$photo=[byte[]](get-content c:\pathtoimage\avatar.jpg -encoding byte)
Set-ADUser -Server domaincontrollermachinename user01 -Replace @{thumbnailPhoto=$photo}

Disclaimer

By downloading, accessing or otherwise using the Knowledge Base documents you agree:

   (a) that the terms of use for the documents found at www.blackberry.com/legal/knowledgebase apply to your use or reference to these documents; and

   (b) not to copy, distribute, disclose or reproduce, in full or in part any of the documents without the express written consent of RIM.


Visit the BlackBerry Technical Solution Center at www.blackberry.com/btsc.