Joe Calev's WebLog

Posts and information about Microsoft Office Communications Server and sometimes off topic posts.

Browse by Tags

Tagged Content List
  • Blog Post: How to create a new group and add contacts to it in UCMA

    It is quite easy to add groups, add contacts, and enumerate both contacts and groups using UCMA’s ContactGroupServices extension.  To enumerate groups, you can use the following. ICollection<Group> groups = endpoint.ContactGroupServices.EndGetAllGroups(endpoint.ContactGroupServices.BeginGetAllGroups...
  • Blog Post: Why is UCMA telling me my session is not established when I add a contact?

    Recently I found myself in the situation where I need to add a contact to a user using UCMA but did not care about what contacts currently existed. I did the standard plumbing to create a CollaborationPlatform and register the user, then added the contact with the following code. userEndpoint.ContactGroupServices...
  • Blog Post: Running UCMA 2.0 applications on Lync Server 2010

    While the most ideal scenario is to only run UCMA 3.0 applications with Lync Server 2010, for many of you this is simply not possible. You may own an application that was written for UCMA 2.0 and you want to upgrade to Lync Server 2010, but the application has not yet been updated to UCMA 3.0. Likewise...
  • Blog Post: UCMA 2.0 - Part 1.6 Introduction to SDP

    We are almost at the point where our Powershell commandlet will be useful, but first we need to learn about establishing the session protocol. You see, SIP stands for “Session Initiation Protocol”. The key here is the word “Initiation”. Yup, SIP just manages telling so and so that so and so wants to...
  • Blog Post: UCMA 2.0 - Part 1.5 Setting up a session

    In our next iteration, we will add to our commandlet to create a signaling session. In essence we will send an INVITE to the other party so that we can send a message later. There are a number of steps involved in setting up a session but for now we will just send the INVITE. When running this sample...
  • Blog Post: UCMA 2.0 - Part 1.4 Signing in and signing out

    It’s about time that we began writing some code and getting into the details of the API. To start out, I will cover the signaling part of UCMA. Those of you who read my previous blog series on UCMA will find the next several posts very familiar. For some of you, learning the signaling APIs in UCMA...
  • Blog Post: UCMA 2.0 - Part 1.3 Powershell and UCMA

    Today, we will get started with coding UCMA applications. First though, I would like to cover again the Signaling namespace exposed by UCMA. While much of this is not necessary when using the new Collaboration namespace, I feel that it is still important in terms of understanding how the API and SIP...
  • Blog Post: UCMA 2.0 - Part 1.2 - Asynchronous pattern and threading model

    Before you really start coding in UCMA 2.0, or even UCMA 1.0, it is extremely important that you understand the asynchronous pattern. UCMA is designed for server applications, meaning it supports many operations occurring at the same time. In order to best manage this, it uses an asynchronous model....
  • Blog Post: UCMA 2.0 - Part 1.1 - High level architecture and design of UCMA

    Let’s be honest, UCMA 1.0, while very useful, was a bit lame. The frustrating thing about it was it opened up many new possibilities, but didn’t give you the chance to take advantage of them. You could send messages to another party, but could not determine that user’s presence. You also were very limited...
  • Blog Post: Ready for some new UCMA blogs?

    At long last this blog is back up and running. Very soon (current goal is Wednesday), I will start a new series of UCMA blogs covering the new 2.0 API. My goal is to eventually cover all parts of this now huge set of APIs, but unlike my previous set of posts on UCMA there will be some changes. ...
  • Blog Post: Thoughts on testing speech applications

    Personally, I feel one area that we did not address overly well in Speech Server is allowing developers to test their speech applications. Granted, this seems to be missing from many platforms these days but I think in the case of speech applications this is especially important because they can be tricky...
  • Blog Post: UCMA ships!

    UCMA has finally shipped! For those of you who would like to download it, the full download is at http://www.microsoft.com/downloads/details.aspx?FamilyID=b30306e4-7dc1-44d2-9a68-9b4a6fc5c2df If you would like to see a webcast about UCMA, see the following. http://msevents.microsoft.com/CUI...
  • Blog Post: Some common UCMA questions

    Every once in awhile (though somewhat more commonly now) I receive an e-mail or IM asking a question on the UCMA API. I decided to post the answers to some of the most common questions. Where can I download UCMA? - The release candidate is at http://www.microsoft.com/downloads/details.aspx?FamilyID...
  • Blog Post: Connection managers and endpoint types in UCMA

    I have a sneaking suspicion that many of you who use UCMA do not truly know when one should use SipPeerToPeerEndpoint vs SipEndpoint and when one should use RealTimeClientConnectionManager vs one of the RealTimeServerConnectionManagers. In this post I will try to clear up some of the confusion here....
  • Blog Post: Developing applications for OCS - where do I start?

    In a recent post, I presented an overview of all of the different APIs available in Office Communications Server 2007. The goal of that post was to help direct developers who want to know where to start. From that post I received some feedback that this proves that OCS 2007 development is only for advanced...
  • Blog Post: An overview of the APIs in Office Communications Server 2007

    Over time I have discussed all of the different APIs available to you in order to create Office Communications Server 2007 APIs. Today I thought I would do an overview of what's available and when you would use each one. Office Communicator API Example: Microsoft Office uses the Communicator...
  • Blog Post: Integrating presence into your applications

    I have seen a lot of questions lately asking how one can add presence to a communications application. There are a number of ways to do this, but I don't think we have done a great job explaining what they are. First, and perhaps what has confused people the most, there is currently no support for...
  • Blog Post: More info about the answers for yesterday's quiz

    The following is more information about why each answer is correct for the quiz I presented yesterday. If you have not already taken the quiz, please skip this blog entry and go to yesterday's, then come back to this entry for any explanations. 1) To create a new conference, the client must contact...
  • Blog Post: An Office Communications Server 2007 Quiz

    For a little fun today, I decided to put together a little test for those who think they know Office Communications Server. Think of this as a fun little exercise that will help you learn OCS and help me learn what topics to blog about in the future. If one question boggles you, let me know and I will...
  • Blog Post: Creating bots in UCMA - Part II - Using grammars instead of parsing

    In our last bot post I wrote about creating a bot that accepts a message from Communicator and sends a response. The response logic was very crude. We simply looked for certain words in the message from the client and sent back an appropriate response. Obviously as our bot becomes more sophisticated...
  • Blog Post: Hello from TechEd

    I am currently at the TechEd conference and it has been a very rewarding experience so far. It's amazing to hear what everyone is using our product for - many of them ideas I had never thought of. It's also interesting learning about the other pieces of Office Communications Server. From the Application...
  • Blog Post: Using UCMA to create clients

    I hope my recent blog series on the UCMA API was helpful for everyone. If you would like me to cover other details please let me know. In the near future I will continue to blog about applications for UCMA. However, I would like to point out the UCMA is intended for server side applications. Granted...
  • Blog Post: Introduction to the UCMA API - Part 16 - TimerWheel

    Let’s say you are not sure a particular endpoint exists at a certain time, so you would like to continually retry at specific intervals or you need to refresh a connection at a certain interval. To help with this situation, the UCMA API provides the TimerWheel class. TimerWheel differs from standard...
  • Blog Post: Introduction to the UCMA API - Part 15 - Connection Pools

    Today we will finally revisit our client and add a little bit of code to it while discussing connection pools. For those of you familiar with concepts such as thread pools, connection pools are similar in a number of ways. Connection pools apply only to outgoing connections – not to incoming connections...
  • Blog Post: Introduction to the UCMA API - Part 14 - the SERVICE message

    Today we will cover a message type those of you more familiar with SIP may not know much about – the SERVICE request. Before writing this post, I attempted to research this message type on the Internet without success. Finally I just decided to look at the SIP RFC and noticed that this message type is...
Page 1 of 2 (40 items) 12