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(null, null)); To add a group, the following will work. endpoint.ContactGroupServices.EndAddGroup(endpoint.ContactGroupServices.BeginAddGroup(“mygroupname”, null, null, null)); And to add a contact in this new group you may…

0

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.EndAddContact(this.Subscriber.ContactGroupServices.BeginAddContact(contactUri, null, null)); To my surprise,…

0

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…

0

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 talk to…

1

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. …

0

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…

1

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 work. In a…

0

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. For instance, let’s begin by discussing…

1

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 with…

1

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…

1