Lately GotSpeech has been bombarded with spam attempts to join. Not sure why they would do that but it is happening and as a result I’ve changed the way new members get approved.
It is now a manual process which allows me to filter out the spam. if you are legit and don’t get approved within 48 hours then email me.
I apologize for the inconvenience but the spammers make it tuff on all of us.
New Microsoft Speech Technologies web site is now live.
Enjoy. I’m off to read all of the content.
You can now follow the GotSpeech Guy on Twitter. Just use this link and click on Follow - http://twitter.com/gotspeech
I’m finding that I use Twitter a lot for little things concerning Speech Server and OCS. Lots of things happen everyday that are interesting but don’t warrant a large blog post and I find that I’m just tweeting those things and saving my blog posts for more substantial stuff.
Enjoy.
I’ve been messing around with dynamic grammars and put some code together to show how it’s done. This was for a real world problem I was facing but the code is just a proof of concept that I used to get everything working.
I used the code shown below to create a DTMF grammar that takes from 1 to 4 digits. The resulting SML looks like this -
<SML text="1 2 3 4" utteranceConfidence="1.000" confidence="1.000">
<slot confidence="1.000">1234</slot>
4
</SML>
There is more than one way to create the grammars but this is what I came up with. Part of the goal was to utilize most of the grammar building methods available to me. The code to write the grammar out to a file was a big help in debugging the grammar. The first thing I did was use the Grammar Editor to create a grammar that did what I wanted. I then compared this to the generated grammar to make sure i understood what was happening with the different methods and classes.
private Microsoft.SpeechServer.Recognition.Grammar buildDTMFGrammar()
{
string ValidDigits = "0123456789";
// Create the root rule and set its scope
SrgsRule rootRule = new SrgsRule("Rule1");
rootRule.Scope = SrgsRuleScope.Public;
// Create the oneof
SrgsOneOf oneOf = new SrgsOneOf();
// Create the slot name to use
string slotName = "slot";
// Create the items (need and inner and an outer to get
// all the tags to work properly
SrgsItem itemInner;
SrgsItem itemOuter = new SrgsItem();
// Create the first tag. We have to do it in two parts because the "{}"
// part of the tag creates havoc with string.foramt()
SrgsSemanticInterpretationTag sr3 = new SrgsSemanticInterpretationTag();
string tagPartA = string.Format("$.{0} = $.{1} ? $.{2} : ", slotName, slotName, slotName);
string tagPartB = string.Format("; $.{0}._value = \"\"", slotName);
sr3.Script = tagPartA + "{}" + tagPartB;
// Add the tag at the root level
rootRule.Add(sr3);
itemOuter.SetRepeat(1, 4);
rootRule.Add(itemOuter);
foreach (char t in ValidDigits)
{
itemInner = new SrgsItem(t.ToString());
oneOf.Add(itemInner);
SrgsSemanticInterpretationTag sr2 = new SrgsSemanticInterpretationTag();
sr2.Script = "$._value = \"" + t.ToString() + "\"";
itemInner.Add(sr2);
}
itemOuter.Add(oneOf);
SrgsSemanticInterpretationTag sr4 = new SrgsSemanticInterpretationTag();
sr4.Script = string.Format("$.{0}._value = $.{1}._value + $._value", slotName, slotName);
itemOuter.Add(sr4);
// Create the SRGS Document for A DTMF gramamr and add the root rule
SrgsDocument srgsDocument = new SrgsDocument();
srgsDocument.Mode = SrgsGrammarMode.Dtmf;
srgsDocument.Rules.Add(rootRule);
srgsDocument.Root = rootRule;
string filePath = @"e:\mylogs\test.grxml";
XmlTextWriter writer = new XmlTextWriter(filePath, System.Text.Encoding.UTF8);
srgsDocument.WriteSrgs(writer);
writer.Flush();
writer.Close();
Microsoft.SpeechServer.Recognition.Grammar dynamicGrammar = new Microsoft.SpeechServer.Recognition.Grammar(srgsDocument);
return dynamicGrammar;
}
After creating the grammar and assigning it to my questionAnswerActivity I was faced with the problem of how to get the recognition results. Since the grammar “slots” are created at runtime I can’t just use the standard method of referencing the key value – I don’t know the key name at coding time. The first thing I did was to search the forums on GotSpeech.Net but I didn’t find an answer there though I did get some ideas. Then I asked a few developer friends but it seemed no one had done anything quite like this. I was on my own on this one.
Well I thought of several approaches but none seem to practical. Most wouldn’t even compile for some reason or another or gave error messages about no public GetEnumerator. Well after spending some time in the debugger looking at the RecognitionResult object this is what I came up with. (note: I realize this will overwrite the values each time through the foreach loop but this was just to test that I can get to the proper values. In a real world app you would need to save them off).
string password;
string key;
foreach (System.Collections.Generic.KeyValuePair <string, SemanticValue> si in this.questionAnswerActivity1.RecognitionResult.Semantics)
{
key = si.Key;
password = si.Value.Value.ToString();
}
I hope this helps someone and saves them some time.
Happy New year everyone!
2009 was a great year for OCS. For how good it was and where we should be going in 2010 see Unified Communications 2009 - A year in review by my friend and fellow OCS MVP Joe Schurman.
It is customary at this time of the year to make predictions and resolutions for the new year. I’m not very good at predicting things so I thought I would list my professional resolutions for 2010. These are the technologies and software that I want to become more proficient at this year.
Silverlight – I think that Silverlight will make a great web based front end for OCS. With it you will be able to provide chats between customers and your tech support staff or your customer service agents. The eLearning modules on GotSpeech are done in Silverlight and it is about time I put some effort into mastering it. The Expression Studio suite of tool sis something that I want to sink myself into.
Powershell – I’ve played around with this some and I love it. I want to learn how to use it to automate OCS and Speech Server tasks. Still need to find a development environment for it that I like and feel comfortable with.
Brekeke PBX- This is something I want to install and learn how to use. I have an 8 port Dialogic Media Gateway in my home lab but I want to be able to setup the lab for direct SIP. First though I need a cheap (read free) SIP provider that I can use.
FreeSWITCH – Same reasons as above except that this is free and will allow small independent developers to setup their own environments without the costs of expensive hardware or software solutions. Many of my readers are using it so I need to know more about it. I’m looking forward to learning from the series that Brian has started on FreeSWITCH. I’m anxiously waiting for part 2.
UCMA 2.0 – This is the future of Speech development and I would like to delve deeper into it. I am convinced that there is going to be a huge need for developers that can enhance, extend and integrate OCS into enterprise level business processes. I would really like to get better at this and I am anxious to get my hands on the next release. I also think there will be a huge market this year for OCS/UCMA developer training. It would be very time consuming to develop OCS training but I think the need is there.
Then there are things like Wave 14 or OCS 2010, Office 2010, Exchange 2010 and Visual Studio 2010 that are just over the horizon. Also, there is WCF, WPF and Linq that I have been avoiding as they don’t fit that well with Speech Server. But with OCS which has a visual interface and the possibility of extending things like Communicator there is so much for me to add to to my tool belt. Its going to be a busy year and I will need to budget my time accordingly.
And lastly I want to blog more and put more time into GotSpeech.Net and GotUC.Net. I want to get out an speak more as well as evangelize all the fascinating things that make up doing Unified Communications the Microsoft way.
Yes, 2010 is looking like a busy year for me.
What’s the story on Speech Server’s future?
Over the last few months I keep getting inquiries from people concerning the future of Speech Server 2007. They are interested in starting new IVR projects, converting MSS 2004 apps or moving from other platforms to Microsoft. Disappointingly Microsoft is keeping very quiet on this topic when asked, and promises more news only in Q1 of 2010.
Yet there is a lot of information out there in the public domain and I thought it would be useful to make a compile of all that information, till we get word from Microsoft on their roadmap.
1) Microsoft is in the Speech business to stay
Microsoft has been investing in Speech technology since 1993, when XD Huang and other brains behind the best speech engine in the world (CMU’s Sphinx II), joined Microsoft. In 1999 it acquired the world renowned Hidden Markov Model Toolkit (HTK) through an acquisition of Entropic, and it shelled out around 800 million dollar to acquire Tellme in March 2007.
And there are solid proof points that this investment is still considered valuable. The new General Manager of the Speech at Microsoft group, which united Tellme with the Speech Components Group, Zig Serafin, lists in the Microsoft press pass article a long list of key Microsoft products using Microsoft’s speech technology. Speech is part of Windows 7, and of Bing 411 directory assistance, and Bing for Mobile (now also for the iPhone!) has voice search. Exchange 2010 ships with the feature Voice Mail Preview in three languages, a feature that transcribes voice mails into readable text. Outlook Voice Access, a voice user interface to Exchange, now ships with support for 26 languages. And Tellme is apparently switching their platform over to Microsoft’s speech technology, phasing out Nuance’s ASR and AT&T’s TTS.
Most interesting announcement in 2009 however was that Xbox’s Project Natal will use speech recognition.
So, for all those tired of Nuance, Microsoft still seems to be the best bet.
2) Speech Server 2007 is still going to be supported for quite a while
Though there were no changes in Speech Server since it shipped with OCS 2007, it still can compete with any IVR platform out there. To be honest, Speech Server is not the only IVR platform out there that is in maintenance mode. In the last few years most IVR platforms have disappeared from the market, or were bought by companies that have no interest in furthering them. Yet the critical question is: how long is Speech Server 2007 supported?
Well, Speech Server shipped as part of OCS 2007 and was reshipped unmodified in OCS 2007 R2. Microsoft server products follow strict support rules with a minimum of ten years of support: 5 years mainstream support, and 5 years of extended support. OCS 2007 R2 mainstream support however does not extend till beyond OCS 2007’s support term.
So Speech Server 2007 is supported product until January 2013. And then there is 5 more years of extended support beyond that date.
FYI, if you are still using Microsoft Speech Server 2004 or Speech Server 2004 R2, mainstream support has either run out July 2009, or is going to run out in October of 2010:
3) The UC Managed API is the future
In October of 2006 Microsoft announced at SpeechTEK that Speech Server was to be integrated in its Unified Communications platform. On GotSpeech more details were given by Microsoft in response to my blog: in the next generation of the UC Managed API, there would be a VoiceXML browser, continued support for the Windows Workflow Foundation, and 26 languages. In a later blog post Microsoft asked to prioritize the speech tools.
Many people do not have access to the content that was presented at TechEd in May. Yet the best information of what is to come, was presented in the talk by Vishwa Ranjan and Albert Kooiman (subscribers only!). In the slides presented there, there are a couple of interesting slides:
- Exchange 2010 SP1 Unified Messaging will move from Speech Server to the UC Managed API. That implies that by the time of Exchange 2010 SP1 the UC Managed API will be a viable alternative to Speech Server.
- There are detailed slides comparing UCMA with Speech Server, also with the forward looking information in there regarding VXML and the speech tools.

