Chris D. Mayo Microsoft Corporation UNC301
Automation
Signing In/Out
COM
Presence
Communication
Context
What Next? 1.Resource Management 2.Managed Library 3.Sign In/Out 4.Presence 5.Contacts 6.Conversation 7.Context
URL!
Summary The Office Communicator Automation API makes building communications features easy Integrate contact presence to make communication decisions easy Integrate Click-to-Communicate to launch communications from your app Embed conversation context into communications to “boot strap” discussion
Resources MSDN Unified Communications Developer Portal Microsoft Office Communicator Automation API 660fe6d2c98c&DisplayLang=en WPF Presence Controls for Microsoft Office Communicator Microsoft Office Communicator 2007 SDK Sample da990d94ff0f&DisplayLang=en Enhanced Presence Whitepaper A1E1-791D64B8BFA8&displaylang=en Microsoft Office Communications Server 2007 R2 Resource Kit Programming for Unified Communications Chris Mayo’s blog (API URLs, etc.)
Questions and Answers Submit text questions using the “Ask” button Don’t forget to fill out the survey The on-demand version of this webcast will be available 24 hours after the event Get the latest developer content (webcasts, podcasts, videos, virtual labs) at: Got webcast content ideas? Contact us at:
Sessions On-Demand & Community Resources for IT Professionals Resources for Developers Microsoft Certification and Training Resources Microsoft Certification & Training Resources Resources
Call to Action Learn More! Related Content at TechEd on “Related Content” Slide Attend in-person or consume post-event at TechEd Online Check out online learning/training resources Try It Out! Download the Exchange Server 2010 Beta Evaluation Get a 5-Day Trial of Office Communications Server 2007 R2
Complete an evaluation on CommNet and enter to win!
What We Will Cover Office Communicator Automation API Beginning Scenarios Signing in/signing Out Local user/contact info Presence Contact list Starting conversations Advanced Scenarios Contextual conversations Summary Resources
Session Prerequisites Visual Studio 2008.NET Framework 3.0+ C# VB Level 300
Office Communicator Automation API Automates Office Communicator 2007/R2 Build Office Communicator 2007/R2 features into apps Provides Office Communicator 2007/R2 integration in Outlook 2007, SharePoint Requires Office Communicator 2007/R2 on local machine COM API Unmanaged resources require management
Signing In/Signing Out Automation requirements Office Communicator must be running Office Communicator must be signed in Messenger Methods SignIn() AutoSignin() SignOut() Messenger Events OnSignin() OnSignout() OnAppShutdown()
Signing In/Signing Out
Local User Info Messenger Properties MyFriendlyName MySigninName get_MyPhoneNumber Messenger Events OnMyFriendlyNameChange() OnMyPhoneChange()
Local User Info
Contact Info Messenger.GetContact() IMessengerContactAdvanced IMessengerContactAdvanced Properties FriendlyName SigninName get_PhoneNumber Messenger Events OnContactNameChange() OnContactPhoneChange() Enhanced Presence Level of Access Determines Access get_PhoneNumber throws exception OnContactPhoneChange() will not fire
Presence Messenger.GetContact() IMessengerContactAdvanced IMessengerContactAdvanced Properties PresenceProperties() Messenger Events OnMyStatusChange() OnContactStatusChange() Note: OC 2007 R2 shows updated presence for OC 2007 R2 contacts only!
Presence: Availability and Status Availability == User State 3000 == “Available” == “Offline” PRESENCE_PROPERTY.PRESENCE_PROP_ AVAILABILITY Status == Machine State MISTATUS.MISTATUS_ONLINE == “Online” MISTATUS.MISTATUS_IN_A_MEETING == “In a Meeting” PRESENCE_PROPERTY.PRESENCE_PROP_ MSTATE AvailabilityAvailability StatusStatus
Contact Info
Contact List Messenger.MyContacts() IMessengerContacts IMessengerContacts Properties, Methods Item() Count Remove() Messenger Methods AddContact() Messenger Events OnContactListAdd() OnContactListRemove()
Contact List
Starting Conversations IMessengerAdvanced Methods StartConversation()
Starting Conversations
Contextual Conversations Integrate Contact Presence Deliver immediate awareness of others’ availability and willingness to communicate Embed Click-to-Communicate One-click access to communication modalities IM, voice, video 1:1, conferencing Integrate Application Data as Context Deliver immediate conversation context Minimize the impact of context switching
WPF Presence Controls for OC 2007 R2 Drag-and-Drop Contextual Collaboration Integrated Presence Click-to-Communicate Extensible for Contextual Collaboration Leverage Office Communicator Automation API Persona Control Presence “Bubble” Persona List Control Office Communicator 2007 R2 like Persona list Sample that ships with source
Starting Conversations IMessengerAdvanced Methods StartConversation() Returns HWND of conversation window Messenger Events OnIMWindowCreated() IMessengerConversationWndAdvanced OnIMWindowDestroyed() IMessengerConversationWndAdvanced Methods/Properties Hwnd SendText() History()
Contextual Conversations
© 2009 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. 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 provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.