Unified Communications API Map for 2007 The information contained in this document represents the current view of Microsoft Corporation on the issues discussed as of the date of publication. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information presented after the date of publication. This White Paper is for informational purposes only. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS DOCUMENT. Complying with all applicable copyright laws is the responsibility of the user. Without limiting the rights under copyright, no part of this document may be reproduced, stored in or introduced into a retrieval system, or transmitted in any form or by any means (electronic, mechanical, photocopying, recording, or otherwise), or for any purpose, without the express written permission of Microsoft Corporation. Microsoft may have patents, patent applications, trademarks, copyrights, or other intellectual property rights covering subject matter in this document. Except as expressly provided in any written license agreement from Microsoft, the furnishing of this document does not give you any license to these patents, trademarks, copyrights, or other intellectual property. Unless otherwise noted, the companies, organizations, products, domain names, e-mail addresses, logos, people, places, and events depicted in examples herein are fictitious. No association with any real company, organization, product, domain name, e-mail address, logo, person, place, or event is intended or should be inferred. © 2007 Microsoft Corporation. All rights reserved. Microsoft, SQL Server, Windows are trademarks of the Microsoft group of companies. All other trademarks are property of their respective owners.

Unified Communications API Map for 2007 2 This document lists the APIs that can be used in Unified Communications development. Exchange Server 2007 SP1 APIs Microsoft Exchange Server 2007 Service Pack 1 (SP1) provides a rich environment for messaging and collaborative application development. By closely integrating with Windows Server 2003 and Windows Server 2008 operating system core services such as the Active Directory directory service and Internet Information Services (IIS), Exchange 2007 SP1 simplifies application development, deployment, and management, and helps guarantee a faster return on the development investment. For more information about Exchange 2007 SP1, see the Microsoft Exchange Server TechCenter. Also be sure to visit the Exchange Server Developer Center on MSDN. This documentation contains the following sections to help developers build applications for Exchange 2007:  What's New Summarizes the changes that have been added to this release of the Exchange Server 2007 Software Development Kit (SDK).  Introduction Introduces the development technologies for Exchange 2007 and provides selection criteria for the various technologies.  Architecture Provides information about the Windows Server platform technologies that Exchange 2007 integrates with and uses, and describes the programming technologies that are available for use in Exchange 2007 applications.  Development Environment Describes how to configure your environment for developing Exchange 2007 applications, and the tools and other developer resources that are supplemental to the Exchange Server 2007 SDK.  Programming Tasks Uses sample code to explain the programming tasks that are used to build custom applications for Exchange 2007.  Development Solutions Provides sample applications that demonstrate how to develop collaborative Web applications for Exchange 2007.  Programming References Contains information about object models and APIs to use when you build applications for Exchange 2007. Microsoft Exchange Server 2007 SP1 SDK Documentation Office Communications Server API The Microsoft Office Communications Server 2007 API consists of three broad areas: Office Communications Server Application API, Office Communications Server Management API, and Office Communications Server 2007 Speech Server SDK. Communications Server 2007 Server SDK Documentation

Office Communications Server Application API A developer can use the Office Communications Server Application API to create applications that extend and enhance the SIP-based functionality of Office Communications Server. From developing custom message filters and routing applications to multithreaded transactional models and secure logging functionality, this set of APIs targets developers who want to implement custom behaviors for Office Communications Server. These APIs can monitor and change SIP messages as they flow through Office Communications Server.

Unified Communications API Map for 2007 3 They cannot be used to create SIP messages from the server. For example, you cannot write applications that create instant messages with these APIs. The Office Communications Server Application API provides a set of tools for implementing custom SIP message filters and for dispatching messages to applications registered with Office Communications Server. The three primary tools are:  Application manifests, which define the basic message filtering and proxy behaviors.  The Microsoft SIP Processing Language (MSPL), which provides more granular control over filtering and proxy behaviors as well as a facility for dispatching specific messages to transaction-based SIP applications.  The Microsoft.Rtc.Sip namespace, which allows applications to access resources outside of Office Communications Server while performing routing and filtering. Applications that provide routing and filtering using only the resources, such as presence, provided by Office Communications Server, can be created using MSPL. An application that blocks all instant messages that contain HTTP references can be written entirely in MSPL. Applications that need resources external to Office Communications Server, such as domain information or database access, need to have their MSPL code dispatch SIP messages to a separate process that uses the Microsoft.Rtc.Sip namespace. An application that allows instant messages that contain HTTP references to enterprise trusted sites, but blocks messages that reference sites that are not trusted or external sites, requires a separate application in addition to MSPL. For information about the previously listed tools, see the following sections in this documentation:  SIP Application Manifests, which are XML documents that describe a SIP application to the Office Communication Server computer on which the application runs.  Using the SIP Managed Application API, which contains the specifics of creating transaction-based SIP applications that run on Office Communications Server.  SIP Managed Application API Reference, which contains reference documentation for the Microsoft.Rtc.Sip namespace and other SIP-specific resources.