- Also the details are in there on the expanded language portfolio:
- In the end there is guidance on how to build applications to minimize the upgrade effort from Speech Server (2007) to UCMA in the future:
There is a lot in these slides that is not as I would want it to be. As per these slides above, Microsoft will not provide the following:
- An Application Hosting process. When you write an UCMA application you need to write a Windows Service. Doing that well is not trivial. Michael Dunn has written a sample on MSDN Code Gallery, but there is a major gap to overcome for average speech developers.
- There is not going to be a prompt engine either. The Speech Server prompt engine has shortcomings, like that there is no good version control, no open database that it is based on, yet again for the average speech developer the Speech Server prompt engine is good enough and has some great tools built in into Visual Studio.
- Application provisioning is overly complex as well in UCMA. The slide implies that that is not going to be fixed either. Again quite a stumbling block for average speech developer.
All in all UCMA will be great for those who have the know-how to build .NET Windows Server applications. But a lot of effort for the average speech developer.
Yet there are a lot of great things in UCMA as well that I would like to call out:
- First of all the price of UCMA is unbeatable: speech applications built on the UC Managed API, including the speech engines, can be distributed without licensing dues to Microsoft – it is a free redistribution. A more flexible SIP stack for communications and collaboration, top class speech engines – all as a free redistribution. That frees up a lot of $$ for building a great platform.
- I think UCMA is the most visionary and compelling multi-channel platform for self service. UCMA is capable of much more than the legacy IVR. Take a look at this video of Clarity Consulting’s Clarity Connect. A hosted ACD that is enabled using OCS Federation and uses Communicator and Silverlight.
UCMA supports not only the voice channel, but also web based IM support, as well as bots and features like call-back etc.
- Development in managed code with the UC Managed API using Visual Studio is a pleasure. The UC Managed API 2.0 comes with great examples, and the API is extremely powerful. It has a SIP stack, a media stack and great speech recognition (if we only could have Tellme’s voice font Zira in UCMA, I would claim the same greatness for Microsoft’s speech synthesis!).
- For those who develop in VoiceXML on Speech Server 2007, it is great to see that the VXML 2.1 browser is making its comeback. Microsoft just introduced a new Speech Technology section on MSDN. I have great expectations that Microsoft will bring together the Tellme experience with the Unified Communications technology.
4) See the future: join the Wave 14 Metro Program
At PDC Chris Mayo at the end of his presentation (slide 25) on the Wave 14 Unified Communications Platform (video here) announced there will be a Unified Communications Metro program for Wave 14 starting at the end of Q1 in 2010 (here is that date again!). This program will encompass not only OCS, but also the extensibility of Communicator (see that session here) and of Exchange (session video here). Interested partners and customers can ask their Microsoft account manager to nominate them for Metro, or if you do not know your partner or customer account manager you can send mail to metroreq at microsoft.com to apply on behalf of your company (no individuals are admitted, and an NDA is required!). I suggest all of us in the Gotspeech.net Community join this program!
Not only get early access to OCS ‘14’ and the next version of UCMA, but also use this opportunity to give clear feedback on what we expect from the Microsoft when it comes to speech technology going forward!
For more proof that Speech Server is alive and well you don't have to look any further thatn GotSpeech.Net. Check out these recent posts by Ken on Using Windows 7 For Speech Server Development and the series that Brian started entitled Speech Server Marries FreeSwitch.
As always I would love to hear about your future Voice development plans.
Things are really starting to take off for GotSpeech Consulting and I am starting to look for some other resources – i.e. Speech Server developers.
So if you are interested in doing some development for GotSpeech Consulting please contact me and/or send me your resume. Most of the need at this point is for Speech Server but there may be some OCS UCMA development and web site work. This is all consulting work and I’m looking for both full and part time developers.
Currently I’m not setup to handle off shore developers though if you are off shore and want to send along your resume go ahead as things may change.
Yes, I am finally back after a 3+ week absence from just about everything computer related. I somehow caught a really bad cold that then got my sinuses infected and settled into my chest. The net result of all of this was that I just really didn’t feel like doing anything – especially things that required thinking. So no blogging, answering forum questions and no tweets. I pretty much just dropped out of site. Now I am way behind as my online life has been on hold for 3 weeks. Lots of catching up to do in the next few days.
But what better way to perk my interest and get back into the swing of things than with some new toys.
I ordered a Microsoft LifeCam Cinema HD webcam and I’ve got it installed. Now I need to start playing with it and really put it through it’s paces. I want to use if for doing video casts, training videos as well as use if for Live Meeting and Video calls with Office Communicator. I’ve tested it out in a video call but I believe there is something we have to set on the GotUC.Net OCS domain to do HD.
Brekeke SIP Server – I’ve downloaded this and have a license now I need to install, configure it and do an in depth evaluation of it. I may be using this in a a client project shortly so I want to gat familiar with it. Does anyone know where I can get a free SIP trunk to tie to this?
FreeSWITCH – this is another SIP gateway that I want to experiment with. I know several GotSpeech members are using it so I thought I would try it out and familiarize myself with it. The price is right and I understand that it is very extensible. Not sure when I can get to it but it is on my list of things to do.
While I was out I did manage a quick blog that Speech Server runtime is now supported on Windows 2008 Server. I’ll be trying that out shortly to see how well it works.
I still have some more VMs to create and some setup work that I want to do on my Virtualization Server Project so that is on my plate for this week or next.
As you can see I have lots to do so I guess the moral of the story is don’t get sick. Now I’m off to catch up on the GotSpeech forums and my task list.
As usual if you have comments or questions feel free to ping me. If you are using Office Communicator You can get me that way at marshall@gotuc.net.
Well some good news and some not-as-good news - Microsoft will support application deployments, Administrative tools and Data Processing Utilities like the MssLogToDatabase and MssLogToText tools. However Microsoft will not support installation and usage of the Development Tools that include Speech Server (2007) application development, call data analysis and grammar tuning running on Windows Server 2008.
I’m glad to see Windows Server 2008 supported for deployment. It would be nice to have support for the other stuff but I can wait a while……..
Forgot to include the link - http://communicationsserverteam.com/archive/2009/10/20/640.aspx
Things have really changed for me since becoming an independent consultant. I’ve been busy with work the last two months but I’ve found that what makes up my work day has changed dramatically. For instance I now rely heavily on Twitter and I follow every OCS related tweet. I also have 10 blogs and 3 Microsoft OCS related forums that I follow in addition to the blogs on GotSpeech.net and GotUC.net. I also find that I’m using Office Communicator to keep in touch with the project team at Microsoft and other MVPs more than I have in the past. I do all of that just to stay on top of what is happening in the Unified Communications arena in addition to my consulting work
Virtualization Server
I finally got my Virtualization Server built this week. I met up with Andrew at his house and we wired everything up. I had installed all of the components so we only had to mount the memory, CPU and the heat sinks before connecting all the power and data cables. Other than a few cuts (motherboards and cases both will bite you) things went very well. Since my setup is the same as Andrew’s we opened up his case and compared connections and motherboard jumpers. After I got the server home the boring task of installing the OS started. I installed Windows Server 2008 and though it went smoothly I’ve found that once again I have to figure out a new OS. I’m learning to deal with “features” and “roles” so there has been a small learning curve.
Hyper-V
I installed Hyper-V on the server and then downloaded the the OCS vhds and installed them. The vhds were huge downloads and the install for the master vhd is a little flawed but overall things went fairly smooth. The VMs all work and can see each other on the virtual network but they don’t have internet access and I can’t see them from my other machines. I still don’t fully understand the concept of virtual versus real network (my server has 4 NICs) so I’ll be playing with that until I get it working. I would like to isolate network traffic to the VMs on a separate NIC from the normal traffic. It is really awesome to see 4 or 5 VMs running and the CPU not going over 20%. Having 2 Xeon Quad 4 CPUs and 32 gigs of memory really helps!
I installed Hyper-V Manger on my Vista box along with a Hyper-V Monitor gadget. That was no easy task as it would not connect. Luckily John Howard has lots of good stuff on Hyper- V and has even created HVRemote that automates the process. He even explains how it works in this blog post. Now I can manage my virtual environment without having to connect to my VM server.
New Laptop and Win7
The day before I was to speak at the recent Jacksonville Code Camp my laptop crashed. That created quite a panic at first as the prospect of rebuilding it wasn’t high on my list of things I wanted to do. The laptop was great for travel but with only a 12” screen and slow processer it just wasn’t cutting it as a presentation platform so I jumped on the Internet to check out my options for a new laptop. Since I needed to install all my Speech Server development environment and be ready for the code camp the next day I was limited to what was in stock at Best Buy or CompUSA. I settled on an HP ProBook 4710s with XP Pro and Vista Business. The XP Pro was just the ticket as it alleviated any development issues that Vista may have caused so after code camp kickoff party I was up until 1:00 AM installing, configuring and testing so that I would be ready to present.
The presentation went well so Saturday night after the code camp post party (code camps in Florida love to have parties) I was up until 1:00 AM again installing Vista Business. The install went smoothly but I lost my wireless connection. I ended up calling HP tech support and listening to hold music while working on the problem and watching NFL pre-season football. I finally got the wireless working literally 30 seconds before a live HP tech person answered the phone. I listened to hold music for 80 minutes and solved the problem myself.
Next on Sunday I decided to upgrade to Win7 and that went much smoother than the Vista install. It was quick and everything worked with no problems. I must say that I love Win7 and I’m happy with the performance.
Last night I installed Hyper-V Manager on my laptop but for Win7 it isn’t just a straight download of the utility. So I went back to John Howard’s blog and found a blog post stating that I needed to install Remote Server Administration Tools (RSAT). So I did that and then a quick run of HVRemote and I can now manage my VMs for my Win7 laptop – cool.
Other Stuff
Why is it that people think Speech Server and OCS development is cheap? There are literally thousands of ASP.Net and C# developers out there that can develop your web app or desktop app. But there is only a small handful of developers that can develop applications for OCS. There is no developer training available and there is only one book on the subject. Microsoft has one forum and there is GotUC.Net. That is basically it. There are very few guys that can do this stuff so they should be compensated for the work and not compared to to other developers. We work hard to decipher and learn an emerging technology and we don’t want to do it for free.
I’m working with another OCS MVP on an OCS developer training course. There is a lot of work to do to get the manuals and the labs ready so I can’t promise a delivery date but I’ll post more info as things progress.
Just a reminder that JAXDUG’s Jacksonville Code Camp will be this Saturday and it is looking like it will be the largest one in Florida.
By the Numbers:
Registered Attendees: 509
Sessions: 39
Speakers: 39
MVPs: 12
Plus several Microsoft employees and nationally know authors and speakers. I’m looking at the speaker list on the web site and then over at my book case and I’m amazed at how many speaker names I’m finding on the books I have.
This will be our largest code camp (our 5th one) and I’m looking forward to speaking (about Speech Server of course) and touching base with guys I haven't seen in a while. Not bad for a free event.
See you there.
Since I work for myself now I’ve been giving more thought to my development platform and strategies for keep different client projects separate. I had lunch last week with fellow MVP Andrew Connell. AC described for me a custom virtualization server that he built for his SharePoint projects. The more I listened the better the idea seemed.
So I set out to build a machine like the one AC has. My goals were to create a machine that would allow me to run several virtual machines at once. Another goals is to be able to run the VHDs for OCS 2007 R2 so the machine has to support Windows Server 2008 and Hyper-V. I want to spend some time developing and IVR app with UCMA 2.0 so this will be my development platform for that. I also want to spin up each consulting client on a dedicated VM – this will allow me to keep client systems separate and cut down on conflicts. It also allows me to install client required software without impacting other clients or my base machine.
Like Andrew I have a dedicated room in my house for my office, my servers and my media gateways along with my network hardware. This machine has to be quiet as I will be working just a few feet away from the server. I make audio recordings for Speech Server Applications and I’ll be hosting web training so I need something that doesn’t sound like a jet airplane taking off.
What I decide on was to just follow AC’s blueprint as he has already done the legwork and worked out all of the kinks. He has been running his server for several months and is very happy with it. So taking his lead the machine will look like this -
I have already obtained everything but the motherboard, CPUs and the heat sinks and I'll order them next week. Once all the parts get here I’ll start putting this baby together (with considerable help from Andrew). If you are curious as to what it looks like you can read more about AC’s project in his Creating a Custom Virtualization Rig with Microsoft’s Hyper–V article.
My goal is to retire some of the machines I already have in the office and do all of my work using the VMs. I’m still deciding on what tools I’ll install but I want to be able to easily clone and needed development platform. I’ll post more when I get further along on the project.
I’ll clean off my Vista box then upgrade to to Windows 7 and use it for email, MSS Office and things like browsing the Internet. I’ll also use it to RDP into the VMs running on the virtualization server. The Win 2003 Server I’m currently using will either get retired or become my production Speech Server platform
I’m excited about this project but I would like to hear about your development environment or any suggestions you may have for things that I should consider for this project.
I'll be presenting again this year at the JAXDUG Code Camp.
At the time I'm posting this we have 39 speakers and 283 people signed up to attend with 4 weeks to go.
My Session -

