But before we get into that, I'd like to point out that back in August I was a bit pessimistic about Microsoft's strategy in deploying OCS 2007 in the SMB market due to the complexity of an OCS 2007 installation. Deploying OCS 2007 now takes the "crown" from Exchange Server as the most complex piece of Microsoft software to install. It requires installing more components than you can shake a stick at, including schema changes to Active Directory, installation of a Certificate Server & certificates, knowledge of regular expressions for dial plans, deployment of a Mediation Server for connecting to the PSTN, knowledge of VoIP and SIP configuration, and more. That being said, Microsoft has abstracted a lot of the complexity of installing OCS 2007 using a very easy to use wizard that guides you through all of the steps. It's a bit similar to the Exchange deployment wizard, but much more comprehensive. Here's a screenshot of main screen of the deployment wizard:
You still have to know what the heck you are doing though. This isn't simply clicking Next, Next, Finish kind of wizard. Nevertheless, I give Microsoft a lot of credit for making OCS 2007 installation as painless as possible. My main pessimism was -- as I wrote in my August post -- "When I spoke with Microsoft a few weeks ago and asked them who their target market was for Office Communications Server 2007, Microsoft told me their target was the SMB which already has Active Directory and Exchange Server deployed with an internal IT staff. The strong impression I was left with is that Microsoft is going to rely on SMB's internal IT personnel to deploy OCS 2007, as well as maintain it. I have my doubts about this strategy."
I also pointed out to not only deployment, but post-deployment blues. That is to say, who do you call when your OCS 2007 system goes down and will they come to your location to solve it? Specifically, I was hinting that Microsoft couldn't possibly handle this using simple tech-support phones calls. A reseller or VAR channel would need to be established that can not only help deploy OCS 2007 but also drive to the location to troubleshoot networking, telecom, QoS, or any other issues. Corporations want a guarantee of reliable phone service and they want someone to come to the office quickly to solve any problems.
Well, I have some good news for those of you concerned about deploying OCS 2007 and receiving adequate in-person support. Microsoft is officially launching it with a channel of 85 partners that have been hand-selected and trained, including brand-name GSIs, SIs, Telcos, and hardware manufacturers to support customers. Microsoft claims this channel is sufficient to drive the business and support customers for the next two years. Some big names include BT INS, HP, DELL, Unisys, Nortel, WiPro, EMC, Avanade, Dimension Data, Orange, Fujitsu. Microsoft told me, "In addition, our efforts to scale training and certification through the Microsoft Partner Program will aggressively expand the channel in 2008 and 2009."
Ok, with that said, let's move on to more exciting stuff, namely the review.
Installing and configuring OCS 2007 took a bit of time, but like I said, Microsoft made the wizard very comprehensive, so it helped guide me through the installation. One thing not in the in wizard was configuring automatic configuration of Communicator clients. OCS 2007 supports automatic SIP configuration using DNS SRV records combined with NTLM/Kerberos authentication. So after your employees install the Communicator application, they can simply launch it and connect to the OCS 2007 server without having to specify the OCS Server's fully qualified domain name (FQDN) or IP address. One reason this step isn't in the wizard is that it requires changes to a DNS server, which may or may not be running on the OCS 2007 server. Many Microsoft shops run a Microsoft DNS Server as well, so it would be nice if the wizard was able to push out the proper DNS SRV records to any Microsoft DNS server. Nevertheless, I was able to manually add the proper SRV records pretty easily. Essentially, during DNS lookup by the Communicator client, SRV records are queried in the following order:
1. _sipinternaltls._tcp.<domain> - for internalTLS connections
2. _sipinternal._tcp.<domain> - for internalTCP connections (performed only if TCP is allowed)
3. _sip._tls.<domain> - for externalTLS connections
4. _sip._tcp.<domain> - for externalTCP connections
For instance, for my testing I added this DNS SRV record, which enabled Automatic configuration for Communicator clients (notice the famous 5060 SIP port number):
When you click Deploy Standard Edition Server, you are brought to a screen that includes 8 steps that you perform 1-by-1 in order. These steps include preparing Active Directory, installing the Front End and conferencing server components, configuring the server, certificates, replication, starting services, and more, as seen here:
You can then deploy other server roles, including setting up a mediation server, which is required for integration with a gateway or IP-PBX. I should mention that if you start with a mediation server mapped to say a 4-port gateway and then want to add another 4-port gateway, you can't do it. Unfortunately, the current version only lets you specify one PSTN gateway per mediation server. You can simply deploy another Mediation Server, but that adds administrative management headaches. If you have plans to use OCS 2007 remotely through a firewall, then you'll also need to configure an Edge Server to get past those pesky NAT issues. Finally, you can optionally deploy Communicator Web Access, an impressive web-based Communicator client that has nearly 1-to-1 functionality with Communicator, except it cannot do VoIP (voice) or video. Really it's best used for presence and IM. You also deploy an archiving and CDR (call detail recording) server for archiving instant messages and other OCS usage information.
Ok, so now you have all of the server components configured, but now you need to enable your Active Directory users. From within Active Directory there is a new tab called Communications which lets you enable all or some of the communications features. When you go into the User Options you have the following permissions/features available:
Relatedly, from the main Microsoft Office Communications Server 2007 admin you can view which users are enabled, their display name, the SIP URI, etc. From this admin screen an administrator can restrict a user centrally to making or receiving only certain types of calls (i.e. only U.S. calls). Microsoft also supports encryption via SRTP (Secure Real-time Transport Protocol.) This screenshot below is the main admin screen for configuring and maintaining OCS 2007:
After I started all the services from the deployment wizard, I checked out the Status from the main admin screen. The status shows several important pieces of information, including the status of the mediation server, certificate expiration, listening port, Edge server status, and more, as seen here:
On a related note, from the main GUI you can see various global settings and policy settings. Here's a screenshot with the Meeting settings expanded:
OCS 2007 features intelligent IM filtering which can block risky files, such as .bat, .exe, .pif, .scr, etc. You can also setup URL filtering and block hyperlinks from being sent to other participants which are "clickable". Here's a screenshot of the running OCS IM filtering applications:
Ok, with configuration done, now the fun stuff - actually using OCS 2007 with the Communicator client along with Live Meeting 2007. A nice usability feature is that as you type in the search box it automatically searches your buddy/co-worker address book for any matches. As seen in this screenshot below of Communicator you can see that it finds two matches for "lisa". As you continue to type it automatically narrows down your search, so had I typed "lisa m" only Lisa Mellers would display.
For my first test, I initiated a video call to another PC with a webcam aimed at the September 2007 issue of Internet Telephony Magazine, which you.can see in the PIP (picture in picture) window on this screen-grab:
You'll notice I was also able to send instant messages in the left window pane. From this interface I was able to mute my microphone, put the call on hold, transfer the call, attach a OneNote, view fullscreen video, and more. In addition, after you end a phone call or instant message, Outlook will save the conversation details to an Outlook folder called Conversation History. In the case of a phone call, it will contain the CallerID, Incoming/Outgoing/Missed Call, duration, and contact name or names (when conferencing multiple people). In the case of instant messaging, you have the option of saving the entire text of the IM session for future reference. I should mention that Office Communications Server 2007 supports federation between organizations using OCS 2007, with partner presence systems, and with public IM systems (AOL, Yahoo and Windows Live). In addition, a specification has been published to allow any presence server to federate with Office Communications Server. Importantly, you can seamlessly transition from peer-to-peer 1:1 audio & video conversations to multiparty server-based conference. Users can also escalate from an IM/audio/video conversation or conference to a web conference, which will initiate a web conference in the Live Meeting client and add all participants to the meeting.
The usual telephony functions are available in Communicator including call forwarding, transfer, plus a personal transfer option to quickly transfer to one of your other devices. Users can set call forwarding to a specific number or to ring an additional number simultaneously. Unanswered calls can be sent to a voice mail system (i.e. Exchange 2007 UM) or a secondary phone number. Importantly, Communicator provides five levels of privacy/access:
Personal - Personal contacts see all published contact information including home and mobile numbers, and can interrupt you when you are busy.
Team - Team contacts see all published contact information, plus schedule and availability details.
Company - Company contacts see work contact information, plus basic schedule and availability.
Public - Public contacts see your name, title, company, email address, and limited availability.
Blocked - Blocked contacts cannot contact you through Communicator you appear as Offline.
A nice touch is that Communicator will automatically show a note icon next to a person's name when they have turned on Outlook's Out of Office message. If you hover your mouse, you will see a tool-tip that displays the entire Out of Office message. Just another way of viewing more advanced "presence" information than simply "Away". Another nice usability feature is that on an incoming call, you will see a toast window in the bottom right system tray containing the username and/or CallerID of the person trying to reach you. Seeing this info allows you to ignore or answer the call. You can even redirect the call to another phone number, such as your cellphone if you wish, which is a pretty cool feature with some good applications. Say for example your doctor calls you at the office - you can redirect the call to your cell and walk away from your cubicle for some privacy.
Microsoft sent me a Nortel USB-based Catalina phone to test OCS 2007 with as well. Here are two of the Nortel USB-based OCS-compatible phones. The second one actually runs the Communicator client on the phone itself with full presence information. A very cool phone that alas I did not get to test!
Next, I was curious how Microsoft's adaptive codec would handle packet loss. Microsoft developed their own adaptive audio and video codec (RTAudio, RTVideo) with FEC (Forward Error Correction) for the VoIP and video to handle packet loss without losing quality. So I configured Shunra Cloud 4,0 (testing tool) to inject random packet loss while in the middle of a voice and video call. I set it to 50% packet loss, which should never happen the in the real world for a properly configured network, but thought it might be fun to see how Microsoft's FEC handled this amount of packet loss. At 50% packet loss, the video frame completely froze but surprisingly many portions of the audio got through and were quite understandable. I reduced it to 30% packet loss and the video was jerky but the audio was very understandable with some audio clipping. Pretty much anything less than 30% packet loss and the adaptive codec was able to handle it quite well with very good voice quality. Also, I didn't perform any MOS scoring, but subjectively I can tell that when I had packet loss turned off the sound quality was superb.
So how does the FEC work? Well, I should mention that VoIP typically uses UDP packets not TCP for the RTP stream. Unfortunately, unlike TCP, UDP packets don't resend packets that are lost. To get around this UDP limitation, Microsoft's FEC essentially sends duplicate copies of each voice packet when it detects high packet loss on the network, which increases the chances that a packet gets though. For more on RT Audio FEC, check out this Microsoft article. I should mention that OCS does tag packets with Differentiated Services Code Point (DSCP) values so you can prioritize the OCS packets to ensure QoS.
Live Meeting 2007 and Office integration with OCS 2007
Add-ins for Microsoft Office Outlook let you initiate and manage attendance for scheduled meetings as well as perform ad-hoc meetings directly from the Office Communicator 2007 client and Microsoft Office applications. Similarly, since Exchange Server uses Active Directory as well, you can send group IMs to a Microsoft Exchange Server distribution group, such as Sales Team, Marketing Team, etc. Another important integration is with Live Meeting 2007 for interactive online meetings with feature-rich collaboration capabilities, as well as multi-party videoconferencing. Techies might be interested to know that the format of a Live Meeting 2007 clickable URL looks like this (Note: I added a space and shortened the focus:id to prevent text from overflowing into my blog's middle column):
A Communicator call is almost identical and it takes this format:
Notice both have "sip" in the URL. The main difference is meet:sip vs. conf:sip, but you'll notice both Communicator and Live Meeting 2007 leverage the SIP protocol. I don't want to get into a full review of Live Meeting 2007, but if you're interested in seeing how it integrates with OCS 2007 and Communicator, go check out my Live Meeting 2007 review. Communicator and Live Meeting also work quite nicely with Microsoft Roundtable, a 360 degree panoramic videoconferencing system (see my full review of Roundtable with Live Meeting). Suffice to say, OCS 2007 is tightly coupled to Live Meeting 2007 allowing you to initiate ad-hoc meetings from Communicator or to schedule Live Meetings via Outlook.
Microsoft is highly touting the tight integration of Office Communications Server 2007 with Office 2007, specifically Office Sharepoint and Outlook 2007. From Outlook 2007 you can see colored presence indicators in the To: and Cc: lines for emails you open. You can then right-click on any of the people and initiate a voice call or instant message. One thing I noticed missing was the ability to initiate a video call from these presence indicators. You'd have to first initiate a voice call, and then from the Communicator window change it to a voice & video call - a minor inconvenience.
OCS features speech recognition and iVR capabilities. Using Office Communications Server 2007 Speech Platform Services, customers can build and deploy applications ranging from speech-enabled IM to personal assistants that route calls based on presence and self-service solutions for contact centers. I'm not sure how this fits in exactly with Exchange 2007 UM (unified messaging) which also has IVR and speech-recognition. I discovered this feature last minute, so I just emailed Microsoft for clarification.
Speech Platform Services is based on the former Microsoft Speech Server which was rolled into OCS. It is also part of Exchange UM. So essentially both OCS and Exchange UM are leveraging MIcrosoft Speech Server, now called Speech Platform Services.
One final point I'll make is the lack of integration of OCS 2007 and Exchange 2007 UM with all the various flavors of Asterisk, a popular open source phone system. Unfortunately, Asterisk only supports SIP over UDP and Exchange 2007 UM requires SIP over TCP. There is one unsupported patch to enable SIP over TCP on Asterisk, however. Another workaround is to use sipX, an open-source SIP proxy which handles both SIP/TCP and SIP/UDP and acts as a gateway between Asterisk and Exchange UM. You can use OpenSER as a SIP UDP to SIP TCP gateway as well. Can't really blame Microsoft for this lack of Asterisk integration since usually SIP uses TCP and only the RTP audio stream uses UDP. In fact, according to the voip-info wiki, "Making TCP mandatory for the UA is a substantial change from RFC 2543. It has arisen out of the need to handle larger messages, which MUST use TCP." So really the Asterisk community needs to get on the ball and add SIP over TCP functionality.
There is so much to OCS 2007 that it would be impossible to cover it all in a single blog post. Hopefully, this article gives you a good flavor for the main features and performance of OCS 2007. My overall impression of OCS 2007 is that it is an excellent platform that can certainly boost employee productivity through its unification of several disparate communications mediums - voice, video, IM & presence, and web collaboration. Microsoft has done a good job of leveraging the SIP standard in OCS 2007 which helps provide the telephony integration with a plethora of VoIP gateways and IP-PBXs. It's worth mentioning that OCS 2007 is not a fully-featured IP-PBX and Microsoft is not positioning OCS as a total replacement for your PBX - not yet!
However, you should consider that OCS 2007 tightly integrates with Exchange 2007 UM (Unified Messaging) which adds auto-attendant, voicemail, TTS reading of email, fax, and more, which in theory could let you use OCS 2007, Exchange 2007, and a simple, inexpensive VoIP SIP-based gateway for a feature-rich phone system. Of course, a SIP gateway might not give you "advanced" PBX features like Call Parking, Intercom paging, hunt groups, ACD queues, etc. Nevertheless, with OCS 2007 Microsoft has set the foundation for a feature-rich communications platform.
I wouldn't be surprised if Microsoft tightly couples in Microsoft CRM and adds advanced call center call-handling functionality in a future release, which would give Microsoft a "killer" call center unified communications solution. Microsoft may be working closely with traditional hardware PBX vendors today (Cisco, Nortel, Mitel, Alcatel-Lucent, Siemens, NEC) to add unfied communications to these traditional PBX manufacturers, but as the SIP standard progresses and more advanced PBX features are added, the need for Microsoft to rely on them will become moot. My prediction is that soon the PBX will be 100% software and 100% SIP. Hmm, I do believe that's what SIPFoundary's mantra is with their open source SIP proxy called sipX. Their mantra is that SIP can and will replace proprietary protocols in the PBX resulting in a 100% software-based PBX. In fact, check out the impressive list of PBX featuress that their 100% SIP-based solution supports. Overall, I was very impressed and I expect Microsoft Office Communications Server 2007 will do very well, especially now that Microsoft has announced strong channel support.