Professional Documents
Culture Documents
com
www.mvatcybernet.com
Lync 2010 allows user to view photos of their contacts and to make their
own photos available to other users.
SCREENSHOT OF LYNC 2010 CLIENT SHOWING USER PHOTOS IN
THE CONTACT LIST
www.mvatcybernet.com
www.mvatcybernet.com
SCREENSHOT OF LYNC 2010 CLIENT CONFIGURED TO SHOW PICTURE
FROM WEB ADDRESS SHOW PICTURE FROM WEB ADDRESS
www.mvatcybernet.com
NOTE: IF THE CONTACT PHOTOS ARE REFERENCED VIA WEB ADDRESS,
BE ADVISED OF THE FOLLOWING:
External/federated contacts will be able to see the user photo
The size limit is dictated by the MaxPhotoSizeKB attribute in the
Lync Client policy the default value of the above attribute is 30KB
You are not restricted in image resolution outside the
MaxPtohoSizeKB limit
Both of the above options Default corporate picture and Show
picture from web address offered by Lync 2010 impose serious
limitation with respect to size and resolution of the photos as listed in the
Table below:
PHOTO SOURCE SIZE IN PIXELS SIZE IN KB
thumbnailPhoto up to 96 x 96
up to 100
web address
up to 96 x 96
30KB)
The thumbnailPhoto Active Directory attribute is the same source that is
used by Microsoft Outlook 2010 Client and Microsoft Exchange Server 2010
to display the user's Photo in Microsoft Outlook 2010. This attribute stores
a binary representation of the Photo.
www.mvatcybernet.com
Lync 2010 client does not offer a direct method of uploading a picture to
the thumbnailPhoto attribute. The following alternatives are available for
photo upload to Lync 2010 client as listed in Table below:
LYNC 2010 CLIENT PHOTO
UPLOAD OPTIONS
www.mvatcybernet.com
N/A
PhotoFromADOnly
Active Directory
AllPhotos
URL Defined
EXAMPLE
www.mvatcybernet.com
www.mvatcybernet.com
SCREENSHOT OF LYNC 2010 CLIENT CONFIGURED TO SHOW USER PHOTO FROM THUMBNAILPHOTO
ATTRIBUTE IN ACTIVE DIRECTORY REFERRED AS DEFAULT CORPORATE PICTURE
www.mvatcybernet.com
the address book availability setting of AddressBookAvailability in the
CsClientPolicy, because photos are not stored in the GalContacts.db
database. Lync 2010 client queries the Server by using the Address Book
Web Query (ABWQ) to retrieve photos. The queries include three
attributes as listed in the Table below:
QUERY ATTRIBUTE NAME QUERY ATTRIBUTE DESCRIPTION
PhotoHash
PhotoRelPath
PhotoSize
www.mvatcybernet.com
CLIENT SIDE PHOTO DOWNLOAD MANAGEMENT TRANSACTION STEPS
OVERVIEW SHOWN IN THE TABLE BELOW:
STEP: 1
Lync 2010 Client sends query to the Server asking the Address Book
Web Query (ABWQ) to return the values for the following attribute
sets: PhotoRelPath, PhotoSize, and PhotoHash.
STEP: 2
Lync 2010 Client checks the returned attribute values against the attribute
values the client obtained from in-band provisioning previously and if the
values are different, it retrieves the photo of the signed-in user by using
an HTTP GET request.
STEP: 3
Lync 2010 Client caches the photo of the signed-in user locally. The client
also store the attribute values for PhotoRelPath, PhotoSize,
PhotoHash and Timestamp.
STEP: 4
Lync client checks with the Lync Server by default every 24 hours from
the time client caches the user photo, asking the Lync Server to compare
the Client cached User PhotoHash value with Servers cached User
PhotoHash value. The values provided by the Server allows the Lync
Client to determinate if the user photo has changed and if the photo did
change than the Lync Client update its cache with the new user photo and
resets the timestamp.
www.mvatcybernet.com
When Lync 2010 client determines that it needs a photo, it issues a search
request to the Lync Server. In the search request, it asks Address Book
Web Query (ABWQ) to return a set of attributes including
PhotoRelPath, PhotoSize, and PhotoHash.
THE FOLLOWING IS AN EXAMPLE OF THE RETURNED ATTRIBUTES:
<Attribute>
<Name>PhotoRelPath</Name>
<Value>efa6096aed2746cb9ab2037f7dbdde9d.f2eeeb5946db54a7
aa607ecd3ae09d
95.photo</Value>
<Values
xmlns:d6p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays"
i:nil="true" />
</Attribute>
<Attribute>
<Name>PhotoHash</Name>
<Value>f2eeeb5946db54a7aa607ecd3ae09d95</Value>
<Values
xmlns:d6p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays"
i:nil="true" />
</Attribute>
<Attribute>
<Name>PhotoSize</Name>
<Value>4620</Value>
<Valuesxmlns:d6p1="http://schemas.microsoft.com/2003/10/Serialization
/Arrays"
i:nil="true" />
</Attribute>
www.mvatcybernet.com
The Lync Client checks the PhotoSize returned against the
MaxPhotoSizeKB it obtained from in-band provisioning. If the
PhotoSize multiplied by 1024 is less or equal to MaxPhotoSizeKB, the
client will retrieve the photo by using an HTTP GET request using the URL
https://<absInternalServerUrl>"/"<PhotoRelPath> or
https://<absExternalServerUrl>"/"<PhotoRelPath>, where the base URLs,
https://<absInternalServerUrl> and https://<absExternalUrl>, are
obtained through in-band provisioning.
The client then caches the photo of the signed-in user locally. The client
store the PhotoRelPath, PhotoSize, and PhotoHash in the cached
Address Book Service (ABS) entry for the user. It also stores a
timestamp that indicates when the photo was downloaded from the Lync
Server. This cached data is located
in %userprofile%\AppData\Local\Microsoft\Communicator\sip_<SIP
URI>\ABS_<SIP URI>.cache.
To avoid downloading the user photo every time, Lync client needs to use
the photo, the photo is cached. Lync Client checks with the Lync Server by
default every 24 hours from the time the client caches the user photo, by
sending a request to the Server asking to compare the Clients cached User
PhotoHash value with Servers cached User PhotoHash value. The
results allow the Client to determinate if the user photo has changed and if
the user photo did, change than the Lync Client will update its cache with
the new user photo and will resets the timestamp.
www.mvatcybernet.com
STEP: 2
Address Book Service (ABS) receives a request for a photo from a
client, and checks if it already has the photo in its cache. If the received
PhotoHash value does not match the hash value in the filename the
ABS get the photo from the closest Global Catalog Server.
STEP: 3
Address Book Service (ABS) then computes the hash, stores the photo
in the cache, and returns the values of PhotoHash, PhotoRelPath, and
PhotoSize to the client.
STEP: 4
Lync Client then update its cache with the new user photo and resets the
timestamp.
STEP: 5
Address Book Service (ABS) then deletes all cached photos within the
scheduled nightly maintenance window.
www.mvatcybernet.com
On the Server side, the Address Book Service (ABS) is responsible for
handling photos. The component responsible for this functionality is in
ABWQ and is exposed through the Distribution List Expansion (DLX)
web service. The Server uses a cache to limit the load on the Active
Directory Global Catalog Servers when requesting photos read from the
thumbnailPhoto attribute.
When the Address Book Service (ABS) receives a request for a photo
from a client, it first checks if it already has the photo in its cache. The
photos are cached in the same folder as the address book files, <Lync
Server filestore>\<WebServer Service
Id>\ABFiles\<GUID>\<GUID>. It is the folder with all zeroes in the
GUID. The photos are stored as individual files with filenames in the
format: <ContactId>.<PhotoHash>.photo
The ContactId is an internal identifier for the user that is used by both
client and server. To determine which user this ContactId corresponds to,
dump the ABS database by using the abserver.exe tool: abserver dump <abs file>. The output provides the correlation between the
ContactId with the corresponding user identified by the value of the
msRTCSIP-PrimaryUserAddress attribute. The tool is part of Lync
Server 2010 and is located at C:\Program Files\Microsoft Lync Server
2010\Server\Core.
The client sends the ContactId and the PhotoHash value of the photo in
the search request to the server. If this PhotoHash value matches the
hash value in the filename, <ContactId>.<PhotoHash>.photo, ABS
returns the PhotoRelPath value to the file,
<ContactId>.<PhotoHash>.photo, because the picture has not
changed.
www.mvatcybernet.com
If this PhotoHash value does not match the hash value in the
corresponding filename or the photo has not yet been cached, the ABS will
get the photo from the local Active Directory Global Catalog.
ABS then computes the hash, stores the photo in the cache, and returns
the values of PhotoHash, PhotoRelPath, and PhotoSize to the client.
Address Book Service (ABS) deletes all cached photos in the nightly
maintenance window. Check Event ID 21056 in the event log and look
for "Number of cached photos deleted". This means that it can take up
to 24 hours before changed photos appear in the photo cache. To expedite
this process delete the cached photo for the given user or issue the
PowerShell command Update-CsAddressBook. Photos Referenced in
Presence Information also contains hash value. Lync 2010 uses that hash
value to determine if it needs to get a new photo for a given user. The
difference between a photo referenced in presence information and photo
stored in Active Directory is that Lync 2010 is automatically notified of
changes to the photo configuration through the presence information.
Lync 2010 displays low-resolution user photos, because the photo sources
used by Lync 2010 impose a size limitation on stored photos. Lync 2010
does not offer support for High Definition Photos.
NOTE: The High Definition Photos feature requires the users Mailbox to
be located on Exchange 2013 and the users Lync account to be part of
Lync Server 2013 pool. If those conditions are not satisfied, the user
always will use the thumbnailPhoto attribute from ADDS or Show
www.mvatcybernet.com
www.mvatcybernet.com
address photo hosting solutions only, but as before those two options
offer serious limitation with respect to size and resolution of the photos.
Referencing a user photo via a web address option is still available in
Lync 2013, but is not enabled by default as it is in Lync 2010 Client.
SCREENSHOT OF LYNC 2013 CLIENT SHOWING THE DEFAULT PICTURE OPTIONS THE
SHOW PICTURE FROM A WEB SITE OPTION IS NOT AVAILABLE BY DEFAULT.
The Show picture from a web site becomes available on Lync 2013
Client after the Administrator enables the option via Lync PowerShell. To
enable Show picture from a web site on Lync 2013 client, two
conditions must be satisfied:
Lync 2013 client must run a minimum update from September 2013.
Administrator must enable it via Client Policy by running the Lync
PowerShell command as shown below:
www.mvatcybernet.com
$pe=New-CsClientPolicyEntry -Name EnablePresencePhotoOptions -Value
True
$po=Get-CsClientPolicy -Identity Global
$po.PolicyEntry.Add($pe)
Set-CsClientPolicy -Instance $po
SCREENSHOT OF LYNC 2013 CLIENT SHOWING SHOW PICTURE FROM A WEB SITE OPTION AVAILABLE
AFTER ENABLEPRESENCEPHOTOOPTIONS POLICY IS ENABLED BY AN ADMINISTRATOR.
When the users photo is uploaded to users mailbox, Exchange 2013 will
automatically create lower resolution photos to support all client
applications, additionally will also update the users photos in ADDS.
The pixel resolutions supported ranges are from 4848 to 648648. Out
of these, only three are used and they are listed in the Table below:
www.mvatcybernet.com
RESOLUTION APPLICATION
4848
thumbnailPhoto attribute in Active Directory
9696
648648
Any Exchange 2013 mailbox enabled user is allow to upload their own
High-Resolution Photo via Outlook Web Access, or through the Lync 2013
client options menu. The recommended photo sizes for an Exchange 2013
User Mailbox hosted photo are listed in the Table below:
PHOTO SIZE PHOTO COLOR DEPTH IMAGE SIZE IN MB
FILE FORMAT
648 x 648
JPEG
24
20
Each JPEG photo with a size of 648 x 648 and a depth of 24 bits results
in a file size of approximately 240 kilobytes. That means approximately 1
MB of disk space for every four photos.
SCREENSHOT OF LYNC 2013 CLIENT
WITH HIGH-RESOLUTION PHOTO
www.mvatcybernet.com
It is important to note when an image is uploaded to a user mailbox; a
4848 pixels thumbnailPhoto copy will also be placed in ADDS
overwriting any existing 9696 pixels photos that were previously there.
This matters only if there are existing Lync 2010 legacy clients because the
legacy clients will still reference ADDS for their contact photos.
Uploading High-Resolution Photo to the users mailbox located on
Exchange 2013 will improve the users picture quality and the user
experience for all Lync Services and for all Lync 2013 and Exchange 2013
users. In an environment consisting of Exchange 2010 and Lync 2010 and
Lync 2013 and Exchange 2013 the legacy user experience will actually
deteriorate because their original Photo of 9696 pixels they had in
ADDS was replaced by the new 4848 thumbnailPhoto due to the fact
that the HD User Photo was uploaded to the user Mailbox which resulted of
creating a new 4848 thumbnail images replacing the existing 9696
user photo. If is necessary particular users to continue using legacy
clients, than re-import 9696 photos in ADDS for those users after the
HD User Photos upload is completed for optimal legacy Client photo
experience.
Regardless of which implementation method is used for the contact photos,
overriding control rests with the Lync Client Policy that is applied to the
users. There are two policy settings that control the user photo experience
and they are listed in the Table below:
POLICY NAME
CsClientPolicy -DisplayPhoto
POLICY DESCRIPTION
Controls the Photo Source used to
display the user Photo
CsClientPolicy -MaxPhotoSizeKB Controls the Maximum Photo Size in
KB. The default value of this policy is
set to 30KB
If a new photo was uploaded, but the old ADDS photo is displayed instead
of the glossy HD User Photo, the reason for that is most likely the Lync
LYNC 2010 & 2013 USERS PHOTO SOURCE LOCATIONS | PAGE 23 OF 26
www.mvatcybernet.com
Client Policy is set to PhotosFromAdOnly. By default, the Global Lync
2013 Client Policy will allow all photos, if it is not modified.
The second setting of importance is the -MaxPhotoSizeKB attribute. This
most commonly affects environments where there is use of web
address source based photos. Exchange 2013-hosted images are not
affected by this policy setting.
This policy dictates the maximum size of a photo and has a default value
limit of 30KB. The default value of 30KB can be change by using the Lync
PowerShell command listed below:
Set-CsClientPolicy -Identity Global -MaxPhotoSizeKB 100
(-MaxPhotoSizeKB must be numeric value)
www.mvatcybernet.com
SUMMARY
SERVER SIDE LIMITATIONS
The High-Definition User Photo feature requires the User Mailbox to
be located on Exchange 2013 and the User Lync account to be in Lync
2013 Pool.
High-Definition User Photo feature is not supported in an environment
where Lync Server 2010 and Exchange Server 2010 are used.
High-Definition User Photo feature is not supported in an environment
where Exchange Server 2010 and Lync Server 2013 are used.
High-Definition User Photo feature is not supported in an environment
where Lync Server 2010 and Exchange Server 2013 are used.
Users with Mailboxes on Exchange 2010 will always use the
thumbnailPhoto attribute from ADDS as their user Photo source.
Users with Mailboxes on Exchange 2013 and Lync Client account located
in Lync Server 2010 Pool will always use the thumbnailPhoto attribute
from ADDS as their user Photo source.
www.mvatcybernet.com
size.
User Photo source set to Show picture from a web site will allow
external/federated contacts to see the user photo.
User contact photo hosted in the users mailbox located on Exchange
2013 and the Lync Client is part of Lync 2013 Pool the High-Definition
User Photo feature is supported and the maximum allowed photo size is
648648 pixels with a color depth of 24 bits and up to 20MB image size.
www.mvatcybernet.com
Hide my picture
Show my picture
Edit or Remove Picture
NOTE: Show picture from a web site it is not default picture option
in Lync 2013 Client, this option becomes available only if Lync 2013 Client
runs a minimum update from September 2013 and it must be enable by
an Administrator via Lync PowerShell by setting the
EnablePresencePhotoOptions policy value to true.
Lync 2013 client offers direct method to upload user Photo via Lync Client
Options or Outlook Web App.
www.mvatcybernet.com
If connectivity between Lync Server and Exchange Server are lost, the
users thumbnailPhoto will be displayed, to internal Users only, and will
results of showing low-resolution photo.
High-Resolution Photo 648648 is shown only in Lync 2013 Client and
the Microsoft Lync 2013 Web App Services.
High Resolution User Photos will appear in Lync 2013 meetings when an
active.
Speaker does not have video enabled. Also moving the mouse over
thumbnail.
Photo in the gallery will display the High-Resolution Photo.