Office Communications Server Management API The Microsoft Office Communications Server Management API consists of a set of Windows Management Instrumentation (WMI) classes used to manage Office Communications Server components. WMI uses the Common Information Model (CIM) industry standard to represent systems, applications, networks, devices, and other managed components. Most class properties are exposed in the Office Communications Server management console. All properties are accessible using a scripting language, such as Microsoft Visual Basic Scripting Edition (VBScript), that supports ActiveX® script hosting. You can use WMI scripting to automate administrative tasks in your Office Communications Server deployment. You can also use WMI to remotely read or change WMI properties, but the computer running the script must either be an Office Communications Server computer or have the Office Communications Server Administrator Tools installed. For more information about WMI, see Windows Management Instrumentation (WMI) on MSDN.

Unified Communications API Map for 2007 4 Office Communications Server 2007 Speech Server SDK Speech Server enables you to develop and deploy voice response applications. Speech Server combines Web technologies, Voice over IP (VoIP), and telephony capabilities into a single system and a single code base. In addition, Speech Server tuning and analysis tools enable you to improve voice response applications through log data analysis. Communications Server 2007 Speech Server Documentation Office Communicator Automation API The Microsoft Office Communicator Automation API contains a set of COM interfaces, objects, events, enumerated types, and other related programming entities. With Office Communicator Automation API, you can program an Office Communicator instance from a third-party application and write applications that provide extended and customized user experiences with Office Communicator. For example, you can sign into Office Communicator by calling the IMessenger::Signin method. This is similar to signing in from a running Office Communicator instance by clicking Sign In on the Connect menu. In addition, Office Communicator features can be integrated into other applications and extended or customized for special application needs. A scheduling application can use Office Communicator Automation API to leverage its contact management and query features, so that users can organize, display, or query their contacts. As a COM-based API supporting Automation, Office Communicator Automation API can be called from applications written in Microsoft Visual Basic®, C/C++, VBScript, and many other scripting languages. For security reasons, some API calls are disabled for scripting languages. For a full description of these restrictions, see Office Communicator Automation API Reference. With the help of the System.Runtime.Interop namespace in.NET Framework, the API can also be called from applications written in any of the .NET-based programming languages, including the Microsoft Visual C#® development tool, Visual Basic .NET, the Visual J#® development tool, and others. Communicator 2007 Automation API Reference Office Live Meeting Service API Version 4.0 Update for Live Meeting 2007 The Microsoft Office Live Meeting service API gives you programmatic access to most of the functionality that is available through the Windows-based and Web-based Office Live Meeting clients. The Office Live Meeting service API documentation consists of two parts:  A general guide to introduce new programmers to the concepts of Live Meeting and the application programming interface (API) with examples and tutorials.  A detailed API reference, including information about publicly supported messages, constituent XML elements, error codes, and other technical information. The API documentation is intended for engineers, developers, and programmers who design, implement, and test Web conferencing solutions based on the Live Meeting technology. You should have a basic familiarity with HTTP and XML.

Unified Communications API Map for 2007 5 A developer can use Live Meeting services to manage online meetings. The tasks include scheduling a meeting; inviting others to join the meeting; adding a user account to a Live Meeting conference center; uploading presentations and other resources; managing recordings, user preferences, and an address book; reporting on meeting attendance and other statistics. Many of these tasks can be performed programmatically. Live Meeting services can be accessed through the Live Meeting Web user interface or the API processor. A user can use the Web user interface to perform all meeting-related activities. The Live Meeting service API processor serves as the gateway for programmatic access to Live Meeting services and for managing users, resources, and meetings. Live Meeting Service 4.0 API Reference Office Live Meeting Service Portal API The Microsoft Office Live Meeting Service Portal API complements Live Meeting Service Portal Service Pack 2. The Live Meeting Service Portal (the Portal) is a Microsoft Internet Information Services (IIS) Web application that uses ASP.NET. The Portal is installed on a Microsoft Windows® Web server. The Portal communicates with the Live Meeting service through XML API calls sent across the Internet. Users can access the Portal Web pages from Web browsers to:  Create a new Live Meeting account.  Sign in to the Live Meeting service.  Change the password for the Live Meeting account.  Allow users to access rich content related to Live Meeting. Programs or scripts that call the Portal Web methods can automate Live Meeting account management. Use the Web methods to:  Create or delete a Live Meeting account.  Activate or deactivate a Live Meeting account.  Change the password for a Live Meeting account.  Get the status of a Live Meeting account. Live Meeting Service Portal 8.0 API Reference Unified Communications Managed API SDK A developer can use the Unified Communications Managed API version 1.0 SDK to create and deploy highly scalable middle-tier SIP-based applications for real-time communications and collaboration. The intended applications can be client-based or server-based and can be written in any Microsoft .NET Framework-supported language. The primary scenarios that these APIs enable are applications that send alerts or that implement query/response bots. The documentation consists of a general overview of the Unified Communications Managed API version 1.0 SDK, a quick hands-on orientation to using Unified Communications Managed API version 1.0, and the Unified Communications Managed API version 1.0 Reference. The Unified Communications Managed API version 1.0 Signaling layer manages connections and sessions with other remote endpoints or with a SIP Proxy. It can also host from one to

