<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.msdn.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Chris Mayo's Blog - Unified Communications Development : OC 2007 SDK</title><link>http://blogs.msdn.com/cmayo/archive/tags/OC+2007+SDK/default.aspx</link><description>Tags: OC 2007 SDK</description><dc:language>en-US</dc:language><generator>CommunityServer 2.1 SP1 (Build: 61025.2)</generator><item><title>How to save IM conversations using Office Communicator SDK</title><link>http://blogs.msdn.com/cmayo/archive/2009/09/10/how-to-save-im-conversations-using-office-communicator-sdk.aspx</link><pubDate>Thu, 10 Sep 2009 19:57:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9894406</guid><dc:creator>cmayo</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/cmayo/comments/9894406.aspx</comments><wfw:commentRss>http://blogs.msdn.com/cmayo/commentrss.aspx?PostID=9894406</wfw:commentRss><description>&lt;p&gt;Archiving the contents of an IM conversation using the Office Communicator SDK is something that I get asked about pretty routinely.&amp;#160; For example, let’s say that you want to launch an IM call from your application using the OC SDK and archive that conversation to be retrieved later (displaying all the application specific conversations in your application or on a SharePoint site, etc.).&lt;/p&gt;  &lt;p&gt;The OC SDK provides the IMessengerConversationWndAdvanced.History property to access the body of an IM conversation.&amp;#160; For example, the following console application launches an IM call and then writes out the IM history to the console:&lt;/p&gt; &lt;!-- code formatted by http://manoli.net/csharpformat/ --&gt;&lt;style type="text/css"&gt;



.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}

.csharpcode pre { margin: 0em; }

