Posted: January 3rd, 2013 | Author: Michael | Filed under: UCMA 3.0, UCMA 4.0 | Tags: AVMCU, manual audio routes | 2 Comments »
A while ago, in a post about how “manual audio routes” work behind the scenes, I mentioned I was planning to see if it was possible to set manual audio routes for endpoints other than the “local” endpoint for the call, by sending INFO messages manually to the audio/video MCU. In other words, can I join a conference from my UCMA application as a trusted participant, and then send manually constructed INFO messages to create a manual audio route between two other participants in the conference? Continue reading “Third-party manual audio routes: not possible” »
Posted: December 28th, 2012 | Author: Michael | Filed under: Lync Development, UCMA 3.0, UCMA 4.0 | Tags: call forwarding, missed call, Ms-Sensitivity, Ms-Target-Class, Response Groups, team ring, voice mail, voicemail | 1 Comment »
There are some instances where a call that is sent to a Lync user really shouldn’t be going to voice mail, or to the user’s cell phone, or anywhere like that. There’s nothing that screams “good customer service” to an agitated customer like being dropped into John Smith’s cell phone voice mail (“Hi, this is John. Leave a message”) after calling the tech support line. Response Group calls seem to magically ward off UM voice mail and call forwarding, and this has led to some questions: if Response Groups can do it, why can’t we do it in UCMA applications? Actually, you can. Continue reading “Prevent Lync calls from going to voice mail” »
Posted: December 19th, 2012 | Author: Michael | Filed under: UCMA 3.0, UCMA 4.0 | Tags: federation, presence, presence subscription, RemotePresenceView | No Comments »
Recently I’ve been doing some investigating on how presence subscriptions from UCMA applications are affected by losses of network connectivity. In some applications, having up to date presence information is critical to the proper functioning of the application, and it is important to be sure that the application can discover and react to interruptions to its notifications of presence updates. Various kinds of network connectivity disruptions can interfere with the delivery of presence notifications: Continue reading “RemotePresenceView and connectivity failures” »
Posted: October 26th, 2012 | Author: Michael | Filed under: UCMA 4.0 | Tags: async/await, asynchronous, Lync 2013, Lync Server 2013, multithreading, Task Parallel Library, TPL, UCMA 4.0 | 9 Comments »
To make it easier for developers to use the new multithreading techniques from .NET 4.5 in UCMA 4.0 applications, I’ve put together a set of extension methods that turn pairs of Begin/End methods (such as BeginEstablish/EndEstablish) into Task objects that can be used with the awaitkeyword.
The collection of extension methods is available on CodePlex. Let me know if you have questions or suggestions.
Posted: October 16th, 2012 | Author: Michael | Filed under: Lync Development, UCMA 3.0, UCMA 4.0 | Tags: coexistence, compatibility, Lync Server 2013, UCMA 3.0, UCMA 4.0 | 3 Comments »
With the Lync Server 2013 Preview available, you may be starting to give some serious thought to upgrade paths from Lync Server 2010. You may be getting questions from eager customers. What will happen to UCMA 3.0 applications when you move to Lync Server 2013? This post outlines three options to consider: running your application in a 2010/2013 coexistence environment, running your application against Lync 2013 directly, or converting it to UCMA 4.0. Continue reading “UCMA 3.0 and Lync Server 2013” »
Posted: August 30th, 2012 | Author: Michael | Filed under: UCMA 4.0 | Tags: asynchronous, Lync 2013, multithreading, UCMA 4.0 | 2 Comments »
Recently I’ve written a lot about using some of the new multi-threading capabilities in .NET 4.5 with the UCMA SDK, and I wanted to put together a complete example in an application that might actually be useful.
I like to take a break every so often to get up from the computer, walk around, and stretch, and I’ve tried a few break reminder applications that give you a pop-up reminder after a period of time. The trouble I always have is that I forget to disable them when I’m on calls, or presenting, and they pop up and get in the way. So I thought I would write a simple app to send IM break reminders, but only when the user is in an Available state in Lync. Continue reading “New multi-threading techniques with UCMA 4.0” »
Posted: August 21st, 2012 | Author: Michael | Filed under: UCMA 4.0 | Tags: SIPEPS, troubleshooting, UCMA 4.0 | 10 Comments »
One of the first issues you may run into when trying out the new version of UCMA is an exception that says a DLL called SIPEPS, Version=5.0.0.0 could not be found. This happened to me, and a few other people I’ve spoken to had this problem as well. So, to help anyone else who gets this exception, here are a few troubleshooting steps that should fix it. Continue reading “Error about SIPEPS DLL with UCMA 4.0” »
Posted: August 14th, 2012 | Author: Michael | Filed under: UCMA 4.0 | Tags: Lync 2013, Task Parallel Library | No Comments »
With the preview of Lync Server 2013 now available, you may be wondering what’s new in the good old Unified Communications Managed API. You may even have located the UCMA 4.0 SDK and downloaded it to check it out yourself. Since the final documentation is not yet available for UCMA 4.0, it may not be immediately clear what’s new and what isn’t. Continue reading “What’s new in UCMA 4.0?” »
Posted: August 14th, 2012 | Author: Michael | Filed under: UCMA 4.0 | No Comments »
The recording of the Lync Developer Roundtable session I did a couple of weeks ago on UCMA 4.0 has been posted on Channel 9. You can watch it here:
http://channel9.msdn.com/posts/Lync-Developer-Roundtable-UCMA-40-Development-Topics
The presentation covers using .NET 4.5 Framework features in UCMA development and converting UCMA Workflow SDK applications to UCMA Core.
Posted: August 29th, 2011 | Author: Michael | Filed under: MSPL, UCMA 3.0, UCMA 4.0 | Tags: ApplicationEndpoint, MSPL, routing | 3 Comments »
UCMA 3.0 introduced the concept of a “default routing endpoint.” To put it very generally, a default routing endpoint is a single application endpoint that receives any messages that have nowhere else to go. I’ll illustrate further in a moment. When I first heard about this new feature, I could not understand what use it could possibly have. Gradually, over a period of months, situations came up where default routing endpoints turned out to be very handy. Since I figure that other folks might have the same initial reaction of complete confusion when hearing about the default routing endpoint feature, I thought I would write up a bit of explanation on this odd but useful creature in the hope that it will help in others’ development efforts. Continue reading “Default routing endpoints in UCMA” »