Contacts in Lync

[This is preliminary documentation and is subject to change.]

Learn about the Microsoft Lync 2013 Preview classes and enumerations that encapsulate all of the attributes of a Lync 2013 Preview contact. A contact is a person who can sign in to Lync 2013 Preview or another public IM connectivity (PIC) client, and is discovered through the Lync 2013 Preview search feature. Once found, the person is represented in the API as a contact and can be added to the Lync contact list.

The Microsoft.Lync.Model.Contact class and related classes encapsulate the following features:


Features and attributes


The contact.


The kind of contact. A contact is typically a person but can also be an automated attendant, a bot, or a hunt group.


Contact availability. Enumerates the ways or “states” in which a contact is available for a conversation. Availability states range from offline through free to have a conversation. Intermediate states include busy and do-not-disturb.


Contact calendar state. Enumerates the scheduled activity states that a contact can add to their Microsoft Outlook calendar. These time and date based calendar states are aggregated with the contact availability states that are published by the contact to present a complete view of the contact’s availability.


Contact conversation mode capabilities. Enumerates the modes in which a contact can participate in a conversation. These capabilities are published by a contact when a capability changes. For example, if a contact is available only through a mobile phone, the collection of contact capabilities does not include a capability enumerated by ContactCapabilities.CaptureInstantMessage or ContactCapabilities.RenderInstantMessage.


Contact endpoints. Represents a device on which a contact can be available. These devices include telephone numbers and the Lync client. For example, the collection of a contact’s endpoints can include a mobile phone number that is enumerated by ContactEndpointType.MobilePhone.


Contact information change notification. As a contact signs in and out of an endpoint, goes into or out of a meeting, updates a contact card detail, or other activity, these activities are published to any person who has “subscribed” to such publications. Contact subscription is handled on either the Lync client or on your custom application. These publication events are presented in your application as Contact.ContactInformationChanged events. Microsoft.Lync.Model.ContactInformationChangedEventArgs exposes a property that returns a collection of Microsoft.Lync.Model.ContactInformationType instances, which is a list of all of the contact information items in the publication that caused the event to be raised on a subscribing client.


Contact information types. Enumerates the kinds of information that a contact may publish at any time.


Client-publishable contact information types. Enumerates the kinds of contact information that can be published from a Microsoft Lync 2013 Preview API-based client. This enumeration of information types is much smaller than the enumeration of information types that can be published from Microsoft Lync Server 2013 Preview. The server publishes on behalf of a contact when elements of a contact card are changed in a data source such as Active Directory Domain Services.


Contact list manager. The contact manager lets you manage a user’s contact list as it appears in both the Lync 2013 Preview client and your own custom client. Use the contact manager to search for contacts and groups that are not in the contact list, add contacts or a distribution group, rename custom groups, add new custom groups, or remove a custom group. If you have the telephone number or URI of a person, and then you can use the contact manager to return a Microsoft.Lync.Model.Contact instance representing the person.


Local contact settings. These settings effect how a local signed-in user interacts with any contact. The settings are only visible to the local user and do not affect the person represented by the contact. There is one exception to this rule. The ContactSetting.AccessLevel setting restricts the contact information that another subscribing contact can see about the local signed-in user. For example, if Jeff Hay signs in to Lync as the local user, he can change a contact setting on the contact that represents Daniel Roth so that Daniel can only see Jeff’s contact card information that is appropriate for a PIC user.





Community Additions

© 2014 Microsoft