As you may know I recently announced that I was unemployed and looking for consulting work. Well I have taken the next step - I have formed GotSpeech Consulting LLC.
GSC is a registered Florida corporation that I am using for my consulting work. I haven’t got the website up an running yet but that is coming soon – still working out the logo and site design.
GotSpeech Consulting will offer the following services to its client -
- OCS 2007 Speech Server application development
- MSS 2004 to MSS 2007 conversions
- Speech Server training given locally or on-site
- Project and code review/analysis for best practices for Speech Server development
- Speech Server mentoring
It is my opinion that there is a market among small and medium size companies for Speech Server development. These smaller companies often don’t have the staff expertise for a Speech Server project. They may not have the manpower or time to take on IVR related projects so they are looking to augment their staff. GotSpeech Consulting can fill in those gaps.
I’m also looking for Speech Server developers interested in subcontracting for GotSpeech Consulting. I am handling all of the work at the present but I hope to grow the consulting business and I am looking for capable developers that can do some of the work. If you are interested please send me you resume and your availability.
Marshall Harrison, MVP Microsoft Office Communications Server
marshall@gotspeech.net | 904.342.6205
I got this in my email today:
Dear Marshall Harrison,
Congratulations! We are pleased to present you with the 2009 Microsoft® MVP Award! This award is given to exceptional technical community leaders who actively share their high quality, real world expertise with others. We appreciate your outstanding contributions in Communications Server technical communities during the past year.
This is my 4th year and I am honored to be named MVP again.
Today was also my first day of being laid off. Or to put it another way – today is my first day as an independent OCS/Speech Server consultant.
I’m excited about the opportunities that being an independent consultant provides me. It gives me the freedom to work on things that I find interesting and it gives me the opportunity to pursue speaking and training assignments. I like the fact that I will get more interaction with other companies looking to take advantage of OCS and Speech Server. I truly like the role of evangelist for these technologies and I’m looking forward to experimenting more with Speech Server and UCMA 2.0. I’m also glad that this will give me more time to spend promoting/growing GotSpeech.Net and GotUC.Net. I have been so busy with other things that I haven’t been as active on my forums as I would like but that will be changing.
But this new venture also means that I have to round up my own business so if you know of anyone that needs training, mentoring, coding or other consulting work then just send them my way.