Thursday, February 2, 2012

Building Communications Solutions with UCMA



Although the Lync SDK is used to integrate communications functionality into applications that run on the client, UCMA is typically used to build communications applications that run on the server; for example, hosted in Internet Information Services (IIS), exposed through Windows Communication Foundation (WCF), or running in a Windows Service. A UCMA application is usually a long-running process such as an automatic call distributor used to handle and distribute incoming calls in a call center. Users interact with the UCMA application via an endpoint that can either be a contact in Lync, such as sip:HelpDesk@fabrikam.com, or simply a phone number. The user can start a Lync call, instant message with the UCMA application contact or dial the phone number associated with the application.
Consider the following scenario where Contoso, a fictitious company, uses a UCMA-based application to run its call center operations.
When customers call Contoso's customer service phone number, the UCMA application picks up the calls and guides callers through a workflow, such as one built with the UCMA Workflow SDK, to gather information from them such as the reason for their call, their account number, and so on. After the workflow gathers the necessary information from the callers, it places them on hold and searches for an agent with the right skills to assist them. Customers remain on hold until an agent becomes available; the UCMA application tracks all the agents’ Lync presence so it knows when an agent becomes available again to handle a call.
When an agent picks up calls, he or she already knows a lot about the callers based on the information they provided. An Agent Dashboard application hosted in the Lync conversation window can display information about the caller such as order history or any open customer service tickets that require attention. The agent can use this information to provide better service to the customer.
An application such as the customer service Agent Dashboard is built using the Lync SDK, including the Lync controls and the Lync API. The UCMA application interacts with the Agent Dashboard using the Context Channel, a new feature in UCMA 3.0 that provides a channel across which a UCMA application and Lync SDK application can send information to each other. For example, if the agent realizes that he needs to consult another agent to help with the call, he can issue an "escalate" command from the Agent Dashboard application. The command is sent across the context channel to the UCMA application, which knows how to process it and look for another available agent with the necessary skills to assist with the call.
Part of a supervisor's duties in Contoso's customer service department is to monitor the performance of agents and coach them on how to provide better service to customers. The supervisor can launch a Supervisor Dashboard application that shows a list of all active calls. The supervisor selects a call to silently join, allowing him to monitor the call without the knowledge of either the customer or agent. The new audio routes functionality in UCMA 3.0 enables developers to build routes across which audio can travel in a conference, effectively controlling who can hear what. When the supervisor is monitoring a call, audio flows to her from the conference but doesn't flow back in, allowing her to listen in to a call without being heard. If the supervisor needs to provide coaching to the customer service agent, an audio route is established from the supervisor to the agent, allowing her to "whisper" to the agent without the customer hearing any of the conversation.
UCMA 3.0 includes several other enhancements that are covered in more detail later in the book, including an easier development experience for working with presence and conferences, and a feature known as auto-provisioning, which greatly simplifies the process of managing the plumbing and configuration information required to run a UCMA application.

No comments:

Post a Comment