I’ve been working with Speech Server and later Microsoft’s OCS/Lync Server 2010 platforms since late 2003. During that time I have developed a reputation of being the guru of speech. I don’t know if that is deserved or not but it has caused a lot of questions to come my way from other developers. What do I do now that Speech Server 2007 is going away? Should I move to UCMA 3.0 workflow or Vxml? Should I use the Core APIs? How do I get started with UCMA and what tools should I learn?
When my friend Ken asked me to do a guest blog post I thought that answering some of these questions would make for a great post. So I am going to address the things that I think are important for a speech or IVR developer to know and do in order to stay current in this field.
What do I do now that Speech Server 2007 is going away?
I think that you should start learning UCMA and the newer way of doing things. But keep in mind that Speech Server 2007 is still a viable solution path. A lot of the controls you are used to in Speech Server 2007 are simply not available in UCMA 3.0. If your application depends on say recording a voicemail or it is an outbound app and you need answering machine detection then you will have to write those yourself in UCMA. You should always chose your tools based on what your application needs to do. Speech Server will still be around for a few more years and developing your new app in it is not the preferred way but it is still viable. Especially if you need something that it offers and UCMA doesn’t have.
Should I move to UCMA 3.0 workflow or vxml?
This is really a matter of preference and my personal preference is workflow. I have never been a big fan of Vxml and I avoid it when I can. If you have a lot of Vxml expereince or want to port some existing Vxml then go ahead and use it. It wil port with some minor changes while a Speech Server 2007 workflow app will need to have its workflow rewritten. Also I have always found call control to be much easier in workflow or Core than Vxml. Still, as I said it is mostly a matter of preference.
Should I use the Core APIs?
Here again it is mostly a matter of preference. Workflow is easier to work with but Core lets you get down into the internals of UCMA and will give you more control if you need it. But there is no reason why you can mix the two.
How do I get started with UCMA and what tools should I learn?
Well this is where it gets complicated some. There are no books on UCMA 3.0 available at the moment so the code samples that are installed with the SDK are your best bet. There are a couple of books due out this summer and I have seen the early drafts (and wrote a development chapter for one of them) so things will be looking better soon. In the meantime the online help and the Visual Studio debugger are your best friends. IntelliSense can also help as you use it to dig down into the different objects in the SDK. IntelliSense is the main tool I used to solve the “impersonation issue” I had last week.
As for things you need to learn I think you should spend some time learning Silverlight and PowerShell. Silverlight seems to be Microsoft’s main user interface these days and is portable (with some limits) across devices. Microsoft is moving more and more towards PowerShell for an administrative platform for their server applications. In fact there are over 500 PowerShell cmdlets for administering Lync Server 2010. Microsoft even has a Lync PowerShell blog that is very informative. Lots of good information there along with some good bloggers that are willing to help. I have found the Lync Server 2010 PowerShell cmdlets map to the fields in the Lync Server Control Panel.
Finally if you don’t have an environment that you can learn in I suggest you head on over to and check us out. After joining you can get a Developer Sandbox account so that you can develop your apps and test them against a real Lync Server 2010 environment with all the bells and whistles. We are in the process of reworking the website and there are some exciting things happening in the near future that you will want to get involved with.
Well I hope I have addressed some of you most pressing questions but if you still have questions the drop me a line.