Unified Communications API Map for 2007 6 several thousand User Agent endpoints. The implementation supports low-level session management including establishing and maintaining two-party signaling sessions, connection management including connection sharing for outgoing connections and message dispatching for incoming connections, and basic online subscription sessions in which one party subscribes to data or its update is published by another party. The Unified Communications infrastructure implements an object model for the most common SIP scenarios. The Unified Communications Managed API version 1.0 is independent of upper layer Office Communications Server 2007-specific and Office Communicator-specific semantics. Unified Communications Managed API 1.0 SDK Documentation Unified Communications Client API An application developer can create the following types of Unified Communications Client API applications for real-time communications and collaborations:  A comprehensive communications client such as Microsoft Office Communicator 2007. In fact, Office Communicator is built on Unified Communications Client API. This type of application can support instant messaging, conferencing, voice or video over IP, and telephony integration. It can also be used to track the presence of the user's contacts and other application-specific data because of the platform support of a general publication and subscription framework.  A feature-focused application that interoperates with Office Communicator 2007 and provides augmented functionality or custom services. This type of application enables a service provider to take advantage of an existing Office Communicator installation base within an enterprise. However, these application must be careful to avoid publishing data and creating or accepting sessions in a way that interferes with Office Communicator.  An integrated line-of-business (LOB) application that embeds presence and communications capabilities into existing LOB applications. For example, a customer relations management (CRM) application can integrate presence tracking to decide how to dispatch custom requests to the most suitable service representatives. A developer can use Unified Communications Client API to create an application that enables integrated multimodal real-time communications within or across network boundaries. The resulting application can help to make the computer the center for business communications in real time. Audio and video calls as well as instant messaging (IM) and collaboration are all integrated into one user session on the computer. In addition to computer-to-computer communications sessions, the user can also create computer-to-phone calls, phone-to-phone calls, or text-only IM sessions. Presence information provides a user with knowledge of the availability of the user's contacts in real time, with the help of a registrar server. A user can therefore use such an application to call the contacts without having to find out the exact location of a contact or to choose the right telephone number to call. For example, if you dial a contact at her work location and the presence information indicates that she is available on a computer at home, your call can be automatically redirected to that location. A user can also maintain privacy by blocking callers from accessing his or her presence information. An example of such real-time communications for business application might be a custom communications experience for users of your applications; for example, a CRM application that brings all the parties interested in a sales opportunity into a video conference and shares data about the customer.

Unified Communications API Map for 2007 7 IM services are currently used by the Microsoft MSN® network of Internet services, Yahoo!, and AOL with hundreds of million users globally. Unified Communications Client 1.0 SDK Documentation Microsoft Unified Communications AJAX SDK (2007 Release) The Microsoft® Unified Communications AJAX SDK (2007 Release) consists of the following components:  Unified Communications AJAX API is an application programming interface to Communicator Web Access. The API is composed of methods and events. A client sends a method as a request to a Communicator Web Access server and the client receives data as events from the server. Requests and events are specified as an XML element. The communication is conducted primarily as HTTP POST requests with HTTP GET requests in individual scenarios. Unlike applications designed as Web Services, Communicator Web Access Server will not parse SOAP messages, nor does it provide a WSDL document for consumption by client application development tools. There are two advantages to this approach. Most importantly, it avoids the overhead created when JavaScript code must generate or parse larger SOAP documents. Secondarily, a general knowledge of XML rather than specific knowledge of SOAP messages is sufficient to be successful with the Unified Communications AJAX SDK.  Unified Communications JavaScript Libraries based on the AJAX service. These are JavaScript classes that encapsulate the commonly used functionality required of a Unified Communications JavaScript Libraries Client. The common functionality includes creating and maintaining the communication channels, signing in to a server, embedding the display of a user presence in a Web page, starting an IM conversation, and so on. Using the libraries, an application developer can create a Unified Communications JavaScript Libraries Client by simply instantiating the libraries, setting appropriate properties, and invoking the desired methods. The Communicator Web Access Server provides access to Unified Communications functionality. Unified Communications AJAX 2007 SDK Documentation

Unified Communications API Map for 2007 8