Working with Presence and Groups in UCMA 3.0: Scenario Overview (Part 1 of 5)

Summary:   Learn how to use presence to find an available member of a Microsoft Lync 2010 contact group, and then add the contact to a multiparty group conversation.

Applies to:   Microsoft Unified Communications Managed API (UCMA) 3.0 Core SDK | Microsoft Unified Communications Managed API (UCMA) 3.0 | Microsoft Lync 2010

Published:   September 2011 | Provided by:   Mark Parker, Microsoft | About the Author


Download code   Download code

This is the first in a series of five articles about how to work with presence and groups in a UCMA 3.0 application.

The fictitious Contoso Corporation deploys a UCMA 3.0 application that can be accessed by Lync 2010 users. The endpoint that represents this application has two contact groups, one for the Service Department and one for the Sales Department. Each of these contact groups lists the employees who are in that department.

Note Note

The application as implemented in this article series requires two user-defined contact groups to be present in Lync 2010 on the computer that runs the application. Each of these groups must have at least one contact.

A Lync 2010 user sends an instant message to the UCMA 3.0 application. The UCMA 3.0 application responds with a simple text menu, requesting the Lync 2010 user to press 1 to be connected to someone in the Service Department, and to press 2 to be connected to someone in the Sales Department.

Based on the user’s choice, the UCMA 3.0 application checks either the Service Department contact group or the Sales Department contact group. If a contact in the appropriate group is available, the UCMA 3.0 application escalates the existing conversation between itself and the Lync 2010 user to a conference (the Lync 2010 terminology, a group conversation), and then invites the contact to join the conference. After the contact accepts the conference invitation, the UCMA 3.0 application ends, and drops out of the conference. The two other parties remain in the conference, which is now a two-person group conversation.

In the implementation that is described in this series of articles, the UCMA 3.0 application accepts only instant message calls (instances of the InstantMessagingCall class). A different implementation might accept voice calls (instances of the AudioVideoCall class), and then transfer the incoming call to the appropriate contact. Because an InstantMessagingCall instance cannot be transferred, the workaround as implemented in this series of articles is to escalate the two-way instant messaging conversation to a conference, and then invite into the conference the contact that was previously found.

The most important tasks that the UCMA 3.0 application performs are the following.

  • Based on the user’s choice, it finds an available person in a contact group.

  • Escalates the two-way conversation to a conference (a group conversation), and invites the sales or service person into the conference.

For information about finding an available contact, see Working with Presence and Groups in UCMA 3.0: Finding a Contact (Part 3 of 5). For information about escalating the conversation, see Working with Presence and Groups in UCMA 3.0: Adding the Contact to the Conversation (Part 4 of 5).

Mark Parker is a programming writer at Microsoft whose current responsibility is the UCMA SDK documentation.