Edit

Share via


Contextual Lync conversations

Beyond the basics topic

Learn about the concept of contextual conversations in Lync 2013 and about application scenarios, application development models, and contextual extension application package registration.

Applies to: Lync 2013 | Lync Server 2013

In this article
Conversation overview
Application scenarios
Development models
Use Install Registration and Runtime Registration
In this section
Additional resources

Conversation overview

Use contextual conversation with Microsoft Lync 2013 SDK to increase productivity by capturing the message sender’s context, setting up the receiver’s context, or both:

  • Contextual conversation improves productivity by reducing interruptions to the recipient’s workflow.

  • Contextual conversation improves productivity by reducing the time required for call participants to join one unique data environment.

Application scenarios

Adding context to the data carried by a call makes communication more efficient. The purpose of the context framework is to allow the receiver to quickly step into the same data environment inhabited by the caller.

Open third-party applications in Conversation Window Extension

Use Microsoft Lync 2013 CWE to display a business application that relates to the call. This application might display information about the caller or allow users to enter information about the call.

Important noteImportant

The contextual application must be installed and registered on each client computer where it will be used. For more information, see Register contextual conversation packages.

Add context to a conversation you're joining

Use contextual conversation features to add information about the sender, the conversation, or other business application uses. For example:

  • Launch an application when the conversation window is opened. For more information, see Lync Conversation Window Extension.

  • Add rich or simple application context. Rich context is automatically starting an application or passing real-time data between business applications. For example, two CAD programs exchanging x, y, z coordinates for a 3D object. For more information, see Send and update context in an existing conversation. Simple context is sending a URL side that is displayed in the conversation window. It does not require package registration and positions the security responsibility on the user to determine whether he or she wants to click the link.

  • Share a URL. A sales manager can include a supplier's URL in an IM to a member of his or her sales team. For more information, see How to: Send and receive context information in a Lync conversation.

  • Customize the message subject. A business analyst can customize the subject line that accompanies his or her audio or IM message.

Transfer calls with context

Although not necessarily a contextual conversation feature, seamlessly transferring calls without losing context is important to correctly implement the contextual conversation experience. In a previous scenario, Marie opens a conversation with Ken using IM and then transfers the audio call to him.

Development models

Use Lync SDK at two levels, ranging from easy to complex, to add contextual conversation features to business calls:

Use contextual conversation with Lync Controls

The Lync 2013 API includes many XAML controls, each available in Microsoft Silverlight and Microsoft Windows Presentation Foundation (WPF) versions. You can add these controls to existing business applications and use either XAML or the code-behind page to add contextual conversation features. The following example adds the sender’s context to an IM conversation. For more information, see How to: Start a contextual conversation with an IM call.

<StackPanel>
  <StackPanel.Resources>
    <controls:ConversationContextualInfo 
      x:Key="contextualInfo" 
      ApplicationId="{}{21224942-AC24-4D0D-B0C7-6107D79448DF}"
      ApplicationData="your application data here"
      Subject="Try out this customized toast!"
    />
  </StackPanel.Resources>
    <controls:StartInstantMessagingButton 
      x:Name="startInstantMessaging"
      Source="sip:barbara@contoso.com"
      ContextualInformation="{StaticResource contextualInfo}"
    />
</StackPanel>

Add context to a conversation with Lync API

The Lync 2013 API includes a managed code API that you can use to add contextual conversation features to conversations with the Lync 2013 UI as an optional element. The following example adds an application ID and application data to a conversation. For more information, see Send and update context in an existing conversation.

Dictionary<ContextType, object> context = new Dictionary<ContextType, object>();
context.Add(ContextType.ApplicationId, "{d0722164-f660-470f-a933-e4853f215b77}");
context.Add(ContextType.ApplicationData, "Some data string");
IAsyncResult res = conversation.BeginSendInitialContext(context, null, null);

Add simple context or rich context

Developers can add simple context to conversations or install packages to provide rich context.

Adding simple context

Developers can add simple context to a conversation by sending an untrusted URL with a message. The message recipient will see the text "A contextual link has been provided with this conversation. If the link below looks suspicious do not click on it." followed by the URL. For more information, see How to: Send and receive context information in a Lync conversation.

Adding rich context

Developers can add rich context by sending an application ID in the message content. Using rich context requires application package installation on the sending and receiving computers. For more information, see Register contextual conversation packages. The application ID in the message is used to launch a package as follows:

  • The package provides a start link that specifies a file path or URL.

  • The package opens an application in Lync Conversation Window Extension.

Rich context provides an easier way for an application to register for events with Lync 2013. For example, by using rich context, Microsoft Visual Studio can examine incoming conversations. When Visual Studio detects an appropriate conversation, it instructs Lync 2013 to dock the conversation window in the Visual Studio environment.

TipTip

Rich context requires a registered package on the target computer. If the package is registered, it can be trusted. For more information about trust, see Establish trust on contextual conversation clients.

Use Install Registration and Runtime Registration

Contextual conversation packages can be installed to a URL or file path. To simplify package management, install it to a URL, and then register the contextual application with Lync 2013.

  • You can specify a default application that is used to provide a context when none is available. For example, when a sales manager gets a call, a CRM contextual application is specified and then starts. The contextual application provides information about the caller. For more information about default applications, see Understand the role of the default CWE application registration package.

  • After registration is complete, you can provide rich context and applications. For example, when two oil field engineers consult about a field, the company’s line-of-business application starts and displays various graphical displays providing geological data.

There are two ways to register a contextual application:

  • Install Registration

  • Runtime Registration

The recommended practice is to perform Install Registration to install the contextual application, and then Runtime Registration every time that the application starts.

Install Registration

Use Install Registration to manage and deploy contextual conversation experience by product installations. The alternative is Runtime Registration. Use Install Registration to improve control of package setup. For more information, see How to: Install a CWE application in Lync SDK.

Runtime Registration

Use Runtime Registration for flexible package setup. Use the ApplicationRegistration class to perform Runtime Registration. For more information, see How to: Install a CWE application in Lync SDK.

In this section

See also