Lab Test: Microsoft OCS 2007--Voice Communication for the Next Generation?Lab Test: Microsoft OCS 2007--Voice Communication for the Next Generation?
In lab testing, OCS demostrated scalability, at least for basic call handling, along with some cool new capabilities. But feature/function doesn't match the PBX, and latency proved less than ideal.
February 13, 2008
Microsoft Office Communication Server (OCS) is the evolution of Microsoft’s previous collaboration server, Microsoft Live Communication Server (LCS). While the main component of OCS is the backend server, the total experience is best perceived when immersed in a Microsoft environment. We looked at RTM (Release to Manufacturing, i.e., code given to OEM manufacturers) version of OCS with Microsoft Office Communicator, Office 2007, Exchange 2007 and some reference designs for Microsoft Certified Endpoints.
In the simplest of terms, OCS takes LCS and adds voice. However it is the way in which the voice options are presented to the users that highlight the direction Microsoft is taking in the UC market space. The clearest way to observe this new integration is to look at OCS when used within Microsoft Outlook 2007. However, before we delve into that area, it would be helpful to understand all the background pieces that need to be in place.
OCS will function best in a Microsoft environment, since it relies on services normally present on other servers such as Active Directory, DHCP, DNS, and SQL. In turn, plugging it in will enable many features which are scattered throughout other Microsoft products such as the presence indicators in Microsoft Office applications.
Configuration
OCS can be installed in two flavors: Standard and Enterprise. The Standard version is installed on a single Windows Server 2003 with SP1 and uses SQL Server 2005 Express Edition with SP1 for storage and archiving. There is no direct upgrade path from the Standard Edition to the Enterprise Edition. For a smooth transition, administrators deploying the Standard Edition could add a second server for the Enterprise Edition and migrate users gracefully.
For the Enterprise installation, service can be shared among multiple Windows 2003 servers (can be up to 8 servers supporting 125K users) to increase scalability. At the core is the Microsoft OCS Enterprise Pool. This is a collection of servers that handle presence, messaging, and OCS management functions. The pool uses an external Microsoft SQL server for database services. Services for voice conferencing, Instant Messaging conferencing, and Web conferencing can be moved to separate servers for increased scalability. The final core interaction is with the Microsoft Exchange server’s Unified Messaging component for delivery of voice mail to user mailboxes.
For either installation, Standard or Enterprise, part of the OCS installation extends the Active Directory schema to include information such as the SIP user ID. This allows administrators to configure OCS options while creating new users on AD, simplifying the overall management. The recommended hardware platform for either a Standard Edition server or a Front-End Enterprise server (i.e., the servers within an Enterprise pool that handle the client side connections) is a dual processor, dual core 2.6Ghz with mirrored 36 GB HD and 2 GB RAM (4 GB for Enterprise).
CAPACITY PLANNING FOR MICROSOFT OCS 2007
At this point, users can log into the environment and check presence status of local users, send Instant Messages and place voice calls between users internally. External calls to the PSTN require two additional pieces: a Microsoft Mediation Server and a path to the PSTN such as SIP/PSTN gateway or IP-PBX.
The role of the Mediation Server is to convert Microsoft’s Real-Time Audio (RTA) codec to G.711 MuLaw or ALaw to communicate via SIP with third-party VOIP gateways. (Within the network, clients also support G.723, G.726, G.722.1, GSM, RTA Wide and Narrow codecs.) Mediation Servers can be paired one-to-one with gateways, or multiple Mediation Servers can point to a single gateway. Microsoft has a certification process for third-party gateways. The Mediation server can also be used to interface via SIP trunks to TDM Hybrid and IP-based PBX systems. Certification with specific vendors is in progress.
For our testing configuration, we used a moderate-size configuration, which would support approximately 15K users, consisting of two Mediation servers, two OCS servers in an Enterprise pool and a standard back-end configuration consisting of an Exchange 2007 server, SQL 2005 server and a domain controller. For PSTN connectivity, a pair of Quintum Tenor 8-span gateways was used to interface with the Mediation Servers. The dual Mediation Server configuration allowed us to test the failover abilities in the event of losing a gateway or Mediation Server.
One server was set up to handle inbound calls and the second to handle outbound. A call flow was established from the PSTN through the inbound gateway to the OCS server pool which routed the call back out to the test system through the outbound server. To test failover, the power was disconnected from the outbound server and the calls automatically flowed over to the other gateway and were completed successfully. With the factory default keep-alive timers, the failover process took 15 seconds until calls were again completing successfully. According to Microsoft, the timers could be adjusted for an even faster response, though there are tradeoffs to this: Shorter timers may cause issues in large, complex topologies.
A second test was conducted on the capacity of the Mediation Servers. We generated SIP phone calls using version 2.7 of WinSIP from Touchstone Technologies, Inc. We connected to the servers via a SIP trunk and delivered 30,000 BHCA (busy hour call attempts) with more than five 9s of success. Calls were being routed in the same manner as the redundancy test. The call rate was ramped up even further to 70,000 BHCA with the same result.
These were very simple calls—not much complex call handling or routing—but they did place stress on the call setup and teardown portions of the call path at a rate beyond what most organizations would expect to handle. The diverse topology, while encompassing several servers, shows the architecture to be highly scalable.
With the multiple servers in the pool, we also failed one of the OCS servers to determine the client reaction. Clients will log into a specific OCS server in the pool. If they are registered to a surviving server, there will be no impact. If they are registered to the failed server, the Office Communicator client will time-out and automatically restart, registering to an active server. Any RTP streams (voice, video) will remain active, with the client resetting once the call is finished. The entire process for a client to failover took 4.5 minutes. Again, this is with the factory defaults on the timers, which can be shortened for faster response, with tradeoffs as described above.
Soft Endpoints
The main component on the client side is Office Communicator 2007, a unified communication client for use with OCS. Users can see the presence status of contacts and initiate an instant message or phone call with them. By adding a Web cam, video calls can also be made. Users can initiate an IM session and progressively add voice and video with the click of an icon. All of this we found straightforward and easy to use.
One of the aspects that was very useful, in our opinion, was how users can define their own presence. Contacts can be put into groups, each of which has its own definition for a user’s presence state. For example, one group could be defined to show your presence as unavailable even if the user is logged in. At the same time, a second group for VIPs could show the user as available even during meetings. The ability to control how various contacts perceive users’ availability can increase productivity and decrease interruptions.
When using voice, the Office Communicator (OC) uses the Microsoft RTA codec. It can be used with the computer or laptop’s built-in speakers and microphones, but a qualified OC endpoint such as external headset or handset is recommended. When using video, OC automatically recognizes any installed video sources (such as a webcam) and activates it when needed, making video setup easy.
A four-party chat was initiated by simply setting up our client machines with Office Communicator 2007 and Microsoft LifeCam 3000 Web cam. We started the call by clicking on contact names and inviting them to a chat. Once all parties were joined, voice was added by clicking on the appropriate icon. For one-on-one calls, the RTP stream is directly between the two endpoints. Once a third call is added to the mix, the RTP streams are directed to the AVMCU (Audio Video Microsoft Conferencing Unit), which is a service running on the OCS server. Since the RTP streams are now progressing through the conferencing server, there is no limit to the number of parties that can join (except for what the administrator sets as the upper limit per call). When video is added, it functions in the same manner.
The testers using the client could discern no difference with calls between two parties or conference calls with multiple parties. The video quality was what could be expected from a Web cam. Again there was no discernable difference for one party versus multi-party, although in the case of video this was less of a concern since only the active talker’s video is shown, switching automatically when a new party speaks.
Another intriguing feature about calls initiated from OC to another OC client was the ability to add a subject field. This would be presented in a pop-up (toast) at the bottom of the screen that appeared to the called party and would be saved in the call log, making call records more easily searchable.
When Microsoft Outlook 2007 was added to the mix, the communication options within Outlook were further enhanced. The first thing we noticed was the presence “gumdrops” (those little grey circles) next to contact’s names. When looking at an email, all the contacts in the TO and FROM fields now had colored gumdrops according to their availability. Clicking on the gumdrop provided a list of options including the ability to respond with an email, instant message or call. The response could be to that specific individual or everyone listed on the email, instantly inviting them into a chat room or calling all of them and bridging them in a conference call. No meeting IDs, PINs or security codes were required. We changed various clients’ availability and the changes were all reflected immediately without further actions.
Another new feature is the addition of a new Outlook folder called Conversation History. Copies of all instant messages and calls are saved, allowing them to be searched when needed. The instant message items contained a complete transcript of the conversations, the contacts, date and time. The call log items kept similar information and users could augment them with notes and subjects.
For scheduled conferences, a free plug-in called Microsoft Conferencing can be added. This allows for conference calls to be scheduled from within the calendar portion of Outlook, and includes call details and automatic reminders sent out. OC users who receive the invite will be able to click on the link to join the call.
Hard Endpoints
Officially, Microsoft will not manufacture any hard endpoints. That task will be left to partners such as Polycom and LG-Nortel. At the time of testing, devices from those manufactures were not yet available for tests, but we were able to look at two Microsoft reference designs. Press releases for the current status of these partner devices can be found here.
The first endpoint was an IP phone. Physically it had many of the features you would expect: a full duplex speakerphone, number pad, hard keys for speaker, headset, mute, volume control and a 64K color touch screen. The back of the unit had ports for external power (it also supports 802.3af PoE), headset, USB and two 10/100 Ethernet (phone and PC). There was also a Help key to access additional information regarding phone features.
Some interesting aspects of the phone are the click wheel and the presence indicator. To navigate menu options, users can slide their finger around the click wheel, similar to an iPod, and select them by pressing the button in the middle of the wheel. When a user sets their presence, either on the phone or using Office Communicator, an LED in the lower right corner will change color to reflect their state: Green for available, red for busy or unavailable, yellow for away and a split green and yellow for users who have signed in but are inactive.
At its core, the IP phone is a Windows CE device running Office Communicator. The screen is bright and with the depth of color pallet, easy to read and use. The main screen has four basic tabs for Contacts, Voice mail, Call log and Settings (phone configuration). The click wheel made navigation easy for options, and the touch screen allowed for quick access once the choice was visible. The voice mail tab displays all messages, allowing users to select critical ones first. From the contact screen, a user can select an individual, choose the number to use and place the call based on the information in their contact database. The contact list is pulled from what the user has defined in OCS such as Exchange or Outlook.
For security, the phone logged into Active Directory for authentication. A fingerprint reader was equipped on the model we looked at. Once set up, the user could log into the phone with a finger swipe and a PIN number—on these reference designs, both authentication factors were required, though the OEMs’ products could behave differently.
The second device was a USB handset designed to be used in conjunction with Office Communicator. It plugs into the USB port and provides the user with a handset, speaker phone, mute, volume control and the same presence LCD as the IP phone. Incoming calls can be answered by picking up the handset or clicking “accept”’ on the Office Communicator (OC) client. The rest of the call handling features are provided by the OC client.
Endpoint Performance
While the user interfaces for both hard devices were very functional and intuitive, the performance was a mixed bag. The one-way latency for calls placed between two IP phones or two USB handsets with no added WAN delay was 220 ms. Rather high, but these were reference designs.
It was interesting to note that when the USB handsets were removed from the equation and measurements were taken directly between two soft clients, the one way latency was 145 ms, just under the ITU recommendation of 150 ms. When we asked Microsoft about this, they said it had to do with the USB drivers and USB protocol itself.
The sound quality with the RTA codec was very rich. RTA is a wideband codec and the phones were designed with appropriate speakers and microphones to take full advantage of the increased dynamic response range of a wideband codec. No issues with jitter or the speech quality were found while testing, but, as mentioned, latency was slightly noticeable.
Management
Since OCS is tightly integrated with Active Directory and Exchange, management is somewhat already built in. User management is handled within Active Directory as described above. Voice mail is part of the user setup in Exchange, again just an additional step in the usual Exchange user setup process. Trunks, dial plans and general configuration settings are all compiled in a single Microsoft Management Console for OCS. In a single view, an administrator can quickly see all the servers in the environment and their status. It uses the MMC framework that all Microsoft administrators are familiar with, so the learning curve is quick.
Voice Mail
Voice mail is stored on the Exchange server. Administrators must define a Unified Messaging Mailbox policy which sets the basic parameters: greeting length, automatic email messages and PIN settings. PINs can be assigned or automatically generated and sent to the users via email. Text can also be appended to voice mail and fax notifications. Different policies can be applied to different users.
Licensing and Cost
To install OCS, you need a copy of Microsoft Office Communications Server and a CAL (Client Access License) for each user. For most customers, the CAL costs $21.48 per license and $5.40 for 1 year of software assurance. The Standard servers cost $487.56 for the license and $121.92 for 1 year of software assurance per server The Enterprise server is $2,790.60 and $697.68 for license and software assurance respectively. To add voice mail, Unified Messaging would have to be added to the Exchange server.
On the client side, Office Communicator would need to be installed; the license is included with Office Pro Plus 2007 and Office Enterprise 2007. No additional user licenses are needed for Exchange or SQL.
Conclusion
With OCS, Microsoft has rolled out the foundation for integrating voice into the daily work flow of the office user in a similar manner as users employ instant messaging and email now. The addition of contact-based presence allows users to ensure they are available to communicate with who they want, when they want; this increases their ability to be productive.
OCS 2007 is not going to replace your PBX for large enterprise environments, as it lacks some of the basic features such as call park, group pick-up and music on hold. It also provides alternative means to accomplish other basic features. For example there are no “speed dials;” you simply click on a frequent contact and place a call.
But the degree of integration into applications will help further the push of voice away from how it has always been done and into how it will be done in the future.
Robert J. Smithers is President and CEO of Miercom. With 18 years experience at Miercom, he has worked in testing, consulting and network planning as well as hands on implementations of networks.
Michael B. Hommer, Sr., Engineering Manager for Miercom, has spent more than 11 years in technology fields. Positions included Webmaster, IT Director and network consultant, designing and implementing global corporate infrastructures.