.csharpcode .rem { color: #008000; }

.csharpcode .kwrd { color: #0000ff; }

.csharpcode .str { color: #006080; }

.csharpcode .op { color: #0000c0; }

.csharpcode .preproc { color: #cc6633; }

.csharpcode .asp { background-color: #ffff00; }

.csharpcode .html { color: #800000; }

.csharpcode .attr { color: #ff0000; }

.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}

.csharpcode .lnum { color: #606060; }&lt;/style&gt;  &lt;div class="csharpcode"&gt;   &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;   1:  &lt;/span&gt;&lt;span class="kwrd"&gt;namespace&lt;/span&gt; History&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;   2:  &lt;/span&gt;{&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;   3:  &lt;/span&gt;    &lt;span class="kwrd"&gt;class&lt;/span&gt; Program&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;   4:  &lt;/span&gt;    {&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;   5:  &lt;/span&gt;        &lt;span class="kwrd"&gt;private&lt;/span&gt; &lt;span class="kwrd"&gt;static&lt;/span&gt; Messenger _messenger;&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;   6:  &lt;/span&gt;        &lt;span class="kwrd"&gt;private&lt;/span&gt; &lt;span class="kwrd"&gt;static&lt;/span&gt; IMessengerAdvanced _messengerAdv;&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;   7:  &lt;/span&gt;&amp;#160;&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;   8:  &lt;/span&gt;        &lt;span class="kwrd"&gt;private&lt;/span&gt; &lt;span class="kwrd"&gt;static&lt;/span&gt; &lt;span class="kwrd"&gt;long&lt;/span&gt; _myConvHWND = 0;&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;   9:  &lt;/span&gt;        &lt;span class="kwrd"&gt;private&lt;/span&gt; &lt;span class="kwrd"&gt;static&lt;/span&gt; IMessengerConversationWndAdvanced _myConv;&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;  10:  &lt;/span&gt;&amp;#160;&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  11:  &lt;/span&gt;        &lt;span class="kwrd"&gt;static&lt;/span&gt; &lt;span class="kwrd"&gt;void&lt;/span&gt; Main(&lt;span class="kwrd"&gt;string&lt;/span&gt;[] args)&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;  12:  &lt;/span&gt;        {&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  13:  &lt;/span&gt;            _messenger = &lt;span class="kwrd"&gt;new&lt;/span&gt; Messenger();&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;  14:  &lt;/span&gt;            _messengerAdv = (IMessengerAdvanced)_messenger;&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  15:  &lt;/span&gt;&amp;#160;&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;  16:  &lt;/span&gt;            _messenger.OnIMWindowCreated +=&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  17:  &lt;/span&gt;                &lt;span class="kwrd"&gt;new&lt;/span&gt; DMessengerEvents_OnIMWindowCreatedEventHandler(&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;  18:  &lt;/span&gt;                _messenger_OnIMWindowCreated);&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  19:  &lt;/span&gt;            _messenger.OnIMWindowDestroyed += &lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;  20:  &lt;/span&gt;                &lt;span class="kwrd"&gt;new&lt;/span&gt; DMessengerEvents_OnIMWindowDestroyedEventHandler(&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  21:  &lt;/span&gt;                _messenger_OnIMWindowDestroyed);&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;  22:  &lt;/span&gt;&amp;#160;&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  23:  &lt;/span&gt;            &lt;span class="kwrd"&gt;object&lt;/span&gt;[] sipUris = &lt;span class="kwrd"&gt;new&lt;/span&gt; &lt;span class="kwrd"&gt;object&lt;/span&gt;[] { &lt;span class="str"&gt;&amp;quot;kf@fabrikam.com&amp;quot;&lt;/span&gt;, &lt;span class="str"&gt;&amp;quot;cb@fabrikam.com&amp;quot;&lt;/span&gt;  };&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;  24:  &lt;/span&gt;&amp;#160;&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  25:  &lt;/span&gt;            &lt;span class="kwrd"&gt;object&lt;/span&gt; obj = _messengerAdv.StartConversation(&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;  26:  &lt;/span&gt;                &lt;span class="rem"&gt;// The call media.            &lt;/span&gt;&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  27:  &lt;/span&gt;                CONVERSATION_TYPE.CONVERSATION_TYPE_IM,&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;  28:  &lt;/span&gt;                &lt;span class="rem"&gt;// The participants.&lt;/span&gt;&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  29:  &lt;/span&gt;                sipUris,&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;  30:  &lt;/span&gt;                &lt;span class="rem"&gt;// Not supported.&lt;/span&gt;&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  31:  &lt;/span&gt;                &lt;span class="kwrd"&gt;null&lt;/span&gt;,&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;  32:  &lt;/span&gt;                &lt;span class="rem"&gt;// The conversation window title as as string.&lt;/span&gt;&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  33:  &lt;/span&gt;                &lt;span class="str"&gt;&amp;quot;Account: Johnson (ID:12345)&amp;quot;&lt;/span&gt;,&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;  34:  &lt;/span&gt;                &lt;span class="rem"&gt;// Not supported.  Pass &amp;quot;1&amp;quot;.&lt;/span&gt;&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  35:  &lt;/span&gt;                &lt;span class="str"&gt;&amp;quot;1&amp;quot;&lt;/span&gt;,&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;  36:  &lt;/span&gt;                &lt;span class="rem"&gt;// Not supported.&lt;/span&gt;&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  37:  &lt;/span&gt;                &lt;span class="kwrd"&gt;null&lt;/span&gt;);&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;  38:  &lt;/span&gt;&amp;#160;&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  39:  &lt;/span&gt;            _myConvHWND = &lt;span class="kwrd"&gt;long&lt;/span&gt;.Parse(obj.ToString());&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;  40:  &lt;/span&gt;&amp;#160;&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  41:  &lt;/span&gt;            Console.WriteLine(&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;  42:  &lt;/span&gt;                &lt;span class="str"&gt;&amp;quot;Press the Enter key to see IM conversation History.&amp;quot;&lt;/span&gt;);&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  43:  &lt;/span&gt;            Console.ReadLine();&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;  44:  &lt;/span&gt;&amp;#160;&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  45:  &lt;/span&gt;            &lt;span class="kwrd"&gt;if&lt;/span&gt; (_myConv != &lt;span class="kwrd"&gt;null&lt;/span&gt;)&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;  46:  &lt;/span&gt;            {&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  47:  &lt;/span&gt;                &lt;span class="kwrd"&gt;try&lt;/span&gt;&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;  48:  &lt;/span&gt;                {&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  49:  &lt;/span&gt;                    Console.WriteLine(_myConv.History);&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;  50:  &lt;/span&gt;                }&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  51:  &lt;/span&gt;                &lt;span class="kwrd"&gt;catch&lt;/span&gt; (COMException ce)&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;  52:  &lt;/span&gt;                {&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  53:  &lt;/span&gt;                    Console.WriteLine(&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;  54:  &lt;/span&gt;                        &lt;span class="str"&gt;&amp;quot;COM Exception &amp;quot;&lt;/span&gt; + ce.ErrorCode.ToString());&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  55:  &lt;/span&gt;                }&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;  56:  &lt;/span&gt;            }&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  57:  &lt;/span&gt;&amp;#160;&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;  58:  &lt;/span&gt;            Console.WriteLine(&lt;span class="str"&gt;&amp;quot;Press the Enter key to exit the application.&amp;quot;&lt;/span&gt;);&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  59:  &lt;/span&gt;            Console.ReadLine();&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;  60:  &lt;/span&gt;&amp;#160;&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  61:  &lt;/span&gt;            _messenger.OnIMWindowCreated -=&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;  62:  &lt;/span&gt;                &lt;span class="kwrd"&gt;new&lt;/span&gt; DMessengerEvents_OnIMWindowCreatedEventHandler(&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  63:  &lt;/span&gt;                _messenger_OnIMWindowCreated);&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;  64:  &lt;/span&gt;            _messenger.OnIMWindowDestroyed -=&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  65:  &lt;/span&gt;                &lt;span class="kwrd"&gt;new&lt;/span&gt; DMessengerEvents_OnIMWindowDestroyedEventHandler(&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;  66:  &lt;/span&gt;                _messenger_OnIMWindowDestroyed);&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  67:  &lt;/span&gt;&amp;#160;&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;  68:  &lt;/span&gt;            Marshal.ReleaseComObject(_messenger);&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  69:  &lt;/span&gt;            _messenger = &lt;span class="kwrd"&gt;null&lt;/span&gt;;&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;  70:  &lt;/span&gt;            Marshal.ReleaseComObject(_messengerAdv);&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  71:  &lt;/span&gt;            _messengerAdv = &lt;span class="kwrd"&gt;null&lt;/span&gt;;&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;  72:  &lt;/span&gt;&amp;#160;&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  73:  &lt;/span&gt;            &lt;span class="kwrd"&gt;if&lt;/span&gt; (_myConv != &lt;span class="kwrd"&gt;null&lt;/span&gt;)&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;  74:  &lt;/span&gt;            {&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  75:  &lt;/span&gt;                Marshal.ReleaseComObject(_myConv);&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;  76:  &lt;/span&gt;                _myConv = &lt;span class="kwrd"&gt;null&lt;/span&gt;;&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  77:  &lt;/span&gt;            }&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;  78:  &lt;/span&gt;        }&lt;/pre&gt;
&lt;/div&gt;

&lt;p&gt;In the code above, I’m registering for the OnIMWindowCreated and OnIMWindowDestroyed events to get and release my reference to the conversation window (_myConv) so I can access the History property.&amp;#160; The code below shows how I manage the _myConv reference:&lt;/p&gt;
&lt;!-- code formatted by http://manoli.net/csharpformat/ --&gt;&lt;style type="text/css"&gt;


.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}

.csharpcode pre { margin: 0em; }

.csharpcode .rem { color: #008000; }

.csharpcode .kwrd { color: #0000ff; }

.csharpcode .str { color: #006080; }

.csharpcode .op { color: #0000c0; }

.csharpcode .preproc { color: #cc6633; }

.csharpcode .asp { background-color: #ffff00; }

.csharpcode .html { color: #800000; }

.csharpcode .attr { color: #ff0000; }

.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}

.csharpcode .lnum { color: #606060; }&lt;/style&gt;

&lt;div class="csharpcode"&gt;
  &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;   1:  &lt;/span&gt;        &lt;span class="kwrd"&gt;static&lt;/span&gt; &lt;span class="kwrd"&gt;void&lt;/span&gt; _messenger_OnIMWindowCreated(&lt;span class="kwrd"&gt;object&lt;/span&gt; pIMWindow)&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;   2:  &lt;/span&gt;        {&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;   3:  &lt;/span&gt;            IMessengerConversationWndAdvanced newConv =&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;   4:  &lt;/span&gt;                (IMessengerConversationWndAdvanced)pIMWindow;&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;   5:  &lt;/span&gt;&amp;#160;&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;   6:  &lt;/span&gt;            &lt;span class="kwrd"&gt;if&lt;/span&gt; (newConv.HWND == _myConvHWND)&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;   7:  &lt;/span&gt;            {&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;   8:  &lt;/span&gt;                newConv.SendText(&lt;span class="str"&gt;&amp;quot;This is a ongoing conversation &amp;quot;&lt;/span&gt; +&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;   9:  &lt;/span&gt;                    &lt;span class="str"&gt;&amp;quot;about the Account: Johnson (ID:12345) &amp;quot;&lt;/span&gt; +&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;  10:  &lt;/span&gt;                    &lt;span class="str"&gt;&amp;quot;and will be saved on the account site.&amp;quot;&lt;/span&gt;);&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  11:  &lt;/span&gt;                &lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;  12:  &lt;/span&gt;                _myConv = newConv;&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  13:  &lt;/span&gt;            }&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;  14:  &lt;/span&gt;        }&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  15:  &lt;/span&gt;&amp;#160;&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;  16:  &lt;/span&gt;        &lt;span class="kwrd"&gt;static&lt;/span&gt; &lt;span class="kwrd"&gt;void&lt;/span&gt; _messenger_OnIMWindowDestroyed(&lt;span class="kwrd"&gt;object&lt;/span&gt; pIMWindow)&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  17:  &lt;/span&gt;        {   &lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;  18:  &lt;/span&gt;            &lt;span class="kwrd"&gt;if&lt;/span&gt; (&lt;span class="kwrd"&gt;object&lt;/span&gt;.ReferenceEquals((&lt;span class="kwrd"&gt;object&lt;/span&gt;)_myConv, pIMWindow))&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  19:  &lt;/span&gt;            {&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;  20:  &lt;/span&gt;                Marshal.ReleaseComObject(_myConv);&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  21:  &lt;/span&gt;                _myConv = &lt;span class="kwrd"&gt;null&lt;/span&gt;;&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;  22:  &lt;/span&gt;            }&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  23:  &lt;/span&gt;        }&lt;/pre&gt;
&lt;/div&gt;

&lt;p&gt;In OnIMWindowCreated, I set _myConv using the pIMWindow object passed as an event argument after confirming it’s the conversation I started in code (by comparing the HWNDs).&amp;#160; When OnIMWindowDestroyed fires, I check to make sure the window being destroyed is mine by using object.ReferenceEquals and release the reference.&amp;#160; Note that I can’t use the HWND property in OnIMWindowDestroyed since conversation window no longer exists and _myConv is no longer a valid reference.&lt;/p&gt;

&lt;p&gt;While this code works, it’s not an ideal solution.&amp;#160; I can’t rely on the user to do something (click a button, etc.) in my app before the conversation is closed.&amp;#160; I’d rather just write the IM conversation history out when the conversation is completed.&amp;#160; This leads a lot of developers to try the following:&lt;/p&gt;
&lt;!-- code formatted by http://manoli.net/csharpformat/ --&gt;&lt;style type="text/css"&gt;

.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}

.csharpcode pre { margin: 0em; }

.csharpcode .rem { color: #008000; }

.csharpcode .kwrd { color: #0000ff; }

.csharpcode .str { color: #006080; }

.csharpcode .op { color: #0000c0; }

.csharpcode .preproc { color: #cc6633; }

.csharpcode .asp { background-color: #ffff00; }

.csharpcode .html { color: #800000; }

.csharpcode .attr { color: #ff0000; }

.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}

.csharpcode .lnum { color: #606060; }&lt;/style&gt;

&lt;div class="csharpcode"&gt;
  &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;   1:  &lt;/span&gt;        &lt;span class="kwrd"&gt;static&lt;/span&gt; &lt;span class="kwrd"&gt;void&lt;/span&gt; _messenger_OnIMWindowDestroyed(&lt;span class="kwrd"&gt;object&lt;/span&gt; pIMWindow)&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;   2:  &lt;/span&gt;        {   &lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;   3:  &lt;/span&gt;            &lt;span class="kwrd"&gt;if&lt;/span&gt; (&lt;span class="kwrd"&gt;object&lt;/span&gt;.ReferenceEquals((&lt;span class="kwrd"&gt;object&lt;/span&gt;)_myConv, pIMWindow))&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;   4:  &lt;/span&gt;            {&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;   5:  &lt;/span&gt;                Console.WriteLine(_myConv.History);&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;   6:  &lt;/span&gt;&amp;#160;&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;   7:  &lt;/span&gt;                Marshal.ReleaseComObject(_myConv);&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;   8:  &lt;/span&gt;                _myConv = &lt;span class="kwrd"&gt;null&lt;/span&gt;;&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;   9:  &lt;/span&gt;            }&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;  10:  &lt;/span&gt;        }&lt;/pre&gt;
&lt;/div&gt;

&lt;p&gt;But, the call to IMessengerConversationWndAdvanced.History throws an exception since _myConv is no longer a valid reference when OnIMWindowDestroyed fires.&lt;/p&gt;

&lt;p&gt;Another solution I’ve seen is polling History on another thread through the life of the conversation and writing out the last value when the conversation window is destroyed.&amp;#160; While this works, it’s less than ideal due to the resource you consume.&lt;/p&gt;

&lt;p&gt;So what does provide a good working scenario?&amp;#160; Creating a UCMA 2.0 IM robot that archives conversations and inviting that bot to all the conversations you want archived is a great solution (and a great future blog post).&lt;/p&gt;

&lt;p&gt;Details on how to start conversations using the Office Communicator SDK can be found in the &lt;a href="http://blogs.msdn.com/cmayo/archive/2009/08/20/how-to-make-calls-via-office-communicator-sdk.aspx"&gt;How to make calls via Office Communicator SDK&lt;/a&gt; and &lt;a href="http://blogs.msdn.com/cmayo/archive/2009/08/29/how-to-send-im-text-using-office-communicator-sdk.aspx"&gt;How to send IM text using Office Communicator SDK&lt;/a&gt; posts on this blog.&lt;/p&gt;

&lt;p&gt;If you’d like to try this code out for yourself, you’ll need to &lt;a href="http://www.microsoft.com/downloads/details.aspx?familyid=ED1CCE45-CC22-46E1-BD50-660FE6D2C98C&amp;amp;displaylang=en"&gt;download the Office Communicator 2007 SDK&lt;/a&gt; and &lt;a href="http://blogs.msdn.com/cmayo/archive/2009/04/10/building-a-virtualized-uc-development-environment-part-1-building-the-ts-virtual-machine.aspx"&gt;setup a UC development environment&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;More details, tips and tricks on UC development can be found in the &lt;a href="http://www.amazon.com/Programming-Unified-Communications-Microsoft%C2%AE-Office/dp/0735626235/ref=sr_1_1?ie=UTF8&amp;amp;qid=1249960696&amp;amp;sr=8-1"&gt;Programming for Unified Communications&lt;/a&gt; book. &lt;/p&gt;

&lt;p&gt;Thanks,&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;Chris&lt;/p&gt;&lt;/blockquote&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9894406" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/cmayo/archive/tags/UCMA+2.0/default.aspx">UCMA 2.0</category><category domain="http://blogs.msdn.com/cmayo/archive/tags/OC+2007+R2/default.aspx">OC 2007 R2</category><category domain="http://blogs.msdn.com/cmayo/archive/tags/OC+2007+SDK/default.aspx">OC 2007 SDK</category></item><item><title>How to send IM text using Office Communicator SDK</title><link>http://blogs.msdn.com/cmayo/archive/2009/08/29/how-to-send-im-text-using-office-communicator-sdk.aspx</link><pubDate>Sat, 29 Aug 2009 19:32:53 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9888972</guid><dc:creator>cmayo</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/cmayo/comments/9888972.aspx</comments><wfw:commentRss>http://blogs.msdn.com/cmayo/commentrss.aspx?PostID=9888972</wfw:commentRss><description>&lt;p&gt;When starting call from your application using the Office Communicator Automation API, it’s often helpful to send some IM text to provide some context for the call (often using data from your application).&amp;#160; For example, Outlook 2007 does this when you start a conversation using the IM and Call features from an email.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/cmayo/WindowsLiveWriter/HowtosendIMtextusingOfficeCommunicatorSD_7468/SendText_01_2.jpg"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="SendText_01" border="0" alt="SendText_01" src="http://blogs.msdn.com/blogfiles/cmayo/WindowsLiveWriter/HowtosendIMtextusingOfficeCommunicatorSD_7468/SendText_01_thumb.jpg" width="244" height="163" /&gt;&lt;/a&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;When the call is placed, Outlook 2007 uses the OC API to set the conversation window title and to provide details on the subject of the call (the email) via IM.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/cmayo/WindowsLiveWriter/HowtosendIMtextusingOfficeCommunicatorSD_7468/SendText_03_2.jpg"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="SendText_03" border="0" alt="SendText_03" src="http://blogs.msdn.com/blogfiles/cmayo/WindowsLiveWriter/HowtosendIMtextusingOfficeCommunicatorSD_7468/SendText_03_thumb.jpg" width="244" height="153" /&gt;&lt;/a&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Here is a quick video that shows how to send IM text using the Office Communicator Automation API:&amp;#160; &lt;/p&gt;  &lt;p&gt;&lt;iframe style="width: 500px; height: 375px" src="http://silverlight.services.live.com/invoke/106091/OCSDK_SendText/iframe.html" frameborder="0" scrolling="no"&gt;&lt;/iframe&gt;&lt;/p&gt;  &lt;p&gt;Let’s break down some of the details from the video.&amp;#160; First, the IMessengerAdvanced.StartConversation() method is used to start the call.&amp;#160; Once the call is accepted by the callee, a conversation window is created that I can use to send IM as part of the call. Due to the asynchronous nature of the OC API, this conversation window doesn’t get created right away.&amp;#160; Luckily, the StartConversation() method returns the HWND of the conversation window so I can identify it in code when it is created.&amp;#160; Registering for the OnIMWindowCreated event will give me access the conversation window when that happens.&amp;#160; For example, the following code registers for the OnIMWindowCreated event, starts a new audio call and stores the HWND of conversation window to be created in a local variable _myConvHWND:&lt;/p&gt; &lt;!-- code formatted by http://manoli.net/csharpformat/ --&gt;&lt;style type="text/css"&gt;


.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}

.csharpcode pre { margin: 0em; }

.csharpcode .rem { color: #008000; }

.csharpcode .kwrd { color: #0000ff; }

.csharpcode .str { color: #006080; }

.csharpcode .op { color: #0000c0; }

.csharpcode .preproc { color: #cc6633; }

.csharpcode .asp { background-color: #ffff00; }

.csharpcode .html { color: #800000; }

.csharpcode .attr { color: #ff0000; }

.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}

.csharpcode .lnum { color: #606060; }&lt;/style&gt;  &lt;div class="csharpcode"&gt;   &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;   1:  &lt;/span&gt;&lt;span class="kwrd"&gt;namespace&lt;/span&gt; StartConversation&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;   2:  &lt;/span&gt;{&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;   3:  &lt;/span&gt;    &lt;span class="kwrd"&gt;class&lt;/span&gt; Program&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;   4:  &lt;/span&gt;    {&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;   5:  &lt;/span&gt;        &lt;span class="kwrd"&gt;private&lt;/span&gt; &lt;span class="kwrd"&gt;static&lt;/span&gt; Messenger _messenger;&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;   6:  &lt;/span&gt;        &lt;span class="kwrd"&gt;private&lt;/span&gt; &lt;span class="kwrd"&gt;static&lt;/span&gt; IMessengerAdvanced _messengerAdv;&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;   7:  &lt;/span&gt;&amp;#160;&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;   8:  &lt;/span&gt;        &lt;span class="kwrd"&gt;private&lt;/span&gt; &lt;span class="kwrd"&gt;static&lt;/span&gt; &lt;span class="kwrd"&gt;long&lt;/span&gt; _myConvHWND = 0;&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;   9:  &lt;/span&gt;&amp;#160;&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;  10:  &lt;/span&gt;        &lt;span class="kwrd"&gt;static&lt;/span&gt; &lt;span class="kwrd"&gt;void&lt;/span&gt; Main(&lt;span class="kwrd"&gt;string&lt;/span&gt;[] args)&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  11:  &lt;/span&gt;        {            &lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;  12:  &lt;/span&gt;            _messenger = &lt;span class="kwrd"&gt;new&lt;/span&gt; Messenger();&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  13:  &lt;/span&gt;            _messengerAdv = (IMessengerAdvanced)_messenger;&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;  14:  &lt;/span&gt;&amp;#160;&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  15:  &lt;/span&gt;            _messenger.OnIMWindowCreated += &lt;span class="kwrd"&gt;new&lt;/span&gt; DMessengerEvents_OnIMWindowCreatedEventHandler(_messenger_OnIMWindowCreated);&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;  16:  &lt;/span&gt;&amp;#160;&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  17:  &lt;/span&gt;            &lt;span class="kwrd"&gt;object&lt;/span&gt;[] sipUris = &lt;span class="kwrd"&gt;new&lt;/span&gt; &lt;span class="kwrd"&gt;object&lt;/span&gt;[] { &lt;span class="str"&gt;&amp;quot;kf@fabrikam.com&amp;quot;&lt;/span&gt; };&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;  18:  &lt;/span&gt;&amp;#160;&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  19:  &lt;/span&gt;            &lt;span class="kwrd"&gt;object&lt;/span&gt; obj = _messengerAdv.StartConversation(&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;  20:  &lt;/span&gt;                &lt;span class="rem"&gt;// The call media.            &lt;/span&gt;&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  21:  &lt;/span&gt;                CONVERSATION_TYPE.CONVERSATION_TYPE_AUDIO,&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;  22:  &lt;/span&gt;                &lt;span class="rem"&gt;// The participants.&lt;/span&gt;&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  23:  &lt;/span&gt;                sipUris,&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;  24:  &lt;/span&gt;                &lt;span class="rem"&gt;// Not supported.&lt;/span&gt;&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  25:  &lt;/span&gt;                &lt;span class="kwrd"&gt;null&lt;/span&gt;,&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;  26:  &lt;/span&gt;                &lt;span class="rem"&gt;// The conversation window title as as string.&lt;/span&gt;&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  27:  &lt;/span&gt;                &lt;span class="str"&gt;&amp;quot;My Audio Call with IM as Context&amp;quot;&lt;/span&gt;,&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;  28:  &lt;/span&gt;                &lt;span class="rem"&gt;// Not supported.  Pass &amp;quot;1&amp;quot;.&lt;/span&gt;&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  29:  &lt;/span&gt;                &lt;span class="str"&gt;&amp;quot;1&amp;quot;&lt;/span&gt;,&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;  30:  &lt;/span&gt;                &lt;span class="rem"&gt;// Not supported.&lt;/span&gt;&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  31:  &lt;/span&gt;                &lt;span class="kwrd"&gt;null&lt;/span&gt;);&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;  32:  &lt;/span&gt;&amp;#160;&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  33:  &lt;/span&gt;            _myConvHWND = &lt;span class="kwrd"&gt;long&lt;/span&gt;.Parse(obj.ToString());&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;  34:  &lt;/span&gt;&amp;#160;&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  35:  &lt;/span&gt;            Console.WriteLine(&lt;span class="str"&gt;&amp;quot;Press the Enter key to exit the application.&amp;quot;&lt;/span&gt;);&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;  36:  &lt;/span&gt;            Console.ReadLine();&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  37:  &lt;/span&gt;&amp;#160;&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;  38:  &lt;/span&gt;            _messenger.OnIMWindowCreated -= &lt;span class="kwrd"&gt;new&lt;/span&gt; DMessengerEvents_OnIMWindowCreatedEventHandler(_messenger_OnIMWindowCreated);&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  39:  &lt;/span&gt;&amp;#160;&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;  40:  &lt;/span&gt;            Marshal.ReleaseComObject(_messenger);&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  41:  &lt;/span&gt;            _messenger = &lt;span class="kwrd"&gt;null&lt;/span&gt;;&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;  42:  &lt;/span&gt;            Marshal.ReleaseComObject(_messengerAdv);&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  43:  &lt;/span&gt;            _messengerAdv = &lt;span class="kwrd"&gt;null&lt;/span&gt;;&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;  44:  &lt;/span&gt;        }&lt;/pre&gt;
&lt;/div&gt;

&lt;p&gt;When OnIMWindowCreated fires, it passes a reference to the conversation window via the IMessengerConversationWindowAdvanced interface.&amp;#160; I can use the HWND property on this interface to see if the conversation is the one I created with StartConversation() and send some IM using the SendText() method.&amp;#160; I need to check the HWND since OnIMWindowCreated will fire for every new conversation windows created by OC 2007 R2 (incoming or outgoing).&amp;#160; For example:&lt;/p&gt;
&lt;!-- code formatted by http://manoli.net/csharpformat/ --&gt;&lt;style type="text/css"&gt;

.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}

.csharpcode pre { margin: 0em; }

.csharpcode .rem { color: #008000; }

.csharpcode .kwrd { color: #0000ff; }

.csharpcode .str { color: #006080; }

.csharpcode .op { color: #0000c0; }

.csharpcode .preproc { color: #cc6633; }

.csharpcode .asp { background-color: #ffff00; }

.csharpcode .html { color: #800000; }

.csharpcode .attr { color: #ff0000; }

.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}

.csharpcode .lnum { color: #606060; }&lt;/style&gt;

&lt;div class="csharpcode"&gt;
  &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;   1:  &lt;/span&gt;        &lt;span class="kwrd"&gt;static&lt;/span&gt; &lt;span class="kwrd"&gt;void&lt;/span&gt; _messenger_OnIMWindowCreated(&lt;span class="kwrd"&gt;object&lt;/span&gt; pIMWindow)&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;   2:  &lt;/span&gt;        {&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;   3:  &lt;/span&gt;            IMessengerConversationWndAdvanced newConv = (IMessengerConversationWndAdvanced)pIMWindow;&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;   4:  &lt;/span&gt;&amp;#160;&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;   5:  &lt;/span&gt;            &lt;span class="kwrd"&gt;if&lt;/span&gt; (newConv.HWND == _myConvHWND)&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;   6:  &lt;/span&gt;            {&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;   7:  &lt;/span&gt;                newConv.SendText(&lt;span class="str"&gt;&amp;quot;This IM was sent via SendText()...&amp;quot;&lt;/span&gt;);&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;   8:  &lt;/span&gt;            }&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;   9:  &lt;/span&gt;        }&lt;/pre&gt;
&lt;/div&gt;

&lt;p&gt;Using the SendText() method to provide some application data in the IM channel is a great way to add value to the calls you launch from your application.&amp;#160; Using the Outlook 2007/Office Communicator 2007 R2 integration as an example, you can start to think of ways that you can provide context to the calls your application launches using data from your application.&lt;/p&gt;

&lt;p&gt;If you’d like to try this code out for yourself, you’ll need to &lt;a href="http://www.microsoft.com/downloads/details.aspx?familyid=ED1CCE45-CC22-46E1-BD50-660FE6D2C98C&amp;amp;displaylang=en"&gt;download the Office Communicator 2007 SDK&lt;/a&gt; and &lt;a href="http://blogs.msdn.com/cmayo/archive/2009/04/10/building-a-virtualized-uc-development-environment-part-1-building-the-ts-virtual-machine.aspx"&gt;setup a UC development environment&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;More details, tips and tricks on UC development can be found in the &lt;a href="http://www.amazon.com/Programming-Unified-Communications-Microsoft%C2%AE-Office/dp/0735626235/ref=sr_1_1?ie=UTF8&amp;amp;qid=1249960696&amp;amp;sr=8-1"&gt;Programming for Unified Communications&lt;/a&gt; book. &lt;/p&gt;

&lt;p&gt;Thanks,&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;Chris&lt;/p&gt;&lt;/blockquote&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9888972" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/cmayo/archive/tags/OC+2007+R2/default.aspx">OC 2007 R2</category><category domain="http://blogs.msdn.com/cmayo/archive/tags/OC+2007+SDK/default.aspx">OC 2007 SDK</category></item><item><title>PDC09 registration open, Unified Communications Futures session posted</title><link>http://blogs.msdn.com/cmayo/archive/2009/08/18/pdc09-registration-open-unified-communications-futures-session-posted.aspx</link><pubDate>Tue, 18 Aug 2009 23:01:36 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9874488</guid><dc:creator>cmayo</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/cmayo/comments/9874488.aspx</comments><wfw:commentRss>http://blogs.msdn.com/cmayo/commentrss.aspx?PostID=9874488</wfw:commentRss><description>&lt;p&gt;Before I joined Microsoft back in 2000, if I could only attend one conference a year it would be the PDC.&amp;#160; The opportunity to get a firsthand look at the future of the Microsoft platform and provide feedback directly to the product teams just couldn’t be passed up.&amp;#160; Other conferences do a great job showing how to get things done today, the PDC is all about how to get things done in the future.&amp;#160; &lt;/p&gt;  &lt;p&gt;Now that I’m with Microsoft and in a role where I focus on the future of the Unified Communications Platform, I feel the same way.&amp;#160; I wouldn’t miss PDC09 for anything.&amp;#160; At the PDC last year, we shared details on the platform we released along with Office Communications Server 2007 R2 and Exchange 2010 and provided details on v.Next.&lt;/p&gt;  &lt;p&gt;At PDC09, we’ll share specific details v.Next, including the UC product futures (including Office Communications Server, Office Communicator and Exchange) and platform futures (both client and server side) as well as sharing details on early adopter programs.&lt;/p&gt;  &lt;p&gt;Details on &lt;a href="http://microsoftpdc.com/Registration" target="_blank"&gt;registering for PDC09&lt;/a&gt; and the &lt;a href="http://microsoftpdc.com/Sessions/P09-12"&gt;Microsoft Unified Communications: Developer Platform Futures&lt;/a&gt; can be found on the &lt;a href="http://microsoftpdc.com/" target="_blank"&gt;PDC09 site&lt;/a&gt;.&amp;#160; You can watch the &lt;a href="http://channel9.msdn.com/pdc2008/BB09/" target="_blank"&gt;UC futures session at PDC08&lt;/a&gt; to get a hint of what is coming.&lt;/p&gt;  &lt;p&gt;Let’s get together while we’re there.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Thanks,&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;Chris.&lt;/p&gt;&lt;/blockquote&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9874488" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/cmayo/archive/tags/UCMA+2.0/default.aspx">UCMA 2.0</category><category domain="http://blogs.msdn.com/cmayo/archive/tags/OCS+2007+R2/default.aspx">OCS 2007 R2</category><category domain="http://blogs.msdn.com/cmayo/archive/tags/OC+2007+R2/default.aspx">OC 2007 R2</category><category domain="http://blogs.msdn.com/cmayo/archive/tags/OC+2007+SDK/default.aspx">OC 2007 SDK</category><category domain="http://blogs.msdn.com/cmayo/archive/tags/PDC09/default.aspx">PDC09</category></item><item><title>Announcing the OCS 2007 R2 Platform SDKs and New Exchange API…</title><link>http://blogs.msdn.com/cmayo/archive/2008/10/27/announcing-the-ocs-2007-r2-platform-sdks-and-new-exchange-api.aspx</link><pubDate>Tue, 28 Oct 2008 07:52:31 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9019690</guid><dc:creator>cmayo</dc:creator><slash:comments>2</slash:comments><comments>http://blogs.msdn.com/cmayo/comments/9019690.aspx</comments><wfw:commentRss>http://blogs.msdn.com/cmayo/commentrss.aspx?PostID=9019690</wfw:commentRss><description>&lt;p&gt;Today Chris Schindler and I presented a session at the PDC, BB09 – Office Communications Server 2007 and Exchange 2007: Platform Futures.&amp;#160; This is the first time we’ve discussed the new R2 platform SDKs and the new Exchange Web Services Managed API outside of the beta program and the first time we’ve discussed v.Next in public.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Man, it’s great to be able to talk about we’ve been working on with the OCS and Exchange platform teams.&amp;#160; So, here are details on the new platform.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;OCS 2007 R2:&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;Along with the release of Office Communications Server 2007 R2 and Office Communicator 2007 R2, we’re going to be releasing some new APIs.&amp;#160; The main focus of the this release is on the server side, providing more capabilities for building services that provide communication features.&amp;#160; Here are some details on the release:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;strong&gt;Unified Communications Managed API 2.0&lt;/strong&gt; – UCMA 1.0 provided a high scale/availability managed SIP stack for signaling and IM communications.&amp;#160; It was a great API for building broadcast IM solutions or IM based query/response bots.&amp;#160; UCMA 2.0 builds on the 1.0 version with new features:&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;&lt;strong&gt;Presence:&lt;/strong&gt; Now you can publish presence directly from the API as well as subscribe to the presence of other contacts and receive changes in presence as events.&amp;#160; UCMA 2.0 also supports snapshot presence queries to get the presence of contacts at a particular point in time.&lt;/li&gt;      &lt;li&gt;&lt;strong&gt;Audio:&lt;/strong&gt; Voice communications and audio call management is now supported in this release.&lt;/li&gt;      &lt;li&gt;&lt;strong&gt;Conferencing:&lt;/strong&gt; Conferencing calls (IM or voice) and conference management is now supported.&lt;/li&gt;   &lt;/ul&gt;    &lt;li&gt;&lt;strong&gt;Unified Communications Managed API 2.0 Windows Workflow Activities&lt;/strong&gt; – Built on UCMA 2.0, these workflow activities allow you to build workflows based on incoming and outgoing calls.&amp;#160; The activities include:&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;&lt;strong&gt;IM and Speech Dialog Activities:&lt;/strong&gt; Including statement and question activities for both IM and voice calls.&amp;#160; These activities provide various prompts to make the conversation feel very natural and SGRS grammars to help map what the callee says to the answers you expect.&lt;/li&gt;      &lt;li&gt;&lt;strong&gt;Commands:&lt;/strong&gt; Commands allow you to define global commands when asking a question in your workflow.&amp;#160; This allows the user to ask for help, ask for the prompt to be repeated or enact custom commands (such as “Speak to a representative.”). &lt;/li&gt;      &lt;li&gt;&lt;strong&gt;Events:&lt;/strong&gt; Events allow you to provide custom workflows for dialog events (for example, not being able to understand what was said) as well as communication events (such as the call being disconnected).&lt;/li&gt;      &lt;li&gt;&lt;strong&gt;Presence:&lt;/strong&gt; The GetPresence activity allows you to query the presence of the contacts specified in order to use in that presence in the logic of your workflow.&lt;/li&gt;   &lt;/ul&gt; &lt;/ul&gt;  &lt;p&gt;The &lt;strong&gt;Office Communicator 2007 SDK&lt;/strong&gt; is unchanged in R2.&amp;#160; This API allows you to integrate presence, IM, voice, video and conferencing by automating OC 2007 or OC 2007 R2 on the client machine.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Exchange 2007: &lt;/strong&gt;Released with Exchange 2007, Exchange Web Services provides you access to the Exchange 2007 mailbox store and services such as Availability and Notifications via a single API.&amp;#160; Exchange Web Services is *the* API for Exchange 2007 development. The new EWS Managed API provides you access to EWS functionality in a new managed API that feels much like developing with the rest of the .NET Framework rather than a set of proxy classes.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;I’ll post a link to the session as soon as it’s up.&amp;#160; We had some A/V and network issues with my first demo so I’ll record that demo again and post that too so you can get a complete picture of what the platform can do.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;I had a lot of people approach me about getting access to the Beta in our Metro early adopter program.&amp;#160; There are still spots left.&amp;#160; Please contact me via the contact page here or see me and the PDC in the booth and we’ll discuss if your project is a good fit for the program.&amp;#160; &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Lastly, thanks to the product teams (Chris, Kyle, Oscar, Vishwa, Stephane, Vincent), technical product marketing (Albert and Adam) and the folks and &lt;a href="http://www.claritycon.com/" target="_blank"&gt;Clarity Consulting&lt;/a&gt; for their help with the session today.&amp;#160; Much appreciated.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Thanks,&lt;/p&gt;  &lt;p&gt;Chris&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9019690" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/cmayo/archive/tags/UCMA+2.0/default.aspx">UCMA 2.0</category><category domain="http://blogs.msdn.com/cmayo/archive/tags/OCS+2007+R2/default.aspx">OCS 2007 R2</category><category domain="http://blogs.msdn.com/cmayo/archive/tags/OC+2007+R2/default.aspx">OC 2007 R2</category><category domain="http://blogs.msdn.com/cmayo/archive/tags/Exchange+Web+Services/default.aspx">Exchange Web Services</category><category domain="http://blogs.msdn.com/cmayo/archive/tags/OC+2007+SDK/default.aspx">OC 2007 SDK</category><category domain="http://blogs.msdn.com/cmayo/archive/tags/PDC08/default.aspx">PDC08</category></item><item><title>I’m here @ PDC08</title><link>http://blogs.msdn.com/cmayo/archive/2008/10/27/i-m-here-pdc08.aspx</link><pubDate>Mon, 27 Oct 2008 08:50:18 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9017564</guid><dc:creator>cmayo</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/cmayo/comments/9017564.aspx</comments><wfw:commentRss>http://blogs.msdn.com/cmayo/commentrss.aspx?PostID=9017564</wfw:commentRss><description>&lt;p&gt;Flight was on time(ish).&amp;#160; Hotel is close to the convention center.&amp;#160; All my hardware got here in one piece (though there’s actually like 14 pieces).&amp;#160; I’ve been running through my demos and everything is looking good.*&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Are you ready for the PDC?&amp;#160; Got sessions and HOLs picked out?&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;We’re going to be talking about the R2 platform SDKs for the first time outside of the private Beta this week at the PDC.&amp;#160; Here are the details on sessions/rooms/etc.&amp;#160; &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;BB09 Office Communications Server and Exchange: Platform Futures&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;Monday 10/27 – 1:45 pm @ 408A&lt;/li&gt;   &lt;/ul&gt;    &lt;li&gt;BB45 Office Communications Server 2007 R2: Enabling Unified Communications&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;Monday 10/27 – 5:15 pm @ 406A&lt;/li&gt;   &lt;/ul&gt;    &lt;li&gt;BB46 Exchange Web Services Managed API: Unified Communications Development for Exchange&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;Thursday 10/30 – 8:30 am @ 408B&lt;/li&gt;   &lt;/ul&gt; &lt;/ul&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;See you there,&lt;/p&gt;  &lt;p&gt;Chris&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;*If you’re in room 1923, I’m really sorry for the constant sound of phones ringing…&amp;#160; &lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9017564" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/cmayo/archive/tags/UCMA+2.0/default.aspx">UCMA 2.0</category><category domain="http://blogs.msdn.com/cmayo/archive/tags/OCS+2007+R2/default.aspx">OCS 2007 R2</category><category domain="http://blogs.msdn.com/cmayo/archive/tags/OC+2007+R2/default.aspx">OC 2007 R2</category><category domain="http://blogs.msdn.com/cmayo/archive/tags/Exchange+Web+Services/default.aspx">Exchange Web Services</category><category domain="http://blogs.msdn.com/cmayo/archive/tags/OC+2007+SDK/default.aspx">OC 2007 SDK</category><category domain="http://blogs.msdn.com/cmayo/archive/tags/PDC08/default.aspx">PDC08</category></item><item><title>UC @ PDC</title><link>http://blogs.msdn.com/cmayo/archive/2008/10/09/uc-pdc.aspx</link><pubDate>Thu, 09 Oct 2008 21:15:10 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8993115</guid><dc:creator>cmayo</dc:creator><slash:comments>3</slash:comments><comments>http://blogs.msdn.com/cmayo/comments/8993115.aspx</comments><wfw:commentRss>http://blogs.msdn.com/cmayo/commentrss.aspx?PostID=8993115</wfw:commentRss><description>&lt;p&gt;The &lt;a href="http://microsoftpdc.com/Default.aspx" target="_blank"&gt;PDC&lt;/a&gt; (10/26-10/30 in LA) is all about the future of the Microsoft Platform.&lt;/p&gt;  &lt;p&gt;So it’s appropriate that we’re going to be showing the next generation of OCS 2007, OC 2007 and the UC Platform SDKs for the first time at the PDC.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Learn: &lt;/strong&gt;We’ve got a lot to show in our &lt;a href="https://sessions.microsoftpdc.com/public/sessions.aspx" target="_blank"&gt;sessions&lt;/a&gt; if you look under the Unified Communications tag:&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Office Communications Server and Exchange: Platform Futures&lt;/strong&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Presenters: Chris Mayo, David Ollason &lt;/li&gt;    &lt;li&gt;Learn how applications and services can add presence, IM, VOIP, and Video using the Unified Communications Platform. Also, see the roadmap for the future of Microsoft Unified Communications (UC) products and the new UC Platform SDKs. &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;strong&gt;Exchange Web Services Managed API: Unified Communications Development for Exchange&lt;/strong&gt; &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Presenter: Jason Henderson &lt;/li&gt;    &lt;li&gt;The new Exchange Web Services Managed API provides managed code access to Exchange, whether running on premises or in the cloud. Learn how this new Microsoft .NET API provides full access to Microsoft Exchange mail, calendaring, scheduling, contacts, eventing, synchronization, permissioning, and public folders programmatically using the Exchange Web Services protocol. &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;strong&gt;Office Communications Server 2007 R2: Enabling Unified Communications&lt;/strong&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Presenters: Oscar Newkerk, David Ollason &lt;/li&gt;    &lt;li&gt;Learn how UCMA 2.0 and Unified Communication Workflow Activities provide a powerful communications arsenal to build Presence, IM, and voice-enabled services that can be leveraged from any application. &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;We’ll have some other cool things to do after/around our sessions.&amp;#160; &lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Socialize: &lt;/strong&gt;Come to the UC booth.&amp;#160; I’m going to be there along with the rest of the UC Platform team so we can sit down and talk about the new platform SDKs, scenarios, write some code, hit the whiteboard, whatever.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Do: &lt;/strong&gt;If you come to our sessions and get motivated to kick the tires, we’ll have HOLs at the PDC.&amp;#160; Do the HOLs and you’ll be the first to see/touch/use the bits publically.&amp;#160; The UC Platform team and I will be around to answer your questions and get your feedback.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Hope to see you there.&lt;/p&gt;  &lt;p&gt;Chris&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8993115" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/cmayo/archive/tags/UCMA+2.0/default.aspx">UCMA 2.0</category><category domain="http://blogs.msdn.com/cmayo/archive/tags/OCS+2007+R2/default.aspx">OCS 2007 R2</category><category domain="http://blogs.msdn.com/cmayo/archive/tags/OC+2007+R2/default.aspx">OC 2007 R2</category><category domain="http://blogs.msdn.com/cmayo/archive/tags/Exchange+Web+Services/default.aspx">Exchange Web Services</category><category domain="http://blogs.msdn.com/cmayo/archive/tags/OC+2007+SDK/default.aspx">OC 2007 SDK</category></item><item><title>Couldn't make it to TechEd?  UC Platform Webcasts in June!</title><link>http://blogs.msdn.com/cmayo/archive/2008/06/09/couldn-t-make-it-to-teched-uc-platform-webcasts-in-june.aspx</link><pubDate>Tue, 10 Jun 2008 01:19:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8587714</guid><dc:creator>cmayo</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/cmayo/comments/8587714.aspx</comments><wfw:commentRss>http://blogs.msdn.com/cmayo/commentrss.aspx?PostID=8587714</wfw:commentRss><description>&lt;P&gt;I wanted to make sure everyone had a chance to catch some webcasts I'm delivering here in the next couple of weeks.&amp;nbsp; &lt;/P&gt;
&lt;P&gt;We're going to cover a lot of the UC dev basics and take a deeper dive on a couple of APIs.&amp;nbsp; Details and registration at the links below:&lt;/P&gt;
&lt;P&gt;6/17 - &lt;A class="" href="http://msevents.microsoft.com/CUI/WebCastEventDetails.aspx?EventID=1032378381&amp;amp;EventCategory=4&amp;amp;culture=en-US&amp;amp;CountryCode=US" target=_blank mce_href="http://msevents.microsoft.com/CUI/WebCastEventDetails.aspx?EventID=1032378381&amp;amp;EventCategory=4&amp;amp;culture=en-US&amp;amp;CountryCode=US"&gt;Building Software on the Unified Communications Platform&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;6/19 - &lt;A class="" href="http://msevents.microsoft.com/CUI/WebCastEventDetails.aspx?EventID=1032378646&amp;amp;EventCategory=4&amp;amp;culture=en-US&amp;amp;CountryCode=US" target=_blank mce_href="http://msevents.microsoft.com/CUI/WebCastEventDetails.aspx?EventID=1032378646&amp;amp;EventCategory=4&amp;amp;culture=en-US&amp;amp;CountryCode=US"&gt;Behind the Scenes with Office Communications Server 2007, Office Communicator 2007 and Exchange 2007&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;6/24 - &lt;A class="" href="http://msevents.microsoft.com/CUI/WebCastEventDetails.aspx?EventID=1032378673&amp;amp;EventCategory=4&amp;amp;culture=en-US&amp;amp;CountryCode=US" target=_blank mce_href="http://msevents.microsoft.com/CUI/WebCastEventDetails.aspx?EventID=1032378673&amp;amp;EventCategory=4&amp;amp;culture=en-US&amp;amp;CountryCode=US"&gt;Driving Contextual Collaboration with Office Communicator 2007&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;6/27 - &lt;A class="" href="http://msevents.microsoft.com/CUI/WebCastEventDetails.aspx?EventID=1032378675&amp;amp;EventCategory=4&amp;amp;culture=en-US&amp;amp;CountryCode=US" target=_blank mce_href="http://msevents.microsoft.com/CUI/WebCastEventDetails.aspx?EventID=1032378675&amp;amp;EventCategory=4&amp;amp;culture=en-US&amp;amp;CountryCode=US"&gt;Building Asynchronous Contextual Collaboration&amp;nbsp;with Exchange Web Services&lt;/A&gt;&lt;/P&gt;
&lt;P mce_keep="true"&gt;Hope to see you (virtually) there.&lt;/P&gt;
&lt;P mce_keep="true"&gt;Chris&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8587714" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/cmayo/archive/tags/OCS+2007+R2/default.aspx">OCS 2007 R2</category><category domain="http://blogs.msdn.com/cmayo/archive/tags/OC+2007+R2/default.aspx">OC 2007 R2</category><category domain="http://blogs.msdn.com/cmayo/archive/tags/Exchange+Web+Services/default.aspx">Exchange Web Services</category><category domain="http://blogs.msdn.com/cmayo/archive/tags/OC+2007+SDK/default.aspx">OC 2007 SDK</category></item><item><title>TechEd Developers 2008 is Packed with UC Development Content</title><link>http://blogs.msdn.com/cmayo/archive/2008/05/15/teched-developers-2008-is-packed-with-uc-development-content.aspx</link><pubDate>Thu, 15 May 2008 22:00:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8508988</guid><dc:creator>cmayo</dc:creator><slash:comments>2</slash:comments><comments>http://blogs.msdn.com/cmayo/comments/8508988.aspx</comments><wfw:commentRss>http://blogs.msdn.com/cmayo/commentrss.aspx?PostID=8508988</wfw:commentRss><description>&lt;P&gt;Everyone that touches the UC products and SDK is heads down getting ready for TechEd 2008.&amp;nbsp; It's going to be awesome.&amp;nbsp; &lt;/P&gt;
&lt;P&gt;First, we've great breakout sessions to show you how to build communications features into your apps, like IM, voice and video.&amp;nbsp; We've&amp;nbsp;also got Interactive Theatre sessions where we'll show and discuss deeper demos of what the SDKs can do (and it's pretty cool).&amp;nbsp; Along with that, we've got HOLs built on top of a full OCS 2007 and Exchange 2007 environment where you can fire up Visual Studio and kick the tires.&amp;nbsp; &lt;/P&gt;
&lt;P&gt;Here's and example:&lt;/P&gt;
&lt;P&gt;1. It takes about 10 lines of code to launch a voice call.&amp;nbsp; We'll show you that code in the breakouts.&lt;/P&gt;
&lt;P&gt;2. Adding communications like voice calls makes for some really compelling apps.&amp;nbsp; We'll show you those apps and how we built them in the Interactive Theatre.&lt;/P&gt;
&lt;P&gt;3. You'll be able to write that code in the HOLs to see the code in action.&lt;/P&gt;
&lt;P&gt;Here are the sessions we'll have at TechEd:&lt;/P&gt;
&lt;P mce_keep="true"&gt;
&lt;TABLE class=MsoTableGrid style="BORDER-RIGHT: medium none; BORDER-TOP: medium none; BORDER-LEFT: medium none; WIDTH: 369.45pt; BORDER-BOTTOM: medium none; BORDER-COLLAPSE: collapse; mso-yfti-tbllook: 1184; mso-border-alt: solid black .5pt; mso-border-themecolor: text1; mso-padding-alt: 0in 5.4pt 0in 5.4pt" cellSpacing=0 cellPadding=0 width=493 border=1 class="MsoTableGrid"&gt;
&lt;TBODY&gt;
&lt;TR style="HEIGHT: 27pt; mso-yfti-irow: 0; mso-yfti-firstrow: yes"&gt;
&lt;TD class="" style="BORDER-RIGHT: black 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: black 1pt solid; PADDING-LEFT: 5.4pt; BACKGROUND: #4f81bd; PADDING-BOTTOM: 0in; BORDER-LEFT: black 1pt solid; WIDTH: 48pt; PADDING-TOP: 0in; BORDER-BOTTOM: black 1pt solid; HEIGHT: 27pt; mso-border-alt: solid black .5pt; mso-border-themecolor: text1; mso-background-themecolor: accent1" vAlign=top width=64&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; TEXT-ALIGN: center" align=center&gt;&lt;B&gt;&lt;SPAN style="FONT-SIZE: 7.5pt; COLOR: white; FONT-FAMILY: 'Arial','sans-serif'"&gt;Code&lt;?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD class="" style="BORDER-RIGHT: black 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: black 1pt solid; PADDING-LEFT: 5.4pt; BACKGROUND: #4f81bd; PADDING-BOTTOM: 0in; BORDER-LEFT: #f0f0f0; WIDTH: 202.45pt; PADDING-TOP: 0in; BORDER-BOTTOM: black 1pt solid; HEIGHT: 27pt; mso-border-alt: solid black .5pt; mso-border-themecolor: text1; mso-background-themecolor: accent1; mso-border-left-alt: solid black .5pt; mso-border-left-themecolor: text1" vAlign=top width=270&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; TEXT-ALIGN: center" align=center&gt;&lt;B&gt;&lt;SPAN style="FONT-SIZE: 7.5pt; COLOR: white; FONT-FAMILY: 'Arial','sans-serif'"&gt;Title&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD class="" style="BORDER-RIGHT: black 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: black 1pt solid; PADDING-LEFT: 5.4pt; BACKGROUND: #4f81bd; PADDING-BOTTOM: 0in; BORDER-LEFT: #f0f0f0; WIDTH: 48pt; PADDING-TOP: 0in; BORDER-BOTTOM: black 1pt solid; HEIGHT: 27pt; mso-border-alt: solid black .5pt; mso-border-themecolor: text1; mso-background-themecolor: accent1; mso-border-left-alt: solid black .5pt; mso-border-left-themecolor: text1" vAlign=top width=64&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; TEXT-ALIGN: center" align=center&gt;&lt;B&gt;&lt;SPAN style="FONT-SIZE: 7.5pt; COLOR: white; FONT-FAMILY: 'Arial','sans-serif'"&gt;Session Type&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD class="" style="BORDER-RIGHT: black 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: black 1pt solid; PADDING-LEFT: 5.4pt; BACKGROUND: #4f81bd; PADDING-BOTTOM: 0in; BORDER-LEFT: #f0f0f0; WIDTH: 71pt; PADDING-TOP: 0in; BORDER-BOTTOM: black 1pt solid; HEIGHT: 27pt; mso-border-alt: solid black .5pt; mso-border-themecolor: text1; mso-background-themecolor: accent1; mso-border-left-alt: solid black .5pt; mso-border-left-themecolor: text1" vAlign=top width=95&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; TEXT-ALIGN: center" align=center&gt;&lt;B&gt;&lt;SPAN style="FONT-SIZE: 7.5pt; COLOR: white; FONT-FAMILY: 'Arial','sans-serif'"&gt;Speaker(s)&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR style="HEIGHT: 19.5pt; mso-yfti-irow: 1"&gt;
&lt;TD class="" style="BORDER-RIGHT: black 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: black 1pt solid; WIDTH: 48pt; PADDING-TOP: 0in; BORDER-BOTTOM: black 1pt solid; HEIGHT: 19.5pt; BACKGROUND-COLOR: transparent; mso-border-alt: solid black .5pt; mso-border-themecolor: text1; mso-border-top-alt: solid black .5pt; mso-border-top-themecolor: text1" vAlign=top width=64&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 7.5pt; COLOR: #333333; FONT-FAMILY: 'Arial','sans-serif'"&gt;UNC201&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD class="" style="BORDER-RIGHT: black 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: #f0f0f0; WIDTH: 202.45pt; PADDING-TOP: 0in; BORDER-BOTTOM: black 1pt solid; HEIGHT: 19.5pt; BACKGROUND-COLOR: transparent; mso-border-alt: solid black .5pt; mso-border-themecolor: text1; mso-border-left-alt: solid black .5pt; mso-border-left-themecolor: text1; mso-border-top-alt: solid black .5pt; mso-border-top-themecolor: text1; mso-border-bottom-themecolor: text1; mso-border-right-themecolor: text1" vAlign=top width=270&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 7.5pt; COLOR: #333333; FONT-FAMILY: 'Arial','sans-serif'"&gt;Building Software on the Microsoft Unified Communications Platform&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD class="" style="BORDER-RIGHT: black 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: #f0f0f0; WIDTH: 48pt; PADDING-TOP: 0in; BORDER-BOTTOM: black 1pt solid; HEIGHT: 19.5pt; BACKGROUND-COLOR: transparent; mso-border-alt: solid black .5pt; mso-border-themecolor: text1; mso-border-left-alt: solid black .5pt; mso-border-left-themecolor: text1; mso-border-top-alt: solid black .5pt; mso-border-top-themecolor: text1; mso-border-bottom-themecolor: text1; mso-border-right-themecolor: text1" vAlign=top width=64&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 7.5pt; COLOR: #333333; FONT-FAMILY: 'Arial','sans-serif'"&gt;BRK&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD class="" style="BORDER-RIGHT: black 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: #f0f0f0; WIDTH: 71pt; PADDING-TOP: 0in; BORDER-BOTTOM: black 1pt solid; HEIGHT: 19.5pt; BACKGROUND-COLOR: transparent; mso-border-alt: solid black .5pt; mso-border-themecolor: text1; mso-border-left-alt: solid black .5pt; mso-border-left-themecolor: text1; mso-border-top-alt: solid black .5pt; mso-border-top-themecolor: text1; mso-border-bottom-themecolor: text1; mso-border-right-themecolor: text1" vAlign=top width=95&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 7.5pt; COLOR: #333333; FONT-FAMILY: 'Arial','sans-serif'"&gt;Albert Kooiman; Kirt Debique&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR style="HEIGHT: 19.5pt; mso-yfti-irow: 2"&gt;
&lt;TD class="" style="BORDER-RIGHT: black 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: black 1pt solid; WIDTH: 48pt; PADDING-TOP: 0in; BORDER-BOTTOM: black 1pt solid; HEIGHT: 19.5pt; BACKGROUND-COLOR: transparent; mso-border-alt: solid black .5pt; mso-border-themecolor: text1; mso-border-top-alt: solid black .5pt; mso-border-top-themecolor: text1" vAlign=top width=64&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 7.5pt; COLOR: #333333; FONT-FAMILY: 'Arial','sans-serif'"&gt;UNC302&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD class="" style="BORDER-RIGHT: black 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: #f0f0f0; WIDTH: 202.45pt; PADDING-TOP: 0in; BORDER-BOTTOM: black 1pt solid; HEIGHT: 19.5pt; BACKGROUND-COLOR: transparent; mso-border-alt: solid black .5pt; mso-border-themecolor: text1; mso-border-left-alt: solid black .5pt; mso-border-left-themecolor: text1; mso-border-top-alt: solid black .5pt; mso-border-top-themecolor: text1; mso-border-bottom-themecolor: text1; mso-border-right-themecolor: text1" vAlign=top width=270&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 7.5pt; COLOR: #333333; FONT-FAMILY: 'Arial','sans-serif'"&gt;Building Asynchronous Contextual Collaboration with Microsoft Exchange Web Services&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD class="" style="BORDER-RIGHT: black 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: #f0f0f0; WIDTH: 48pt; PADDING-TOP: 0in; BORDER-BOTTOM: black 1pt solid; HEIGHT: 19.5pt; BACKGROUND-COLOR: transparent; mso-border-alt: solid black .5pt; mso-border-themecolor: text1; mso-border-left-alt: solid black .5pt; mso-border-left-themecolor: text1; mso-border-top-alt: solid black .5pt; mso-border-top-themecolor: text1; mso-border-bottom-themecolor: text1; mso-border-right-themecolor: text1" vAlign=top width=64&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 7.5pt; COLOR: #333333; FONT-FAMILY: 'Arial','sans-serif'"&gt;BRK&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD class="" style="BORDER-RIGHT: black 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: #f0f0f0; WIDTH: 71pt; PADDING-TOP: 0in; BORDER-BOTTOM: black 1pt solid; HEIGHT: 19.5pt; BACKGROUND-COLOR: transparent; mso-border-alt: solid black .5pt; mso-border-themecolor: text1; mso-border-left-alt: solid black .5pt; mso-border-left-themecolor: text1; mso-border-top-alt: solid black .5pt; mso-border-top-themecolor: text1; mso-border-bottom-themecolor: text1; mso-border-right-themecolor: text1" vAlign=top width=95&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 7.5pt; COLOR: #333333; FONT-FAMILY: 'Arial','sans-serif'"&gt;Jason Henderson; Paul Robichaux&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR style="HEIGHT: 28.5pt; mso-yfti-irow: 3"&gt;
&lt;TD class="" style="BORDER-RIGHT: black 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: black 1pt solid; WIDTH: 48pt; PADDING-TOP: 0in; BORDER-BOTTOM: black 1pt solid; HEIGHT: 28.5pt; BACKGROUND-COLOR: transparent; mso-border-alt: solid black .5pt; mso-border-themecolor: text1; mso-border-top-alt: solid black .5pt; mso-border-top-themecolor: text1" vAlign=top width=64&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 7.5pt; COLOR: #333333; FONT-FAMILY: 'Arial','sans-serif'"&gt;UNC303&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD class="" style="BORDER-RIGHT: black 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: #f0f0f0; WIDTH: 202.45pt; PADDING-TOP: 0in; BORDER-BOTTOM: black 1pt solid; HEIGHT: 28.5pt; BACKGROUND-COLOR: transparent; mso-border-alt: solid black .5pt; mso-border-themecolor: text1; mso-border-left-alt: solid black .5pt; mso-border-left-themecolor: text1; mso-border-top-alt: solid black .5pt; mso-border-top-themecolor: text1; mso-border-bottom-themecolor: text1; mso-border-right-themecolor: text1" vAlign=top width=270&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 7.5pt; COLOR: #333333; FONT-FAMILY: 'Arial','sans-serif'"&gt;Unified Communications: Behind the Scenes with Microsoft Office Communications Server 2007, Office Communicator 2007 and Microsoft Exchange Server 2007&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD class="" style="BORDER-RIGHT: black 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: #f0f0f0; WIDTH: 48pt; PADDING-TOP: 0in; BORDER-BOTTOM: black 1pt solid; HEIGHT: 28.5pt; BACKGROUND-COLOR: transparent; mso-border-alt: solid black .5pt; mso-border-themecolor: text1; mso-border-left-alt: solid black .5pt; mso-border-left-themecolor: text1; mso-border-top-alt: solid black .5pt; mso-border-top-themecolor: text1; mso-border-bottom-themecolor: text1; mso-border-right-themecolor: text1" vAlign=top width=64&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 7.5pt; COLOR: #333333; FONT-FAMILY: 'Arial','sans-serif'"&gt;BRK&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD class="" style="BORDER-RIGHT: black 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: #f0f0f0; WIDTH: 71pt; PADDING-TOP: 0in; BORDER-BOTTOM: black 1pt solid; HEIGHT: 28.5pt; BACKGROUND-COLOR: transparent; mso-border-alt: solid black .5pt; mso-border-themecolor: text1; mso-border-left-alt: solid black .5pt; mso-border-left-themecolor: text1; mso-border-top-alt: solid black .5pt; mso-border-top-themecolor: text1; mso-border-bottom-themecolor: text1; mso-border-right-themecolor: text1" vAlign=top width=95&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 7.5pt; COLOR: #333333; FONT-FAMILY: 'Arial','sans-serif'"&gt;Kyle Marsh; Uma Raghavan&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR style="HEIGHT: 19.5pt; mso-yfti-irow: 4"&gt;
&lt;TD class="" style="BORDER-RIGHT: black 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: black 1pt solid; WIDTH: 48pt; PADDING-TOP: 0in; BORDER-BOTTOM: black 1pt solid; HEIGHT: 19.5pt; BACKGROUND-COLOR: transparent; mso-border-alt: solid black .5pt; mso-border-themecolor: text1; mso-border-top-alt: solid black .5pt; mso-border-top-themecolor: text1" vAlign=top width=64&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 7.5pt; COLOR: #333333; FONT-FAMILY: 'Arial','sans-serif'"&gt;UNC304&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD class="" style="BORDER-RIGHT: black 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: #f0f0f0; WIDTH: 202.45pt; PADDING-TOP: 0in; BORDER-BOTTOM: black 1pt solid; HEIGHT: 19.5pt; BACKGROUND-COLOR: transparent; mso-border-alt: solid black .5pt; mso-border-themecolor: text1; mso-border-left-alt: solid black .5pt; mso-border-left-themecolor: text1; mso-border-top-alt: solid black .5pt; mso-border-top-themecolor: text1; mso-border-bottom-themecolor: text1; mso-border-right-themecolor: text1" vAlign=top width=270&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 7.5pt; COLOR: #333333; FONT-FAMILY: 'Arial','sans-serif'"&gt;Driving Contextual Collaboration with Microsoft Office Communicator 2007&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD class="" style="BORDER-RIGHT: black 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: #f0f0f0; WIDTH: 48pt; PADDING-TOP: 0in; BORDER-BOTTOM: black 1pt solid; HEIGHT: 19.5pt; BACKGROUND-COLOR: transparent; mso-border-alt: solid black .5pt; mso-border-themecolor: text1; mso-border-left-alt: solid black .5pt; mso-border-left-themecolor: text1; mso-border-top-alt: solid black .5pt; mso-border-top-themecolor: text1; mso-border-bottom-themecolor: text1; mso-border-right-themecolor: text1" vAlign=top width=64&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 7.5pt; COLOR: #333333; FONT-FAMILY: 'Arial','sans-serif'"&gt;BRK&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD class="" style="BORDER-RIGHT: black 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: #f0f0f0; WIDTH: 71pt; PADDING-TOP: 0in; BORDER-BOTTOM: black 1pt solid; HEIGHT: 19.5pt; BACKGROUND-COLOR: transparent; mso-border-alt: solid black .5pt; mso-border-themecolor: text1; mso-border-left-alt: solid black .5pt; mso-border-left-themecolor: text1; mso-border-top-alt: solid black .5pt; mso-border-top-themecolor: text1; mso-border-bottom-themecolor: text1; mso-border-right-themecolor: text1" vAlign=top width=95&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 7.5pt; COLOR: #333333; FONT-FAMILY: 'Arial','sans-serif'"&gt;Chris Mayo&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR style="HEIGHT: 19.5pt; mso-yfti-irow: 5"&gt;
&lt;TD class="" style="BORDER-RIGHT: black 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: black 1pt solid; WIDTH: 48pt; PADDING-TOP: 0in; BORDER-BOTTOM: black 1pt solid; HEIGHT: 19.5pt; BACKGROUND-COLOR: transparent; mso-border-alt: solid black .5pt; mso-border-themecolor: text1; mso-border-top-alt: solid black .5pt; mso-border-top-themecolor: text1" vAlign=top width=64&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 7.5pt; COLOR: #333333; FONT-FAMILY: 'Arial','sans-serif'"&gt;UNC402&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD class="" style="BORDER-RIGHT: black 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: #f0f0f0; WIDTH: 202.45pt; PADDING-TOP: 0in; BORDER-BOTTOM: black 1pt solid; HEIGHT: 19.5pt; BACKGROUND-COLOR: transparent; mso-border-alt: solid black .5pt; mso-border-themecolor: text1; mso-border-left-alt: solid black .5pt; mso-border-left-themecolor: text1; mso-border-top-alt: solid black .5pt; mso-border-top-themecolor: text1; mso-border-bottom-themecolor: text1; mso-border-right-themecolor: text1" vAlign=top width=270&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 7.5pt; COLOR: #333333; FONT-FAMILY: 'Arial','sans-serif'"&gt;Business Process Communications with the Microsoft Unified Communications Managed API&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD class="" style="BORDER-RIGHT: black 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: #f0f0f0; WIDTH: 48pt; PADDING-TOP: 0in; BORDER-BOTTOM: black 1pt solid; HEIGHT: 19.5pt; BACKGROUND-COLOR: transparent; mso-border-alt: solid black .5pt; mso-border-themecolor: text1; mso-border-left-alt: solid black .5pt; mso-border-left-themecolor: text1; mso-border-top-alt: solid black .5pt; mso-border-top-themecolor: text1; mso-border-bottom-themecolor: text1; mso-border-right-themecolor: text1" vAlign=top width=64&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 7.5pt; COLOR: #333333; FONT-FAMILY: 'Arial','sans-serif'"&gt;BRK&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD class="" style="BORDER-RIGHT: black 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: #f0f0f0; WIDTH: 71pt; PADDING-TOP: 0in; BORDER-BOTTOM: black 1pt solid; HEIGHT: 19.5pt; BACKGROUND-COLOR: transparent; mso-border-alt: solid black .5pt; mso-border-themecolor: text1; mso-border-left-alt: solid black .5pt; mso-border-left-themecolor: text1; mso-border-top-alt: solid black .5pt; mso-border-top-themecolor: text1; mso-border-bottom-themecolor: text1; mso-border-right-themecolor: text1" vAlign=top width=95&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 7.5pt; COLOR: #333333; FONT-FAMILY: 'Arial','sans-serif'"&gt;Michael Dunn&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR style="HEIGHT: 19.5pt; mso-yfti-irow: 6"&gt;
&lt;TD class="" style="BORDER-RIGHT: black 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: black 1pt solid; WIDTH: 48pt; PADDING-TOP: 0in; BORDER-BOTTOM: black 1pt solid; HEIGHT: 19.5pt; BACKGROUND-COLOR: transparent; mso-border-alt: solid black .5pt; mso-border-themecolor: text1; mso-border-top-alt: solid black .5pt; mso-border-top-themecolor: text1" vAlign=top width=64&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 7.5pt; COLOR: #333333; FONT-FAMILY: 'Arial','sans-serif'"&gt;UNC401&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD class="" style="BORDER-RIGHT: black 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: #f0f0f0; WIDTH: 202.45pt; PADDING-TOP: 0in; BORDER-BOTTOM: black 1pt solid; HEIGHT: 19.5pt; BACKGROUND-COLOR: transparent; mso-border-alt: solid black .5pt; mso-border-themecolor: text1; mso-border-left-alt: solid black .5pt; mso-border-left-themecolor: text1; mso-border-top-alt: solid black .5pt; mso-border-top-themecolor: text1; mso-border-bottom-themecolor: text1; mso-border-right-themecolor: text1" vAlign=top width=270&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 7.5pt; COLOR: #333333; FONT-FAMILY: 'Arial','sans-serif'"&gt;Building Contextual Collaboration Using the Microsoft Unified Communications Client API&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD class="" style="BORDER-RIGHT: black 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: #f0f0f0; WIDTH: 48pt; PADDING-TOP: 0in; BORDER-BOTTOM: black 1pt solid; HEIGHT: 19.5pt; BACKGROUND-COLOR: transparent; mso-border-alt: solid black .5pt; mso-border-themecolor: text1; mso-border-left-alt: solid black .5pt; mso-border-left-themecolor: text1; mso-border-top-alt: solid black .5pt; mso-border-top-themecolor: text1; mso-border-bottom-themecolor: text1; mso-border-right-themecolor: text1" vAlign=top width=64&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 7.5pt; COLOR: #333333; FONT-FAMILY: 'Arial','sans-serif'"&gt;BRK&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD class="" style="BORDER-RIGHT: black 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: #f0f0f0; WIDTH: 71pt; PADDING-TOP: 0in; BORDER-BOTTOM: black 1pt solid; HEIGHT: 19.5pt; BACKGROUND-COLOR: transparent; mso-border-alt: solid black .5pt; mso-border-themecolor: text1; mso-border-left-alt: solid black .5pt; mso-border-left-themecolor: text1; mso-border-top-alt: solid black .5pt; mso-border-top-themecolor: text1; mso-border-bottom-themecolor: text1; mso-border-right-themecolor: text1" vAlign=top width=95&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 7.5pt; COLOR: #333333; FONT-FAMILY: 'Arial','sans-serif'"&gt;Oscar Newkerk; Stefano Mapelli&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR style="HEIGHT: 19.5pt; mso-yfti-irow: 7"&gt;
&lt;TD class="" style="BORDER-RIGHT: black 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: black 1pt solid; WIDTH: 48pt; PADDING-TOP: 0in; BORDER-BOTTOM: black 1pt solid; HEIGHT: 19.5pt; BACKGROUND-COLOR: transparent; mso-border-alt: solid black .5pt; mso-border-themecolor: text1; mso-border-top-alt: solid black .5pt; mso-border-top-themecolor: text1" vAlign=top width=64&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 7.5pt; COLOR: #333333; FONT-FAMILY: 'Arial','sans-serif'"&gt;UNC306&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD class="" style="BORDER-RIGHT: black 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: #f0f0f0; WIDTH: 202.45pt; PADDING-TOP: 0in; BORDER-BOTTOM: black 1pt solid; HEIGHT: 19.5pt; BACKGROUND-COLOR: transparent; mso-border-alt: solid black .5pt; mso-border-themecolor: text1; mso-border-left-alt: solid black .5pt; mso-border-left-themecolor: text1; mso-border-top-alt: solid black .5pt; mso-border-top-themecolor: text1; mso-border-bottom-themecolor: text1; mso-border-right-themecolor: text1" vAlign=top width=270&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 7.5pt; COLOR: #333333; FONT-FAMILY: 'Arial','sans-serif'"&gt;Anywhere Information Access with Microsoft Office Communications Server 2007 Speech Server&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD class="" style="BORDER-RIGHT: black 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: #f0f0f0; WIDTH: 48pt; PADDING-TOP: 0in; BORDER-BOTTOM: black 1pt solid; HEIGHT: 19.5pt; BACKGROUND-COLOR: transparent; mso-border-alt: solid black .5pt; mso-border-themecolor: text1; mso-border-left-alt: solid black .5pt; mso-border-left-themecolor: text1; mso-border-top-alt: solid black .5pt; mso-border-top-themecolor: text1; mso-border-bottom-themecolor: text1; mso-border-right-themecolor: text1" vAlign=top width=64&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 7.5pt; COLOR: #333333; FONT-FAMILY: 'Arial','sans-serif'"&gt;BRK&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD class="" style="BORDER-RIGHT: black 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: #f0f0f0; WIDTH: 71pt; PADDING-TOP: 0in; BORDER-BOTTOM: black 1pt solid; HEIGHT: 19.5pt; BACKGROUND-COLOR: transparent; mso-border-alt: solid black .5pt; mso-border-themecolor: text1; mso-border-left-alt: solid black .5pt; mso-border-left-themecolor: text1; mso-border-top-alt: solid black .5pt; mso-border-top-themecolor: text1; mso-border-bottom-themecolor: text1; mso-border-right-themecolor: text1" vAlign=top width=95&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 7.5pt; COLOR: #333333; FONT-FAMILY: 'Arial','sans-serif'"&gt;Albert Kooiman; Michael Dunn&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR style="HEIGHT: 19.5pt; mso-yfti-irow: 8"&gt;
&lt;TD class="" style="BORDER-RIGHT: black 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: black 1pt solid; WIDTH: 48pt; PADDING-TOP: 0in; BORDER-BOTTOM: black 1pt solid; HEIGHT: 19.5pt; BACKGROUND-COLOR: transparent; mso-border-alt: solid black .5pt; mso-border-themecolor: text1; mso-border-top-alt: solid black .5pt; mso-border-top-themecolor: text1" vAlign=top width=64&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 7.5pt; COLOR: #333333; FONT-FAMILY: 'Arial','sans-serif'"&gt;UNC202&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD class="" style="BORDER-RIGHT: black 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: #f0f0f0; WIDTH: 202.45pt; PADDING-TOP: 0in; BORDER-BOTTOM: black 1pt solid; HEIGHT: 19.5pt; BACKGROUND-COLOR: transparent; mso-border-alt: solid black .5pt; mso-border-themecolor: text1; mso-border-left-alt: solid black .5pt; mso-border-left-themecolor: text1; mso-border-top-alt: solid black .5pt; mso-border-top-themecolor: text1; mso-border-bottom-themecolor: text1; mso-border-right-themecolor: text1" vAlign=top width=270&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 7.5pt; COLOR: #333333; FONT-FAMILY: 'Arial','sans-serif'"&gt;Programming Conferencing Solutions with the Microsoft Office Live Meeting Service XML API&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD class="" style="BORDER-RIGHT: black 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: #f0f0f0; WIDTH: 48pt; PADDING-TOP: 0in; BORDER-BOTTOM: black 1pt solid; HEIGHT: 19.5pt; BACKGROUND-COLOR: transparent; mso-border-alt: solid black .5pt; mso-border-themecolor: text1; mso-border-left-alt: solid black .5pt; mso-border-left-themecolor: text1; mso-border-top-alt: solid black .5pt; mso-border-top-themecolor: text1; mso-border-bottom-themecolor: text1; mso-border-right-themecolor: text1" vAlign=top width=64&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 7.5pt; COLOR: #333333; FONT-FAMILY: 'Arial','sans-serif'"&gt;BRK&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD class="" style="BORDER-RIGHT: black 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: #f0f0f0; WIDTH: 71pt; PADDING-TOP: 0in; BORDER-BOTTOM: black 1pt solid; HEIGHT: 19.5pt; BACKGROUND-COLOR: transparent; mso-border-alt: solid black .5pt; mso-border-themecolor: text1; mso-border-left-alt: solid black .5pt; mso-border-left-themecolor: text1; mso-border-top-alt: solid black .5pt; mso-border-top-themecolor: text1; mso-border-bottom-themecolor: text1; mso-border-right-themecolor: text1" vAlign=top width=95&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 7.5pt; COLOR: #333333; FONT-FAMILY: 'Arial','sans-serif'"&gt;John Shriver-Blake&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR style="HEIGHT: 19.5pt; mso-yfti-irow: 9"&gt;
&lt;TD class="" style="BORDER-RIGHT: black 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: black 1pt solid; WIDTH: 48pt; PADDING-TOP: 0in; BORDER-BOTTOM: black 1pt solid; HEIGHT: 19.5pt; BACKGROUND-COLOR: transparent; mso-border-alt: solid black .5pt; mso-border-themecolor: text1; mso-border-top-alt: solid black .5pt; mso-border-top-themecolor: text1" vAlign=top width=64&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 7.5pt; COLOR: #333333; FONT-FAMILY: 'Arial','sans-serif'"&gt;UNC305&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD class="" style="BORDER-RIGHT: black 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: #f0f0f0; WIDTH: 202.45pt; PADDING-TOP: 0in; BORDER-BOTTOM: black 1pt solid; HEIGHT: 19.5pt; BACKGROUND-COLOR: transparent; mso-border-alt: solid black .5pt; mso-border-themecolor: text1; mso-border-left-alt: solid black .5pt; mso-border-left-themecolor: text1; mso-border-top-alt: solid black .5pt; mso-border-top-themecolor: text1; mso-border-bottom-themecolor: text1; mso-border-right-themecolor: text1" vAlign=top width=270&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 7.5pt; COLOR: #333333; FONT-FAMILY: 'Arial','sans-serif'"&gt;Building Contextual Collaboration Clients for the Web Using the Microsoft Unified Communications AJAX SDK&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD class="" style="BORDER-RIGHT: black 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: #f0f0f0; WIDTH: 48pt; PADDING-TOP: 0in; BORDER-BOTTOM: black 1pt solid; HEIGHT: 19.5pt; BACKGROUND-COLOR: transparent; mso-border-alt: solid black .5pt; mso-border-themecolor: text1; mso-border-left-alt: solid black .5pt; mso-border-left-themecolor: text1; mso-border-top-alt: solid black .5pt; mso-border-top-themecolor: text1; mso-border-bottom-themecolor: text1; mso-border-right-themecolor: text1" vAlign=top width=64&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 7.5pt; COLOR: #333333; FONT-FAMILY: 'Arial','sans-serif'"&gt;BRK&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD class="" style="BORDER-RIGHT: black 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: #f0f0f0; WIDTH: 71pt; PADDING-TOP: 0in; BORDER-BOTTOM: black 1pt solid; HEIGHT: 19.5pt; BACKGROUND-COLOR: transparent; mso-border-alt: solid black .5pt; mso-border-themecolor: text1; mso-border-left-alt: solid black .5pt; mso-border-left-themecolor: text1; mso-border-top-alt: solid black .5pt; mso-border-top-themecolor: text1; mso-border-bottom-themecolor: text1; mso-border-right-themecolor: text1" vAlign=top width=95&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 7.5pt; COLOR: #333333; FONT-FAMILY: 'Arial','sans-serif'"&gt;Rui Maximo&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR style="HEIGHT: 19.5pt; mso-yfti-irow: 10"&gt;
&lt;TD class="" style="BORDER-RIGHT: black 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: black 1pt solid; WIDTH: 48pt; PADDING-TOP: 0in; BORDER-BOTTOM: black 1pt solid; HEIGHT: 19.5pt; BACKGROUND-COLOR: transparent; mso-border-alt: solid black .5pt; mso-border-themecolor: text1; mso-border-top-alt: solid black .5pt; mso-border-top-themecolor: text1" vAlign=top width=64&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 7.5pt; COLOR: #333333; FONT-FAMILY: 'Arial','sans-serif'"&gt;UNC11-TLC&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD class="" style="BORDER-RIGHT: black 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: #f0f0f0; WIDTH: 202.45pt; PADDING-TOP: 0in; BORDER-BOTTOM: black 1pt solid; HEIGHT: 19.5pt; BACKGROUND-COLOR: transparent; mso-border-alt: solid black .5pt; mso-border-themecolor: text1; mso-border-left-alt: solid black .5pt; mso-border-left-themecolor: text1; mso-border-top-alt: solid black .5pt; mso-border-top-themecolor: text1; mso-border-bottom-themecolor: text1; mso-border-right-themecolor: text1" vAlign=top width=270&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 7.5pt; COLOR: #333333; FONT-FAMILY: 'Arial','sans-serif'"&gt;I Want Unifed Communications in My Application: Tell Me How&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD class="" style="BORDER-RIGHT: black 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: #f0f0f0; WIDTH: 48pt; PADDING-TOP: 0in; BORDER-BOTTOM: black 1pt solid; HEIGHT: 19.5pt; BACKGROUND-COLOR: transparent; mso-border-alt: solid black .5pt; mso-border-themecolor: text1; mso-border-left-alt: solid black .5pt; mso-border-left-themecolor: text1; mso-border-top-alt: solid black .5pt; mso-border-top-themecolor: text1; mso-border-bottom-themecolor: text1; mso-border-right-themecolor: text1" vAlign=top width=64&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 7.5pt; COLOR: #333333; FONT-FAMILY: 'Arial','sans-serif'"&gt;TLC&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD class="" style="BORDER-RIGHT: black 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: #f0f0f0; WIDTH: 71pt; PADDING-TOP: 0in; BORDER-BOTTOM: black 1pt solid; HEIGHT: 19.5pt; BACKGROUND-COLOR: transparent; mso-border-alt: solid black .5pt; mso-border-themecolor: text1; mso-border-left-alt: solid black .5pt; mso-border-left-themecolor: text1; mso-border-top-alt: solid black .5pt; mso-border-top-themecolor: text1; mso-border-bottom-themecolor: text1; mso-border-right-themecolor: text1" vAlign=top width=95&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 7.5pt; COLOR: #333333; FONT-FAMILY: 'Arial','sans-serif'"&gt;Chris Mayo; Jon Rauschenberger&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR style="HEIGHT: 19.5pt; mso-yfti-irow: 11"&gt;
&lt;TD class="" style="BORDER-RIGHT: black 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: black 1pt solid; WIDTH: 48pt; PADDING-TOP: 0in; BORDER-BOTTOM: black 1pt solid; HEIGHT: 19.5pt; BACKGROUND-COLOR: transparent; mso-border-alt: solid black .5pt; mso-border-themecolor: text1; mso-border-top-alt: solid black .5pt; mso-border-top-themecolor: text1" vAlign=top width=64&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 7.5pt; COLOR: #333333; FONT-FAMILY: 'Arial','sans-serif'"&gt;UNC03-TLC&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD class="" style="BORDER-RIGHT: black 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: #f0f0f0; WIDTH: 202.45pt; PADDING-TOP: 0in; BORDER-BOTTOM: black 1pt solid; HEIGHT: 19.5pt; BACKGROUND-COLOR: transparent; mso-border-alt: solid black .5pt; mso-border-themecolor: text1; mso-border-left-alt: solid black .5pt; mso-border-left-themecolor: text1; mso-border-top-alt: solid black .5pt; mso-border-top-themecolor: text1; mso-border-bottom-themecolor: text1; mso-border-right-themecolor: text1" vAlign=top width=270&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 7.5pt; COLOR: #333333; FONT-FAMILY: 'Arial','sans-serif'"&gt;Communicator Plus: A Microsoft Office Communicator Add-on by Eventure&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD class="" style="BORDER-RIGHT: black 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: #f0f0f0; WIDTH: 48pt; PADDING-TOP: 0in; BORDER-BOTTOM: black 1pt solid; HEIGHT: 19.5pt; BACKGROUND-COLOR: transparent; mso-border-alt: solid black .5pt; mso-border-themecolor: text1; mso-border-left-alt: solid black .5pt; mso-border-left-themecolor: text1; mso-border-top-alt: solid black .5pt; mso-border-top-themecolor: text1; mso-border-bottom-themecolor: text1; mso-border-right-themecolor: text1" vAlign=top width=64&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 7.5pt; COLOR: #333333; FONT-FAMILY: 'Arial','sans-serif'"&gt;TLC&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD class="" style="BORDER-RIGHT: black 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: #f0f0f0; WIDTH: 71pt; PADDING-TOP: 0in; BORDER-BOTTOM: black 1pt solid; HEIGHT: 19.5pt; BACKGROUND-COLOR: transparent; mso-border-alt: solid black .5pt; mso-border-themecolor: text1; mso-border-left-alt: solid black .5pt; mso-border-left-themecolor: text1; mso-border-top-alt: solid black .5pt; mso-border-top-themecolor: text1; mso-border-bottom-themecolor: text1; mso-border-right-themecolor: text1" vAlign=top width=95&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 7.5pt; COLOR: #333333; FONT-FAMILY: 'Arial','sans-serif'"&gt;Vivek Garg&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR style="HEIGHT: 19.5pt; mso-yfti-irow: 12"&gt;
&lt;TD class="" style="BORDER-RIGHT: black 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: black 1pt solid; WIDTH: 48pt; PADDING-TOP: 0in; BORDER-BOTTOM: black 1pt solid; HEIGHT: 19.5pt; BACKGROUND-COLOR: transparent; mso-border-alt: solid black .5pt; mso-border-themecolor: text1; mso-border-top-alt: solid black .5pt; mso-border-top-themecolor: text1" vAlign=top width=64&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 7.5pt; COLOR: #333333; FONT-FAMILY: 'Arial','sans-serif'"&gt;UNC01-TLC&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD class="" style="BORDER-RIGHT: black 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: #f0f0f0; WIDTH: 202.45pt; PADDING-TOP: 0in; BORDER-BOTTOM: black 1pt solid; HEIGHT: 19.5pt; BACKGROUND-COLOR: transparent; mso-border-alt: solid black .5pt; mso-border-themecolor: text1; mso-border-left-alt: solid black .5pt; mso-border-left-themecolor: text1; mso-border-top-alt: solid black .5pt; mso-border-top-themecolor: text1; mso-border-bottom-themecolor: text1; mso-border-right-themecolor: text1" vAlign=top width=270&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 7.5pt; COLOR: #333333; FONT-FAMILY: 'Arial','sans-serif'"&gt;Building Mash-ups with Microsoft Exchange Server 2007 Web Services&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD class="" style="BORDER-RIGHT: black 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: #f0f0f0; WIDTH: 48pt; PADDING-TOP: 0in; BORDER-BOTTOM: black 1pt solid; HEIGHT: 19.5pt; BACKGROUND-COLOR: transparent; mso-border-alt: solid black .5pt; mso-border-themecolor: text1; mso-border-left-alt: solid black .5pt; mso-border-left-themecolor: text1; mso-border-top-alt: solid black .5pt; mso-border-top-themecolor: text1; mso-border-bottom-themecolor: text1; mso-border-right-themecolor: text1" vAlign=top width=64&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 7.5pt; COLOR: #333333; FONT-FAMILY: 'Arial','sans-serif'"&gt;TLC&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD class="" style="BORDER-RIGHT: black 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: #f0f0f0; WIDTH: 71pt; PADDING-TOP: 0in; BORDER-BOTTOM: black 1pt solid; HEIGHT: 19.5pt; BACKGROUND-COLOR: transparent; mso-border-alt: solid black .5pt; mso-border-themecolor: text1; mso-border-left-alt: solid black .5pt; mso-border-left-themecolor: text1; mso-border-top-alt: solid black .5pt; mso-border-top-themecolor: text1; mso-border-bottom-themecolor: text1; mso-border-right-themecolor: text1" vAlign=top width=95&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 7.5pt; COLOR: #333333; FONT-FAMILY: 'Arial','sans-serif'"&gt;David Claux&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR style="HEIGHT: 19.5pt; mso-yfti-irow: 13"&gt;
&lt;TD class="" style="BORDER-RIGHT: black 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: black 1pt solid; WIDTH: 48pt; PADDING-TOP: 0in; BORDER-BOTTOM: black 1pt solid; HEIGHT: 19.5pt; BACKGROUND-COLOR: transparent; mso-border-alt: solid black .5pt; mso-border-themecolor: text1; mso-border-top-alt: solid black .5pt; mso-border-top-themecolor: text1" vAlign=top width=64&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 7.5pt; COLOR: #333333; FONT-FAMILY: 'Arial','sans-serif'"&gt;UNC05-TLC&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD class="" style="BORDER-RIGHT: black 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: #f0f0f0; WIDTH: 202.45pt; PADDING-TOP: 0in; BORDER-BOTTOM: black 1pt solid; HEIGHT: 19.5pt; BACKGROUND-COLOR: transparent; mso-border-alt: solid black .5pt; mso-border-themecolor: text1; mso-border-left-alt: solid black .5pt; mso-border-left-themecolor: text1; mso-border-top-alt: solid black .5pt; mso-border-top-themecolor: text1; mso-border-bottom-themecolor: text1; mso-border-right-themecolor: text1" vAlign=top width=270&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 7.5pt; COLOR: #333333; FONT-FAMILY: 'Arial','sans-serif'"&gt;Migrating Microsoft Exchange Applications to Exchange Web Services&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD class="" style="BORDER-RIGHT: black 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: #f0f0f0; WIDTH: 48pt; PADDING-TOP: 0in; BORDER-BOTTOM: black 1pt solid; HEIGHT: 19.5pt; BACKGROUND-COLOR: transparent; mso-border-alt: solid black .5pt; mso-border-themecolor: text1; mso-border-left-alt: solid black .5pt; mso-border-left-themecolor: text1; mso-border-top-alt: solid black .5pt; mso-border-top-themecolor: text1; mso-border-bottom-themecolor: text1; mso-border-right-themecolor: text1" vAlign=top width=64&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 7.5pt; COLOR: #333333; FONT-FAMILY: 'Arial','sans-serif'"&gt;TLC&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD class="" style="BORDER-RIGHT: black 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: #f0f0f0; WIDTH: 71pt; PADDING-TOP: 0in; BORDER-BOTTOM: black 1pt solid; HEIGHT: 19.5pt; BACKGROUND-COLOR: transparent; mso-border-alt: solid black .5pt; mso-border-themecolor: text1; mso-border-left-alt: solid black .5pt; mso-border-left-themecolor: text1; mso-border-top-alt: solid black .5pt; mso-border-top-themecolor: text1; mso-border-bottom-themecolor: text1; mso-border-right-themecolor: text1" vAlign=top width=95&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 7.5pt; COLOR: #333333; FONT-FAMILY: 'Arial','sans-serif'"&gt;David Claux; Jason Henderson&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR style="HEIGHT: 19.5pt; mso-yfti-irow: 14"&gt;
&lt;TD class="" style="BORDER-RIGHT: black 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: black 1pt solid; WIDTH: 48pt; PADDING-TOP: 0in; BORDER-BOTTOM: black 1pt solid; HEIGHT: 19.5pt; BACKGROUND-COLOR: transparent; mso-border-alt: solid black .5pt; mso-border-themecolor: text1; mso-border-top-alt: solid black .5pt; mso-border-top-themecolor: text1" vAlign=top width=64&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 7.5pt; COLOR: #333333; FONT-FAMILY: 'Arial','sans-serif'"&gt;UNC08-TLC&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD class="" style="BORDER-RIGHT: black 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: #f0f0f0; WIDTH: 202.45pt; PADDING-TOP: 0in; BORDER-BOTTOM: black 1pt solid; HEIGHT: 19.5pt; BACKGROUND-COLOR: transparent; mso-border-alt: solid black .5pt; mso-border-themecolor: text1; mso-border-left-alt: solid black .5pt; mso-border-left-themecolor: text1; mso-border-top-alt: solid black .5pt; mso-border-top-themecolor: text1; mso-border-bottom-themecolor: text1; mso-border-right-themecolor: text1" vAlign=top width=270&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 7.5pt; COLOR: #333333; FONT-FAMILY: 'Arial','sans-serif'"&gt;How to Integrate Microsoft Unified Communications with the Microsoft Office System&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD class="" style="BORDER-RIGHT: black 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: #f0f0f0; WIDTH: 48pt; PADDING-TOP: 0in; BORDER-BOTTOM: black 1pt solid; HEIGHT: 19.5pt; BACKGROUND-COLOR: transparent; mso-border-alt: solid black .5pt; mso-border-themecolor: text1; mso-border-left-alt: solid black .5pt; mso-border-left-themecolor: text1; mso-border-top-alt: solid black .5pt; mso-border-top-themecolor: text1; mso-border-bottom-themecolor: text1; mso-border-right-themecolor: text1" vAlign=top width=64&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 7.5pt; COLOR: #333333; FONT-FAMILY: 'Arial','sans-serif'"&gt;TLC&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD class="" style="BORDER-RIGHT: black 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: #f0f0f0; WIDTH: 71pt; PADDING-TOP: 0in; BORDER-BOTTOM: black 1pt solid; HEIGHT: 19.5pt; BACKGROUND-COLOR: transparent; mso-border-alt: solid black .5pt; mso-border-themecolor: text1; mso-border-left-alt: solid black .5pt; mso-border-left-themecolor: text1; mso-border-top-alt: solid black .5pt; mso-border-top-themecolor: text1; mso-border-bottom-themecolor: text1; mso-border-right-themecolor: text1" vAlign=top width=95&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 7.5pt; COLOR: #333333; FONT-FAMILY: 'Arial','sans-serif'"&gt;Chris Mayo&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR style="HEIGHT: 37.5pt; mso-yfti-irow: 15"&gt;
&lt;TD class="" style="BORDER-RIGHT: black 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: black 1pt solid; WIDTH: 48pt; PADDING-TOP: 0in; BORDER-BOTTOM: black 1pt solid; HEIGHT: 37.5pt; BACKGROUND-COLOR: transparent; mso-border-alt: solid black .5pt; mso-border-themecolor: text1; mso-border-top-alt: solid black .5pt; mso-border-top-themecolor: text1" vAlign=top width=64&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 7.5pt; COLOR: #333333; FONT-FAMILY: 'Arial','sans-serif'"&gt;UNC06-TLC&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD class="" style="BORDER-RIGHT: black 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: #f0f0f0; WIDTH: 202.45pt; PADDING-TOP: 0in; BORDER-BOTTOM: black 1pt solid; HEIGHT: 37.5pt; BACKGROUND-COLOR: transparent; mso-border-alt: solid black .5pt; mso-border-themecolor: text1; mso-border-left-alt: solid black .5pt; mso-border-left-themecolor: text1; mso-border-top-alt: solid black .5pt; mso-border-top-themecolor: text1; mso-border-bottom-themecolor: text1; mso-border-right-themecolor: text1" vAlign=top width=270&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 7.5pt; COLOR: #333333; FONT-FAMILY: 'Arial','sans-serif'"&gt;Using the Microsoft Office Communicator APIs&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD class="" style="BORDER-RIGHT: black 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: #f0f0f0; WIDTH: 48pt; PADDING-TOP: 0in; BORDER-BOTTOM: black 1pt solid; HEIGHT: 37.5pt; BACKGROUND-COLOR: transparent; mso-border-alt: solid black .5pt; mso-border-themecolor: text1; mso-border-left-alt: solid black .5pt; mso-border-left-themecolor: text1; mso-border-top-alt: solid black .5pt; mso-border-top-themecolor: text1; mso-border-bottom-themecolor: text1; mso-border-right-themecolor: text1" vAlign=top width=64&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 7.5pt; COLOR: #333333; FONT-FAMILY: 'Arial','sans-serif'"&gt;TLC&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD class="" style="BORDER-RIGHT: black 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: #f0f0f0; WIDTH: 71pt; PADDING-TOP: 0in; BORDER-BOTTOM: black 1pt solid; HEIGHT: 37.5pt; BACKGROUND-COLOR: transparent; mso-border-alt: solid black .5pt; mso-border-themecolor: text1; mso-border-left-alt: solid black .5pt; mso-border-left-themecolor: text1; mso-border-top-alt: solid black .5pt; mso-border-top-themecolor: text1; mso-border-bottom-themecolor: text1; mso-border-right-themecolor: text1" vAlign=top width=95&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 7.5pt; COLOR: #333333; FONT-FAMILY: 'Arial','sans-serif'"&gt;Avronil Bhattacharjee; Manisha Sahasrabudhe&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR style="HEIGHT: 19.5pt; mso-yfti-irow: 16"&gt;
&lt;TD class="" style="BORDER-RIGHT: black 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: black 1pt solid; WIDTH: 48pt; PADDING-TOP: 0in; BORDER-BOTTOM: black 1pt solid; HEIGHT: 19.5pt; BACKGROUND-COLOR: transparent; mso-border-alt: solid black .5pt; mso-border-themecolor: text1; mso-border-top-alt: solid black .5pt; mso-border-top-themecolor: text1" vAlign=top width=64&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 7.5pt; COLOR: #333333; FONT-FAMILY: 'Arial','sans-serif'"&gt;UNC02-TLC&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD class="" style="BORDER-RIGHT: black 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: #f0f0f0; WIDTH: 202.45pt; PADDING-TOP: 0in; BORDER-BOTTOM: black 1pt solid; HEIGHT: 19.5pt; BACKGROUND-COLOR: transparent; mso-border-alt: solid black .5pt; mso-border-themecolor: text1; mso-border-left-alt: solid black .5pt; mso-border-left-themecolor: text1; mso-border-top-alt: solid black .5pt; mso-border-top-themecolor: text1; mso-border-bottom-themecolor: text1; mso-border-right-themecolor: text1" vAlign=top width=270&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 7.5pt; COLOR: #333333; FONT-FAMILY: 'Arial','sans-serif'"&gt;Building Alerts and Notifications Using the Microsoft Unified Communications Managed API&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD class="" style="BORDER-RIGHT: black 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: #f0f0f0; WIDTH: 48pt; PADDING-TOP: 0in; BORDER-BOTTOM: black 1pt solid; HEIGHT: 19.5pt; BACKGROUND-COLOR: transparent; mso-border-alt: solid black .5pt; mso-border-themecolor: text1; mso-border-left-alt: solid black .5pt; mso-border-left-themecolor: text1; mso-border-top-alt: solid black .5pt; mso-border-top-themecolor: text1; mso-border-bottom-themecolor: text1; mso-border-right-themecolor: text1" vAlign=top width=64&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 7.5pt; COLOR: #333333; FONT-FAMILY: 'Arial','sans-serif'"&gt;TLC&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD class="" style="BORDER-RIGHT: black 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: #f0f0f0; WIDTH: 71pt; PADDING-TOP: 0in; BORDER-BOTTOM: black 1pt solid; HEIGHT: 19.5pt; BACKGROUND-COLOR: transparent; mso-border-alt: solid black .5pt; mso-border-themecolor: text1; mso-border-left-alt: solid black .5pt; mso-border-left-themecolor: text1; mso-border-top-alt: solid black .5pt; mso-border-top-themecolor: text1; mso-border-bottom-themecolor: text1; mso-border-right-themecolor: text1" vAlign=top width=95&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 7.5pt; COLOR: #333333; FONT-FAMILY: 'Arial','sans-serif'"&gt;Stephane Taine&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR style="HEIGHT: 28.5pt; mso-yfti-irow: 17"&gt;
&lt;TD class="" style="BORDER-RIGHT: black 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: black 1pt solid; WIDTH: 48pt; PADDING-TOP: 0in; BORDER-BOTTOM: black 1pt solid; HEIGHT: 28.5pt; BACKGROUND-COLOR: transparent; mso-border-alt: solid black .5pt; mso-border-themecolor: text1; mso-border-top-alt: solid black .5pt; mso-border-top-themecolor: text1" vAlign=top width=64&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 7.5pt; COLOR: #333333; FONT-FAMILY: 'Arial','sans-serif'"&gt;UNC09-TLC&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD class="" style="BORDER-RIGHT: black 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: #f0f0f0; WIDTH: 202.45pt; PADDING-TOP: 0in; BORDER-BOTTOM: black 1pt solid; HEIGHT: 28.5pt; BACKGROUND-COLOR: transparent; mso-border-alt: solid black .5pt; mso-border-themecolor: text1; mso-border-left-alt: solid black .5pt; mso-border-left-themecolor: text1; mso-border-top-alt: solid black .5pt; mso-border-top-themecolor: text1; mso-border-bottom-themecolor: text1; mso-border-right-themecolor: text1" vAlign=top width=270&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 7.5pt; COLOR: #333333; FONT-FAMILY: 'Arial','sans-serif'"&gt;Building an Outbound Microsoft Office Communications Server 2007 Speech Server Application Interacting with Microsoft Exchange Server 2007 Web Services&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD class="" style="BORDER-RIGHT: black 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: #f0f0f0; WIDTH: 48pt; PADDING-TOP: 0in; BORDER-BOTTOM: black 1pt solid; HEIGHT: 28.5pt; BACKGROUND-COLOR: transparent; mso-border-alt: solid black .5pt; mso-border-themecolor: text1; mso-border-left-alt: solid black .5pt; mso-border-left-themecolor: text1; mso-border-top-alt: solid black .5pt; mso-border-top-themecolor: text1; mso-border-bottom-themecolor: text1; mso-border-right-themecolor: text1" vAlign=top width=64&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 7.5pt; COLOR: #333333; FONT-FAMILY: 'Arial','sans-serif'"&gt;TLC&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD class="" style="BORDER-RIGHT: black 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: #f0f0f0; WIDTH: 71pt; PADDING-TOP: 0in; BORDER-BOTTOM: black 1pt solid; HEIGHT: 28.5pt; BACKGROUND-COLOR: transparent; mso-border-alt: solid black .5pt; mso-border-themecolor: text1; mso-border-left-alt: solid black .5pt; mso-border-left-themecolor: text1; mso-border-top-alt: solid black .5pt; mso-border-top-themecolor: text1; mso-border-bottom-themecolor: text1; mso-border-right-themecolor: text1" vAlign=top width=95&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 7.5pt; COLOR: #333333; FONT-FAMILY: 'Arial','sans-serif'"&gt;Albert Kooiman; Jon Rauschenberger&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR style="HEIGHT: 19.5pt; mso-yfti-irow: 18"&gt;
&lt;TD class="" style="BORDER-RIGHT: black 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: black 1pt solid; WIDTH: 48pt; PADDING-TOP: 0in; BORDER-BOTTOM: black 1pt solid; HEIGHT: 19.5pt; BACKGROUND-COLOR: transparent; mso-border-alt: solid black .5pt; mso-border-themecolor: text1; mso-border-top-alt: solid black .5pt; mso-border-top-themecolor: text1" vAlign=top width=64&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 7.5pt; COLOR: #333333; FONT-FAMILY: 'Arial','sans-serif'"&gt;UNC04-TLC&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD class="" style="BORDER-RIGHT: black 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: #f0f0f0; WIDTH: 202.45pt; PADDING-TOP: 0in; BORDER-BOTTOM: black 1pt solid; HEIGHT: 19.5pt; BACKGROUND-COLOR: transparent; mso-border-alt: solid black .5pt; mso-border-themecolor: text1; mso-border-left-alt: solid black .5pt; mso-border-left-themecolor: text1; mso-border-top-alt: solid black .5pt; mso-border-top-themecolor: text1; mso-border-bottom-themecolor: text1; mso-border-right-themecolor: text1" vAlign=top width=270&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 7.5pt; COLOR: #333333; FONT-FAMILY: 'Arial','sans-serif'"&gt;The Microsoft Unified Communications Client API: Building Your Own Unified Communications Client&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD class="" style="BORDER-RIGHT: black 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: #f0f0f0; WIDTH: 48pt; PADDING-TOP: 0in; BORDER-BOTTOM: black 1pt solid; HEIGHT: 19.5pt; BACKGROUND-COLOR: transparent; mso-border-alt: solid black .5pt; mso-border-themecolor: text1; mso-border-left-alt: solid black .5pt; mso-border-left-themecolor: text1; mso-border-top-alt: solid black .5pt; mso-border-top-themecolor: text1; mso-border-bottom-themecolor: text1; mso-border-right-themecolor: text1" vAlign=top width=64&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 7.5pt; COLOR: #333333; FONT-FAMILY: 'Arial','sans-serif'"&gt;TLC&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD class="" style="BORDER-RIGHT: black 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: #f0f0f0; WIDTH: 71pt; PADDING-TOP: 0in; BORDER-BOTTOM: black 1pt solid; HEIGHT: 19.5pt; BACKGROUND-COLOR: transparent; mso-border-alt: solid black .5pt; mso-border-themecolor: text1; mso-border-left-alt: solid black .5pt; mso-border-left-themecolor: text1; mso-border-top-alt: solid black .5pt; mso-border-top-themecolor: text1; mso-border-bottom-themecolor: text1; mso-border-right-themecolor: text1" vAlign=top width=95&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 7.5pt; COLOR: #333333; FONT-FAMILY: 'Arial','sans-serif'"&gt;Srivatsa Srinivasan; Stefano Mapelli&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR style="HEIGHT: 19.5pt; mso-yfti-irow: 19"&gt;
&lt;TD class="" style="BORDER-RIGHT: black 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: black 1pt solid; WIDTH: 48pt; PADDING-TOP: 0in; BORDER-BOTTOM: black 1pt solid; HEIGHT: 19.5pt; BACKGROUND-COLOR: transparent; mso-border-alt: solid black .5pt; mso-border-themecolor: text1; mso-border-top-alt: solid black .5pt; mso-border-top-themecolor: text1" vAlign=top width=64&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 7.5pt; COLOR: #333333; FONT-FAMILY: 'Arial','sans-serif'"&gt;UNC07-TLC&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD class="" style="BORDER-RIGHT: black 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: #f0f0f0; WIDTH: 202.45pt; PADDING-TOP: 0in; BORDER-BOTTOM: black 1pt solid; HEIGHT: 19.5pt; BACKGROUND-COLOR: transparent; mso-border-alt: solid black .5pt; mso-border-themecolor: text1; mso-border-left-alt: solid black .5pt; mso-border-left-themecolor: text1; mso-border-top-alt: solid black .5pt; mso-border-top-themecolor: text1; mso-border-bottom-themecolor: text1; mso-border-right-themecolor: text1" vAlign=top width=270&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 7.5pt; COLOR: #333333; FONT-FAMILY: 'Arial','sans-serif'"&gt;Building Bots on the Microsoft Unified Communications Managed API&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD class="" style="BORDER-RIGHT: black 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: #f0f0f0; WIDTH: 48pt; PADDING-TOP: 0in; BORDER-BOTTOM: black 1pt solid; HEIGHT: 19.5pt; BACKGROUND-COLOR: transparent; mso-border-alt: solid black .5pt; mso-border-themecolor: text1; mso-border-left-alt: solid black .5pt; mso-border-left-themecolor: text1; mso-border-top-alt: solid black .5pt; mso-border-top-themecolor: text1; mso-border-bottom-themecolor: text1; mso-border-right-themecolor: text1" vAlign=top width=64&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 7.5pt; COLOR: #333333; FONT-FAMILY: 'Arial','sans-serif'"&gt;TLC&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD class="" style="BORDER-RIGHT: black 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: #f0f0f0; WIDTH: 71pt; PADDING-TOP: 0in; BORDER-BOTTOM: black 1pt solid; HEIGHT: 19.5pt; BACKGROUND-COLOR: transparent; mso-border-alt: solid black .5pt; mso-border-themecolor: text1; mso-border-left-alt: solid black .5pt; mso-border-left-themecolor: text1; mso-border-top-alt: solid black .5pt; mso-border-top-themecolor: text1; mso-border-bottom-themecolor: text1; mso-border-right-themecolor: text1" vAlign=top width=95&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 7.5pt; COLOR: #333333; FONT-FAMILY: 'Arial','sans-serif'"&gt;Stephane Taine&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR style="HEIGHT: 19.5pt; mso-yfti-irow: 20; mso-yfti-lastrow: yes"&gt;
&lt;TD class="" style="BORDER-RIGHT: black 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: black 1pt solid; WIDTH: 48pt; PADDING-TOP: 0in; BORDER-BOTTOM: black 1pt solid; HEIGHT: 19.5pt; BACKGROUND-COLOR: transparent; mso-border-alt: solid black .5pt; mso-border-themecolor: text1; mso-border-top-alt: solid black .5pt; mso-border-top-themecolor: text1" vAlign=top width=64&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 7.5pt; COLOR: #333333; FONT-FAMILY: 'Arial','sans-serif'"&gt;UNC10-TLC&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD class="" style="BORDER-RIGHT: black 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: #f0f0f0; WIDTH: 202.45pt; PADDING-TOP: 0in; BORDER-BOTTOM: black 1pt solid; HEIGHT: 19.5pt; BACKGROUND-COLOR: transparent; mso-border-alt: solid black .5pt; mso-border-themecolor: text1; mso-border-left-alt: solid black .5pt; mso-border-left-themecolor: text1; mso-border-top-alt: solid black .5pt; mso-border-top-themecolor: text1; mso-border-bottom-themecolor: text1; mso-border-right-themecolor: text1" vAlign=top width=270&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 7.5pt; COLOR: #333333; FONT-FAMILY: 'Arial','sans-serif'"&gt;Integrating Presence in Your Web Application Using the Microsoft Unified Communications AJAX API&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD class="" style="BORDER-RIGHT: black 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: #f0f0f0; WIDTH: 48pt; PADDING-TOP: 0in; BORDER-BOTTOM: black 1pt solid; HEIGHT: 19.5pt; BACKGROUND-COLOR: transparent; mso-border-alt: solid black .5pt; mso-border-themecolor: text1; mso-border-left-alt: solid black .5pt; mso-border-left-themecolor: text1; mso-border-top-alt: solid black .5pt; mso-border-top-themecolor: text1; mso-border-bottom-themecolor: text1; mso-border-right-themecolor: text1" vAlign=top width=64&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 7.5pt; COLOR: #333333; FONT-FAMILY: 'Arial','sans-serif'"&gt;TLC&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD class="" style="BORDER-RIGHT: black 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: #f0f0f0; WIDTH: 71pt; PADDING-TOP: 0in; BORDER-BOTTOM: black 1pt solid; HEIGHT: 19.5pt; BACKGROUND-COLOR: transparent; mso-border-alt: solid black .5pt; mso-border-themecolor: text1; mso-border-left-alt: solid black .5pt; mso-border-left-themecolor: text1; mso-border-top-alt: solid black .5pt; mso-border-top-themecolor: text1; mso-border-bottom-themecolor: text1; mso-border-right-themecolor: text1" vAlign=top width=95&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 7.5pt; COLOR: #333333; FONT-FAMILY: 'Arial','sans-serif'"&gt;Rui Maximo&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;/P&gt;
&lt;P&gt;To get more details on our sessions, got to &lt;A href="https://www.msteched.com/dev/public/sessions.aspx" mce_href="https://www.msteched.com/dev/public/sessions.aspx"&gt;https://www.msteched.com/dev/public/sessions.aspx&lt;/A&gt;, and select "Show Track", select "Unified Communications" and then click the "Filter" button.&lt;/P&gt;
&lt;P&gt;To get registred for TechEd Developers 2008, you can get details here: &lt;SPAN style="FONT-SIZE: 11pt; COLOR: #1f497d; FONT-FAMILY: 'Calibri','sans-serif'; mso-bidi-font-family: 'Times New Roman'; mso-fareast-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: EN-US; mso-bidi-language: AR-SA"&gt;&lt;A href="http://www.microsoft.com/events/teched2008/developer/default.mspx" mce_href="http://www.microsoft.com/events/teched2008/developer/default.mspx"&gt;http://www.microsoft.com/events/teched2008/developer/default.mspx&lt;/A&gt;.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE: 11pt; COLOR: #1f497d; FONT-FAMILY: 'Calibri','sans-serif'; mso-bidi-font-family: 'Times New Roman'; mso-fareast-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: EN-US; mso-bidi-language: AR-SA"&gt;&lt;FONT face=Arial color=#000000 size=2&gt;See you there!&amp;nbsp; I'll be in the UC&amp;nbsp;Booth all week (when I'm not speaking at Breakouts, Interactive Theatres or helping in the HOLs!)!&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE: 11pt; COLOR: #1f497d; FONT-FAMILY: 'Calibri','sans-serif'; mso-bidi-font-family: 'Times New Roman'; mso-fareast-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: EN-US; mso-bidi-language: AR-SA"&gt;&lt;FONT face=Arial color=#000000 size=2&gt;Chris!&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE: 11pt; COLOR: #1f497d; FONT-FAMILY: 'Calibri','sans-serif'; mso-bidi-font-family: 'Times New Roman'; mso-fareast-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: EN-US; mso-bidi-language: AR-SA"&gt;&lt;/SPAN&gt;&amp;nbsp;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8508988" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/cmayo/archive/tags/OCS+2007+Speech+Server/default.aspx">OCS 2007 Speech Server</category><category domain="http://blogs.msdn.com/cmayo/archive/tags/UCMA+2.0/default.aspx">UCMA 2.0</category><category domain="http://blogs.msdn.com/cmayo/archive/tags/OCS+2007+R2/default.aspx">OCS 2007 R2</category><category domain="http://blogs.msdn.com/cmayo/archive/tags/OC+2007+R2/default.aspx">OC 2007 R2</category><category domain="http://blogs.msdn.com/cmayo/archive/tags/Exchange+Web+Services/default.aspx">Exchange Web Services</category><category domain="http://blogs.msdn.com/cmayo/archive/tags/UCCA/default.aspx">UCCA</category><category domain="http://blogs.msdn.com/cmayo/archive/tags/OC+2007+SDK/default.aspx">OC 2007 SDK</category><category domain="http://blogs.msdn.com/cmayo/archive/tags/OCS+2007+SDK/default.aspx">OCS 2007 SDK</category><category domain="http://blogs.msdn.com/cmayo/archive/tags/UC+AJAX+APIs/default.aspx">UC AJAX APIs</category></item><item><title>The Impact of UC in Software, A Healthcare Industry Example</title><link>http://blogs.msdn.com/cmayo/archive/2008/04/01/the-impact-of-uc-in-software-a-healthcare-industry-example.aspx</link><pubDate>Tue, 01 Apr 2008 18:38:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8348306</guid><dc:creator>cmayo</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/cmayo/comments/8348306.aspx</comments><wfw:commentRss>http://blogs.msdn.com/cmayo/commentrss.aspx?PostID=8348306</wfw:commentRss><description>&lt;P&gt;Since I got into the software industry, I've always been looking for technology that has the ability to fundamentally affect the way that people work on a daily basis.&amp;nbsp; The UC platform is a great example of that postive change potential and it's a big reason why I do what I do at Microsoft.&amp;nbsp; &lt;/P&gt;
&lt;P&gt;Watch this &lt;A class="" title="Great UC in Healthcare video/post..." href="http://blogs.msdn.com/healthblog/archive/2008/03/26/picture-this-unified-communications-in-healthcare.aspx" mce_href="http://blogs.msdn.com/healthblog/archive/2008/03/26/picture-this-unified-communications-in-healthcare.aspx"&gt;video &lt;/A&gt;to get a feel for the subtle, but incredibly powerful impact that UC can have on the way the doctors&amp;nbsp;on a daily basis.&amp;nbsp; While the&amp;nbsp;doctors and scenarios are fictional for&amp;nbsp;the purpose of the demo, the video does a great job of showing the potential.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Where can integrated communications add value to the software you ship to your users?&amp;nbsp; How can it change they way they work and communicate on a daily basis? &lt;/P&gt;
&lt;P&gt;Great questions!&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8348306" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/cmayo/archive/tags/OCS+2007+R2/default.aspx">OCS 2007 R2</category><category domain="http://blogs.msdn.com/cmayo/archive/tags/OC+2007+R2/default.aspx">OC 2007 R2</category><category domain="http://blogs.msdn.com/cmayo/archive/tags/OC+2007+SDK/default.aspx">OC 2007 SDK</category></item><item><title>Cool OC 2007 Extensibility Blog Post...</title><link>http://blogs.msdn.com/cmayo/archive/2008/03/26/cool-oc-2007-extensibility-blog-post.aspx</link><pubDate>Wed, 26 Mar 2008 22:41:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8338341</guid><dc:creator>cmayo</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/cmayo/comments/8338341.aspx</comments><wfw:commentRss>http://blogs.msdn.com/cmayo/commentrss.aspx?PostID=8338341</wfw:commentRss><description>&lt;P&gt;I generally like any post that starts with "While waiting for Lost to start..." and ends up with something cool, but I especially like this post since it show one of the easy ways that you can extend OC 2007 to include customer functionality.&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.claritycon.com/blogs/kevin_marshall/archive/2008/03/20/google-ajax-language-api-amp-office-communicator-custom-translation-tabs.aspx"&gt;&lt;FONT face=Calibri size=3&gt;http://blogs.claritycon.com/blogs/kevin_marshall/archive/2008/03/20/google-ajax-language-api-amp-office-communicator-custom-translation-tabs.aspx&lt;/FONT&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;Very cool!&amp;nbsp; Or should I say, Tres Cool!&amp;nbsp;&lt;FONT size=2&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8338341" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/cmayo/archive/tags/OC+2007+R2/default.aspx">OC 2007 R2</category><category domain="http://blogs.msdn.com/cmayo/archive/tags/OC+2007+SDK/default.aspx">OC 2007 SDK</category></item><item><title>Cool UC Demo on Ch. 9</title><link>http://blogs.msdn.com/cmayo/archive/2008/03/24/cool-uc-demo-on-ch-9.aspx</link><pubDate>Tue, 25 Mar 2008 03:50:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8334637</guid><dc:creator>cmayo</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/cmayo/comments/8334637.aspx</comments><wfw:commentRss>http://blogs.msdn.com/cmayo/commentrss.aspx?PostID=8334637</wfw:commentRss><description>&lt;P&gt;It would seem that I've finally come up for air...&amp;nbsp; I know what you're thinking, nobody can hold their breath for *that* long...&lt;/P&gt;
&lt;P&gt;Anyway, I've got a back log of cool stuff to share over the next few weeks, starting with this demo we did at the &lt;A class="" href="https://microsoft.crgevents.com/ODC2008/Content/default.aspx?p=UC3HYF" mce_href="https://microsoft.crgevents.com/ODC2008/Content/default.aspx?p=UC3HYF"&gt;Office Developer Confernce 2008&lt;/A&gt; keynote given by&amp;nbsp;&lt;A href="http://www.microsoft.com/presspass/exec/gurdeep/default.mspx" target=_blank mce_href="http://www.microsoft.com/presspass/exec/gurdeep/default.mspx"&gt;Gurdeep Singh Pall&lt;/A&gt;,.&amp;nbsp; It's a retail scenario demo with lots of cool communications features.&amp;nbsp; Take a &lt;A class="" href="http://channel9.msdn.com/ShowPost.aspx?PostID=390291#390291" mce_href="http://channel9.msdn.com/ShowPost.aspx?PostID=390291#390291"&gt;look&lt;/A&gt;, the demos speaks for itself.&lt;/P&gt;
&lt;P&gt;Specail "props" to Jon Rauschenberger and George Durzi of &lt;A class="" href="http://www.claritycon.com/" mce_href="http://www.claritycon.com/"&gt;Clarity Consulting&lt;/A&gt; for getting this demo done quickly and done right.&amp;nbsp; Man, we didn't have anything&amp;nbsp; but some cool ideas 2 weeks before the conference.&lt;/P&gt;
&lt;P&gt;More coming your way...&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8334637" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/cmayo/archive/tags/UCMA+2.0/default.aspx">UCMA 2.0</category><category domain="http://blogs.msdn.com/cmayo/archive/tags/OC+2007+SDK/default.aspx">OC 2007 SDK</category></item><item><title>7 UC Dev Sessions at TechEd Developers 2007 Europe!</title><link>http://blogs.msdn.com/cmayo/archive/2007/10/08/7-uc-dev-sessions-at-teched-developers-2007-europe.aspx</link><pubDate>Mon, 08 Oct 2007 22:27:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:5370534</guid><dc:creator>cmayo</dc:creator><slash:comments>2</slash:comments><comments>http://blogs.msdn.com/cmayo/comments/5370534.aspx</comments><wfw:commentRss>http://blogs.msdn.com/cmayo/commentrss.aspx?PostID=5370534</wfw:commentRss><description>&lt;P&gt;&lt;A class="" href="http://www.mseventseurope.com/teched/07/developers/content/Pages/Default.aspx" mce_href="http://www.mseventseurope.com/teched/07/developers/content/Pages/Default.aspx"&gt;TechEd Developers 2007 Europe&lt;/A&gt; is in Barcelona Spain on 11/5-11/9/2007 this year.&amp;nbsp; I'm very excited about this year since we're going to have a total of 7 sessions focused on developing with the UC platform, including OC 2007 SDK, OCS 2007 SDK, UCCP, UCMA, CWA AJAX APIs and Speech Server.&lt;/P&gt;
&lt;P&gt;Sign up for TechEd and mark the sessions below on your event calendar.&amp;nbsp; These sessions start out with an overview of the platform as a whole and then dive deep into the platform and SDKs.&amp;nbsp; You'll leave with the solid understanding of the platform and plenty of great ideas on how you can leverage communications in your solutions.&amp;nbsp; &lt;/P&gt;
&lt;P&gt;I'll be specifically covering the Unified Communications Managed API and how you can use the UCMA to create broadcast IMs, IM Bots for information access and business process automation and other server side communications solutions.&lt;/P&gt;
&lt;P&gt;We'll also have a booth at the event staffed with members of the team to answer questions.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Come to TechEd to get started writing UC apps!&lt;/P&gt;
&lt;P&gt;Sessions include:&lt;/P&gt;
&lt;P&gt;
&lt;TABLE class=bodyTable cellSpacing=0 cellPadding=0 class="bodyTable"&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD class=bodyFullH class="bodyFullH"&gt;
&lt;DIV id=ctl00_ContentBody_SessionSearch1_UpdatePanel1&gt;
&lt;DIV&gt;
&lt;TABLE class="" id=ctl00_ContentBody_SessionSearch1_GridView1 style="BORDER-COLLAPSE: collapse" cellSpacing=0 cellPadding=5 border=0&gt;
&lt;TBODY&gt;
&lt;TR class=GridViewRowStyle&gt;
&lt;TD class=""&gt;
&lt;TABLE class="" width="97%"&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD class="" style="FONT-WEIGHT: bold" vAlign=top align=left&gt;&lt;SPAN class=sessionTitle id=ctl00_ContentBody_SessionSearch1_GridView1_ctl03_Label2&gt;UCM201&lt;/SPAN&gt; &lt;SPAN class=sessionTitle id=ctl00_ContentBody_SessionSearch1_GridView1_ctl03_Label3&gt;Unified Communications for Developers: Building Communications Into Your Applications&lt;/SPAN&gt;&amp;nbsp;&amp;nbsp; &lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class=speaker vAlign=top align=left class="speaker"&gt;Albert Kooiman &lt;SPAN id=ctl00_ContentBody_SessionSearch1_GridView1_ctl03_Repeater2_ctl01_Label11&gt;,&lt;/SPAN&gt; Kirt Debique &lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="" vAlign=top align=left&gt;&lt;SPAN id=ctl00_ContentBody_SessionSearch1_GridView1_ctl03_Label4&gt;Microsoft Unified Communications (UC) is turning the traditionally hardware oriented communications world into software. Building the Microsoft Unified Communications Platform, with rich APIs and solid tools support is a corner stone of that strategy. This session will give an overview of what scenarios the UC Platform enables and the APIs and SDKs that Microsoft Unified Communications offers. We will demonstrate how to integrate presence, voice over IP, video and messaging into your applications as well as how to build powerful communications applications like IM-based query/response bots, outbound notifications and speech technology enabled telephony applications. Communications now can be a first class feature in Windows and Web applications. This session is the overview session of how you can leverage that capability as an developer.&lt;/SPAN&gt;&amp;nbsp;&amp;nbsp; &lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class=""&gt;&lt;!-- Rooms and Times --&gt;&lt;SPAN class=timeslot id=ctl00_ContentBody_SessionSearch1_GridView1_ctl03_Repeater4_ctl00_Label9&gt;Mon Nov 5 16:00 - 17:15 TBC&lt;/SPAN&gt; &lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class=""&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR class=GridViewAlternatingRowStyle&gt;
&lt;TD class=""&gt;
&lt;TABLE class="" width="97%"&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD class="" style="FONT-WEIGHT: bold" vAlign=top align=left&gt;&lt;SPAN class=sessionTitle id=ctl00_ContentBody_SessionSearch1_GridView1_ctl04_Label2&gt;UCM202&lt;/SPAN&gt; &lt;SPAN class=sessionTitle id=ctl00_ContentBody_SessionSearch1_GridView1_ctl04_Label3&gt;Developing with Exchange Web Services&lt;/SPAN&gt;&amp;nbsp;&amp;nbsp; &lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class=speaker vAlign=top align=left class="speaker"&gt;Jason Henderson &lt;SPAN id=ctl00_ContentBody_SessionSearch1_GridView1_ctl04_Repeater2_ctl01_Label11&gt;,&lt;/SPAN&gt; Adam Glick &lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="" vAlign=top align=left&gt;&lt;SPAN id=ctl00_ContentBody_SessionSearch1_GridView1_ctl04_Label4&gt;Exchange 2007 unifies programmatic access to Exchange data through Exchange Web Services (EWS). EWS can be used to integrate line-of-business, ISV, and Unified Communications applications with Exchange that leverage calendaring, free-busy information, contacts, messaging, tasks, and unified messaging notifications. This session gives an overview of the Exchange Web Services APIs and their roadmap, and focuses on specific illustrations of how to use Exchange Web Services in your line-of-business applications. It includes walk-through of code examples of how to integrate data from the store into LOB applications and third party solutions, with specific examples of messaging, email notifications, auto-discover and availability services.&lt;/SPAN&gt;&amp;nbsp;&amp;nbsp; &lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class=""&gt;&lt;!-- Rooms and Times --&gt;&lt;SPAN class=timeslot id=ctl00_ContentBody_SessionSearch1_GridView1_ctl04_Repeater4_ctl00_Label9&gt;Thu Nov 8 17:30 - 18:45 TBC&lt;/SPAN&gt; &lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class=""&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR class=GridViewRowStyle&gt;
&lt;TD class=""&gt;
&lt;TABLE class="" width="97%"&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD class="" style="FONT-WEIGHT: bold" vAlign=top align=left&gt;&lt;SPAN class=sessionTitle id=ctl00_ContentBody_SessionSearch1_GridView1_ctl05_Label2&gt;UCM301&lt;/SPAN&gt; &lt;SPAN class=sessionTitle id=ctl00_ContentBody_SessionSearch1_GridView1_ctl05_Label3&gt;Office Communications Server 2007 for Developers: Under the Hood&lt;/SPAN&gt;&amp;nbsp;&amp;nbsp; &lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class=speaker vAlign=top align=left class="speaker"&gt;Kyle Marsh &lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="" vAlign=top align=left&gt;&lt;SPAN id=ctl00_ContentBody_SessionSearch1_GridView1_ctl05_Label4&gt;Office Communications Server (OCS) 2007 provides the infrastructure for communications including voice, video, IM, conferencing, speech and unified messaging. But OCS 2007 is also the cornerstone of a communications platform that you as a developer can use to build communications into your solutions. In this session we will take a look under the hood of OCS to examine the foundation components that OCS makes available for developers and what OCS components are important to developers. Learn how Communicator uses the advanced publish and subscribe features of OCS to implement its rich presence features and how developers can use the OCS’s conferencing infrastructure to provide multiparty IM, voice or video conference calls. &lt;/SPAN&gt;&amp;nbsp;&amp;nbsp; &lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class=""&gt;&lt;!-- Rooms and Times --&gt;&lt;SPAN class=timeslot id=ctl00_ContentBody_SessionSearch1_GridView1_ctl05_Repeater4_ctl00_Label9&gt;Mon Nov 5 17:45 - 19:00 TBC&lt;/SPAN&gt; &lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class=""&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR class=GridViewAlternatingRowStyle&gt;
&lt;TD class=""&gt;
&lt;TABLE class="" width="97%"&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD class="" style="FONT-WEIGHT: bold" vAlign=top align=left&gt;&lt;SPAN class=sessionTitle id=ctl00_ContentBody_SessionSearch1_GridView1_ctl06_Label2&gt;UCM302&lt;/SPAN&gt; &lt;SPAN class=sessionTitle id=ctl00_ContentBody_SessionSearch1_GridView1_ctl06_Label3&gt;Integrating Presence and Communications in Your Applications using Office Communicator&lt;/SPAN&gt;&amp;nbsp;&amp;nbsp; &lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class=speaker vAlign=top align=left class="speaker"&gt;Kyle Marsh &lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="" vAlign=top align=left&gt;&lt;SPAN id=ctl00_ContentBody_SessionSearch1_GridView1_ctl06_Label4&gt;With Outlook and Office Communicator, you can see the presence of people on from, to and cc lines of an email message and start IM, voice and video conversations or conferences. In this session you’ll learn how to build this "presence" and contextual collaboration into your Web and Windows Applications! This session will be loaded with examples and demos of how you can add rich presence information and drive collaboration tools from your applications.&lt;/SPAN&gt;&amp;nbsp;&amp;nbsp; &lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class=""&gt;&lt;!-- Rooms and Times --&gt;&lt;SPAN class=timeslot id=ctl00_ContentBody_SessionSearch1_GridView1_ctl06_Repeater4_ctl00_Label9&gt;Tue Nov 6 10:45 - 12:00 TBC&lt;/SPAN&gt; &lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class=""&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR class=GridViewRowStyle&gt;
&lt;TD class=""&gt;
&lt;TABLE class="" width="97%"&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD class="" style="FONT-WEIGHT: bold" vAlign=top align=left&gt;&lt;SPAN class=sessionTitle id=ctl00_ContentBody_SessionSearch1_GridView1_ctl07_Label2&gt;UCM303&lt;/SPAN&gt; &lt;SPAN class=sessionTitle id=ctl00_ContentBody_SessionSearch1_GridView1_ctl07_Label3&gt;Embedding Communications &amp;amp; Presence into Your Windows Applications using Unified Communications Client API (UCCA)&lt;/SPAN&gt;&amp;nbsp;&amp;nbsp; &lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class=speaker vAlign=top align=left class="speaker"&gt;Aatif Awan &lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="" vAlign=top align=left&gt;&lt;SPAN id=ctl00_ContentBody_SessionSearch1_GridView1_ctl07_Label4&gt;Learn how to create powerful communications applications similar to Office Communicator 2007 and Live Meeting 2007 or embed Presence, Contact Management, Instant Messaging, Voice, Video and Conferencing into your existing Windows applications using Microsoft Unified Communications Client API (UCCA). UCCA is an API designed to build client applications for Office Communication Server (OCS) 2007 and in this session we’ll describe the scenarios you can build into your applications using UCCA. We’ll also explore the architecture, important interfaces and programming patterns for UCCA. Finally we’ll show you a couple of demos and take a good look at the code behind these demos.&lt;/SPAN&gt;&amp;nbsp;&amp;nbsp; &lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class=""&gt;&lt;!-- Rooms and Times --&gt;&lt;SPAN class=timeslot id=ctl00_ContentBody_SessionSearch1_GridView1_ctl07_Repeater4_ctl00_Label9&gt;Tue Nov 6 17:00 - 18:15 TBC&lt;/SPAN&gt; &lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class=""&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR class=GridViewAlternatingRowStyle&gt;
&lt;TD class=""&gt;
&lt;TABLE class="" width="97%"&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD class="" style="FONT-WEIGHT: bold" vAlign=top align=left&gt;&lt;SPAN class=sessionTitle id=ctl00_ContentBody_SessionSearch1_GridView1_ctl08_Label2&gt;UCM304&lt;/SPAN&gt; &lt;SPAN class=sessionTitle id=ctl00_ContentBody_SessionSearch1_GridView1_ctl08_Label3&gt;Embedding Communications &amp;amp; Presence into Your Web Applications using Unified Communications AJAX SDK&lt;/SPAN&gt;&amp;nbsp;&amp;nbsp; &lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class=speaker vAlign=top align=left class="speaker"&gt;Kyle Marsh &lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="" vAlign=top align=left&gt;&lt;SPAN id=ctl00_ContentBody_SessionSearch1_GridView1_ctl08_Label4&gt;Learn how to create powerful instant messaging applications similar to Office Communicator Web Access 2007 or embed Presence, Contact Management, and Instant Messaging into your existing Web applications using the Unified Communications AJAX SDK. The Unified Communications (UC) AJAX SDK is an API designed to build browser based client applicationss for Office Communication Server (OCS) 2007 that can run within a variety of browsers (IE, Firefox, and Safari) independent of the operating system. In this session we’ll describe the scenarios you can build into your applications using UC AJAX SDK. We’ll also explore the architecture, important interfaces and programming patterns for UC AJAX SDK. Finally we’ll show you a couple of demos and take a good look at the code behind these demos.&lt;/SPAN&gt;&amp;nbsp;&amp;nbsp; &lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class=""&gt;&lt;!-- Rooms and Times --&gt;&lt;SPAN class=timeslot id=ctl00_ContentBody_SessionSearch1_GridView1_ctl08_Repeater4_ctl00_Label9&gt;Wed Nov 7 09:00 - 10:15 TBC&lt;/SPAN&gt; &lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class=""&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR class=GridViewRowStyle&gt;
&lt;TD class=""&gt;
&lt;TABLE class="" width="97%"&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD class="" style="FONT-WEIGHT: bold" vAlign=top align=left&gt;&lt;SPAN class=sessionTitle id=ctl00_ContentBody_SessionSearch1_GridView1_ctl09_Label2&gt;UCM305&lt;/SPAN&gt; &lt;SPAN class=sessionTitle id=ctl00_ContentBody_SessionSearch1_GridView1_ctl09_Label3&gt;Embedding Unified Communications into Your Business Processes and Services with the Unified Communications Managed API (UCMA)&lt;/SPAN&gt;&amp;nbsp;&amp;nbsp; &lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class=speaker vAlign=top align=left class="speaker"&gt;Chris Mayo &lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="" vAlign=top align=left&gt;&lt;SPAN id=ctl00_ContentBody_SessionSearch1_GridView1_ctl09_Label4&gt;In this session, we’ll use the Unified Communications Managed API (UCMA) to build communication into the server side. UCMA give you the ability to reach users via IM whether they are inside the corporate firewall using OC 2007 or sitting in an internet café using Communicator Web Access. Come to this session to learn how to build broadcast IM services to contact users quickly and conveniently or to move to the next step in a workflow using IM. Learn how to build a query/response IM “robot” to allow users to gather information quickly just by interacting with your service via IM. &lt;/SPAN&gt;&amp;nbsp;&amp;nbsp; &lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class=""&gt;&lt;!-- Rooms and Times --&gt;&lt;SPAN class=timeslot id=ctl00_ContentBody_SessionSearch1_GridView1_ctl09_Repeater4_ctl00_Label9&gt;Thu Nov 8 13:30 - 14:45 TBC&lt;/SPAN&gt; &lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class=""&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;/DIV&gt;&lt;/DIV&gt;
&lt;SCRIPT language=javascript type=text/javascript&gt;

    function pageLoad() { 
        $addHandler($get("ctl00_ContentBody_SessionSearch1_linkButton1"), "click", resetCPControls);
    }

    var oCPE;
    function resetCPControls(eventElement) {
    
        if (oCPE == null) {
            oCPE = $find("ctl00_ContentBody_SessionSearch1_cpe");
        }
            
        if (!oCPE.get_Collapsed()) {
            $get("ctl00_ContentBody_SessionSearch1_txtSearchWords").value = '';
            $get("ctl00_ContentBody_SessionSearch1_ddlSearchIn").options[0].selected = true;

            var oThisForm = document.forms[0];
            
            for (var i=0, j=oThisForm.elements.length; i&lt;j; i++) {                
                if (oThisForm.elements[i].id.indexOf("ddlCategoryType") &gt; -1) {
                    oThisForm.elements[i].options[0].selected = true;
                }
            }
        }           
    }

&lt;/SCRIPT&gt;
&lt;/TD&gt;
&lt;TD class=tableRight class="tableRight"&gt;&lt;IMG height=1 alt="" src="http://www.mseventseurope.com/OnLinePub/Images/event/te2007/main_right.gif" width=21&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;
&lt;TABLE class="" style="WIDTH: 100%" cellSpacing=0 cellPadding=0&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD class=tableCornersBotLNoT class="tableCornersBotLNoT"&gt;&lt;IMG height=1 alt="" src="http://www.mseventseurope.com/OnLinePub/Images/1ptrans.gif" width=21&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=5370534" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/cmayo/archive/tags/OCS+2007+Speech+Server/default.aspx">OCS 2007 Speech Server</category><category domain="http://blogs.msdn.com/cmayo/archive/tags/UCMA+2.0/default.aspx">UCMA 2.0</category><category domain="http://blogs.msdn.com/cmayo/archive/tags/Exchange+Web+Services/default.aspx">Exchange Web Services</category><category domain="http://blogs.msdn.com/cmayo/archive/tags/UCCA/default.aspx">UCCA</category><category domain="http://blogs.msdn.com/cmayo/archive/tags/OC+2007+SDK/default.aspx">OC 2007 SDK</category><category domain="http://blogs.msdn.com/cmayo/archive/tags/OCS+2007+SDK/default.aspx">OCS 2007 SDK</category><category domain="http://blogs.msdn.com/cmayo/archive/tags/UC+AJAX+APIs/default.aspx">UC AJAX APIs</category></item></channel></rss>